summaryrefslogtreecommitdiff
path: root/dev-python/pylibmc
diff options
context:
space:
mode:
authorPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
committerPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
commitecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch)
treeb89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /dev-python/pylibmc
parent1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff)
downloadbaldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip
Updating liguros repo
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.xml13
-rw-r--r--dev-python/pylibmc/pylibmc-1.6.1-r1.ebuild64
4 files changed, 94 insertions, 0 deletions
diff --git a/dev-python/pylibmc/Manifest b/dev-python/pylibmc/Manifest
new file mode 100644
index 000000000000..68a4f2e095a6
--- /dev/null
+++ b/dev-python/pylibmc/Manifest
@@ -0,0 +1 @@
+DIST pylibmc-1.6.1.tar.gz 72061 BLAKE2B ebaa6f9dfc341d862a8b46bbbf0db1420ff400cb40390f7bee6bf198ff941ad7967b578040ffe1209721ea84a163a39649108a2a23f3dadc2d579db740b2ccf3 SHA512 a3874435389486b29bab5f1d29e5c179d67655d90995bb27fcb7cd46ce7eb3b60117b94f901602f8a65dc0e587d5f8edfcf15e259effd439411adb58ddb7065e
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..b01aaf40bd15
--- /dev/null
+++ b/dev-python/pylibmc/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pylibmc</remote-id>
+ <remote-id type="github">lericson/pylibmc</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-python/pylibmc/pylibmc-1.6.1-r1.ebuild b/dev-python/pylibmc/pylibmc-1.6.1-r1.ebuild
new file mode 100644
index 000000000000..42c032a8b630
--- /dev/null
+++ b/dev-python/pylibmc/pylibmc-1.6.1-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=no
+PYTHON_COMPAT=( python3_{6..9} )
+
+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/"
+# One image is missing from the doc at PyPI
+# https://github.com/lericson/pylibmc/pull/221
+SRC_URI="https://github.com/lericson/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/libmemcached-0.32"
+# Older sphinx versions fail to compile the doc
+# https://github.com/sphinx-doc/sphinx/issues/3266
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ net-misc/memcached
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ "${FILESDIR}/pylibmc-1.6.1-fix-test-failures-r1.patch"
+)
+
+distutils_enable_sphinx docs
+
+python_prepare_all() {
+ sed -e "/with-info=1/d" -i setup.cfg || die
+
+ # some amazon thing, expects to be in AWS
+ rm tests/test_autoconf.py || die
+ distutils-r1_python_prepare_all
+
+ # 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() {
+ distutils_install_for_testing
+ nosetests -v || die "Tests failed with ${EPYTHON}"
+}