summaryrefslogtreecommitdiff
path: root/eclass/php-ext-pecl-r2.eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /eclass/php-ext-pecl-r2.eclass
reinit the tree, so we can have metadata
Diffstat (limited to 'eclass/php-ext-pecl-r2.eclass')
-rw-r--r--eclass/php-ext-pecl-r2.eclass104
1 files changed, 104 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..b124813c4727
--- /dev/null
+++ b/eclass/php-ext-pecl-r2.eclass
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: php-ext-pecl-r2.eclass
+# @MAINTAINER:
+# Gentoo PHP team <php-bugs@gentoo.org>
+# @AUTHOR:
+# Author: Tal Peer <coredumb@gentoo.org>
+# Author: Luca Longinotti <chtekk@gentoo.org>
+# Author: Jakub Moc <jakub@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-/}"
+
+
+[[ -z ${MY_PV} ]] && MY_PV=${PV}
+
+PECL_PKG="${PHP_EXT_PECL_PKG}"
+MY_PV="${MY_PV/_/}"
+PECL_PKG_V="${PECL_PKG}-${MY_PV}"
+
+[[ -z "${PHP_EXT_NAME}" ]] && PHP_EXT_NAME="${PECL_PKG}"
+
+S="${WORKDIR}/${PECL_PKG_V}"
+
+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}"
+
+
+# @FUNCTION: php-ext-pecl-r2_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-r2_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.
+# Standard phpize generates a run-tests.php file that is executed in make test
+# We only need to force it to non-interactive mode
+php-ext-pecl-r2_src_test() {
+ for slot in `php_get_slots`; do
+ php_init_slot_env ${slot}
+ NO_INTERACTION="yes" emake test || die "emake test failed for slot ${slot}"
+ done
+}