summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOle Markus With <olemarkus@gentoo.org>2010-10-06 08:25:51 +0000
committerOle Markus With <olemarkus@gentoo.org>2010-10-06 08:25:51 +0000
commit73c85905497f116da937b99a11507cf68d4c2a78 (patch)
treed8f4099e84eae7c0f7068e30737be978e3381991 /eclass/php-ext-pecl-r2.eclass
parentStable on amd64 wrt bug #339505 (diff)
downloadhistorical-73c85905497f116da937b99a11507cf68d4c2a78.tar.gz
historical-73c85905497f116da937b99a11507cf68d4c2a78.tar.bz2
historical-73c85905497f116da937b99a11507cf68d4c2a78.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.eclass102
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
+
+}