Changeset View
Standalone View
Mk/bsd.port.mk
Show First 20 Lines • Show All 1,050 Lines • ▼ Show 20 Lines | |||||
_DISTDIR?= ${DISTDIR}/${DIST_SUBDIR} | _DISTDIR?= ${DISTDIR}/${DIST_SUBDIR} | ||||
INDEXDIR?= ${PORTSDIR} | INDEXDIR?= ${PORTSDIR} | ||||
SRC_BASE?= /usr/src | SRC_BASE?= /usr/src | ||||
USESDIR?= ${PORTSDIR}/Mk/Uses | USESDIR?= ${PORTSDIR}/Mk/Uses | ||||
SCRIPTSDIR?= ${PORTSDIR}/Mk/Scripts | SCRIPTSDIR?= ${PORTSDIR}/Mk/Scripts | ||||
LIB_DIRS?= /lib /usr/lib ${LOCALBASE}/lib | LIB_DIRS?= /lib /usr/lib ${LOCALBASE}/lib | ||||
STAGEDIR?= ${WRKDIR}/stage | STAGEDIR?= ${WRKDIR}/stage | ||||
NOTPHONY?= | NOTPHONY?= | ||||
FLAVORS?= | |||||
bdrewery: Please also add `PORTS_FEATURES+= FLAVORS`. This will allow me to remove checks on… | |||||
FLAVOR?= | |||||
Done Inline ActionsAdding in a random place. Please also add a PKG_NOTE for what FLAVOR is set to in the package. This is likely going to be needed for things like portmaster to support flavors. bdrewery: Adding in a random place.
Please also add a PKG_NOTE for what FLAVOR is set to in the package. | |||||
Done Inline ActionsIndex: bsd.port.mk =================================================================== --- bsd.port.mk (revision 443065) +++ bsd.port.mk (working copy) @@ -1499,6 +1502,11 @@ PKG_NOTES+= expiration_date PKG_NOTE_expiration_date= ${EXPIRATION_DATE} .endif +.if defined(FLAVOR) +PKG_NOTES+= flavor +PKG_NOTES_flavor= ${FLAVOR} +.endif + TEST_ARGS?= ${MAKE_ARGS} TEST_ENV?= ${MAKE_ENV} bdrewery: ```
Index: bsd.port.mk
===================================================================… | |||||
Done Inline ActionsWoops should be !empty(FLAVOR) and PKG_NOTE_flavor (not PKG_NOTES_flavor) bdrewery: Woops should be !empty(FLAVOR) and PKG_NOTE_flavor (not PKG_NOTES_flavor) | |||||
PORTS_FEATURES+= FLAVORS | |||||
MINIMAL_PKG_VERSION= 1.6.0 | MINIMAL_PKG_VERSION= 1.6.0 | ||||
_PORTS_DIRECTORIES+= ${PKG_DBDIR} ${PREFIX} ${WRKDIR} ${EXTRACT_WRKDIR} \ | _PORTS_DIRECTORIES+= ${PKG_DBDIR} ${PREFIX} ${WRKDIR} ${EXTRACT_WRKDIR} \ | ||||
${STAGEDIR}${PREFIX} ${WRKDIR}/pkg | ${STAGEDIR}${PREFIX} ${WRKDIR}/pkg | ||||
# Ensure .CURDIR contains an absolute path without a trailing slash. Failed | # Ensure .CURDIR contains an absolute path without a trailing slash. Failed | ||||
# builds can occur when PORTSDIR is a symbolic link, or with something like | # builds can occur when PORTSDIR is a symbolic link, or with something like | ||||
# make -C /usr/ports/category/port/. | # make -C /usr/ports/category/port/. | ||||
.CURDIR:= ${.CURDIR:tA} | .CURDIR:= ${.CURDIR:tA} | ||||
# make sure bmake treats -V as expected | # make sure bmake treats -V as expected | ||||
.MAKE.EXPAND_VARIABLES= yes | .MAKE.EXPAND_VARIABLES= yes | ||||
.include "${PORTSDIR}/Mk/bsd.commands.mk" | .include "${PORTSDIR}/Mk/bsd.commands.mk" | ||||
.if !empty(FLAVOR) | |||||
. if empty(FLAVORS) | |||||
IGNORE= FLAVOR is defined while this port does not have FLAVORS. | |||||
Done Inline ActionsThe following ports define FLAVOR without defining FLAVORS: x11-themes/*-aluminumalloy-*-theme antoine: The following ports define FLAVOR without defining FLAVORS: x11-themes/*-aluminumalloy-*-theme | |||||
. elif ! ${FLAVORS:M${FLAVOR}} | |||||
IGNORE= Unknown flavor '${FLAVOR}', possible flavors: ${FLAVORS}. | |||||
. endif | |||||
.endif | |||||
.if !empty(FLAVORS) && empty(FLAVOR) | |||||
FLAVOR= ${FLAVORS:[1]} | |||||
Not Done Inline ActionsThis seems to subtly break compatibility between flavoured and non-flavoured ports. Could there not be a default "empty" flavour to support both behaviours? In case of python the default flavour would adhere to DEFAULT_VERSIONS, the flavours would pin the version instead? franco_opnsense.org: This seems to subtly break compatibility between flavoured and non-flavoured ports. Could there… | |||||
Not Done Inline ActionsThere would be no point for a default version. The default flavor is only to make a regular make happening. The package builders should build allow flavors all the time bapt: There would be no point for a default version. The default flavor is only to make a regular… | |||||
Not Done Inline Actionsok. the default changes from DEFAULT_VERSION to default flavour, potentially changing the major version of python, no? also shouldn't this be [0] ? franco_opnsense.org: ok. the default changes from DEFAULT_VERSION to default flavour, potentially changing the major… | |||||
Not Done Inline Actionsnope it starts counting a 1 :) [0] would mean [*] meaning the whole values as a single object not as a the first element :) For the default value, I was puzzled maybe we should not provide a default flavor as it is only design for people calling make directly. Maybe we should add an error saying "a flavor should be specified", Maybe we can do that once the tools have catch up with flavors bapt: nope it starts counting a 1 :) [0] would mean [*] meaning the whole values as a single object… | |||||
Not Done Inline Actionsright, [1], sorry :) So the problem is as follows: someone with his own poudriere bulk run sets DEFAULT_VERSIONS= python=3.4, but this bit of code will break the existing port if you error out or if you build it with the first flavour which is 2.7, not 3.4, any flavour really. it may even override 3.4 as 3.5 if the other flavour is used. That's why I thought having flavours as additional options is more graceful with existing usage: empty flavour handling is automatic and does the right thing that the framework always did. franco_opnsense.org: right, [1], sorry :)
So the problem is as follows: someone with his own poudriere bulk run… | |||||
Not Done Inline Actionsyes I agree with that, the work that have been done by people on the default python is totally wrong, instead they should have worked on flavors or flavors like for such feature, yes when integrated it will be broken. maybe in the specific case of python this can be fixed/workedaround in python.mk. bapt: yes I agree with that, the work that have been done by people on the default python is totally… | |||||
Not Done Inline ActionsI see, so phasing out version selection by flavour usage? In that case as long as depends show the right version using [1] is ok then. franco_opnsense.org: I see, so phasing out version selection by flavour usage? In that case as long as depends show… | |||||
Not Done Inline ActionsThis problem isn't just affecting python. Suppose you introduce flavors to rubygems and want to set DEFAULT_VERSIONS+= ruby=2.4 - while ports might generally define FLAVORS= ruby22 ruby23 ruby24. Wouldn't it be possible to unite flavors and default versions - such that you define flavors like FLAVORS=python2.7 python3.5 (if something doesn't like 3.3 / 3.4) or similarly FLAVORS= ruby2.2 ruby2.3 ruby2.4, and Mk/bsd.default-versions.mk picks this up to automatically prefer the correct flavor? xmj: This problem isn't just affecting python. Suppose you introduce flavors to rubygems and want to… | |||||
Not Done Inline ActionsThe following patch fixes the above problem -- tested for python2/3 and with a slight extention to showcase ruby. diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk index f84b898348fd..051e61b09cd8 100644 --- a/Mk/bsd.default-versions.mk +++ b/Mk/bsd.default-versions.mk @@ -143,4 +143,16 @@ VARNISH_DEFAULT?= 4 # Version of lang/gcc. Do not override! LANG_GCC_IS= 5 +.for lang in APACHE BDB FIREBIRD FPC GCC GHOSTSCRIPT LINUX LUA MYSQL PERL5 \ + PGSQL PHP PYTHON PYTHON2 PYTHON3 RUBY SSL TCLTK +.if defined(${lang}_DEFAULT) +.if ${_l} == "python" +# XXX: I'm not sure if python things should be flavored for each version? +${_l:tu}_FLAVOR= ${lang:C/=.*//g}${${_l:tu}_DEFAULT:C/\..*//g} +.else +${lang:tu}_FLAVOR= ${lang:tl}${${lang:tu}_DEFAULT:C/\.//g} +.endif +.endif +.endfor + .endif diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index d7268d3ad83e..361657b054f1 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -1066,21 +1066,6 @@ _PORTS_DIRECTORIES+= ${PKG_DBDIR} ${PREFIX} ${WRKDIR} ${EXTRACT_WRKDIR} \ .include "${PORTSDIR}/Mk/bsd.commands.mk" -.if !empty(FLAVOR) -. if empty(FLAVORS) -IGNORE= FLAVOR is defined while this port does not have FLAVORS. -. elif ! ${FLAVORS:M${FLAVOR}} -IGNORE= Unknown flavor '${FLAVOR}', possible flavors: ${FLAVORS}. -. endif -.endif - -.if !empty(FLAVORS) && empty(FLAVOR) -FLAVOR= ${FLAVORS:[1]} -.endif - -# Do not leak flavors to childs make -.MAKEOVERRIDES:= ${MAKEOVERRIDES:NFLAVOR=*} - .if defined(CROSS_TOOLCHAIN) .if !defined(.PARSEDIR) IGNORE= Cross building can only be done when using bmake(1) as make(1) @@ -1294,6 +1279,32 @@ WITH_DEBUG= yes .endif .include "${PORTSDIR}/Mk/bsd.default-versions.mk" + +.if !empty(FLAVOR) +. if empty(FLAVORS) +IGNORE= FLAVOR is defined while this port does not have FLAVORS. +. elif ! ${FLAVORS:M${FLAVOR}} +IGNORE= Unknown flavor '${FLAVOR}', possible flavors: ${FLAVORS}. +. endif +.endif + +.if !empty(FLAVORS) && empty(FLAVOR) +FLAVOR_TYPE= ${FLAVORS:[1]:C/[0-9\.]*//g} +PREFERRED_FLAVOR= ${${FLAVOR_TYPE:tu}_FLAVOR} + +# check if the desired flavor is in flavors at all +.for flavor in ${FLAVORS} +.if ${flavor} == ${PREFERRED_FLAVOR} +FLAVOR= ${PREFERRED_FLAVOR} +.endif +.endfor +# if not, default to first flavor mentioned. +FLAVOR?= ${FLAVORS:[1]} +.endif + +# Do not leak flavors to childs make +.MAKEOVERRIDES:= ${MAKEOVERRIDES:NFLAVOR=*} + .include "${PORTSDIR}/Mk/bsd.options.mk" .endif diff --git a/ports-mgmt/create-rb-port/Makefile b/ports-mgmt/create-rb-port/Makefile index 0bf6f9789c65..c4139010ca84 100644 --- a/ports-mgmt/create-rb-port/Makefile +++ b/ports-mgmt/create-rb-port/Makefile @@ -7,7 +7,9 @@ CATEGORIES= ports-mgmt MAINTAINER= swills@FreeBSD.org COMMENT= Script to ease creation of rubygem- ports -RUN_DEPENDS= gem:devel/ruby-gems +RUN_DEPENDS= gem:devel/ruby-gems@${FLAVOR} + +FLAVORS= ruby22 ruby23 ruby24 USE_GITHUB= yes GH_ACCOUNT= swills xmj: The following patch fixes the above problem -- tested for python2/3 and with a slight extention… | |||||
Not Done Inline ActionsI really disagree on having flavours for all versions of ruby for now. and this change can be done later if really needed. bapt: I really disagree on having flavours for all versions of ruby for now. and this change can be… | |||||
.endif | |||||
# Do not leak flavors to childs make | |||||
.MAKEOVERRIDES:= ${MAKEOVERRIDES:NFLAVOR=*} | |||||
.if defined(CROSS_TOOLCHAIN) | .if defined(CROSS_TOOLCHAIN) | ||||
.if !defined(CROSS_SYSROOT) | .if !defined(CROSS_SYSROOT) | ||||
IGNORE= CROSS_SYSROOT should be defined | IGNORE= CROSS_SYSROOT should be defined | ||||
.endif | .endif | ||||
.include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" | .include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" | ||||
# Do not define CPP on purpose | # Do not define CPP on purpose | ||||
.if !defined(HOSTCC) | .if !defined(HOSTCC) | ||||
HOSTCC:= ${CC} | HOSTCC:= ${CC} | ||||
▲ Show 20 Lines • Show All 421 Lines • ▼ Show 20 Lines | |||||
PKG_NOTE_deprecated=${DEPRECATED} | PKG_NOTE_deprecated=${DEPRECATED} | ||||
.endif | .endif | ||||
.if defined(EXPIRATION_DATE) | .if defined(EXPIRATION_DATE) | ||||
PKG_NOTES+= expiration_date | PKG_NOTES+= expiration_date | ||||
PKG_NOTE_expiration_date= ${EXPIRATION_DATE} | PKG_NOTE_expiration_date= ${EXPIRATION_DATE} | ||||
.endif | .endif | ||||
.if !empty(FLAVOR) | |||||
PKG_NOTES+= flavor | |||||
PKG_NOTE_flavor= ${FLAVOR} | |||||
.endif | |||||
TEST_ARGS?= ${MAKE_ARGS} | TEST_ARGS?= ${MAKE_ARGS} | ||||
TEST_ENV?= ${MAKE_ENV} | TEST_ENV?= ${MAKE_ENV} | ||||
PKG_ENV+= PORTSDIR=${PORTSDIR} | PKG_ENV+= PORTSDIR=${PORTSDIR} | ||||
CONFIGURE_ENV+= XDG_DATA_HOME=${WRKDIR} \ | CONFIGURE_ENV+= XDG_DATA_HOME=${WRKDIR} \ | ||||
XDG_CONFIG_HOME=${WRKDIR} \ | XDG_CONFIG_HOME=${WRKDIR} \ | ||||
HOME=${WRKDIR} | HOME=${WRKDIR} | ||||
MAKE_ENV+= XDG_DATA_HOME=${WRKDIR} \ | MAKE_ENV+= XDG_DATA_HOME=${WRKDIR} \ | ||||
▲ Show 20 Lines • Show All 52 Lines • ▼ Show 20 Lines | |||||
.if defined(CROSS_SYSROOT) | .if defined(CROSS_SYSROOT) | ||||
PKG_ENV+= ABI_FILE=${CROSS_SYSROOT}/bin/sh | PKG_ENV+= ABI_FILE=${CROSS_SYSROOT}/bin/sh | ||||
MAKE_ENV+= NM=${NM} \ | MAKE_ENV+= NM=${NM} \ | ||||
STRIPBIN=${STRIPBIN} \ | STRIPBIN=${STRIPBIN} \ | ||||
PKG_CONFIG_SYSROOT_DIR="${CROSS_SYSROOT}" | PKG_CONFIG_SYSROOT_DIR="${CROSS_SYSROOT}" | ||||
CONFIGURE_ENV+= PKG_CONFIG_SYSROOT_DIR="${CROSS_SYSROOT}" | CONFIGURE_ENV+= PKG_CONFIG_SYSROOT_DIR="${CROSS_SYSROOT}" | ||||
.endif | .endif | ||||
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work | .if empty(FLAVOR) | ||||
_WRKDIR= work | |||||
.else | |||||
_WRKDIR= work-${FLAVOR} | |||||
.endif | |||||
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/${_WRKDIR} | |||||
.if !defined(IGNORE_MASTER_SITE_GITHUB) && defined(USE_GITHUB) && empty(USE_GITHUB:Mnodefault) | .if !defined(IGNORE_MASTER_SITE_GITHUB) && defined(USE_GITHUB) && empty(USE_GITHUB:Mnodefault) | ||||
WRKSRC?= ${WRKDIR}/${GH_PROJECT}-${GH_TAGNAME_EXTRACT} | WRKSRC?= ${WRKDIR}/${GH_PROJECT}-${GH_TAGNAME_EXTRACT} | ||||
.endif | .endif | ||||
# If the distname is not extracting into a specific subdirectory, have the | # If the distname is not extracting into a specific subdirectory, have the | ||||
# ports framework force extract into a subdirectory so that metadata files | # ports framework force extract into a subdirectory so that metadata files | ||||
# do not get in the way of the build, and vice-versa. | # do not get in the way of the build, and vice-versa. | ||||
.if defined(NO_WRKSUBDIR) | .if defined(NO_WRKSUBDIR) | ||||
# Some ports have DISTNAME=PORTNAME, and USE_RC_SUBR=PORTNAME, in those case, | # Some ports have DISTNAME=PORTNAME, and USE_RC_SUBR=PORTNAME, in those case, | ||||
▲ Show 20 Lines • Show All 2,087 Lines • ▼ Show 20 Lines | if [ -w ${WRKDIR} ]; then \ | ||||
${RM} -r ${WRKDIR}; \ | ${RM} -r ${WRKDIR}; \ | ||||
else \ | else \ | ||||
${ECHO_MSG} "===> ${WRKDIR} not writable, skipping"; \ | ${ECHO_MSG} "===> ${WRKDIR} not writable, skipping"; \ | ||||
fi; \ | fi; \ | ||||
fi | fi | ||||
.endif | .endif | ||||
.if !target(clean) | .if !target(clean) | ||||
clean: | pre-clean: clean-msg | ||||
clean-msg: | |||||
@${ECHO_MSG} "===> Cleaning for ${PKGNAME}" | |||||
.if empty(FLAVORS) | |||||
CLEAN_DEPENDENCIES= | |||||
.if !defined(NOCLEANDEPENDS) | .if !defined(NOCLEANDEPENDS) | ||||
CLEAN_DEPENDENCIES+= limited-clean-depends-noflavor | |||||
limited-clean-depends-noflavor: | |||||
@cd ${.CURDIR} && ${MAKE} limited-clean-depends | @cd ${.CURDIR} && ${MAKE} limited-clean-depends | ||||
.endif | .endif | ||||
@${ECHO_MSG} "===> Cleaning for ${PKGNAME}" | |||||
.if target(pre-clean) | .if target(pre-clean) | ||||
Done Inline ActionsPlease only loop if empty(FLAVOR) otherwise only clean for the provided FLAVOR. bdrewery: Please only loop if empty(FLAVOR) otherwise only clean for the provided FLAVOR. | |||||
@cd ${.CURDIR} && ${MAKE} pre-clean | CLEAN_DEPENDENCIES+= pre-clean-noflavor | ||||
pre-clean-noflavor: | |||||
@cd ${.CURDIR} && ${SETENV} ${MAKE} pre-clean | |||||
.endif | .endif | ||||
@cd ${.CURDIR} && ${MAKE} do-clean | CLEAN_DEPENDENCIES+= do-clean-noflavor | ||||
do-clean-noflavor: | |||||
@cd ${.CURDIR} && ${SETENV} ${MAKE} do-clean | |||||
.if target(post-clean) | .if target(post-clean) | ||||
@cd ${.CURDIR} && ${MAKE} post-clean | CLEAN_DEPENDENCIES+= post-clean-noflavor | ||||
post-clean-${_f}: | |||||
@cd ${.CURDIR} && ${SETENV} ${MAKE} post-clean | |||||
.endif | .endif | ||||
.ORDER: ${CLEAN_DEPENDENCIES} | |||||
clean: ${CLEAN_DEPENDENCIES} | |||||
.endif | .endif | ||||
.for _f in ${FLAVORS} | |||||
CLEAN_DEPENDENCIES= | |||||
.if !defined(NOCLEANDEPENDS) | |||||
CLEAN_DEPENDENCIES+= limited-clean-depends-${_f} | |||||
limited-clean-depends-${_f}: | |||||
@cd ${.CURDIR} && ${MAKE} FLAVOR=${_f} limited-clean-depends | |||||
.endif | |||||
.if target(pre-clean) | |||||
CLEAN_DEPENDENCIES+= pre-clean-${_f} | |||||
pre-clean-${_f}: | |||||
@cd ${.CURDIR} && ${SETENV} FLAVOR=${_f} ${MAKE} pre-clean | |||||
.endif | |||||
CLEAN_DEPENDENCIES+= do-clean-${_f} | |||||
do-clean-${_f}: | |||||
@cd ${.CURDIR} && ${SETENV} FLAVOR=${_f} ${MAKE} do-clean | |||||
.if target(post-clean) | |||||
CLEAN_DEPENDENCIES+= post-clean-${_f} | |||||
post-clean-${_f}: | |||||
@cd ${.CURDIR} && ${SETENV} FLAVOR=${_f} ${MAKE} post-clean | |||||
.endif | |||||
.ORDER: ${CLEAN_DEPENDENCIES} | |||||
clean: ${CLEAN_DEPENDENCIES} | |||||
.endfor | |||||
.endif | |||||
.if !target(distclean) | .if !target(distclean) | ||||
distclean: clean | distclean: clean | ||||
@cd ${.CURDIR} && ${MAKE} delete-distfiles RESTRICTED_FILES="${_DISTFILES:Q} ${_PATCHFILES:Q}" | @cd ${.CURDIR} && ${MAKE} delete-distfiles RESTRICTED_FILES="${_DISTFILES:Q} ${_PATCHFILES:Q}" | ||||
.endif | .endif | ||||
.if !target(delete-distfiles) | .if !target(delete-distfiles) | ||||
delete-distfiles: | delete-distfiles: | ||||
@${ECHO_MSG} "===> Deleting distfiles for ${PKGNAME}" | @${ECHO_MSG} "===> Deleting distfiles for ${PKGNAME}" | ||||
▲ Show 20 Lines • Show All 507 Lines • ▼ Show 20 Lines | |||||
# distribution-name|port-path|installation-prefix|comment| \ | # distribution-name|port-path|installation-prefix|comment| \ | ||||
# description-file|maintainer|categories|extract-depends| \ | # description-file|maintainer|categories|extract-depends| \ | ||||
# patch-depends|fetch-depends|build-depends|run-depends|www site | # patch-depends|fetch-depends|build-depends|run-depends|www site | ||||
# | # | ||||
# If this ever changes, portmgr should contact the portsnap maintainer | # If this ever changes, portmgr should contact the portsnap maintainer | ||||
# first to avoid gratuitous breakage. | # first to avoid gratuitous breakage. | ||||
. if !target(describe) | . if !target(describe) | ||||
_EXTRACT_DEPENDS=${EXTRACT_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} | _EXTRACT_DEPENDS=${EXTRACT_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} | ||||
_PATCH_DEPENDS=${PATCH_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} | _PATCH_DEPENDS=${PATCH_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} | ||||
_FETCH_DEPENDS=${FETCH_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} | _FETCH_DEPENDS=${FETCH_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} | ||||
_LIB_DEPENDS=${LIB_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} | _LIB_DEPENDS=${LIB_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} | ||||
_BUILD_DEPENDS=${BUILD_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS} | _BUILD_DEPENDS=${BUILD_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS} | ||||
_RUN_DEPENDS=${RUN_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS} | _RUN_DEPENDS=${RUN_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS} | ||||
. if exists(${DESCR}) | . if exists(${DESCR}) | ||||
_DESCR=${DESCR} | _DESCR=${DESCR} | ||||
. else | . else | ||||
_DESCR=/dev/null | _DESCR=/dev/null | ||||
. endif | . endif | ||||
. if defined(BUILDING_INDEX) && defined(INDEX_PORTS) | . if defined(BUILDING_INDEX) && defined(INDEX_PORTS) | ||||
INDEX_OUT=${INDEX_TMPDIR}/${INDEXFILE}.desc.aggr | INDEX_OUT=${INDEX_TMPDIR}/${INDEXFILE}.desc.aggr | ||||
▲ Show 20 Lines • Show All 1,130 Lines • Show Last 20 Lines |
Please also add PORTS_FEATURES+= FLAVORS. This will allow me to remove checks on DEPENDS_ARGS in Poudriere.