dev-php/pecl-apcu: new revision with php-7.2 support.
authorMichael Orlitzky <mjo@gentoo.org>
Sun, 31 Dec 2017 02:56:02 +0000 (21:56 -0500)
committerMichael Orlitzky <mjo@gentoo.org>
Sun, 31 Dec 2017 02:56:19 +0000 (21:56 -0500)
The existing stable version 5.1.8 of pecl-apcu works with php-7.2, but
the ebuild is missing explicit support for it. This commit adds a new
-r1 with that support. Thanks to Conrad Kostecki for the report and
the patch.

Closes: https://bugs.gentoo.org/641402
Package-Manager: Portage-2.3.13, Repoman-2.3.3

dev-php/pecl-apcu/pecl-apcu-5.1.8-r1.ebuild [new file with mode: 0644]

diff --git a/dev-php/pecl-apcu/pecl-apcu-5.1.8-r1.ebuild b/dev-php/pecl-apcu/pecl-apcu-5.1.8-r1.ebuild
new file mode 100644 (file)
index 0000000..bcf5606
--- /dev/null
@@ -0,0 +1,80 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PHP_EXT_NAME="apcu"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+DOCS=( NOTICE README.md TECHNOTES.txt TODO )
+
+# Define 5.6 here so we get the USE and REQUIRED_USE from the eclass
+# This allows us to depend on the other slot
+USE_PHP="php5-6 php7-0 php7-1 php7-2"
+
+inherit php-ext-pecl-r3
+
+# However, we only really build for 7.x; so redefine it here
+USE_PHP="php7-0 php7-1 php7-2"
+
+KEYWORDS="~amd64 ~x86"
+
+DESCRIPTION="Stripped down version of APC supporting only user cache"
+LICENSE="PHP-3.01"
+SLOT="7"
+IUSE="+mmap"
+
+DEPEND=""
+RDEPEND="${DEPEND} php_targets_php5-6? ( dev-php/pecl-apcu:0[php_targets_php5-6] )"
+
+LOCKS="pthreadmutex pthreadrw spinlock semaphore"
+
+LUSE=""
+for l in ${LOCKS}; do
+       LUSE+="lock_${l} "
+done
+
+IUSE+=" ${LUSE/lock_pthreadrw/+lock_pthreadrw}"
+
+REQUIRED_USE="^^ ( $LUSE )"
+
+src_prepare() {
+       if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2 ; then
+               php-ext-source-r3_src_prepare
+       else
+               eapply_user
+       fi
+}
+
+src_configure() {
+       if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2 ; then
+               local PHP_EXT_ECONF_ARGS=(
+                       --enable-apcu
+                       $(use_enable mmap apcu-mmap)
+                       $(use_enable lock_pthreadrw apcu-rwlocks)
+                       $(use_enable lock_spinlock apcu-spinlocks)
+               )
+
+               php-ext-source-r3_src_configure
+       fi
+}
+
+src_install() {
+       if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2 ; then
+               php-ext-pecl-r3_src_install
+
+               insinto /usr/share/php7/apcu
+               doins apc.php
+       fi
+}
+
+pkg_postinst() {
+       if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2 ; then
+               elog "The apc.php file shipped with this release of pecl-apcu was"
+               elog "installed into ${EPREFIX}/usr/share/php7/apcu/."
+               elog
+               elog "If you depend on the apc_* functions,"
+               elog "please install dev-php/pecl-apcu_bc as this extension no longer"
+               elog "provides backwards compatibility."
+       fi
+}