diff options
author | Patrick McLean <patrick.mclean@sony.com> | 2019-11-20 21:26:35 -0800 |
---|---|---|
committer | Patrick McLean <chutzpah@gentoo.org> | 2019-11-20 21:26:35 -0800 |
commit | d2541deb97e7445ac2e0344485ababc6f4ec83b0 (patch) | |
tree | c31b29f9bf5ca140b8efe450b34ebb9eeecd91c9 /dev-python/pylibmc | |
parent | dev-python/zope-testing: Revbump to 4.7-r1 add py38 (diff) | |
download | gentoo-d2541deb97e7445ac2e0344485ababc6f4ec83b0.tar.gz gentoo-d2541deb97e7445ac2e0344485ababc6f4ec83b0.tar.bz2 gentoo-d2541deb97e7445ac2e0344485ababc6f4ec83b0.zip |
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>
Diffstat (limited to 'dev-python/pylibmc')
-rw-r--r-- | dev-python/pylibmc/Manifest | 1 | ||||
-rw-r--r-- | dev-python/pylibmc/files/pylibmc-1.6.1-fix-test-failures.patch | 18 | ||||
-rw-r--r-- | dev-python/pylibmc/pylibmc-1.6.1.ebuild | 65 |
3 files changed, 84 insertions, 0 deletions
diff --git a/dev-python/pylibmc/Manifest b/dev-python/pylibmc/Manifest index c7a52afcc1f9..f98ddd40cd53 100644 --- a/dev-python/pylibmc/Manifest +++ b/dev-python/pylibmc/Manifest @@ -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 diff --git a/dev-python/pylibmc/files/pylibmc-1.6.1-fix-test-failures.patch b/dev-python/pylibmc/files/pylibmc-1.6.1-fix-test-failures.patch new file mode 100644 index 000000000000..c19ab468ce8a --- /dev/null +++ b/dev-python/pylibmc/files/pylibmc-1.6.1-fix-test-failures.patch @@ -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 { diff --git a/dev-python/pylibmc/pylibmc-1.6.1.ebuild b/dev-python/pylibmc/pylibmc-1.6.1.ebuild new file mode 100644 index 000000000000..11264e7c1316 --- /dev/null +++ b/dev-python/pylibmc/pylibmc-1.6.1.ebuild @@ -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}!" +} |