commit: 6912c17231ad17cee652388224e5dfe8cd6b7193
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 15 06:27:10 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 15 07:00:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6912c172
dev-python/pylibmc: Expose transitive sasl flag for libmemcached
Add a IUSE=sasl and match it to dev-libs/libmemcached, since the package
implicitly compiles on that feature.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild | 63 ++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild
b/dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild
new file mode 100644
index 000000000000..4d0f0927dfab
--- /dev/null
+++ b/dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Libmemcached wrapper written as a Python extension"
+HOMEPAGE="
+ https://sendapatch.se/projects/pylibmc/
+ https://pypi.org/project/pylibmc/
+ https://github.com/lericson/pylibmc/
+"
+SRC_URI="
+ https://github.com/lericson/pylibmc/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="sasl"
+
+DEPEND="
+ >=dev-libs/libmemcached-0.32[sasl=]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? (
+ net-misc/memcached
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/pylibmc-1.6.1-fix-test-failures-r1.patch"
+)
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+# needed for docs
+export PYLIBMC_DIR=.
+
+src_test() {
+ local -x MEMCACHED_PORT=11219
+ memcached -d -p "${MEMCACHED_PORT}" -u nobody -l localhost \
+ -P "${T}/m.pid" || die
+ distutils-r1_src_test
+ kill "$(<"${T}/m.pid")" || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # these require "AmazonElastiCache" running
+ tests/test_autoconf.py
+ )
+
+ epytest --doctest-modules --doctest-glob='doctests.txt' src/pylibmc
tests
+}