diff options
Diffstat (limited to 'Mk/Uses/pear.mk')
-rw-r--r-- | Mk/Uses/pear.mk | 91 |
1 files changed, 58 insertions, 33 deletions
diff --git a/Mk/Uses/pear.mk b/Mk/Uses/pear.mk index 2ba377e40b4c..860cc7a05b2d 100644 --- a/Mk/Uses/pear.mk +++ b/Mk/Uses/pear.mk @@ -4,7 +4,10 @@ # # Feature: pear # Usage: USES=pear -# Valid ARGS: none +# Valid ARGS: env +# +# - env : Only provide the environment variables, no fetch/build/install +# targets. # # MAINTAINER= portmgr@FreeBSD.org @@ -12,35 +15,51 @@ _INCLUDE_USES_PEAR_MK= yes _USES_POST+= pear -.if !empty(pear_ARGS) -IGNORE+= USES=pear takes not arguments -.endif +_valid_pear_ARGS= env + +# Sanity check +. for arg in ${pear_ARGS} +. if empty(_valid_pear_ARGS:M${arg}) +IGNORE= Incorrect 'USES+= pear:${cmake_ARGS}' usage: argument [${arg}] is not recognized +. endif +. endfor +php_ARGS+= flavors +.include "${USESDIR}/php.mk" + +. if empty(pear_ARGS:Menv) MASTER_SITES?= http://pear.php.net/get/ EXTRACT_SUFX?= .tgz DIST_SUBDIR?= PEAR -BUILD_DEPENDS+= pear:devel/pear -RUN_DEPENDS+= pear:devel/pear - -.if !defined(USE_PHPIZE) +. if !defined(USE_PHPIZE) NO_BUILD= yes -.endif +. endif +. endif -.if defined(PEAR_CHANNEL) && ${PEAR_CHANNEL} != "" -PKGNAMEPREFIX?= pear-${PEAR_CHANNEL}- +BUILD_DEPENDS+= pear:devel/pear@${PHP_FLAVOR} +RUN_DEPENDS+= pear:devel/pear@${PHP_FLAVOR} + +PEAR_PKGNAMEPREFIX= php${PHP_VER}-pear- + +. if defined(PEAR_CHANNEL) && ${PEAR_CHANNEL} != "" +PEAR_${PEAR_CHANNEL:tu}_PKGNAMEPREFIX= php${PHP_VER}-pear-${PEAR_CHANNEL}- +PKGNAMEPREFIX?= ${PEAR_${PEAR_CHANNEL:tu}_PKGNAMEPREFIX} PEARPKGREF= ${PEAR_CHANNEL}/${PORTNAME} -.else -PKGNAMEPREFIX?= pear- +PEAR_CHANNEL_VER?= >=0 +BUILD_DEPENDS+= ${PEAR_PKGNAMEPREFIX}channel-${PEAR_CHANNEL}${PEAR_CHANNEL_VER}:devel/pear-channel-${PEAR_CHANNEL}@${PHP_FLAVOR} +RUN_DEPENDS+= ${PEAR_PKGNAMEPREFIX}channel-${PEAR_CHANNEL}${PEAR_CHANNEL_VER}:devel/pear-channel-${PEAR_CHANNEL}@${PHP_FLAVOR} +. else +PKGNAMEPREFIX?= ${PEAR_PKGNAMEPREFIX} PEARPKGREF= ${PORTNAME} -.endif +. endif -.if exists(${LOCALBASE}/bin/php-config) +. if exists(${LOCALBASE}/bin/php-config) PHP_BASE!= ${LOCALBASE}/bin/php-config --prefix -.else +. else PHP_BASE= ${LOCALBASE} -.endif +. endif PEAR= ${LOCALBASE}/bin/pear LPEARDIR= share/pear LPKGREGDIR= ${LPEARDIR}/packages/${PKGNAME} @@ -58,32 +77,36 @@ EXAMPLESDIR= ${PHP_BASE}/${LEXAMPLESDIR} SQLSDIR= ${PHP_BASE}/${LSQLSDIR} SCRIPTFILESDIR= ${LOCALBASE}/bin TESTSDIR= ${PHP_BASE}/${LTESTSDIR} -.if defined(CATEGORY) && !empty(CATEGORY) +. if defined(CATEGORY) && !empty(CATEGORY) LINSTDIR= ${LPEARDIR}/${CATEGORY} -.else +. else LINSTDIR= ${LPEARDIR} -.endif +. endif INSTDIR= ${PHP_BASE}/${LINSTDIR} SUB_LIST+= PKG_NAME=${PEARPKGREF} -.if !defined(USE_PHPIZE) && !exists(${.CURDIR}/pkg-plist) +. if empty(pear_ARGS:Menv) +. if !defined(USE_PHPIZE) && !exists(${.CURDIR}/pkg-plist) PLIST= ${WRKDIR}/PLIST -.endif +. endif +PKGINSTALL?= ${PORTSDIR}/devel/pear/pear-install +PKGDEINSTALL?= ${WRKDIR}/pear-deinstall +. endif + PLIST_SUB+= PEARDIR=${LPEARDIR} PKGREGDIR=${LPKGREGDIR} \ TESTSDIR=${LTESTSDIR} INSTDIR=${LINSTDIR} SQLSDIR=${LSQLSDIR} \ SCRIPTFILESDIR=${LCRIPTSDIR} -PKGINSTALL?= ${PORTSDIR}/devel/pear/pear-install -PKGDEINSTALL?= ${WRKDIR}/pear-deinstall - .endif .if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_PEAR_POST_MK) _INCLUDE_USES_PEAR_POST_MK= yes +. if empty(pear_ARGS:Menv) + _USES_install+= 250:pear-pre-install pear-pre-install: -.if exists(${LOCALBASE}/lib/php.DIST_PHP) \ +. if exists(${LOCALBASE}/lib/php.DIST_PHP) \ || exists(${PHP_BASE}/lib/php.DIST_PHP) \ || exists(${LOCALBASE}/.PEAR.pkg) \ || exists(${PHP_BASE}/.PEAR.pkg) @@ -92,7 +115,7 @@ pear-pre-install: @${ECHO_MSG} " Please deinstall your installed pear- ports." @${ECHO_MSG} "" @${FALSE} -.endif +. endif DIRFILTER= ${SED} -En '\:^.*/[^/]*$$:s:^(.+)/[^/]*$$:\1:p' \ | ( while read r; do \ @@ -108,16 +131,16 @@ DIRFILTER= ${SED} -En '\:^.*/[^/]*$$:s:^(.+)/[^/]*$$:\1:p' \ done \ ) | ${SORT} -ur -.if !defined(USE_PHPIZE) +. if !defined(USE_PHPIZE) _USES_install+= 260:do-autogenerate-plist do-autogenerate-plist: @${ECHO_MSG} "===> Generating packing list with pear" @${LN} -sf ${WRKDIR}/package.xml ${WRKSRC}/package.xml @cd ${WRKSRC} && ${PEAR} install -n -f -P ${WRKDIR}/inst package.xml > /dev/null 2> /dev/null -.for R in .channels .depdb .depdblock .filemap .lock .registry +. for R in .channels .depdb .depdblock .filemap .lock .registry @${RM} -r ${WRKDIR}/inst/${PREFIX}/${LPEARDIR}/${R} @${RM} -r ${WRKDIR}/inst/${R} -.endfor +. endfor @FILES=`cd ${WRKDIR}/inst && ${FIND} . -type f | ${CUT} -c 2- | \ ${GREP} -v -E "^${PREFIX}/"` || exit 0; \ ${ECHO_CMD} $${FILES}; if ${TEST} -n "$${FILES}"; then \ @@ -131,11 +154,11 @@ do-autogenerate-plist: do-install: @cd ${WRKSRC} && ${PEAR} install -n -f -P ${STAGEDIR} package.xml # Clean up orphans re-generated by pear-install -.for R in .channels .depdb .depdblock .filemap .lock .registry +. for R in .channels .depdb .depdblock .filemap .lock .registry @${RM} -r ${STAGEDIR}${PREFIX}/${LPEARDIR}/${R} @${RM} -r ${STAGEDIR}/${R} -.endfor -.endif +. endfor +. endif _USES_install+= 270:do-generate-deinstall-script do-generate-deinstall-script: @@ -149,4 +172,6 @@ pear-post-install: show-depends: patch @${PEAR} package-dependencies ${WRKDIR}/package.xml +. endif + .endif |