Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Nov 2017 15:33:46 +0000 (UTC)
From:      Mathieu Arnold <mat@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r455206 - in head: . Mk
Message-ID:  <201711301533.vAUFXkom067161@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mat
Date: Thu Nov 30 15:33:46 2017
New Revision: 455206
URL: https://svnweb.freebsd.org/changeset/ports/455206

Log:
  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

Modified:
  head/CHANGES
  head/Mk/bsd.port.mk   (contents, props changed)

Modified: head/CHANGES
==============================================================================
--- head/CHANGES	Thu Nov 30 15:33:29 2017	(r455205)
+++ head/CHANGES	Thu Nov 30 15:33:46 2017	(r455206)
@@ -13,6 +13,28 @@ All ports committers are allowed to commit to this fil
 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

Modified: head/Mk/bsd.port.mk
==============================================================================
--- head/Mk/bsd.port.mk	Thu Nov 30 15:33:29 2017	(r455205)
+++ head/Mk/bsd.port.mk	Thu Nov 30 15:33:46 2017	(r455206)
@@ -1084,6 +1084,34 @@ _PORTS_DIRECTORIES+=	${PKG_DBDIR} ${PREFIX} ${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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711301533.vAUFXkom067161>