commit:     3e07611584edf01c42d5818fe4928496916caa8e
Author:     Tomáš Mózes <hydrapolic <AT> gmail <DOT> com>
AuthorDate: Fri Oct 17 14:59:53 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct 18 15:07:56 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e076115

dev-php/pecl-memcached: add 3.4.0

Signed-off-by: Tomáš Mózes <hydrapolic <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44222
Closes: https://github.com/gentoo/gentoo/pull/44222
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-php/pecl-memcached/Manifest                    |  1 +
 dev-php/pecl-memcached/pecl-memcached-3.4.0.ebuild | 63 ++++++++++++++++++++++
 2 files changed, 64 insertions(+)

diff --git a/dev-php/pecl-memcached/Manifest b/dev-php/pecl-memcached/Manifest
index c781aceb52f0..6f83bb4aac1a 100644
--- a/dev-php/pecl-memcached/Manifest
+++ b/dev-php/pecl-memcached/Manifest
@@ -1 +1,2 @@
 DIST memcached-3.3.0.tgz 92669 BLAKE2B 
13c21aecd1ac720ac5a0bd0b1e1bbd2508b124ffd3d5be4fed53f8588974799ccb63f67cdc3d46886216b03bea60f01610bc806b5c363ac210c3ebb3e8aa01fb
 SHA512 
bdbe8b203cadcda50c4f8099fac1161424f3091537027251aaba7d9ba9a7932f59a9ac201dca9d9ae3aa59ff833ac6aa0284c5ab118cdb85a9fd89f63a95509a
+DIST memcached-3.4.0.tgz 93288 BLAKE2B 
e496a9a3590d9064fb0afdfde37a85dd98045fd2efbb357f3afac90957cb00333b246836bf7e4e49fcf27731980d878a54c96e04e1a82f8987a44c334fcb239c
 SHA512 
b60fdb7347f8be19f53f67d2bd96ed1423b862a517ad61513d9f736d4cbfe55b9da1e4b13d366968e39a0617e0b98f48e72d0fb357061f3cc093b18f5afad685

diff --git a/dev-php/pecl-memcached/pecl-memcached-3.4.0.ebuild 
b/dev-php/pecl-memcached/pecl-memcached-3.4.0.ebuild
new file mode 100644
index 000000000000..801f056b3872
--- /dev/null
+++ b/dev-php/pecl-memcached/pecl-memcached-3.4.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PHP_EXT_NAME="memcached"
+DOCS=( ChangeLog README.markdown )
+
+USE_PHP="php8-2 php8-3 php8-4"
+PHP_EXT_NEEDED_USE="json(+)?,session(-)?"
+MY_P="${PN/pecl-/}-${PV/_rc/RC}"
+PHP_EXT_PECL_FILENAME="${MY_P}.tgz"
+
+inherit php-ext-pecl-r3
+
+DESCRIPTION="Interface PHP with memcached via libmemcached library"
+LICENSE="PHP-3.01"
+SLOT="7"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="igbinary json sasl +session test"
+
+REQUIRED_USE="test? ( igbinary )"
+RESTRICT="!test? ( test )"
+
+# php-ext-pecl-r3 doesn't expose a $*_USEDEP so we roll our own
+IGBINARY_DEPEND=""
+for slot in ${USE_PHP} ; do
+       IGBINARY_DEPEND+="dev-php/igbinary[php_targets_${slot}(-)?] "
+done
+
+COMMON_DEPEND="|| ( dev-libs/libmemcached-awesome[sasl(-)?] 
>=dev-libs/libmemcached-1.0.14[sasl(-)?] )
+       sys-libs/zlib
+       igbinary? ( ${IGBINARY_DEPEND} )
+"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+BDEPEND="${COMMON_DEPEND} test? ( net-misc/memcached )"
+
+src_configure() {
+       local PHP_EXT_ECONF_ARGS="--enable-memcached
+               $(use_enable session memcached-session)
+               $(use_enable sasl memcached-sasl)
+               $(use_enable json memcached-json)
+               $(use_enable igbinary memcached-igbinary)"
+
+       php-ext-source-r3_src_configure
+}
+
+src_test() {
+       touch "${T}/memcached.pid" || die
+       local memcached_opts=( -d -P "${T}/memcached.pid" -p 11211 -l 127.0.0.1 
-U 11211 )
+       [[ ${EUID} == 0 ]] && memcached_opts+=( -u portage )
+       memcached "${memcached_opts[@]}" || die "Can't start memcached test 
server"
+
+       # make test fails to pull in igbinary.so, so we run it ourselves with 
the correct setting strings
+       local slot
+       for slot in $(php_get_slots); do
+               php_init_slot_env "${slot}"
+               NO_INTERACTION="yes" "${PHPCLI}" run-tests.php -n -d 
"extension=${EXT_DIR}/igbinary.so" -d "extension=modules/memcached.so" || die
+       done
+
+       kill "$(<"${T}/memcached.pid")"
+       return ${exit_status}
+}

Reply via email to