summaryrefslogtreecommitdiff
path: root/dev-python/pylibmc
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-python/pylibmc
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-python/pylibmc')
-rw-r--r--dev-python/pylibmc/Manifest1
-rw-r--r--dev-python/pylibmc/files/pylibmc-1.6.1-fix-test-failures-r1.patch16
-rw-r--r--dev-python/pylibmc/metadata.xml9
-rw-r--r--dev-python/pylibmc/pylibmc-1.6.3-r2.ebuild66
4 files changed, 92 insertions, 0 deletions
diff --git a/dev-python/pylibmc/Manifest b/dev-python/pylibmc/Manifest
new file mode 100644
index 000000000000..5892cc1d11b1
--- /dev/null
+++ b/dev-python/pylibmc/Manifest
@@ -0,0 +1 @@
+DIST pylibmc-1.6.3.gh.tar.gz 72154 BLAKE2B 3367651d355cb9c6693d8162e740c855c8f84f6b2a5f54ba5fb7f505474263650b46d5ed04c11af2199a7b40c6d4cf0d13a63d2d76a395ff30570a4a3e5259ec SHA512 4bc85d305410f775a39d8d3f64a7e97538ed6ae890cd64833e5bff92fbb60fe8ebc4cc7956df015f6590eb55b7009bd36b299dc636ee0da7f71ed51cc98f3012
diff --git a/dev-python/pylibmc/files/pylibmc-1.6.1-fix-test-failures-r1.patch b/dev-python/pylibmc/files/pylibmc-1.6.1-fix-test-failures-r1.patch
new file mode 100644
index 000000000000..0a91fd39266e
--- /dev/null
+++ b/dev-python/pylibmc/files/pylibmc-1.6.1-fix-test-failures-r1.patch
@@ -0,0 +1,16 @@
+diff --git a/src/_pylibmcmodule.c b/src/_pylibmcmodule.c
+index 5324d1d..70c18cb 100644
+--- a/src/_pylibmcmodule.c
++++ b/src/_pylibmcmodule.c
+@@ -600,6 +600,11 @@ static PyObject *_PylibMC_parse_memcached_value(PylibMC_Client *self,
+ }
+ #endif
+
++ /* make sure we don't pass a null pointer to _PylibMC_deserialize_native */
++ if (value == NULL) {
++ value = "";
++ }
++
+ if (self->native_deserialization) {
+ retval = _PylibMC_deserialize_native(self, NULL, value, size, flags);
+ } else {
diff --git a/dev-python/pylibmc/metadata.xml b/dev-python/pylibmc/metadata.xml
new file mode 100644
index 000000000000..acfe7097587e
--- /dev/null
+++ b/dev-python/pylibmc/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-python/pylibmc/pylibmc-1.6.3-r2.ebuild b/dev-python/pylibmc/pylibmc-1.6.3-r2.ebuild
new file mode 100644
index 000000000000..01fa505c7788
--- /dev/null
+++ b/dev-python/pylibmc/pylibmc-1.6.3-r2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2025 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_{13..14} )
+
+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 ~mips ppc ppc64 ~riscv ~s390 x86"
+IUSE="sasl"
+
+DEPEND="
+ || (
+ dev-libs/libmemcached-awesome[sasl=]
+ >=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_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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --doctest-modules --doctest-glob='doctests.txt' src/pylibmc tests
+}