Page MenuHomeFreeBSD

D16457.id.diff
No OneTemporary

D16457.id.diff

Index: Mk/Scripts/do-depends.sh
===================================================================
--- Mk/Scripts/do-depends.sh
+++ Mk/Scripts/do-depends.sh
@@ -141,6 +141,11 @@
export FLAVOR="${origin##*@}"
origin=${origin%@*}
;;
+ *~*/*) ;; # Ignore ~ in the path which would not be a subpackage
+ *~*)
+ subpkg=${origin##*~}
+ origin=${origin%~*}
+ ;;
esac
depends_args="${dp_DEPENDS_ARGS}"
Index: Mk/Scripts/functions.sh
===================================================================
--- Mk/Scripts/functions.sh
+++ Mk/Scripts/functions.sh
@@ -7,7 +7,8 @@
# Strip (owner,group,perm) from keywords
_strip_perms() {
sed -Ee 's/^@\([^)]*\)[[:space:]]+//' \
- -e 's/^(@[[:alpha:]]+)\([^)]*\)[[:space:]]+/\1 /'
+ -e 's/^(@[[:alpha:]]+)\([^)]*\)[[:space:]]+/\1 /' \
+ -e 's/^@@[[:alnum:]]+@@//'
}
# Expand TMPPLIST to absolute paths, splitting files and dirs into separate
Index: Mk/Uses/python.mk
===================================================================
--- Mk/Uses/python.mk
+++ Mk/Uses/python.mk
@@ -94,6 +94,11 @@
# noflavors - Disable automatic creation of flavors if they would
# otherwise be created and they are not wanted.
#
+# nometapkg - Disable automatic generic meta package generation.
+# This is used when flavors are enabled to generate a
+# py-foo meta package that always installs the default
+# version.
+#
# allflavors - Generate flavors for all possible versions and not
# simply the default ones. Only to be used for py-*
# ports that are part of the Python distribution, but
@@ -257,8 +262,8 @@
# List all valid USE_PYTHON features here
_VALID_PYTHON_FEATURES= allflavors autoplist concurrent cython cython_run \
- distutils flavors noegginfo noflavors optsuffix \
- py3kplist pythonprefix
+ distutils flavors noegginfo noflavors nometapkg \
+ optsuffix py3kplist pythonprefix
_INVALID_PYTHON_FEATURES=
.for var in ${USE_PYTHON}
. if empty(_VALID_PYTHON_FEATURES:M${var})
@@ -516,6 +521,22 @@
RUN_DEPENDS+= cython-${PYTHON_VER}:lang/cython@${PY_FLAVOR}
.endif
+# So:
+# - we are doing flavors
+# - we want the metapkg
+# - we are doing the default flavor
+# - our PKGNAMEPREFIX matches PYTHON_PKGNAMEPREFIX
+.if defined(_PYTHON_FEATURE_FLAVORS) && \
+ !defined(_PYTHON_FEATURE_NOMETAPKG) && \
+ ${FLAVOR} == ${FLAVORS:[1]} && \
+ !empty(PKGNAMEPREFIX:M${PYTHON_PKGNAMEPREFIX}*)
+SUBPACKAGES+= py_meta
+_PKGS.py_meta= ${PKGBASE:S/${PYTHON_PKGNAMEPREFIX}/py-/}
+DESCR.py_meta= ${DESCR}
+SELF_DEPENDS.py_meta= main
+COMMENT.py_meta= ${COMMENT} (default version)
+.endif
+
.if defined(_PYTHON_FEATURE_CONCURRENT)
.if !defined(_PYTHON_FEATURE_FLAVORS) && (${_PYTHON_VERSION_MINIMUM:M3*} || ${_PYTHON_VERSION_MAXIMUM:M2*})
DEV_WARNING+= "USE_PYTHON=concurrent when only one of Python 2 or 3 is supported AND not using flavors does not make any sense"
Index: Mk/bsd.options.mk
===================================================================
--- Mk/bsd.options.mk
+++ Mk/bsd.options.mk
@@ -457,6 +457,20 @@
_OPTIONS_${target}?=
.endfor
+# Handle subpackages before the rest to be able to handle options helpers with
+# subpackages.
+.for opt in ${_REALLY_ALL_POSSIBLE_OPTIONS}
+. if ${PORT_OPTIONS:M${opt}}
+. if defined(${opt}_SUBPACKAGES)
+SUBPACKAGES+= ${${opt}_SUBPACKAGES}
+. endif
+. else
+. if defined(${opt}_SUBPACKAGES_OFF)
+SUBPACKAGES+= ${${opt}_SUBPACKAGES_OFF}
+. endif
+. endif
+.endfor
+
.for opt in ${_REALLY_ALL_POSSIBLE_OPTIONS}
# PLIST_SUB
PLIST_SUB?=
@@ -542,6 +556,11 @@
. if defined(${opt}_${deptype}_DEPENDS)
${deptype}_DEPENDS+= ${${opt}_${deptype}_DEPENDS}
. endif
+. for p in ${SUBPACKAGES}
+. if defined(${opt}_${deptype}_DEPENDS.${p})
+${deptype}_DEPENDS.${p}+= ${${opt}_${deptype}_DEPENDS.${p}}
+. endif
+. endfor
. endfor
. for target in ${_OPTIONS_TARGETS}
_target= ${target:C/:.*//}
@@ -613,6 +632,11 @@
. if defined(${opt}_${deptype}_DEPENDS_OFF)
${deptype}_DEPENDS+= ${${opt}_${deptype}_DEPENDS_OFF}
. endif
+. for p in ${SUBPACKAGES}
+. if defined(${opt}_${deptype}_DEPENDS_OFF.${p})
+${deptype}_DEPENDS.${p}+= ${${opt}_${deptype}_DEPENDS_OFF.${p}}
+. endif
+. endfor
. endfor
. for target in ${_OPTIONS_TARGETS}
_target= ${target:C/:.*//}
Index: Mk/bsd.port.mk
===================================================================
--- Mk/bsd.port.mk
+++ Mk/bsd.port.mk
@@ -2223,6 +2223,7 @@
_PKGMESSAGES+= ${PKGMESSAGE}
TMPPLIST?= ${WRKDIR}/.PLIST.mktmp
+_PLIST?= ${WRKDIR}/.PLIST
.if defined(PKG_NOCOMPRESS)
PKG_SUFX?= .tar
@@ -2610,20 +2611,77 @@
PKGREPOSITORYSUBDIR?= All
PKGREPOSITORY?= ${PACKAGES}/${PKGREPOSITORYSUBDIR}
-.if exists(${PACKAGES})
-PACKAGES:= ${PACKAGES:S/:/\:/g}
-_HAVE_PACKAGES= yes
-PKGFILE?= ${PKGREPOSITORY}/${PKGNAME}${PKG_SUFX}
-.else
-PKGFILE?= ${.CURDIR}/${PKGNAME}${PKG_SUFX}
-.endif
-WRKDIR_PKGFILE= ${WRKDIR}/pkg/${PKGNAME}${PKG_SUFX}
# The "latest version" link -- ${PKGNAME} minus everthing after the last '-'
PKGLATESTREPOSITORY?= ${PACKAGES}/Latest
PKGBASE?= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
PKGLATESTFILE= ${PKGLATESTREPOSITORY}/${PKGBASE}${PKG_SUFX}
+_PKGS= ${PKGBASE}
+PORTS_FEATURES+= SUBPACKAGES
+.if defined(SUBPACKAGES)
+. if ${SUBPACKAGES:Mmain}
+DEV_ERROR+= "SUBPACKAGES cannot contain 'main', it is a reserved value"
+. endif
+. for f in ${SUBPACKAGES}
+. if ${f:C/[[:lower:][:digit:]_]//g}
+_BAD_SUBPACKAGE_NAMES+= ${f}
+. endif
+. endfor
+. if !empty(_BAD_SUBPACKAGE_NAMES)
+DEV_ERROR+= "SUBPACKAGES contains subpackages that are not all [a-z0-9_]: ${_BAD_SUBPACKAGE_NAMES}"
+. endif
+.endif
+.for p in ${SUBPACKAGES}
+# If a FRAMEWORK generated package needs to override its subpackage package
+# name, it can do so with this mechanism.
+.if !defined(_PKGS.${p})
+_PKGS.${p}= ${PKGBASE}-${p}
+.endif
+_PKGS+= ${_PKGS.${p}}
+_P.${_PKGS.${p}}= .${p}
+.endfor
+
+.if !defined(_DID_SUBPACKAGES_HELPERS)
+_DID_SUBPACKAGES_HELPERS= yes
+_SUBPACKAGE_HELPERS_FILE= DESCR PKGINSTALL PKGDEINSTALL PKGMESSAGE \
+ PKGPREINSTALL PKGPOSTINSTALL PKGPREDEINSTALL PKGPOSTDEINSTALL \
+ PKGPREUPGRADE PKGPOSTUPGRADE PKGUPGRADE
+
+. for p in ${SUBPACKAGES}
+# These overwrite the current value
+. for v in ${_SUBPACKAGE_HELPERS_FILE}
+${v}.${p}?= ${$v}.$p
+. endfor
+_PKGMESSAGES.${p}= ${PKGMESSAGE}.${p}
+# XXX: for testing, and maybe kept afterwards
+. if !exists(${DESCR.${p}})
+DESCR.${p}= ${DESCR}
+DEV_WARNING+= "DESCR.${p} needs to point to an existing file."
+. endif
+# XXX: Thoughts?
+COMMENT.${p}?= ${COMMENT} (subpkg: ${p})
+. endfor
+.endif
+
+
+.if exists(${PACKAGES})
+-PACKAGES:= ${PACKAGES:S/:/\:/g}
+_HAVE_PACKAGES= yes
+_PKGDIR= ${PKGREPOSITORY}
+.else
+_PKGDIR= ${.CURDIR}
+.endif
+. for p in ${_PKGS}
+PKGNAME${_P.${p}}= ${p}-${PKGVERSION}
+PKGNAMES+= ${PKGNAME${_P.${p}}}
+PKGFILE${_P.${p}}= ${_PKGDIR}/${PKGNAME${_P.${p}}}${PKG_SUFX}
+. endfor
+_EXTRA_PACKAGE_TARGET_DEP+= ${_PKGDIR}
+.for p in ${_PKGS}
+WRKDIR_PKGFILE${_P.${p}}= ${WRKDIR}/pkg/${PKGNAME${_P.${p}}}${PKG_SUFX}
+.endfor
+
CONFIGURE_SCRIPT?= configure
CONFIGURE_CMD?= ./${CONFIGURE_SCRIPT}
CONFIGURE_TARGET?= ${HOSTARCH}-portbld-${OPSYS:tl}${OSREL}
@@ -3400,10 +3458,6 @@
_EXTRA_PACKAGE_TARGET_DEP+= ${PKGFILE}
_PORTS_DIRECTORIES+= ${PKGREPOSITORY}
-${PKGFILE}: ${WRKDIR_PKGFILE} ${PKGREPOSITORY}
- @${LN} -f ${WRKDIR_PKGFILE} ${PKGFILE} 2>/dev/null \
- || ${CP} -f ${WRKDIR_PKGFILE} ${PKGFILE}
-
. if ${PKGORIGIN} == "ports-mgmt/pkg" || ${PKGORIGIN} == "ports-mgmt/pkg-devel"
_EXTRA_PACKAGE_TARGET_DEP+= ${PKGLATESTREPOSITORY}
_PORTS_DIRECTORIES+= ${PKGLATESTREPOSITORY}
@@ -3415,16 +3469,29 @@
.endif
-# from here this will become a loop for subpackages
-${WRKDIR_PKGFILE}: ${TMPPLIST} create-manifest ${WRKDIR}/pkg
- @if ! ${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_CREATE} ${PKG_CREATE_ARGS} -m ${METADIR} -p ${TMPPLIST} -f ${PKG_SUFX:S/.//} -o ${WRKDIR}/pkg ${PKGNAME}; then \
+.for p in ${_PKGS}
+${_PLIST}.${p}: ${TMPPLIST}
+ @if [ "${PKGBASE}" = "${p}" ]; then \
+ ${SED} "/^@comment /d; /@@/d" ${TMPPLIST} > ${.TARGET} ; \
+ else \
+ ${SED} -n "s/@@${p:S/${PKGBASE}-//}@@//p" ${TMPPLIST} > ${.TARGET} ; \
+ fi
+
+${WRKDIR_PKGFILE${_P.${p}}}: ${_PLIST}.${p} create-manifest.${p} ${WRKDIR}/pkg
+ @echo "===> Building ${PKGNAME${_P.${p}}}"
+ @if ! ${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_CREATE} ${PKG_CREATE_ARGS} -m ${METADIR}.${p} -p ${_PLIST}.${p} -f ${PKG_SUFX:S/.//} -o ${WRKDIR}/pkg ${PKGNAME}; then \
cd ${.CURDIR} && eval ${MAKE} delete-package >/dev/null; \
exit 1; \
fi
- #
-# Temporary will be later dynamically added per subpackages
-_EXTRA_PACKAGE_TARGET_DEP+= ${WRKDIR_PKGFILE}
-# This will be the end of the loop
+
+_EXTRA_PACKAGE_TARGET_DEP+= ${WRKDIR_PKGFILE${_P.${p}}}
+
+${PKGFILE${_P.${p}}}: ${WRKDIR_PKGFILE${_P.${p}}}
+ @${LN} -f ${WRKDIR_PKGFILE${_P.${p}}} ${PKGFILE${_P.${p}}} 2>/dev/null \
+ || ${CP} -f ${WRKDIR_PKGFILE${_P.${p}}} ${PKGFILE${_P.${p}}}
+
+_EXTRA_PACKAGE_TARGET_DEP+= ${PKGFILE${_P.${p}}}
+.endfor
.if !target(do-package)
PKG_CREATE_ARGS= -r ${STAGEDIR}
@@ -3436,14 +3503,18 @@
.if !target(delete-package)
delete-package:
- @${ECHO_MSG} "===> Deleting package for ${PKGNAME}"
+. for p in ${_PKGS}
+ @${ECHO_MSG} "===> Deleting package for ${p}"
# When staging, the package may only be in the workdir if not root
- @${RM} ${PKGFILE} ${WRKDIR_PKGFILE} 2>/dev/null || :
+ @${RM} ${PKGFILE${_P.${p}}} ${WRKDIR_PKGFILE${_P.${p}}} 2>/dev/null || :
+. endfor
.endif
.if !target(delete-package-list)
delete-package-list:
- @${ECHO_CMD} "[ -f ${PKGFILE} ] && (${ECHO_CMD} deleting ${PKGFILE}; ${RM} ${PKGFILE})"
+. for p in ${_PKGS}
+ @${ECHO_CMD} "[ -f ${PKGFILE${_P.${p}}} ] && (${ECHO_CMD} deleting ${PKGFILE${_P.${p}}}; ${RM} ${PKGFILE${_P.${p}}})"
+. endfor
.endif
# Used by scripts and users to install a package from local repository.
@@ -3455,13 +3526,16 @@
.if defined(INSTALLS_DEPENDS)
_INSTALL_PKG_ARGS+= -A
.endif
-install-package:
- @if [ -f "${WRKDIR}/pkg/${PKGNAME}${PKG_SUFX}" ]; then \
- _pkgfile="${WRKDIR_PKGFILE}"; \
+.for p in ${_PKGS}
+install-package: install-package.${p}
+install-package.${p}:
+ @if [ -f "${WRKDIR_PKGFILE${_P.${p}}}" ]; then \
+ _pkgfile="${WRKDIR_PKGFILE${_P.${p}}}"; \
else \
- _pkgfile="${PKGFILE}"; \
+ _pkgfile="${PKGFILE${_P.${p}}}"; \
fi; \
${PKG_ADD} ${_INSTALL_PKG_ARGS} $${_pkgfile}
+.endfor
.endif
@@ -3650,7 +3724,7 @@
test-message:
@${ECHO_MSG} "===> Testing for ${PKGNAME}"
package-message:
- @${ECHO_MSG} "===> Building package for ${PKGNAME}"
+ @${ECHO_MSG} "===> Building packages for ${PKGNAME}"
# Empty pre-* and post-* targets
@@ -3721,14 +3795,16 @@
${SU_CMD} "${MAKE} ${.TARGET}"
@${ECHO_MSG} "===> Returning to user credentials"
.else
- @${ECHO_MSG} "===> Deinstalling for ${PKGBASE}"
- @if ${PKG_INFO} -e ${PKGBASE}; then \
- p=`${PKG_INFO} -q -O ${PKGBASE}`; \
+.for _p in ${_PKGS}
+ @${ECHO_MSG} "===> Deinstalling for ${_p}"
+ @if ${PKG_INFO} -e ${_p}; then \
+ p=`${PKG_INFO} -q -O ${_p}`; \
${ECHO_MSG} "===> Deinstalling $${p}"; \
- ${PKG_DELETE} -f ${PKGBASE} ; \
+ ${PKG_DELETE} -f ${_p} ; \
else \
- ${ECHO_MSG} "===> ${PKGBASE} not installed, skipping"; \
+ ${ECHO_MSG} "===> ${_p} not installed, skipping"; \
fi
+.endfor
@${RM} ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
.endif
.endif
@@ -3964,7 +4040,7 @@
repackage: pre-repackage package
pre-repackage:
- @${RM} ${PACKAGE_COOKIE}
+ @${RM} ${PACKAGE_COOKIE} ${TMPPLIST}*
.endif
# Build a package but don't check the cookie for installation, also don't
@@ -3982,10 +4058,13 @@
depends: pkg-depends extract-depends patch-depends lib-depends fetch-depends build-depends run-depends
.for deptype in PKG EXTRACT PATCH FETCH BUILD LIB RUN TEST
+.for p in ${_PKGS}
+${deptype}_DEPENDS_ALL+= ${${deptype}_DEPENDS${_P.${p}}}
+.endfor
${deptype:tl}-depends:
-.if defined(${deptype}_DEPENDS) && !defined(NO_DEPENDS)
+.if !empty(${deptype}_DEPENDS_ALL) && !defined(NO_DEPENDS)
@${SETENV} \
- dp_RAWDEPENDS="${${deptype}_DEPENDS}" \
+ dp_RAWDEPENDS="${${deptype}_DEPENDS_ALL}" \
dp_DEPTYPE="${deptype}_DEPENDS" \
dp_DEPENDS_TARGET="${DEPENDS_TARGET}" \
dp_DEPENDS_PRECLEAN="${DEPENDS_PRECLEAN}" \
@@ -4014,7 +4093,7 @@
# Dependency lists: both build and runtime, recursive. Print out directory names.
-_UNIFIED_DEPENDS=${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} ${TEST_DEPENDS}
+_UNIFIED_DEPENDS=${PKG_DEPENDS_ALL} ${EXTRACT_DEPENDS_ALL} ${PATCH_DEPENDS_ALL} ${FETCH_DEPENDS_ALL} ${BUILD_DEPENDS_ALL} ${LIB_DEPENDS_ALL} ${RUN_DEPENDS_ALL} ${TEST_DEPENDS_ALL}
_DEPEND_SPECIALS= ${_UNIFIED_DEPENDS:M*\:*\:*:C,^[^:]*:([^:]*):.*$,\1,}
.for d in ${_UNIFIED_DEPENDS:M*\:/*}
@@ -4066,10 +4145,10 @@
ALL-DEPENDS-FLAVORS-LIST= ${DEPENDS-LIST} -f -r ${_UNIFIED_DEPENDS:Q}
DEINSTALL-DEPENDS-FLAVORS-LIST= ${DEPENDS-LIST} -f -r ${_UNIFIED_DEPENDS:N${PKG_DEPENDS}:Q}
MISSING-DEPENDS-LIST= ${DEPENDS-LIST} -m ${_UNIFIED_DEPENDS:Q}
-BUILD-DEPENDS-LIST= ${DEPENDS-LIST} "${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS}"
-RUN-DEPENDS-LIST= ${DEPENDS-LIST} "${LIB_DEPENDS} ${RUN_DEPENDS}"
-TEST-DEPENDS-LIST= ${DEPENDS-LIST} ${TEST_DEPENDS:Q}
-CLEAN-DEPENDS-LIST= ${DEPENDS-LIST} -wr ${_UNIFIED_DEPENDS:Q}
+BUILD-DEPENDS-LIST= ${DEPENDS-LIST_ALL} "${PKG_DEPENDS_ALL} ${EXTRACT_DEPENDS_ALL} ${PATCH_DEPENDS_ALL} ${FETCH_DEPENDS_ALL} ${BUILD_DEPENDS_ALL} ${LIB_DEPENDS_ALL}"
+RUN-DEPENDS-LIST= ${DEPENDS-LIST_ALL} "${LIB_DEPENDS_ALL} ${RUN_DEPENDS_ALL}"
+TEST-DEPENDS-LIST= ${DEPENDS-LIST} ${TEST_DEPENDS_ALL:Q}
+CLEAN-DEPENDS-LIST= ${DEPENDS-LIST} -wr ${_UNIFIED_DEPENDS:Q}
CLEAN-DEPENDS-LIMITED-LIST= ${DEPENDS-LIST} -w ${_UNIFIED_DEPENDS:Q}
.if !target(clean-depends)
@@ -4157,7 +4236,7 @@
@${ECHO_MSG} "===> Fetching all required distfiles for ${PKGNAME} and dependencies"
.for deptype in PKG EXTRACT PATCH FETCH BUILD RUN
.if defined(${deptype}_DEPENDS)
- @targ=fetch; deps="${${deptype}_DEPENDS}"; ${FETCH_LIST}
+ @targ=fetch; deps="${${deptype}_DEPENDS_ALL}"; ${FETCH_LIST}
.endif
.endfor
.endif
@@ -4169,7 +4248,7 @@
.if !defined(NO_DEPENDS)
.for deptype in PKG EXTRACT PATCH FETCH BUILD RUN
.if defined(${deptype}_DEPENDS)
- @targ=fetch-list; deps="${${deptype}_DEPENDS}"; ${FETCH_LIST}
+ @targ=fetch-list; deps="${${deptype}_DEPENDS_ALL}"; ${FETCH_LIST}
.endif
.endfor
.endif
@@ -4208,7 +4287,7 @@
@${PACKAGE-DEPENDS-LIST}
.endif
-_LIB_RUN_DEPENDS= ${LIB_DEPENDS} ${RUN_DEPENDS}
+_LIB_RUN_DEPENDS= ${LIB_DEPENDS_ALL} ${RUN_DEPENDS_ALL}
PACKAGE-DEPENDS-LIST?= \
if [ "${CHILD_DEPENDS}" ]; then \
installed=$$(${PKG_INFO} -qO ${PKGORIGIN} 2>/dev/null || \
@@ -4255,56 +4334,71 @@
fi; \
done
-ACTUAL-PACKAGE-DEPENDS?= \
+# FIXME: SELF_DEPENDS can only be used to depend on sub packages whose package
+# name has not been overrided by the framework, otherwise the assumption made
+# bellow that the package name is "PKGBASE-$$self" is broken.
+.for p in ${_PKGS}
+ACTUAL-PACKAGE-DEPENDS${_P.${p}}?= \
depfiles="" ; \
- for lib in ${LIB_DEPENDS:C/\:.*//}; do \
+ for lib in ${LIB_DEPENDS${_P.${p}}:C/\:.*//}; do \
depfiles="$$depfiles `${SETENV} LIB_DIRS="${LIB_DIRS}" LOCALBASE="${LOCALBASE}" ${SH} ${SCRIPTSDIR}/find-lib.sh $${lib}`" ; \
done ; \
- ${SETENV} PKG_BIN="${PKG_BIN}" ${SH} ${SCRIPTSDIR}/actual-package-depends.sh $${depfiles} ${RUN_DEPENDS:C/(.*)\:.*/"\1"/}
+ for self in ${SELF_DEPENDS${_P.${p}}}; do \
+ if [ "$$self" = "main" ]; then \
+ printf "\"%s\": {origin: \"%s\", version: \"%s\"}\n" ${PKGBASE} ${PKGORIGIN} ${PKGVERSION}; \
+ else \
+ printf "\"%s-%s\": {origin: \"%s\", version: \"%s\"}\n" ${PKGBASE} $$self ${PKGORIGIN} ${PKGVERSION}; \
+ fi ; \
+ done ; \
+ ${SETENV} PKG_BIN="${PKG_BIN}" ${SH} ${SCRIPTSDIR}/actual-package-depends.sh $${depfiles} ${RUN_DEPENDS${_P.${p}}:C/(.*)\:.*/"\1"/}
+.endfor
PKG_NOTES_ENV?=
.for note in ${PKG_NOTES}
PKG_NOTES_ENV+= dp_PKG_NOTE_${note}=${PKG_NOTE_${note}:Q}
.endfor
-create-manifest:
+.for p in ${_PKGS}
+create-manifest: create-manifest.${p}
+create-manifest.${p}:
@${SETENV} \
- dp_SCRIPTSDIR='${SCRIPTSDIR}' \
- dp_ACTUAL_PACKAGE_DEPENDS='${ACTUAL-PACKAGE-DEPENDS}' \
- dp_CATEGORIES='${CATEGORIES:u:S/$/,/}' \
- dp_COMMENT=${COMMENT:Q} \
- dp_COMPLETE_OPTIONS_LIST='${COMPLETE_OPTIONS_LIST}' \
- dp_DEPRECATED=${DEPRECATED:Q} \
- dp_DESCR='${DESCR}' \
- dp_EXPIRATION_DATE='${EXPIRATION_DATE}' \
- dp_GROUPS='${GROUPS:u:S/$/,/}' \
- dp_LICENSE='${LICENSE:u:S/$/,/}' \
- dp_LICENSE_COMB='${LICENSE_COMB}' \
- dp_MAINTAINER='${MAINTAINER}' \
- dp_METADIR='${METADIR}' \
- dp_NO_ARCH='${NO_ARCH}' \
- dp_PKGBASE='${PKGBASE}' \
- dp_PKGDEINSTALL='${PKGDEINSTALL}' \
- dp_PKGINSTALL='${PKGINSTALL}' \
- dp_PKGMESSAGES='${_PKGMESSAGES}' \
- dp_PKGORIGIN='${PKGORIGIN}' \
- dp_PKGPOSTDEINSTALL='${PKGPOSTDEINSTALL}' \
- dp_PKGPOSTINSTALL='${PKGPOSTINSTALL}' \
- dp_PKGPOSTUPGRADE='${PKGPOSTUPGRADE}' \
- dp_PKGPREDEINSTALL='${PKGPREDEINSTALL}' \
- dp_PKGPREINSTALL='${PKGPREINSTALL}' \
- dp_PKGPREUPGRADE='${PKGPREUPGRADE}' \
- dp_PKGUPGRADE='${PKGUPGRADE}' \
- dp_PKGVERSION='${PKGVERSION}' \
- dp_PKG_BIN='${PKG_BIN}' \
- dp_PKG_IGNORE_DEPENDS='${PKG_IGNORE_DEPENDS}' \
- dp_PKG_NOTES='${PKG_NOTES}' \
- dp_PORT_OPTIONS='${PORT_OPTIONS}' \
- dp_PREFIX='${PREFIX}' \
- dp_USERS='${USERS:u:S/$/,/}' \
- dp_WWW='${WWW}' \
- ${PKG_NOTES_ENV} \
+ dp_SCRIPTSDIR='${SCRIPTSDIR}' \
+ dp_ACTUAL_PACKAGE_DEPENDS='${ACTUAL-PACKAGE-DEPENDS${_P.${p}}}' \
+ dp_CATEGORIES='${CATEGORIES:u:S/$/,/}' \
+ dp_COMMENT=${COMMENT${_P.${p}}:Q} \
+ dp_COMPLETE_OPTIONS_LIST='${COMPLETE_OPTIONS_LIST}' \
+ dp_DEPRECATED=${DEPRECATED:Q} \
+ dp_DESCR='${DESCR${_P.${p}}}' \
+ dp_EXPIRATION_DATE='${EXPIRATION_DATE}' \
+ dp_GROUPS='${GROUPS:u:S/$/,/}' \
+ dp_LICENSE='${LICENSE:u:S/$/,/}' \
+ dp_LICENSE_COMB='${LICENSE_COMB}' \
+ dp_MAINTAINER='${MAINTAINER}' \
+ dp_METADIR='${METADIR}.${p}' \
+ dp_NO_ARCH='${NO_ARCH}' \
+ dp_PKGBASE='${p}' \
+ dp_PKGDEINSTALL='${PKGDEINSTALL${_P.${p}}}' \
+ dp_PKGINSTALL='${PKGINSTALL${_P.${p}}}' \
+ dp_PKGMESSAGES='${_PKGMESSAGES${_P.${p}}}' \
+ dp_PKGORIGIN='${PKGORIGIN}' \
+ dp_PKGPOSTDEINSTALL='${PKGPOSTDEINSTALL${_P.${p}}}' \
+ dp_PKGPOSTINSTALL='${PKGPOSTINSTALL${_P.${p}}}' \
+ dp_PKGPOSTUPGRADE='${PKGPOSTUPGRADE${_P.${p}}}' \
+ dp_PKGPREDEINSTALL='${PKGPREDEINSTALL${_P.${p}}}' \
+ dp_PKGPREINSTALL='${PKGPREINSTALL${_P.${p}}}' \
+ dp_PKGPREUPGRADE='${PKGPREUPGRADE${_P.${p}}}' \
+ dp_PKGUPGRADE='${PKGUPGRADE${_P.${p}}}' \
+ dp_PKGVERSION='${PKGVERSION}' \
+ dp_PKG_BIN='${PKG_BIN}' \
+ dp_PKG_IGNORE_DEPENDS='${PKG_IGNORE_DEPENDS}' \
+ dp_PKG_NOTES='${PKG_NOTES}' \
+ dp_PORT_OPTIONS='${PORT_OPTIONS}' \
+ dp_PREFIX='${PREFIX}' \
+ dp_USERS='${USERS:u:S/$/,/}' \
+ dp_WWW='${WWW}' \
+ ${PKG_NOTES_ENV} \
${SH} ${SCRIPTSDIR}/create-manifest.sh
+.endfor
# Print out package names.
@@ -4312,8 +4406,11 @@
package-depends:
@${PACKAGE-DEPENDS-LIST} | ${AWK} '{print $$1":"$$3}'
-actual-package-depends:
- @${ACTUAL-PACKAGE-DEPENDS}
+.for p in ${_PKGS}
+actual-package-depends${_P.${p}}:
+ @${ACTUAL-PACKAGE-DEPENDS${_P.${p}}}
+.endfor
+
# Build packages for port and dependencies
@@ -4360,12 +4457,12 @@
# first to avoid gratuitous breakage.
. if !target(describe)
-_EXTRACT_DEPENDS=${EXTRACT_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,}
-_LIB_DEPENDS=${LIB_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
-_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}
+_EXTRACT_DEPENDS=${EXTRACT_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
+_PATCH_DEPENDS=${PATCH_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
+_FETCH_DEPENDS=${FETCH_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
+_LIB_DEPENDS=${LIB_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
+_BUILD_DEPENDS=${BUILD_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS}
+_RUN_DEPENDS=${RUN_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS}
. if exists(${DESCR})
_DESCR=${DESCR}
. else
@@ -4498,6 +4595,11 @@
@for file in ${PLIST_FILES}; do \
${ECHO_CMD} $${file} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} >> ${TMPPLIST}; \
done
+.for p in ${_PKGS:[2..-1]}
+ @for file in ${PLIST_FILES${_P.${p}}}; do \
+ ${ECHO_CMD} $${file} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} -e 's/^/@@${_P.${p}:S/^.//}@@/' >> ${TMPPLIST}; \
+ done
+.endfor
.if !empty(PLIST)
.for f in ${PLIST}
@if [ -f "${f}" ]; then \
@@ -4510,6 +4612,11 @@
@${ECHO_CMD} ${dir} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} -e 's,^,@dir ,' >> ${TMPPLIST}
.endfor
+.for p in ${_PKGS:[2..-1]}
+.for dir in ${PLIST_DIRS${_P.${p}}}
+ @${ECHO_CMD} ${dir} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} -e 's,^,@@${_P.${p}:S/^.//}@@@dir ,' >> ${TMPPLIST}
+.endfor
+.endfor
.endif
${TMPPLIST}:
@@ -4663,20 +4770,20 @@
pretty-flavors-package-names: .PHONY
.if empty(FLAVORS)
- @${ECHO_CMD} "no flavor: ${PKGNAME}"
+ @${ECHO_CMD} "no flavor: ${_PKGS}"
.else
.for f in ${FLAVORS}
@${ECHO_CMD} -n "${f}: "
- @cd ${.CURDIR} && ${SETENV} FLAVOR=${f} ${MAKE} -B -V PKGNAME
+ @cd ${.CURDIR} && ${SETENV} -i FLAVOR=${f} ${MAKE} -B -V _PKGS
.endfor
.endif
flavors-package-names: .PHONY
.if empty(FLAVORS)
- @${ECHO_CMD} "${PKGNAME}"
+ @${ECHO_CMD} "${_PKGS}"
.else
.for f in ${FLAVORS}
- @cd ${.CURDIR} && ${SETENV} FLAVOR=${f} ${MAKE} -B -V PKGNAME
+ @cd ${.CURDIR} && ${SETENV} -i FLAVOR=${f} ${MAKE} -B -V _PKGS | ${XARGS} -n 1
.endfor
.endif
@@ -4685,17 +4792,20 @@
STAGE_ARGS= -i ${STAGEDIR}
.if !defined(NO_PKG_REGISTER)
-fake-pkg:
+. for p in ${_PKGS}
+fake-pkg: fake-pkg.${p}
+fake-pkg.${p}: ${_PLIST}.${p} ${METADIR}.${p}
.if defined(INSTALLS_DEPENDS)
@${ECHO_MSG} "===> Registering installation for ${PKGNAME} as automatic"
- @${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_REGISTER} -d ${STAGE_ARGS} -m ${METADIR} -f ${TMPPLIST}
+ @${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_REGISTER} -d ${STAGE_ARGS} -m ${METADIR}.${p} -f ${_PLIST}.${p}
.else
@${ECHO_MSG} "===> Registering installation for ${PKGNAME}"
- @${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_REGISTER} ${STAGE_ARGS} -m ${METADIR} -f ${TMPPLIST}
-.endif
- @${RM} -r ${METADIR}
+ @${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_REGISTER} ${STAGE_ARGS} -m ${METADIR}.${p} -f ${_PLIST}.${p}
.endif
+ @${RM} -r ${METADIR.${p}}
+.endfor
.endif
+.endif # !target(fake-pkg)
# Depend is generally meaningless for arbitrary ports, but if someone wants
# one they can override this. This is just to catch people who've gotten into
Index: devel/git/Makefile
===================================================================
--- devel/git/Makefile
+++ devel/git/Makefile
@@ -17,6 +17,11 @@
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
+SELF_DEPENDS.perl= main
+SELF_DEPENDS.gitweb= perl
+SELF_DEPENDS.send-email= perl
+SELF_DEPENDS.subversion= perl
+
USES= autoreconf gmake iconv shebangfix ssl tar:xz
CONFLICTS_INSTALL?= git-gui-[0-9]* git-lite-[0-9]*
@@ -59,6 +64,10 @@
SUBTREE SVN
OPTIONS_SUB= yes
+.if defined(PACKAGE_BUILDING)
+OPTIONS_DEFAULT+= SVN
+.endif
+
CONTRIB_DESC= Install contributed scripts
CURL_DESC= Install curl support (provides HTTPS transport)
CVS_DESC= Enable CVS support
@@ -74,12 +83,14 @@
PERL_USES= perl5
PERL_CONFIGURE_WITH= perl=${PERL}
-PERL_BUILD_DEPENDS= p5-Error>=0:lang/p5-Error
-PERL_RUN_DEPENDS= p5-Error>=0:lang/p5-Error
+PERL_BUILD_DEPENDS.perl= p5-Error>=0:lang/p5-Error
+PERL_RUN_DEPENDS.perl= p5-Error>=0:lang/p5-Error
PERL_MAKE_ARGS_OFF= NO_PERL=1
+PERL_SUBPACKAGES= perl
GITWEB_IMPLIES= PERL
-GITWEB_RUN_DEPENDS= p5-CGI>=0:www/p5-CGI
+GITWEB_RUN_DEPENDS.gitweb= p5-CGI>=0:www/p5-CGI
+GITWEB_SUBPACKAGES= gitweb
PCRE_LIB_DEPENDS= libpcre.so:devel/pcre
PCRE_CONFIGURE_WITH= libpcre1
@@ -88,8 +99,9 @@
PCRE2_CONFIGURE_WITH= libpcre
SEND_EMAIL_IMPLIES= PERL
-SEND_EMAIL_RUN_DEPENDS= p5-Authen-SASL>=0:security/p5-Authen-SASL \
+SEND_EMAIL_RUN_DEPENDS.send-email= p5-Authen-SASL>=0:security/p5-Authen-SASL \
p5-IO-Socket-SSL>=0:security/p5-IO-Socket-SSL
+SEND_EMAIL_SUBPACKAGES= send_email
ICONV_MAKE_ARGS_OFF= NO_ICONV=1
@@ -110,8 +122,10 @@
# to have git use devel/subversion18 it will be brought in through
# devel/p5-subversion if you set WITH_SUBVERSION_VER=18. Otherwise
# devel/subversion will be brought in.
-SVN_RUN_DEPENDS= p5-Term-ReadKey>=0:devel/p5-Term-ReadKey \
+SVN_IMPLIES= PERL
+SVN_RUN_DEPENDS.subversion= p5-Term-ReadKey>=0:devel/p5-Term-ReadKey \
p5-subversion>=0:devel/p5-subversion
+SVN_SUBPACKAGES= subversion
SUBTREE_BUILD_DEPENDS= asciidoctor:textproc/rubygem-asciidoctor\
xmlto:textproc/xmlto
Index: devel/git/pkg-descr.subversion
===================================================================
--- /dev/null
+++ devel/git/pkg-descr.subversion
@@ -0,0 +1,3 @@
+Git bindings to interact with a subversion repository.
+
+WWW: http://git-scm.org/
Index: devel/git/pkg-plist
===================================================================
--- devel/git/pkg-plist
+++ devel/git/pkg-plist
@@ -16,16 +16,16 @@
%%PERL%%%%SITE_PERL%%/Git/LoadCPAN/Error.pm
%%PERL%%%%SITE_PERL%%/Git/LoadCPAN/Mail/Address.pm
%%PERL%%%%SITE_PERL%%/Git/Packet.pm
-%%PERL%%%%SITE_PERL%%/Git/SVN.pm
-%%PERL%%%%SITE_PERL%%/Git/SVN/Editor.pm
-%%PERL%%%%SITE_PERL%%/Git/SVN/Fetcher.pm
-%%PERL%%%%SITE_PERL%%/Git/SVN/GlobSpec.pm
-%%PERL%%%%SITE_PERL%%/Git/SVN/Log.pm
-%%PERL%%%%SITE_PERL%%/Git/SVN/Memoize/YAML.pm
-%%PERL%%%%SITE_PERL%%/Git/SVN/Migration.pm
-%%PERL%%%%SITE_PERL%%/Git/SVN/Prompt.pm
-%%PERL%%%%SITE_PERL%%/Git/SVN/Ra.pm
-%%PERL%%%%SITE_PERL%%/Git/SVN/Utils.pm
+%%SVN%%@@subversion@@%%SITE_PERL%%/Git/SVN.pm
+%%SVN%%@@subversion@@%%SITE_PERL%%/Git/SVN/Editor.pm
+%%SVN%%@@subversion@@%%SITE_PERL%%/Git/SVN/Fetcher.pm
+%%SVN%%@@subversion@@%%SITE_PERL%%/Git/SVN/GlobSpec.pm
+%%SVN%%@@subversion@@%%SITE_PERL%%/Git/SVN/Log.pm
+%%SVN%%@@subversion@@%%SITE_PERL%%/Git/SVN/Memoize/YAML.pm
+%%SVN%%@@subversion@@%%SITE_PERL%%/Git/SVN/Migration.pm
+%%SVN%%@@subversion@@%%SITE_PERL%%/Git/SVN/Prompt.pm
+%%SVN%%@@subversion@@%%SITE_PERL%%/Git/SVN/Ra.pm
+%%SVN%%@@subversion@@%%SITE_PERL%%/Git/SVN/Utils.pm
libexec/git-core/git
libexec/git-core/git-add
libexec/git-core/git-add--interactive
@@ -160,7 +160,7 @@
libexec/git-core/git-rev-parse
libexec/git-core/git-revert
libexec/git-core/git-rm
-%%SEND_EMAIL%%libexec/git-core/git-send-email
+%%SEND_EMAIL%%@@send_email@@libexec/git-core/git-send-email
libexec/git-core/git-send-pack
libexec/git-core/git-sh-i18n
libexec/git-core/git-sh-i18n--envsubst
@@ -179,7 +179,7 @@
libexec/git-core/git-submodule
libexec/git-core/git-submodule--helper
%%SUBTREE%%libexec/git-core/git-subtree
-%%SVN%%libexec/git-core/git-svn
+%%SVN%%@@subversion@@libexec/git-core/git-svn
libexec/git-core/git-switch
libexec/git-core/git-symbolic-ref
libexec/git-core/git-tag
@@ -342,7 +342,7 @@
man/man1/git-rev-parse.1.gz
man/man1/git-revert.1.gz
man/man1/git-rm.1.gz
-%%SEND_EMAIL%%man/man1/git-send-email.1.gz
+%%SEND_EMAIL%%@@send_email@@man/man1/git-send-email.1.gz
man/man1/git-send-pack.1.gz
man/man1/git-sh-i18n--envsubst.1.gz
man/man1/git-sh-i18n.1.gz
@@ -360,7 +360,7 @@
man/man1/git-stripspace.1.gz
man/man1/git-submodule.1.gz
%%SUBTREE%%man/man1/git-subtree.1.gz
-%%SVN%%man/man1/git-svn.1.gz
+%%SVN%%@@subversion@@man/man1/git-svn.1.gz
man/man1/git-switch.1.gz
man/man1/git-symbolic-ref.1.gz
man/man1/git-tag.1.gz
@@ -1021,8 +1021,8 @@
%%HTMLDOCS%%%%DOCSDIR%%/git-revert.txt
%%HTMLDOCS%%%%DOCSDIR%%/git-rm.html
%%HTMLDOCS%%%%DOCSDIR%%/git-rm.txt
-%%SEND_EMAIL%%%%HTMLDOCS%%%%DOCSDIR%%/git-send-email.html
-%%SEND_EMAIL%%%%HTMLDOCS%%%%DOCSDIR%%/git-send-email.txt
+%%SEND_EMAIL%%@@send_email@@%%HTMLDOCS%%%%DOCSDIR%%/git-send-email.html
+%%SEND_EMAIL%%@@send_email@@%%HTMLDOCS%%%%DOCSDIR%%/git-send-email.txt
%%HTMLDOCS%%%%DOCSDIR%%/git-send-pack.html
%%HTMLDOCS%%%%DOCSDIR%%/git-send-pack.txt
%%HTMLDOCS%%%%DOCSDIR%%/git-sh-i18n--envsubst.html
@@ -1192,12 +1192,12 @@
%%HTMLDOCS%%%%DOCSDIR%%/user-manual.txt
share/emacs/site-lisp/git/git-blame.el
share/emacs/site-lisp/git/git.el
-%%GITWEB%%@sample %%ETCDIR%%/gitweb.conf.sample
-%%GITWEB%%%%EXAMPLESDIR%%/gitweb/gitweb.cgi
-%%GITWEB%%%%EXAMPLESDIR%%/gitweb/static/git-favicon.png
-%%GITWEB%%%%EXAMPLESDIR%%/gitweb/static/git-logo.png
-%%GITWEB%%%%EXAMPLESDIR%%/gitweb/static/gitweb.css
-%%GITWEB%%%%EXAMPLESDIR%%/gitweb/static/gitweb.js
+%%GITWEB%%@@gitweb@@@sample %%ETCDIR%%/gitweb.conf.sample
+%%GITWEB%%@@gitweb@@%%EXAMPLESDIR%%/gitweb/gitweb.cgi
+%%GITWEB%%@@gitweb@@%%EXAMPLESDIR%%/gitweb/static/git-favicon.png
+%%GITWEB%%@@gitweb@@%%EXAMPLESDIR%%/gitweb/static/git-logo.png
+%%GITWEB%%@@gitweb@@%%EXAMPLESDIR%%/gitweb/static/gitweb.css
+%%GITWEB%%@@gitweb@@%%EXAMPLESDIR%%/gitweb/static/gitweb.js
%%CONTRIB%%share/git-core/contrib/README
%%CONTRIB%%share/git-core/contrib/buildsystems/Generators.pm
%%CONTRIB%%share/git-core/contrib/buildsystems/Generators/QMake.pm
Index: lang/perl5-devel/Makefile
===================================================================
--- lang/perl5-devel/Makefile
+++ lang/perl5-devel/Makefile
@@ -16,6 +16,7 @@
MAINTAINER= mat@FreeBSD.org
COMMENT= Practical Extraction and Report Language
+COMMENT.gdbm= GNU Data Base Manager (gdbm) interface
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
@@ -26,6 +27,8 @@
#DEPRECATED= Support end three years after .0 release, please upgrade to a more recent version of Perl
#EXPIRATION_DATE=<Release date of .0 + 3 years>
+SELF_DEPENDS.gdbm= main
+
# XXX releases are .tar.xz, add: tar:xz
USES= cpe
@@ -77,6 +80,9 @@
CONFIGURE_ARGS+= -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -lperl' \
-Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL)'
+# Give a hint of where libperl.so can be found.
+USE_LDCONFIG= ${PREFIX}/${_ARCH_LIB}/CORE
+
# XXX Remove
CONFIGURE_ARGS+= -Dusedevel \
-Uversiononly
@@ -182,7 +188,8 @@
DTRACE_CONFIGURE_OFF= -Uusedtrace
GDBM_CONFIGURE_ON= -Di_gdbm
GDBM_CONFIGURE_OFF= -Ui_gdbm
-GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm
+GDBM_LIB_DEPENDS.gdbm= libgdbm.so:databases/gdbm
+GDBM_SUBPACKAGES= gdbm
MULTIPLICITY_CONFIGURE_ON= -Dusemultiplicity=y
MULTIPLICITY_CONFIGURE_OFF= -Dusemultiplicity=n
PERL_64BITINT_CONFIGURE_ON= -Duse64bitint
Index: lang/perl5-devel/pkg-descr.gdbm
===================================================================
--- /dev/null
+++ lang/perl5-devel/pkg-descr.gdbm
@@ -0,0 +1,6 @@
+GDBM_File is a perl module which allows Perl programs to make use of the
+facilities provided by the GNU gdbm library. If you intend to use this
+module you should really have a copy of the gdbm manualpage at hand.
+
+Most of the libgdbm.a functions are available through the GDBM_File
+interface.
Index: lang/perl5-devel/pkg-plist
===================================================================
--- lang/perl5-devel/pkg-plist
+++ lang/perl5-devel/pkg-plist
@@ -786,7 +786,7 @@
%%ARCH_LIB%%/File/Spec/VMS.pm
%%ARCH_LIB%%/File/Spec/Win32.pm
%%ARCH_LIB%%/Filter/Util/Call.pm
-%%GDBM%%%%ARCH_LIB%%/GDBM_File.pm
+%%GDBM%%@@gdbm@@%%ARCH_LIB%%/GDBM_File.pm
%%ARCH_LIB%%/Hash/Util.pm
%%ARCH_LIB%%/Hash/Util/FieldHash.pm
%%ARCH_LIB%%/I18N/Langinfo.pm
@@ -855,7 +855,7 @@
%%ARCH_LIB%%/auto/File/DosGlob/DosGlob.so
%%ARCH_LIB%%/auto/File/Glob/Glob.so
%%ARCH_LIB%%/auto/Filter/Util/Call/Call.so
-%%GDBM%%%%ARCH_LIB%%/auto/GDBM_File/GDBM_File.so
+%%GDBM%%@@gdbm@@%%ARCH_LIB%%/auto/GDBM_File/GDBM_File.so
%%ARCH_LIB%%/auto/Hash/Util/FieldHash/FieldHash.so
%%ARCH_LIB%%/auto/Hash/Util/Util.so
%%ARCH_LIB%%/auto/I18N/Langinfo/Langinfo.so
@@ -1317,7 +1317,7 @@
%%MAN3%%/Filter::Simple.3.gz
%%MAN3%%/Filter::Util::Call.3.gz
%%MAN3%%/FindBin.3.gz
-%%GDBM%%%%MAN3%%/GDBM_File.3.gz
+%%GDBM%%@@gdbm@@%%MAN3%%/GDBM_File.3.gz
%%MAN3%%/Getopt::Long.3.gz
%%MAN3%%/Getopt::Std.3.gz
%%MAN3%%/HTTP::Tiny.3.gz

File Metadata

Mime Type
text/plain
Expires
Tue, Dec 24, 11:12 AM (5 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15587874
Default Alt Text
D16457.id.diff (33 KB)

Event Timeline