diff options
author | Mathieu Arnold <mat@FreeBSD.org> | 2017-11-30 15:33:46 +0000 |
---|---|---|
committer | Mathieu Arnold <mat@FreeBSD.org> | 2017-11-30 15:33:46 +0000 |
commit | 471896e0a80de47a9c083f789d90d87c85a68517 (patch) | |
tree | 32c22bac71e3351d3f69ef4c94b7a12e5dcdc611 | |
parent | 30c4ca57841f7ed00f4b8bd08e9fb77a99ea03c2 (diff) | |
download | ports-471896e0a80de47a9c083f789d90d87c85a68517.tar.gz ports-471896e0a80de47a9c083f789d90d87c85a68517.zip |
Add various FLAVOR related helpers.
To help with flavored ports, helpers are available. In these, replace <*>
with the flavor name.
*_PKGNAMEPREFIX *_PKGNAMESUFFIX *_PLIST *_DESCR will overwrite the variable.
*_CONFLICTS *_CONFLICTS_BUILD *_CONFLICTS_INSTALL *_PKG_DEPENDS
*_EXTRACT_DEPENDS *_PATCH_DEPENDS *_FETCH_DEPENDS *_BUILD_DEPENDS
*_LIB_DEPENDS *_RUN_DEPENDS *_TEST_DEPENDS will append to the variable.
Reviewed by: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D12483
Notes
Notes:
svn path=/head/; revision=455206
-rw-r--r-- | CHANGES | 22 | ||||
-rw-r--r-- | Mk/bsd.port.mk | 28 |
2 files changed, 50 insertions, 0 deletions
@@ -13,6 +13,28 @@ All ports committers are allowed to commit to this file. 20171130: AUTHOR: mat@FreeBSD.org + To help with flavored ports, helpers are available. In these, replace <*> + with the flavor name. + + *_PKGNAMEPREFIX *_PKGNAMESUFFIX *_PLIST *_DESCR will overwrite the variable. + + *_CONFLICTS *_CONFLICTS_BUILD *_CONFLICTS_INSTALL *_PKG_DEPENDS + *_EXTRACT_DEPENDS *_PATCH_DEPENDS *_FETCH_DEPENDS *_BUILD_DEPENDS + *_LIB_DEPENDS *_RUN_DEPENDS *_TEST_DEPENDS will append to the variable. + + For example: + + flavor2_PKGNAMESUFFIX= -foo + + can replace: + + .if ${FLAVOR:U} == flavor2 + PKGNAMESUFFIX= -foo + .endif + +20171130: +AUTHOR: mat@FreeBSD.org + Flavors are a way to have multiple variations of a port. The port is built multiple times, with the variations. To declare flavors, set the FLAVORS variable to the flavors you want defined. The first flavor will be the diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 689033f34421..8dd4903cd789 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -1084,6 +1084,34 @@ _PORTS_DIRECTORIES+= ${PKG_DBDIR} ${PREFIX} ${WRKDIR} ${EXTRACT_WRKDIR} \ # Do not leak flavors to childs make .MAKEOVERRIDES:= ${MAKEOVERRIDES:NFLAVOR=*} +.if !empty(FLAVOR) && !defined(_DID_FLAVORS_HELPERS) +_DID_FLAVORS_HELPERS= yes +_FLAVOR_HELPERS_OVERRIDE= DESCR PLIST PKGNAMEPREFIX PKGNAMESUFFIX +_FLAVOR_HELPERS_APPEND= CONFLICTS CONFLICTS_BUILD CONFLICTS_INSTALL \ + PKG_DEPENDS EXTRACT_DEPENDS PATCH_DEPENDS \ + FETCH_DEPENDS BUILD_DEPENDS LIB_DEPENDS \ + RUN_DEPENDS TEST_DEPENDS +# These overwrite the current value +.for v in ${_FLAVOR_HELPERS_OVERRIDE} +.if defined(${FLAVOR}_${v}) +${v}= ${${FLAVOR}_${v}} +.endif +.endfor + +# These append to the current value +.for v in ${_FLAVOR_HELPERS_APPEND} +.if defined(${FLAVOR}_${v}) +${v}+= ${${FLAVOR}_${v}} +.endif +.endfor + +.for v in BROKEN IGNORE +.if defined(${FLAVOR}_${v}) +${v}= flavor "${FLAVOR}" ${${FLAVOR}_${v}} +.endif +.endfor +.endif # defined(${FLAVOR}) + .if defined(CROSS_TOOLCHAIN) .if !defined(CROSS_SYSROOT) IGNORE= CROSS_SYSROOT should be defined |