commit:     bcec0f660c82ecc991ddffd5b86348b9500c6b43
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  9 16:37:56 2016 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Sat Jul  9 16:37:56 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bcec0f66

php-ext-pecl-r3.eclass: new revision supporting EAPI=6.

The php-ext-pecl eclasses are based mainly on the php-ext-source
eclasses. Now that we have a new revision php-ext-source-r3.eclass,
this new revision of php-ext-pecl inherits that. As a result, all of
the changes affecting that revision also affect this one. A migration
guide for users can be found on the wiki:

https://wiki.gentoo.org/wiki/Project:PHP/Php-ext-source-r3_migration_guide

Gentoo-Bug: 512184

 eclass/php-ext-pecl-r3.eclass | 86 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

diff --git a/eclass/php-ext-pecl-r3.eclass b/eclass/php-ext-pecl-r3.eclass
new file mode 100644
index 0000000..8f78493
--- /dev/null
+++ b/eclass/php-ext-pecl-r3.eclass
@@ -0,0 +1,86 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# @ECLASS: php-ext-pecl-r3.eclass
+# @MAINTAINER:
+# Gentoo PHP team <php-b...@gentoo.org>
+# @BLURB: A uniform way to install PECL extensions
+# @DESCRIPTION:
+# This eclass should be used by all dev-php/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 get set
+# correctly by the eclass.
+#
+# Setting this variable manually also affects PHP_EXT_NAME and ${S}
+# unless you override those in ebuild. If that is not desired, please
+# use PHP_EXT_PECL_FILENAME instead.
+[[ -z "${PHP_EXT_PECL_PKG}" ]] && PHP_EXT_PECL_PKG="${PN/pecl-/}"
+
+# @ECLASS-VARIABLE: PHP_EXT_PECL_FILENAME
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Set in ebuild before inheriting this eclass if the tarball name
+# differs from "${PN/pecl-/}-${PV}.tgz" 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}.
+
+
+# Set PHP_EXT_NAME for php-ext-source-r3.eclass.
+[[ -z "${PHP_EXT_NAME}" ]] && PHP_EXT_NAME="${PHP_EXT_PECL_PKG}"
+
+# Try to guess the upstream name of the package/version. We only use
+# this variable temporarily before unsetting it.
+PHP_EXT_PECL_PKG_V="${PHP_EXT_PECL_PKG}-${PV/_/}"
+
+# It's important that we determine and set $S before we inherit below.
+S="${WORKDIR}/${PHP_EXT_PECL_PKG_V}"
+
+inherit php-ext-source-r3
+
+EXPORT_FUNCTIONS src_install src_test
+
+if [[ -z "${PHP_EXT_PECL_FILENAME}" ]] ; then
+       SRC_URI="http://pecl.php.net/get/${PHP_EXT_PECL_PKG_V}.tgz";
+else
+       SRC_URI="http://pecl.php.net/get/${PHP_EXT_PECL_FILENAME}";
+fi
+
+# Don't leave this laying around in the environment.
+unset PHP_EXT_PECL_PKG_V
+
+HOMEPAGE="http://pecl.php.net/${PHP_EXT_PECL_PKG}";
+
+
+# @FUNCTION: php-ext-pecl-r3_src_install
+# @DESCRIPTION:
+# Install a standard PECL package. First we delegate to
+# php-ext-source-r3.eclass, and then we attempt to install examples
+# found in a standard location.
+php-ext-pecl-r3_src_install() {
+       php-ext-source-r3_src_install
+
+       if in_iuse examples && use examples ; then
+               dodoc -r examples
+       fi
+}
+
+
+# @FUNCTION: php-ext-pecl-r3_src_test
+# @DESCRIPTION:
+# Run tests delivered with the PECL package. Phpize will have generated
+# a run-tests.php file to be executed by `make test`. We only need to
+# force the test suite to run in non-interactive mode.
+php-ext-pecl-r3_src_test() {
+       for slot in $(php_get_slots); do
+               php_init_slot_env "${slot}"
+               NO_INTERACTION="yes" emake test
+       done
+}

Reply via email to