dev-python/jaraco-functools: bump to 2.0, switches to pkgutil
authorLouis Sautier <sbraz@gentoo.org>
Tue, 2 Jul 2019 13:34:34 +0000 (15:34 +0200)
committerLouis Sautier <sbraz@gentoo.org>
Tue, 2 Jul 2019 14:02:58 +0000 (16:02 +0200)
Package-Manager: Portage-2.3.67, Repoman-2.3.16
Signed-off-by: Louis Sautier <sbraz@gentoo.org>
dev-python/jaraco-functools/Manifest
dev-python/jaraco-functools/files/jaraco-functools-2.0-fix-py37-tests.patch [new file with mode: 0644]
dev-python/jaraco-functools/jaraco-functools-2.0.ebuild [new file with mode: 0644]

index d63ec84b252d170fcba2c548b01d3aaa5f47ac8c..d6c4b82c2446825912bb8dbe95571bac3b3251af 100644 (file)
@@ -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 (file)
index 0000000..dc296c4
--- /dev/null
@@ -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 (file)
index 0000000..c6edbff
--- /dev/null
@@ -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
+}