| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 9999 | 8 | 0 |
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PHP_EXT_NAME="memcache"
USE_PHP="php8-2 php8-3 php8-4 php8-5"
PHP_EXT_S="${WORKDIR}/${P}"
inherit php-ext-pecl-r3 git-r3
unset SRC_URI
DESCRIPTION="PHP extension for using memcached"
EGIT_REPO_URI="https://github.com/websupport-sk/${PN}.git"
S="${PHP_EXT_S}"
LICENSE="PHP-3"
SLOT="0"
IUSE="+session test"
RESTRICT="test"
PROPERTIES="test_network"
DEPEND="virtual/zlib:0="
BDEPEND="test? ( net-misc/memcached )"
src_prepare() {
sed -i "/domainsocket/s|var/run/memcached|${T}|" \
tests/connect.inc || die "sed failed"
php-ext-source-r3_src_prepare
}
src_configure() {
local PHP_EXT_ECONF_ARGS=(
--enable-memcache
--with-zlib-dir="${EPREFIX}/usr"
"$(use_enable session memcache-session)"
)
php-ext-source-r3_src_configure
}
src_test() {
memcached -d -P "${T}/memcached-s.pid" -s "${T}/memcached.sock" \
|| die "memcached-s failed"
memcached -d -P "${T}/memcached-1.pid" -p 11211 -l 127.0.0.1 -U 11211 \
|| die "memcached-1 failed"
memcached -d -P "${T}/memcached-2.pid" -p 11212 -l 127.0.0.1 -U 11212 \
|| die "memcached-2 failed"
php-ext-pecl-r3_src_test
kill "$(<"${T}/memcached-s.pid")" || die "memcached-1 kill failed"
kill "$(<"${T}/memcached-1.pid")" || die "memcached-2 kill failed"
kill "$(<"${T}/memcached-2.pid")" || die "memcached-s kill failed"
}
src_install() {
php-ext-pecl-r3_src_install
php-ext-source-r3_addtoinifiles "memcache.allow_failover" "true"
php-ext-source-r3_addtoinifiles "memcache.max_failover_attempts" "20"
php-ext-source-r3_addtoinifiles "memcache.chunk_size" "32768"
php-ext-source-r3_addtoinifiles "memcache.default_port" "11211"
php-ext-source-r3_addtoinifiles "memcache.hash_strategy" "consistent"
php-ext-source-r3_addtoinifiles "memcache.hash_function" "crc32"
php-ext-source-r3_addtoinifiles "memcache.redundancy" "1"
php-ext-source-r3_addtoinifiles "memcache.session_redundancy" "2"
php-ext-source-r3_addtoinifiles "memcache.protocol" "ascii"
}
virtual/zlib:0=
test? ( net-misc/memcached )