summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Sautier <sbraz@gentoo.org>2019-07-02 15:34:34 +0200
committerLouis Sautier <sbraz@gentoo.org>2019-07-02 16:02:58 +0200
commitc80478b9ff46e877d10b881868714679d7ca1e1f (patch)
treebd029436618871dd8bd244ca8f3e518870879ce5
parentdev-python/namespace-jaraco: bump to v2 for pkgutil-style packages (diff)
downloadgentoo-c80478b9.tar.gz
gentoo-c80478b9.tar.bz2
gentoo-c80478b9.zip
dev-python/jaraco-functools: bump to 2.0, switches to pkgutil
Package-Manager: Portage-2.3.67, Repoman-2.3.16 Signed-off-by: Louis Sautier <sbraz@gentoo.org>
-rw-r--r--dev-python/jaraco-functools/Manifest1
-rw-r--r--dev-python/jaraco-functools/files/jaraco-functools-2.0-fix-py37-tests.patch41
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-2.0.ebuild64
3 files changed, 106 insertions, 0 deletions
diff --git a/dev-python/jaraco-functools/Manifest b/dev-python/jaraco-functools/Manifest
index d63ec84b252d..d6c4b82c2446 100644
--- a/dev-python/jaraco-functools/Manifest
+++ b/dev-python/jaraco-functools/Manifest
@@ -1,2 +1,3 @@
DIST jaraco.functools-1.19.tar.gz 10588 BLAKE2B c71eb4e0c611f6a0bd82e04cacb7933961ba5e50091439c274bd8ceeda68b69789423994fe43f44af6cdd643b7a04418bc32ce2f937d118520298a019c5c6638 SHA512 7fbf1956ff8a132021e1f7fae5e98f40199a5d0e705b08b44ad5b2588fdd7d1088db9d7457b985c1852b50285a8f03cc9795fff0c4f53f9155f7c8ec371ff307
DIST jaraco.functools-1.20.tar.gz 11063 BLAKE2B c202c3cda86c0f32fb3299a083ebb8d584eec444d9d8f0eff536f5e663634dab03c5831aef18d683dddde7eafff311b66a724d9004ad46f5ef92e90df16a9c7d SHA512 ba17b567dfcadb0d8ff1cc7a6ed07f2a23abfd42e73f3d815a6fa19d9be97d6af0c90bff7fb5e7ef67012ea5d931e9babc963da8a7105ba6a92d5c43c7126e04
+DIST jaraco.functools-2.0.tar.gz 14340 BLAKE2B 560490b1150c2385f9c4d468fe7ab4fa84475ad43e1ebed784343a71742976ed0c18df3f6240b1d5b69106a6835c0248838331a654f9d3fdc863622c3dda33be SHA512 dce30c08f0e9f3c7b682c78fc3a46a26d9972706f4c8449a12ba11aa5ed130c6d9ca405213fd93b6b4110ef9cea549e5fa925c96bfaf18681cd6957d8ba0889f
diff --git a/dev-python/jaraco-functools/files/jaraco-functools-2.0-fix-py37-tests.patch b/dev-python/jaraco-functools/files/jaraco-functools-2.0-fix-py37-tests.patch
new file mode 100644
index 000000000000..dc296c4eb47c
--- /dev/null
+++ b/dev-python/jaraco-functools/files/jaraco-functools-2.0-fix-py37-tests.patch
@@ -0,0 +1,41 @@
+From cc972095e5aa2ae80d1d69d7ca84ee94178e869a Mon Sep 17 00:00:00 2001
+From: "Jason R. Coombs" <jaraco@jaraco.com>
+Date: Sat, 20 Apr 2019 07:08:41 -0400
+Subject: [PATCH] Rewrite docstring on Python 3.7.3 to allow the test to pass.
+ Fixes #12.
+
+---
+ conftest.py | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+ create mode 100644 conftest.py
+
+diff --git a/conftest.py b/conftest.py
+new file mode 100644
+index 0000000..b6fad41
+--- /dev/null
++++ b/conftest.py
+@@ -0,0 +1,24 @@
++import sys
++import re
++
++import jaraco.functools
++
++
++def pytest_configure():
++ patch_for_issue_12()
++
++
++def patch_for_issue_12():
++ """
++ Issue #12 revealed that Python 3.7.3 had a subtle
++ change in the C implementation of functools that
++ broke the assumptions around the method_cache (or
++ any caller using possibly empty keyword arguments).
++ This patch adjusts the docstring for that test so it
++ can pass on that Python version.
++ """
++ affected_ver = 3, 7, 3
++ if sys.version_info[:3] != affected_ver:
++ return
++ mc = jaraco.functools.method_cache
++ mc.__doc__ = re.sub(r'^(\s+)75', r'\g<1>76', mc.__doc__, flags=re.M)
diff --git a/dev-python/jaraco-functools/jaraco-functools-2.0.ebuild b/dev-python/jaraco-functools/jaraco-functools-2.0.ebuild
new file mode 100644
index 000000000000..c6edbff3e677
--- /dev/null
+++ b/dev-python/jaraco-functools/jaraco-functools-2.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( pypy3 python{2_7,3_{5,6,7}} )
+
+inherit distutils-r1
+
+MY_PN="${PN/-/.}"
+DESCRIPTION="Additional functions used by other projects by developer jaraco"
+HOMEPAGE="https://github.com/jaraco/jaraco.functools"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/namespace-jaraco-2[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/backports-functools-lru-cache[${PYTHON_USEDEP}]' python2_7)
+"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/setuptools_scm-1.15.0[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/jaraco-packaging-3.2[${PYTHON_USEDEP}]
+ >=dev-python/rst-linker-1.9[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${RDEPEND}
+ >=dev-python/pytest-2.8[${PYTHON_USEDEP}]
+ dev-python/backports-unittest-mock[${PYTHON_USEDEP}]
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+PATCHES=( "${FILESDIR}/${P}-fix-py37-tests.patch" )
+
+python_compile_all() {
+ if use doc; then
+ cd docs || die
+ sphinx-build . _build/html || die
+ HTML_DOCS=( docs/_build/html/. )
+ fi
+}
+
+python_test() {
+ # Override pytest options to skip flake8
+ PYTHONPATH=. pytest -vv --override-ini="addopts=--doctest-modules" \
+ || die "tests failed with ${EPYTHON}"
+}
+
+# https://wiki.gentoo.org/wiki/Project:Python/Namespace_packages#File_collisions_between_pkgutil-style_packages
+python_install() {
+ rm "${BUILD_DIR}"/lib/jaraco/__init__.py || die
+ # note: eclass may default to --skip-build in the future
+ distutils-r1_python_install --skip-build
+}