dev-python/pylibmc: Version bump to 1.6.1, EAPI=7, py38

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
This commit is contained in:
Patrick McLean
2019-11-20 21:26:35 -08:00
committed by Patrick McLean
parent 796fa3381f
commit d2541deb97
3 changed files with 84 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST pylibmc-1.5.1.tar.gz 69525 BLAKE2B 5039ad7d99a5ca57bd6cf7f00c77cc8bba122fe5852de164df34a71b4f5d1e4fcb428e749a66d384691b74f30b99e000f5cb9cd6479af2fc324d885b0fa59aa7 SHA512 efc40fae9721a6be589f87b66109132d4656725f718e1d63d7d25b9b27790b7c00fc3c7e4e47235895b7127cebc64229ddb284d23d0d903d3a510da7e1ce4549
DIST pylibmc-1.6.1.tar.gz 72061 BLAKE2B ebaa6f9dfc341d862a8b46bbbf0db1420ff400cb40390f7bee6bf198ff941ad7967b578040ffe1209721ea84a163a39649108a2a23f3dadc2d579db740b2ccf3 SHA512 a3874435389486b29bab5f1d29e5c179d67655d90995bb27fcb7cd46ce7eb3b60117b94f901602f8a65dc0e587d5f8edfcf15e259effd439411adb58ddb7065e

View File

@@ -0,0 +1,18 @@
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,13 @@ static PyObject *_PylibMC_parse_memcached_value(PylibMC_Client *self,
}
#endif
+#if PY_MAJOR_VERSION >= 3
+ /* make sure we don't pass a null pointer to _PylibMC_deserialize_native */
+ if (value == NULL) {
+ value = "";
+ }
+#endif
+
if (self->native_deserialization) {
retval = _PylibMC_deserialize_native(self, NULL, value, size, flags);
} else {

View File

@@ -0,0 +1,65 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python{2_7,3_{5,6,7,8}} )
inherit distutils-r1
DESCRIPTION="Libmemcached wrapper written as a Python extension"
HOMEPAGE="http://sendapatch.se/projects/pylibmc/ https://pypi.org/project/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="~amd64 ~x86"
IUSE="doc test"
RDEPEND=">=dev-libs/libmemcached-0.32"
# Older sphinx versions fail to compile the doc
# https://github.com/sphinx-doc/sphinx/issues/3266
BDEPEND="${RDEPEND}
doc? ( $(python_gen_any_dep '>=dev-python/sphinx-1.5.1-r1[${PYTHON_USEDEP}]') )
test? (
net-misc/memcached
dev-python/nose[${PYTHON_USEDEP}]
)"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/pylibmc-1.6.1-fix-test-failures.patch"
)
python_check_deps() {
use doc || return 0
has_version ">=dev-python/sphinx-1.5.1-r1[${PYTHON_USEDEP}]"
}
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
}
python_compile_all() {
if use doc; then
# This variable is added to sys.path
# but it does not seem to be useful
PYLIBMC_DIR="." emake -C docs
HTML_DOCS=( docs/_build/html/. )
fi
}
python_test() {
distutils_install_for_testing
memcached -d -p 11219 -u nobody -l localhost -P "${T}/m.pid" || die
MEMCACHED_PORT=11219 nosetests -v
local ret=${?}
kill "$(<"${T}/m.pid")" || die
[[ ${ret} == 0 ]] || die "Tests fail with ${EPYTHON}!"
}