pkgsrc-wip/php4/pear.mk
Jaromir Dolecek 7323b07d4f Change how Pear packages work:
* rename php4/package.mk to php4/pear.mk - there are already extension
  modules for php4 and this is to avoid confusion
* make pear.mk generate PLIST on-fly, by parsing the Pear package.xml file
* pear.mk now includes all common stuff such as
  MASTER_SITE, USE_BUILDLINK2, CATEGORIES, PKGNAME
* in pear.mk, do the post-extract massaging in post-extract: target,
  rather than do-build; also validate the package contents using the Pear
  package-validate command; set NO_BUILD, since there is no do-build now
* change DESCR and COMMENT for pear packages, so that they would indicate
  the package is PHP stuff

This is intended to simplify Pear package handling, and centralize
the logic a bit.
2003-09-28 14:10:24 +00:00

55 lines
1.8 KiB
Makefile

# $NetBSD: pear.mk,v 1.1 2003/09/28 14:10:24 dolecek Exp $
#
# This Makefile fragment is intended to be included by packages that build
# and install pear packages.
#
# If you don't know what pear is, you can visit: http://pear.php.net/
#
# PEAR_CMD this is the actual script to execute to install the
# package.
#
# PEAR_LIB directory under ${PREFIX} where Pear modules are installed
#
.if !defined(_PEAR_PACKAGE_MK)
_PEAR_PACKAGE_MK= # defined
USE_BUILDLINK2= YES
BUILDLINK_DEPMETHOD.php4= full
.include "../../www/php4/buildlink2.mk"
EXTRACT_SUFX= .tgz
PKGNAME= pear-${DISTNAME}
CATEGORIES+= www
MASTER_SITE_PEAR_PACKAGE+= \
http://pear.php.net/get/
MASTER_SITES+= ${MASTER_SITE_PEAR_PACKAGE}
PEAR_CMD= ${PREFIX}/bin/pear
PEAR_LIB= lib/php
_PEAR_PKG= ${DISTNAME:C/-.*//:tl}
# Dynamic PLIST
# The package.xml 'parsing' is a bit crude, but enough for now. Eventually
# should write a small PHP script for this, using real XML parser.
PEAR_GENERATE_PLIST= \
${ECHO} "@comment The following lines are automatically generated"; \
${ECHO} "${PEAR_LIB}/.registry/${_PEAR_PKG}.reg"; \
${FGREP} '<file role="php"' ${WRKDIR}/package.xml | ${SED} -e 's,.*<file role="php",<,' -e 's,<.*baseinstalldir="\([^"]*\)",\1/<,' -e 's,<.* name=",,' -e 's,".*,,' -e "s,^/*,${PEAR_LIB}/,"; \
${FGREP} '<file role="php"' ${WRKDIR}/package.xml | ${SED} -e 's,.*<file role="php",<,' -e 's,<.*baseinstalldir="\([^"]*\)",\1/<,' -e 's,<.* name=",,' -e 's,".*,,' -e 's,//*,/,g' -e 's,/[^/]*$$,,' | ${FGREP} '/' | ${SORT} -ru | ${SED} -e "s,^,@dirrm ${PEAR_LIB}/,";
GENERATE_PLIST+= ${PEAR_GENERATE_PLIST}
NO_BUILD= # defined
post-extract:
@cd ${WRKSRC} && ${LN} -s ${WRKDIR}/package.xml
cd ${WRKSRC} && ${PEAR_CMD} package-validate package.xml
do-install:
cd ${WRKSRC} && ${PEAR_CMD} install package.xml
.endif # _PEAR_PACKAGE_MK