diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -2669,11 +2669,17 @@ PKGNAME${_SP.${sp}}= ${sp}-${PKGVERSION} PKGNAMES+= ${PKGNAME${_SP.${sp}}} PKGFILE${_SP.${sp}}= ${_PKGDIR}/${PKGNAME${_SP.${sp}}}${PKG_SUFX} -. endfor -_EXTRA_PACKAGE_TARGET_DEP+= ${_PKGDIR} -. for sp in ${_PKGS} WRKDIR_PKGFILE${_SP.${sp}}= ${WRKDIR}/pkg/${PKGNAME${_SP.${sp}}}${PKG_SUFX} +. if !empty(_SP.${sp}) +. for deptype in PKG EXTRACT PATCH FETCH BUILD +${deptype}_DEPENDS+= ${${deptype}_DEPENDS${_SP.${sp}}} +. endfor +. for deptype in LIB RUN TEST +${deptype}_DEPENDS_ALL_SUBPACKAGES+= ${${deptype}_DEPENDS${_SP.${sp}}} +. endfor +. endif . endfor +_EXTRA_PACKAGE_TARGET_DEP+= ${_PKGDIR} # Integrate with the license auditing framework . if !defined (DISABLE_LICENSES) @@ -4055,15 +4061,11 @@ . if !target(depends) 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 sp in ${_PKGS} -${deptype}_DEPENDS_ALL+= ${${deptype}_DEPENDS${_SP.${sp}}} -. endfor ${deptype:tl}-depends: -. if !empty(${deptype}_DEPENDS_ALL) && !defined(NO_DEPENDS) +. if !empty(${deptype}_DEPENDS) && !defined(NO_DEPENDS) @${SETENV} \ - dp_RAWDEPENDS="${${deptype}_DEPENDS_ALL}" \ + dp_RAWDEPENDS="${${deptype}_DEPENDS} ${${deptype}_DEPENDS_ALL_SUBPACKAGES}" \ dp_DEPTYPE="${deptype}_DEPENDS" \ dp_DEPENDS_TARGET="${DEPENDS_TARGET}" \ dp_DEPENDS_PRECLEAN="${DEPENDS_PRECLEAN}" \ @@ -4092,7 +4094,8 @@ # Dependency lists: both build and runtime, recursive. Print out directory names. -_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} +_UNIFIED_DEPENDS=${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} ${TEST_DEPENDS} \ + ${LIB_DEPENDS_ALL_SUBPACKAGES} ${RUN_DEPENDS_ALL_SUBPACKAGES} ${TEST_DEPENDS_ALL_SUBPACKAGES} _DEPEND_SPECIALS= ${_UNIFIED_DEPENDS:M*\:*\:*:C,^[^:]*:([^:]*):.*$,\1,} . for d in ${_UNIFIED_DEPENDS:M*\:/*} @@ -4145,9 +4148,9 @@ 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_ALL} ${EXTRACT_DEPENDS_ALL} ${PATCH_DEPENDS_ALL} ${FETCH_DEPENDS_ALL} ${BUILD_DEPENDS_ALL} ${LIB_DEPENDS_ALL}" -RUN-DEPENDS-LIST= ${DEPENDS-LIST} "${LIB_DEPENDS_ALL} ${RUN_DEPENDS_ALL}" -TEST-DEPENDS-LIST= ${DEPENDS-LIST} ${TEST_DEPENDS_ALL:Q} +BUILD-DEPENDS-LIST= ${DEPENDS-LIST} "${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${LIB_DEPENDS_ALL_SUBPACKAGES}" +RUN-DEPENDS-LIST= ${DEPENDS-LIST} "${LIB_DEPENDS} ${RUN_DEPENDS} ${LIB_DEPENDS_ALL_SUBPACKAGES} ${RUN_DEPENDS_ALL_SUBPACKAGES}" +TEST-DEPENDS-LIST= ${DEPENDS-LIST} ${TEST_DEPENDS:Q} ${TEST_DEPENDS_ALL_SUBPACKAGES:Q} CLEAN-DEPENDS-LIST= ${DEPENDS-LIST} -wr ${_UNIFIED_DEPENDS:Q} CLEAN-DEPENDS-LIMITED-LIST= ${DEPENDS-LIST} -w ${_UNIFIED_DEPENDS:Q} @@ -4236,7 +4239,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_ALL}"; ${FETCH_LIST} + @targ=fetch; deps="${${deptype}_DEPENDS} ${${deptype}_DEPENDS_ALL_SUBPACKAGES}"; ${FETCH_LIST} . endif . endfor . endif @@ -4248,7 +4251,7 @@ . if !defined(NO_DEPENDS) . for deptype in PKG EXTRACT PATCH FETCH BUILD RUN . if defined(${deptype}_DEPENDS) - @targ=fetch-list; deps="${${deptype}_DEPENDS_ALL}"; ${FETCH_LIST} + @targ=fetch-list; deps="${${deptype}_DEPENDS} ${${deptype}_DEPENDS_ALL_SUBPACKAGES}"; ${FETCH_LIST} . endif . endfor . endif @@ -4287,7 +4290,7 @@ @${PACKAGE-DEPENDS-LIST} . endif -_LIB_RUN_DEPENDS= ${LIB_DEPENDS_ALL} ${RUN_DEPENDS_ALL} +_LIB_RUN_DEPENDS= ${LIB_DEPENDS} ${RUN_DEPENDS} ${LIB_DEPENDS_ALL_SUBPACKAGES} ${RUN_DEPENDS_ALL_SUBPACKAGES} PACKAGE-DEPENDS-LIST?= \ if [ "${CHILD_DEPENDS}" ]; then \ installed=$$(${PKG_INFO} -qO ${PKGORIGIN} 2>/dev/null || \ @@ -4459,17 +4462,18 @@ # distribution-name|port-path|installation-prefix|comment| \ # description-file|maintainer|categories|extract-depends| \ # patch-depends|fetch-depends|build-depends|run-depends|www site -# -# If this ever changes, portmgr should contact the portsnap maintainer -# first to avoid gratuitous breakage. . if !target(describe) -_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} +_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} +. for sp in ${SUBPACKAGES} +_BUILD_DEPENDS.${sp}= ${_BUILD_DEPENDS} ${LIB_DEPENDS.${sp}:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} +_RUN_DEPENDS.${sp}= ${RUN_DEPENDS.${sp}:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${LIB_DEPENDS.${sp}:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} +. endfor . if exists(${DESCR}) _DESCR=${DESCR} . else @@ -4485,6 +4489,9 @@ . if empty(FLAVORS) || defined(_DESCRIBE_WITH_FLAVOR) describe: @(${ECHO_CMD} "${PKGNAME}|${.CURDIR}|${PREFIX}|"${COMMENT:Q}"|${_DESCR}|${MAINTAINER}|${CATEGORIES}|${_EXTRACT_DEPENDS}|${_PATCH_DEPENDS}|${_FETCH_DEPENDS}|${_BUILD_DEPENDS:O:u}|${_RUN_DEPENDS:O:u}|${_WWW}" >> ${INDEX_OUT}) +. for sp in ${SUBPACKAGES} + @(${ECHO_CMD} "${PKGNAME.${sp}}|${.CURDIR}|${PREFIX}|"${COMMENT:Q}"|${_DESCR.${sp}}|${MAINTAINER}|${CATEGORIES}|${_EXTRACT_DEPENDS}|${_PATCH_DEPENDS}|${_FETCH_DEPENDS}|${_BUILD_DEPENDS.${sp}:O:u}|${_RUN_DEPENDS.${sp}:O:u}|${_WWW}" >> ${INDEX_OUT}) +. endfor . else # empty(FLAVORS) describe: ${FLAVORS:S/^/describe-/} . for f in ${FLAVORS}