git: 4784a824f316 - main - Mk/Uses/nextcloud.mk: Introduce USES= nextcloud

From: Bernard Spil <brnrd_at_FreeBSD.org>
Date: Sat, 14 Jan 2023 19:31:27 UTC
The branch main has been updated by brnrd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4784a824f3164ddfe15b1b52a06a7b6273a048ff

commit 4784a824f3164ddfe15b1b52a06a7b6273a048ff
Author:     Bernard Spil <brnrd@FreeBSD.org>
AuthorDate: 2023-01-14 19:30:14 +0000
Commit:     Bernard Spil <brnrd@FreeBSD.org>
CommitDate: 2023-01-14 19:30:14 +0000

    Mk/Uses/nextcloud.mk: Introduce USES= nextcloud
    
     * Simplify's port creation for Nextcloud apps
     * Convert existing ports to USES= nextcloud
---
 Mk/Uses/nextcloud.mk                               | 63 ++++++++++++++++++++++
 finance/nextcloud-cospend/Makefile                 | 20 +------
 mail/nextcloud-mail/Makefile                       | 22 +-------
 net-im/nextcloud-talk/Makefile                     | 21 ++------
 security/nextcloud-end_to_end_encryption/Makefile  | 22 +-------
 security/nextcloud-passman/Makefile                | 20 +------
 security/nextcloud-twofactor_admin/Makefile        | 26 +--------
 security/nextcloud-twofactor_admin/distinfo        |  4 +-
 .../Makefile                                       | 21 +-------
 security/nextcloud-twofactor_webauthn/Makefile     | 23 +-------
 www/nextcloud-appointments/Makefile                | 18 +------
 www/nextcloud-calendar/Makefile                    | 22 +-------
 www/nextcloud-contacts/Makefile                    | 22 +-------
 www/nextcloud-deck/Makefile                        | 24 ++-------
 www/nextcloud-forms/Makefile                       | 19 +------
 www/nextcloud-groupfolders/Makefile                | 22 +-------
 www/nextcloud-notes/Makefile                       | 19 +------
 www/nextcloud-tasks/Makefile                       | 20 +------
 18 files changed, 100 insertions(+), 308 deletions(-)

diff --git a/Mk/Uses/nextcloud.mk b/Mk/Uses/nextcloud.mk
new file mode 100644
index 000000000000..6343fd7b4aaf
--- /dev/null
+++ b/Mk/Uses/nextcloud.mk
@@ -0,0 +1,63 @@
+# Support for Nextcloud apps
+#
+# Feature:	nextcloud
+# Usage:	USES=nextcloud
+#
+# MAINTAINER: brnrd@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_NEXTCLOUD_MK)
+_INCLUDE_USES_NEXTCLOUD_MK=	yes
+
+NEXTCLOUD_BASE?=	www/nextcloud
+
+NEXTCLOUD_DIR=		${PREFIX}/${NEXTCLOUD_BASE}
+NEXTCLOUD_APPSDIR?=	${PREFIX}/${NEXTCLOUD_BASE}/apps-pkg
+
+PKGNAMEPREFIX=	nextcloud-
+PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
+WRKSRC?=	${WRKDIR}/${PORTNAME}
+
+.if ${DISTNAME} == ${PORTNAME}
+DIST_SUBDIR?=   nextcloud/${PORTNAME}-${PORTVERSION}
+.else
+DIST_SUBDIR?=	nextcloud
+.endif
+
+MASTER_SITES?=   https://github.com/nextcloud-releases/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${PORTVERSION}/
+
+LICENSE?=	AGPLv3
+
+RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=${NEXTCLOUD_RUN_DEPENDS}:www/nextcloud@${PHP_FLAVOR}
+
+USES+=		php:flavors
+IGNORE_WITH_PHP=	82
+NO_BUILD=	yes
+NO_ARCH=	yes
+
+WWWDIR=		${NEXTCLOUD_APPSDIR}/${PORTNAME}
+
+NEXTCLOUD_APP_PKGMESSAGE=	${WRKDIR}/pkg-message
+_PKGMESSAGES+=	${NEXTCLOUD_APP_PKGMESSAGE}
+
+_USES_stage=   899:add-pkg-message
+add-pkg-message:
+	@${ECHO_CMD} "[" > ${NEXTCLOUD_APP_PKGMESSAGE}
+	@${ECHO_CMD} "{ type: install" >> ${NEXTCLOUD_APP_PKGMESSAGE}
+	@${ECHO_CMD} "  message: <<EOD" >> ${NEXTCLOUD_APP_PKGMESSAGE}
+	@${ECHO_CMD} "Run \`occ upgrade\` to create the Nextcloud ${PORTNAME} app database structure" >> ${NEXTCLOUD_APP_PKGMESSAGE}
+	@${ECHO_CMD} "EOD" >> ${NEXTCLOUD_APP_PKGMESSAGE}
+	@${ECHO_CMD} "}," >> ${NEXTCLOUD_APP_PKGMESSAGE}
+	@${ECHO_CMD} "{ type: upgrade:" >> ${NEXTCLOUD_APP_PKGMESSAGE}
+	@${ECHO_CMD} "  message: <<EOD" >> ${NEXTCLOUD_APP_PKGMESSAGE}
+	@${ECHO_CMD} "Run \`occ upgrade\` to update the Nextcloud ${PORTNAME} app database structure" >> ${NEXTCLOUD_APP_PKGMESSAGE}
+	@${ECHO_CMD} "EOD" >> ${NEXTCLOUD_APP_PKGMESSAGE}
+	@${ECHO_CMD} "}" >> ${NEXTCLOUD_APP_PKGMESSAGE}
+	@${ECHO_CMD} "]" >> ${NEXTCLOUD_APP_PKGMESSAGE}
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${WWWDIR}
+	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
+	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
+			${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+
+.endif
diff --git a/finance/nextcloud-cospend/Makefile b/finance/nextcloud-cospend/Makefile
index e8b9a77e80e4..b5b150cbfa1e 100644
--- a/finance/nextcloud-cospend/Makefile
+++ b/finance/nextcloud-cospend/Makefile
@@ -2,31 +2,15 @@ PORTNAME=	cospend
 PORTVERSION=	1.5.4
 CATEGORIES=	finance www editors
 MASTER_SITES=	https://github.com/eneiluj/${PORTNAME}-nc/releases/download/v${PORTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
-DIST_SUBDIR=	nextcloud
 
 MAINTAINER=	mr@FreeBSD.org
 COMMENT=	Cospend app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/cospend
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=25:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	25
 
-USES=		php:flavors
-IGNORE_WITH_PHP=	82
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-WRKSRC=		${WRKDIR}/${PORTNAME}
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${WWWDIR}
-	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		nextcloud php:flavors
 
 .include <bsd.port.mk>
diff --git a/mail/nextcloud-mail/Makefile b/mail/nextcloud-mail/Makefile
index 6e060b2eb81f..21b6a208ac2d 100644
--- a/mail/nextcloud-mail/Makefile
+++ b/mail/nextcloud-mail/Makefile
@@ -2,36 +2,18 @@ PORTNAME=	mail
 PORTVERSION=	2.2.2
 DISTVERSIONPREFIX=	v
 CATEGORIES=	mail
-MASTER_SITES=	https://github.com/nextcloud-releases/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
-DIST_SUBDIR=	nextcloud
 
 MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Mail app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/mail
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=25:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	25
 
-USES=		cpe gettext php:flavors
+USES=		cpe gettext nextcloud php:flavors
 USE_PHP=	imap
-IGNORE_WITH_PHP=	82
 
 CPE_VENDOR=	nextcloud
 
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-WRKSRC=		${WRKDIR}/${PORTNAME}
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	${MKDIR} ${STAGEDIR}${WWWDIR}
-	(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
-
 .include <bsd.port.mk>
diff --git a/net-im/nextcloud-talk/Makefile b/net-im/nextcloud-talk/Makefile
index ee5f235b6a5b..a37276d0e73b 100644
--- a/net-im/nextcloud-talk/Makefile
+++ b/net-im/nextcloud-talk/Makefile
@@ -2,9 +2,6 @@ PORTNAME=	talk
 PORTVERSION=	15.0.1
 DISTVERSIONPREFIX=	v
 CATEGORIES=	net-im www
-MASTER_SITES=	https://github.com/nextcloud-releases/spreed/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
 DISTNAME=	spreed-${DISTVERSIONPREFIX}${DISTVERSION}
 DIST_SUBDIR=	nextcloud
 
@@ -12,24 +9,14 @@ MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Online meeting app for Nextcloud
 WWW=		https://nextcloud.com/talk/
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=25:www/nextcloud@${PHP_FLAVOR}
-
-USES=		cpe php:flavors
-IGNORE_WITH_PHP=	82
-CPE_VENDOR=	nextcloud
-NO_BUILD=	yes
-NO_ARCH=	yes
+NEXTCLOUD_RUN_DEPENDS=	25
 
 WRKSRC=		${WRKDIR}/spreed
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/spreed
 
-do-install:
-	@${MKDIR} ${STAGEDIR}${WWWDIR}
-	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		cpe nextcloud php:flavors
+
+CPE_VENDOR=	nextcloud
 
 .include <bsd.port.mk>
diff --git a/security/nextcloud-end_to_end_encryption/Makefile b/security/nextcloud-end_to_end_encryption/Makefile
index deacd72c2cd5..32df7e8b20ed 100644
--- a/security/nextcloud-end_to_end_encryption/Makefile
+++ b/security/nextcloud-end_to_end_encryption/Makefile
@@ -2,33 +2,15 @@ PORTNAME=	end_to_end_encryption
 PORTVERSION=	1.11.1
 DISTVERSIONPREFIX=	v
 CATEGORIES=	security
-MASTER_SITES=	https://github.com/${PKGNAMEPREFIX}releases/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${PORTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
-DIST_SUBDIR=	${PKGNAMEPREFIX:S/-//}
 
 MAINTAINER=	brnrd@freebsd.org
 COMMENT=	End-to-End Encryption app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/end_to_end_encryption
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=24:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	24
 
-USES=		php:flavors
-IGNORE_WITH_PHP=	82
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-WRKSRC=		${WRKDIR}/${PORTNAME}
-
-do-install:
-	${MKDIR} ${STAGEDIR}${WWWDIR}
-	(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	${RM} ${STAGEDIR}${WWWDIR}/COPYING
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
- 		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		nextcloud php:flavors
 
 .include <bsd.port.mk>
diff --git a/security/nextcloud-passman/Makefile b/security/nextcloud-passman/Makefile
index 1e0e10f42505..a7265c8a9cce 100644
--- a/security/nextcloud-passman/Makefile
+++ b/security/nextcloud-passman/Makefile
@@ -2,32 +2,16 @@ PORTNAME=	passman
 PORTVERSION=	2.4.2
 CATEGORIES=	security
 MASTER_SITES=	https://releases.passman.cc/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
 DISTNAME=	${PORTNAME}_${PORTVERSION}
-DIST_SUBDIR=	nextcloud
 
 MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Full featured password manager for Nextcloud
 WWW=		https://passman.cc
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=20:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	20
 
-USES=		php:flavors
-IGNORE_WITH_PHP=	82
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-WRKSRC=		${WRKDIR}/${PORTNAME}
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	${MKDIR} ${STAGEDIR}${WWWDIR}
-	(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		nextcloud php:flavors
 
 .include <bsd.port.mk>
diff --git a/security/nextcloud-twofactor_admin/Makefile b/security/nextcloud-twofactor_admin/Makefile
index dc2e900b7ee0..b1a40bd58e06 100644
--- a/security/nextcloud-twofactor_admin/Makefile
+++ b/security/nextcloud-twofactor_admin/Makefile
@@ -2,38 +2,16 @@ PORTNAME=	twofactor_admin
 PORTVERSION=	4.1.9
 DISTVERSIONPREFIX=	v
 CATEGORIES=	security
-MASTER_SITES=	https://github.com/nextcloud-releases/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${PORTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
 DISTNAME=	${PORTNAME}
-DIST_SUBDIR=	${PKGNAMEPREFIX:S/-//}/${DISTNAME}-${DISTVERSIONPREFIX}${PORTVERSION}
 
 MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Admin create one-time TOTP app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/twofactor_admin
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=23:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	23
 
-USES=		php:flavors
-IGNORE_WITH_PHP=	82
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-NEXTCLOUD_USERNAME?=	${WWWOWN}
-NEXTCLOUD_GROUPNAME?=	${WWWGRP}
-
-PLIST_SUB=	NEXTCLOUD_USERNAME=${NEXTCLOUD_USERNAME} \
-		NEXTCLOUD_GROUPNAME=${NEXTCLOUD_GROUPNAME}
-
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	${MKDIR} ${STAGEDIR}${WWWDIR}
-	(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		nextcloud php:flavors
 
 .include <bsd.port.mk>
diff --git a/security/nextcloud-twofactor_admin/distinfo b/security/nextcloud-twofactor_admin/distinfo
index eec528ba8456..ece4750c5d8c 100644
--- a/security/nextcloud-twofactor_admin/distinfo
+++ b/security/nextcloud-twofactor_admin/distinfo
@@ -1,3 +1,3 @@
 TIMESTAMP = 1671820068
-SHA256 (nextcloud/twofactor_admin-v4.1.9/twofactor_admin.tar.gz) = 94f9f495419bafd880198652492c3a61e588ea0c5ac24a56f577a30f8e5f2c86
-SIZE (nextcloud/twofactor_admin-v4.1.9/twofactor_admin.tar.gz) = 385875
+SHA256 (nextcloud/twofactor_admin-4.1.9/twofactor_admin.tar.gz) = 94f9f495419bafd880198652492c3a61e588ea0c5ac24a56f577a30f8e5f2c86
+SIZE (nextcloud/twofactor_admin-4.1.9/twofactor_admin.tar.gz) = 385875
diff --git a/security/nextcloud-twofactor_nextcloud_notification/Makefile b/security/nextcloud-twofactor_nextcloud_notification/Makefile
index 7e131292103f..755d52ca0043 100644
--- a/security/nextcloud-twofactor_nextcloud_notification/Makefile
+++ b/security/nextcloud-twofactor_nextcloud_notification/Makefile
@@ -2,32 +2,15 @@ PORTNAME=	twofactor_nextcloud_notification
 PORTVERSION=	3.5.0
 DISTVERSIONPREFIX=	v
 CATEGORIES=	security
-MASTER_SITES=	https://github.com/nextcloud-releases/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${PORTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
-DIST_SUBDIR=	nextcloud
 
 MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Use Nextcloud notification as MFA app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/twofactor_nextcloud_notification
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=25:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	25
 
-USES=		php:flavors
-IGNORE_WITH_PHP=	82
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-WRKSRC=		${WRKDIR}/${PORTNAME}
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	${MKDIR} ${STAGEDIR}${WWWDIR}
-	(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		nextcloud php:flavors
 
 .include <bsd.port.mk>
diff --git a/security/nextcloud-twofactor_webauthn/Makefile b/security/nextcloud-twofactor_webauthn/Makefile
index 571d6efb4306..79e0a8445818 100644
--- a/security/nextcloud-twofactor_webauthn/Makefile
+++ b/security/nextcloud-twofactor_webauthn/Makefile
@@ -2,34 +2,15 @@ PORTNAME=	twofactor_webauthn
 PORTVERSION=	1.0.0
 DISTVERSIONPREFIX=	v
 CATEGORIES=	security
-MASTER_SITES=	https://github.com/nextcloud-releases/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${PORTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
-DIST_SUBDIR=	nextcloud
 
 MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	U2F webauthn app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/twofactor_webauthn
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=25:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	25
 
-USES=		php:flavors
-IGNORE_WITH_PHP=	82
-
-WRKSRC=		${WRKDIR}/${PORTNAME}
-
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	${MKDIR} ${STAGEDIR}${WWWDIR}
-	(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		nextcloud php:flavors
 
 .include <bsd.port.mk>
diff --git a/www/nextcloud-appointments/Makefile b/www/nextcloud-appointments/Makefile
index e2f5cdfcca12..246e713091f0 100644
--- a/www/nextcloud-appointments/Makefile
+++ b/www/nextcloud-appointments/Makefile
@@ -2,10 +2,7 @@ PORTNAME=	appointments
 PORTVERSION=	1.14.8
 CATEGORIES=	www
 MASTER_SITES=	https://github.com/${GH_ACCOUNT}/${PORTNAME}/raw/${DISTVERSIONPREFIX}${DISTVERSION}/build/artifacts/appstore/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
 DISTNAME=	${PORTNAME}
-DIST_SUBDIR=	nextcloud/${PORTNAME}-${PORTVERSION}
 DISTVERSIONPREFIX=	v
 
 MAINTAINER=	brnrd@FreeBSD.org
@@ -15,21 +12,10 @@ WWW=		https://apps.nextcloud.com/apps/appointments
 LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=22:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	22
 
-USES=		php:flavors
-IGNORE_WITH_PHP=	82
-NO_BUILD=	yes
-NO_ARCH=	yes
+USES=		nextcloud php:flavors
 
 GH_ACCOUNT=	SergeyMosin
 
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${WWWDIR}
-	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-			${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
-
 .include <bsd.port.mk>
diff --git a/www/nextcloud-calendar/Makefile b/www/nextcloud-calendar/Makefile
index 764287a52f4e..39cae0648733 100644
--- a/www/nextcloud-calendar/Makefile
+++ b/www/nextcloud-calendar/Makefile
@@ -2,33 +2,15 @@ PORTNAME=	calendar
 PORTVERSION=	4.2.1
 DISTVERSIONPREFIX=	v
 CATEGORIES=	www
-MASTER_SITES=	https://github.com/nextcloud-releases/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${PORTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
-DIST_SUBDIR=	nextcloud
 
 MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Calendar app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/calendar
 
-LICENSE=	AGPLv3
+NEXTCLOUD_RUN_DEPENDS= 25
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=25:www/nextcloud@${PHP_FLAVOR}
+USES=		cpe nextcloud php:flavors
 
-USES=		cpe php:flavors
-IGNORE_WITH_PHP=	82
-
-WRKSRC=		${WRKDIR}/${PORTNAME}
-NO_BUILD=	yes
-NO_ARCH=	yes
 CPE_VENDOR=	nextcloud
 
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${WWWDIR}
-	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
-
 .include <bsd.port.mk>
diff --git a/www/nextcloud-contacts/Makefile b/www/nextcloud-contacts/Makefile
index ae111fd5c486..ceb6fec990d8 100644
--- a/www/nextcloud-contacts/Makefile
+++ b/www/nextcloud-contacts/Makefile
@@ -2,32 +2,14 @@ PORTNAME=	contacts
 PORTVERSION=	5.0.2
 DISTVERSIONPREFIX=	v
 CATEGORIES=	www
-MASTER_SITES=	https://github.com/nextcloud-releases/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
-DIST_SUBDIR=	nextcloud
 
 MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Contacts app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/contacts
 
-LICENSE=	AGPLv3
+NEXTCLOUD_RUN_DEPENDS=	25
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=25:www/nextcloud@${PHP_FLAVOR}
-
-USES=		cpe php:flavors
-IGNORE_WITH_PHP=	82
+USES=		cpe nextcloud php:flavors
 CPE_VENDOR=	nextcloud
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-WRKSRC=		${WRKDIR}/${PORTNAME}
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${WWWDIR}
-	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
 
 .include <bsd.port.mk>
diff --git a/www/nextcloud-deck/Makefile b/www/nextcloud-deck/Makefile
index 483cc94e77b8..d60509236a50 100644
--- a/www/nextcloud-deck/Makefile
+++ b/www/nextcloud-deck/Makefile
@@ -2,34 +2,16 @@ PORTNAME=	deck
 PORTVERSION=	1.8.3
 DISTVERSIONPREFIX=	v
 CATEGORIES=	www
-MASTER_SITES=	https://github.com/nextcloud-releases/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${PORTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
-DIST_SUBDIR=	nextcloud
+#MASTER_SITES=	https://github.com/nextcloud-releases/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${PORTVERSION}/
 
 MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Kanban app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/deck
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=25:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	25
 
-USES=		cpe php:flavors
-IGNORE_WITH_PHP=	82
-NO_BUILD=	yes
-NO_ARCH=	yes
-CPE_VENDOR=	nextcloud
-
-WRKSRC=		${WRKDIR}/${PORTNAME}
-
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${WWWDIR}
-	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		cpe nextcloud php:flavors
 
 .include <bsd.port.mk>
diff --git a/www/nextcloud-forms/Makefile b/www/nextcloud-forms/Makefile
index b8d1a5d6d5c1..ea6d58cddc1e 100644
--- a/www/nextcloud-forms/Makefile
+++ b/www/nextcloud-forms/Makefile
@@ -3,8 +3,6 @@ PORTVERSION=	3.0.3
 DISTVERSIONPREFIX=	v
 CATEGORIES=	www
 MASTER_SITES=	https://github.com/nextcloud/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${PORTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
 DISTNAME=	${PORTNAME}
 DIST_SUBDIR=	nextcloud/${PORTNAME}-${PORTVERSION}
 
@@ -12,23 +10,10 @@ MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Forms app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/forms
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=25:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	25
 
-USES=		php:flavors
-IGNORE_WITH_PHP=	82
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-WRKSRC=		${WRKDIR}/${PORTNAME}
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${WWWDIR}
-	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		nextcloud php:flavors
 
 .include <bsd.port.mk>
diff --git a/www/nextcloud-groupfolders/Makefile b/www/nextcloud-groupfolders/Makefile
index 107b8bfd2aec..a092850dc40d 100644
--- a/www/nextcloud-groupfolders/Makefile
+++ b/www/nextcloud-groupfolders/Makefile
@@ -3,31 +3,13 @@ PORTVERSION=	13.1.0
 DISTVERSIONPREFIX=	v
 CATEGORIES=	www
 MASTER_SITES=	https://github.com/nextcloud-releases/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
-DIST_SUBDIR=	nextcloud
 
 MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Groupfolders app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/groupfolders
 
-LICENSE=	AGPLv3
+NEXTCLOUD_RUN_DEPENDS=	25
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=25:www/nextcloud@${PHP_FLAVOR}
-
-USES=		php:flavors
-IGNORE_WITH_PHP=	82
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-WRKSRC=		${WRKDIR}/${PORTNAME}
-
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${WWWDIR}
-	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		nextcloud php:flavors
 
 .include <bsd.port.mk>
diff --git a/www/nextcloud-notes/Makefile b/www/nextcloud-notes/Makefile
index 6a9ed71f9beb..ab11441aefa0 100644
--- a/www/nextcloud-notes/Makefile
+++ b/www/nextcloud-notes/Makefile
@@ -3,31 +3,16 @@ PORTVERSION=	4.6.0
 DISTVERSIONPREFIX=	v
 CATEGORIES=	www editors
 MASTER_SITES=	https://github.com/nextcloud/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${PORTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
 DISTNAME=	${PORTNAME}
-DIST_SUBDIR=	nextcloud/${PORTNAME}-${DISTVERSION}
 
 MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Notes app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/notes
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=25:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	25
 
-USES=		php:flavors
-IGNORE_WITH_PHP=	82
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${WWWDIR}
-	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		nextcloud php:flavors
 
 .include <bsd.port.mk>
diff --git a/www/nextcloud-tasks/Makefile b/www/nextcloud-tasks/Makefile
index 3a8db4162a2d..8db0861cf945 100644
--- a/www/nextcloud-tasks/Makefile
+++ b/www/nextcloud-tasks/Makefile
@@ -2,32 +2,16 @@ PORTNAME=	tasks
 PORTVERSION=	0.14.5
 DISTVERSIONPREFIX=	v
 CATEGORIES=	www
-MASTER_SITES=	https://github.com/nextcloud/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${PORTVERSION}/
-PKGNAMEPREFIX=	nextcloud-
-PKGNAMESUFFIX=	${PHP_PKGNAMESUFFIX}
 DISTNAME=	${PORTNAME}
-DIST_SUBDIR=	nextcloud/${PORTNAME}-${DISTVERSION}
 
 MAINTAINER=	brnrd@FreeBSD.org
 COMMENT=	Tasks app for Nextcloud
 WWW=		https://apps.nextcloud.com/apps/tasks
 
-LICENSE=	AGPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-RUN_DEPENDS=	nextcloud${PHP_PKGNAMESUFFIX}>=23:www/nextcloud@${PHP_FLAVOR}
+NEXTCLOUD_RUN_DEPENDS=	23
 
-USES=		php:flavors
-IGNORE_WITH_PHP=	82
-NO_BUILD=	yes
-NO_ARCH=	yes
-
-WWWDIR=		${PREFIX}/www/nextcloud/apps-pkg/${PORTNAME}
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${WWWDIR}
-	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
-	@(cd ${WRKSRC}; ${FIND} . -not -type d) | ${SORT} | \
-		${SED} -e 's,^\.,${WWWDIR_REL},' >> ${TMPPLIST}
+USES=		nextcloud php:flavors
 
 .include <bsd.port.mk>