freebsd-ports/www/nextcloud/Makefile
2023-01-17 21:29:35 +00:00

100 lines
3.5 KiB
Makefile

PORTNAME= nextcloud
PORTVERSION= 25.0.3
CATEGORIES= www
MASTER_SITES= https://download.nextcloud.com/server/releases/
PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX}
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= brnrd@FreeBSD.org
COMMENT= Collaboration platform which runs on your own server
WWW= https://nextcloud.com
LICENSE= AGPLv3
USES= cpe gettext-runtime php:flavors,web tar:bzip2
USE_PHP= bcmath bz2 ctype curl dom fileinfo filter gd gmp hash iconv \
json mbstring pcntl pdo posix session simplexml xml xmlreader \
xmlwriter xsl zip zlib
IGNORE_WITH_PHP=82
NEXTCLOUD_USERNAME?= ${WWWOWN}
NEXTCLOUD_GROUPNAME?= ${WWWGRP}
WRKSRC= ${WRKDIR}/${PORTNAME}
NO_BUILD= yes
NO_ARCH= yes
SUB_FILES= config.sample.php occ pkg-message plist.post
SUB_LIST= NEXTCLOUD_USERNAME=${NEXTCLOUD_USERNAME} \
NEXTCLOUD_GROUPNAME=${NEXTCLOUD_GROUPNAME}
PLIST_SUB= ${SUB_LIST}
OPTIONS_DEFINE= EXIF IMAGICK INTL LDAP PCNTL SMB SSL
OPTIONS_GROUP= CACHING
OPTIONS_GROUP_CACHING= APCU OPCACHE REDIS
OPTIONS_MULTI= DB
OPTIONS_MULTI_DB= MYSQL PGSQL SQLITE
OPTIONS_DEFAULT= APCU EXIF INTL LDAP MYSQL OPCACHE SSL
OPTIONS_SUB= yes
APCU_DESC= Local data caching using APCu (recommended)
CACHING_DESC= Caching
DB_DESC= Database backend(s)
EXIF_DESC= Image rotation support
IMAGICK_DESC= Thumbnail support (recommended)
INTL_DESC= International character support (recommended)
OPCACHE_DESC= Enable OPcode caching (recommended)
PCNTL_DESC= Long-running process control (recommended)
REDIS_DESC= Distributed data caching using Redis
APCU_RUN_DEPENDS= ${PECL_PKGNAMEPREFIX}APCu>0:devel/pecl-APCu@${PHP_FLAVOR}
EXIF_USE= PHP=exif
IMAGICK_RUN_DEPENDS= ${IMAGEMAGICK_DEPENDS}
INTL_USE= PHP=intl
LDAP_USE= PHP=ldap
MYSQL_USE= PHP=pdo_mysql
OPCACHE_USE= PHP=opcache
PCNTL_USE= PHP=pcntl
PGSQL_USE= PHP=pdo_pgsql,pgsql
REDIS_RUN_DEPENDS= ${PECL_PKGNAMEPREFIX}redis>=2.2.6:databases/pecl-redis@${PHP_FLAVOR}
SMB_RUN_DEPENDS= ${PECL_PKGNAMEPREFIX}smbclient>=0.9.0:net/pecl-smbclient@${PHP_FLAVOR}
SQLITE_USE= PHP=pdo_sqlite,sqlite3
SSL_USE= PHP=openssl
.include <bsd.port.options.mk>
.if !empty(IMAGEMAGICK_DEFAULT:M6) || !empty(IMAGEMAGICK_DEFAULT:M6-*)
IMAGEMAGICK_DEPENDS= ${PECL_PKGNAMEPREFIX}imagick>=2.2.2:graphics/pecl-imagick@${PHP_FLAVOR}
.elif !empty(IMAGEMAGICK_DEFAULT:M7) || !empty(IMAGEMAGICK_DEFAULT:M7-*)
IMAGEMAGICK_DEPENDS= ${PECL_PKGNAMEPREFIX}imagick-im7>=2.2.2:graphics/pecl-imagick-im7@${PHP_FLAVOR}
.else
# notreached
.endif
post-extract:
@${MV} ${WRKSRC}/config/config.sample.php ${WRKSRC}/config/config.documented.php
@${MV} ${WRKSRC}/.htaccess ${WRKSRC}/.htaccess.dist
post-patch:
@${REINPLACE_CMD} -e 's|/var/www/${PORTNAME}|${WWWDIR}|;s|/var/log/|/var/log/${PORTNAME}/|' \
${WRKSRC}/config/config.documented.php
@${RM} ${WRKSRC}/config/config.documented.php.* \
${WRKSRC}/updater/updater.phar
@${RMDIR} ${WRKSRC}/apps/suspicious_login/vendor/amphp/*/docs/.shared
@${MV} ${WRKSRC}/apps ${WRKSRC}/apps-pkg
do-install:
@${MKDIR} -m 0755 ${STAGEDIR}${WWWDIR}
@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
${INSTALL_SCRIPT} ${WRKDIR}/config.sample.php \
${STAGEDIR}${WWWDIR}/config/config.sample.php
@${MKDIR} ${STAGEDIR}${WWWDIR}/data ${STAGEDIR}${WWWDIR}/apps \
${STAGEDIR}/var/log/${PORTNAME}
(cd ${WRKSRC}; ${FIND} . -type f) | ${SORT} | \
${SED} -Ee '/^\.\/\.(htaccess\.dist|user\.ini)/d' \
-e '/^\.\/config\/config\.sample\.php/d' \
-e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
${CAT} ${WRKDIR}/plist.post >> ${TMPPLIST}
${INSTALL_SCRIPT} ${WRKDIR}/occ ${STAGEDIR}${LOCALBASE}/bin/occ
.include <bsd.port.mk>