aboutsummaryrefslogtreecommitdiff
path: root/www/nextcloud/Makefile
blob: 90f3f726a808250a4a7c1141b2467567d11ef6eb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# $FreeBSD$

PORTNAME=	nextcloud
PORTVERSION=	19.0.0
PORTREVISION=	1
CATEGORIES=	www
MASTER_SITES=	https://download.nextcloud.com/server/releases/
PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}

MAINTAINER=	brnrd@FreeBSD.org
COMMENT=	Personal cloud which runs on your own server

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 pdo posix session simplexml xml xmlreader \
		xmlwriter xsl zip zlib

NEXTCLOUD_USERNAME?=	${WWWOWN}
NEXTCLOUD_GROUPNAME?=	${WWWGRP}

WRKSRC=		${WRKDIR}/${PORTNAME}
NO_BUILD=	yes
NO_ARCH=	yes
SUB_FILES=	config.sample.php pkg-message
PLIST_SUB=	NEXTCLOUD_USERNAME=${NEXTCLOUD_USERNAME} \
		NEXTCLOUD_GROUPNAME=${NEXTCLOUD_GROUPNAME}

OPTIONS_DEFINE=		EXIF IMAGICK INTL LDAP PCNTL SMB SSL
OPTIONS_GROUP=		CACHING
OPTIONS_GROUP_CACHING=	APCU MEMCACHED 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)
MEMCACHED_DESC=	Distributed data caching using Memcached
OPCACHE_DESC=	Enable OPcode caching (recommended)
PCNTL_DESC=	Long-running process control (recommended)
REDIS_DESC=	Distributed data caching using Redis

EXIF_USE=	PHP=exif
IMAGICK_RUN_DEPENDS=	${PECL_PKGNAMEPREFIX}imagick>=2.2.2:graphics/pecl-imagick@${PHP_FLAVOR}
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.pre.mk>

.if ${PORT_OPTIONS:MAPCU}
RUN_DEPENDS+=	${PHPBASE}/lib/php/${PHP_EXT_DIR}/apcu.so:devel/pecl-APCu@${PHP_FLAVOR}
.endif

post-extract:
	@${MV} ${WRKSRC}/config/config.sample.php ${WRKSRC}/config/config.documented.php

post-patch:
	@${REINPLACE_CMD} -e 's|/var/www/${PORTNAME}|${WWWDIR}|;s|/var/log/|/var/log/${PORTNAME}/|' \
		${WRKSRC}/config/config.documented.php
	@${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
	@${RM} ${STAGEDIR}${WWWDIR}/updater/updater.phar
	@${MKDIR} ${STAGEDIR}${WWWDIR}/data
	@${MKDIR} ${STAGEDIR}${WWWDIR}/apps
	@${MKDIR} ${STAGEDIR}/var/log/${PORTNAME}

.include <bsd.port.post.mk>