diff options
author | Ole Markus With <olemarkus@gentoo.org> | 2010-10-06 08:25:51 +0000 |
---|---|---|
committer | Ole Markus With <olemarkus@gentoo.org> | 2010-10-06 08:25:51 +0000 |
commit | 7fc8a73b817349cd59ba8284cefdd6a4f2c5b998 (patch) | |
tree | 5b9189ffef527db55f4e99a3347bef672b16a422 /eclass/php-ext-pecl-r2.eclass | |
parent | Stable on amd64 wrt bug #339505 (diff) | |
download | gentoo-2-7fc8a73b817349cd59ba8284cefdd6a4f2c5b998.tar.gz gentoo-2-7fc8a73b817349cd59ba8284cefdd6a4f2c5b998.tar.bz2 gentoo-2-7fc8a73b817349cd59ba8284cefdd6a4f2c5b998.zip |
Added eclasses required for minor version slotting of PHP
Changed php-ext-base-r1 to require dev-lang/php:5 to prevent mixing of
old-style slotting and new-style
Diffstat (limited to 'eclass/php-ext-pecl-r2.eclass')
-rw-r--r-- | eclass/php-ext-pecl-r2.eclass | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/eclass/php-ext-pecl-r2.eclass b/eclass/php-ext-pecl-r2.eclass new file mode 100644 index 000000000000..2b4c3cc7926c --- /dev/null +++ b/eclass/php-ext-pecl-r2.eclass @@ -0,0 +1,102 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/eclass/php-ext-pecl-r2.eclass,v 1.1 2010/10/06 08:25:51 olemarkus Exp $ +# +# Author: Tal Peer <coredumb@gentoo.org> +# Author: Luca Longinotti <chtekk@gentoo.org> +# Author: Jakub Moc <jakub@gentoo.org> + +# @ECLASS: php-ext-pecl-r1.eclass +# @MAINTAINER: +# Gentoo PHP team <php-bugs@gentoo.org> +# @BLURB: A uniform way of installing PECL extensions +# @DESCRIPTION: +# This eclass should be used by all dev-php[45]/pecl-* ebuilds +# as a uniform way of installing PECL extensions. +# For more information about PECL, see http://pecl.php.net/ + +# @ECLASS-VARIABLE: PHP_EXT_PECL_PKG +# @DESCRIPTION: +# Set in ebuild before inheriting this eclass if the tarball name +# differs from ${PN/pecl-/} so that SRC_URI and HOMEPAGE gets set +# correctly by the eclass. +# +# Setting this variable manually also affects PHP_EXT_NAME and ${S} +# unless you override those in ebuild. Also see PHP_EXT_PECL_FILENAME +# if this is not desired for whatever reason. + +# @ECLASS-VARIABLE: PHP_EXT_PECL_FILENAME +# @DESCRIPTION: +# Set in ebuild before inheriting this eclass if the tarball name +# differs from ${PN/pecl-/} so that SRC_URI gets set correctly by +# the eclass. +# +# Unlike PHP_EXT_PECL_PKG, setting this variable does not affect +# HOMEPAGE, PHP_EXT_NAME or ${S}. + + +[[ -z "${PHP_EXT_PECL_PKG}" ]] && PHP_EXT_PECL_PKG="${PN/pecl-/}" + +PECL_PKG="${PHP_EXT_PECL_PKG}" +MY_PV="${PV/_/}" +PECL_PKG_V="${PECL_PKG}-${MY_PV}" + +[[ -z "${PHP_EXT_NAME}" ]] && PHP_EXT_NAME="${PECL_PKG}" + +inherit php-ext-source-r2 + +EXPORT_FUNCTIONS src_compile src_install src_test + +if [[ -n "${PHP_EXT_PECL_FILENAME}" ]] ; then + FILENAME="${PHP_EXT_PECL_FILENAME}-${MY_PV}.tgz" +else + FILENAME="${PECL_PKG_V}.tgz" +fi + +SRC_URI="http://pecl.php.net/get/${FILENAME}" +HOMEPAGE="http://pecl.php.net/${PECL_PKG}" + +S="${WORKDIR}/${PECL_PKG_V}" + +# @FUNCTION: php-ext-pecl-r1_src_compile +# @DESCRIPTION: +# Takes care of standard compile for PECL packages. +php-ext-pecl-r2_src_compile() { + php-ext-source-r2_src_compile +} + +# @FUNCTION: php-ext-pecl-r1_src_install +# @DESCRIPTION: +# Takes care of standard install for PECL packages. +# You can also simply add examples to IUSE to automagically install +# examples supplied with the package. + +# @VARIABLE: DOCS +# @DESCRIPTION: +# Set in ebuild if you wish to install additional, package-specific documentation. +php-ext-pecl-r2_src_install() { + php-ext-source-r2_src_install + + for doc in ${DOCS} "${WORKDIR}"/package.xml CREDITS ; do + [[ -s ${doc} ]] && dodoc ${doc} + done + + if has examples ${IUSE} && use examples ; then + insinto /usr/share/doc/${CATEGORY}/${PF}/examples + doins -r examples/* + fi +} + + +# @FUNCTION: php-ext-pecl-r2_src_test +# @DESCRIPTION: +# Takes care of running any tests delivered with the PECL package. +# Testing is somewhat standardized across pecl extensions through phpize's +# run-tests.php - unfortunatly there are some quirks we need to work around +php-ext-pecl-r2_src_test() { + + for slot in `php_get_slots`; do + NO_INTERACTION="yes" emake test + done + +} |