summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-05-22 12:40:46 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-05-22 12:40:46 +0000
commitcbdd4d6052ae6da75e7dca630468df2998c99bc4 (patch)
treee26bd94c114ff574769908e328fb0aee15c593a9 /dev-python
parent0578f885cd0733b8f61a5535465c63904d9ad94e (diff)
downloadbaldeagleos-repo-cbdd4d6052ae6da75e7dca630468df2998c99bc4.tar.gz
baldeagleos-repo-cbdd4d6052ae6da75e7dca630468df2998c99bc4.tar.xz
baldeagleos-repo-cbdd4d6052ae6da75e7dca630468df2998c99bc4.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/GridDataFormats/GridDataFormats-1.0.0.ebuild29
-rw-r--r--dev-python/GridDataFormats/Manifest1
-rw-r--r--dev-python/backrefs/Manifest1
-rw-r--r--dev-python/backrefs/backrefs-5.3.ebuild56
-rw-r--r--dev-python/betamax/betamax-0.8.1-r1.ebuild42
-rw-r--r--dev-python/betamax/files/betamax-0.8.1-pytest.patch38
-rw-r--r--dev-python/blurb/files/blurb-setuptools.patch14
-rw-r--r--dev-python/bracex/Manifest1
-rw-r--r--dev-python/bracex/bracex-2.3.ebuild53
-rw-r--r--dev-python/cheroot/cheroot-8.6.0-r1.ebuild77
-rw-r--r--dev-python/cheroot/cheroot-8.6.0.ebuild2
-rw-r--r--dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild66
-rw-r--r--dev-python/feedparser/Manifest1
-rw-r--r--dev-python/feedparser/feedparser-6.0.10.ebuild46
-rw-r--r--dev-python/importlib_metadata/Manifest1
-rw-r--r--dev-python/importlib_metadata/importlib_metadata-4.11.4.ebuild54
-rw-r--r--dev-python/jwcrypto/Manifest1
-rw-r--r--dev-python/jwcrypto/jwcrypto-1.3.1.ebuild37
-rw-r--r--dev-python/networkx/Manifest1
-rw-r--r--dev-python/networkx/networkx-2.8.2.ebuild55
-rw-r--r--dev-python/numpy/numpy-1.22.3.ebuild2
-rw-r--r--dev-python/pip/Manifest2
-rw-r--r--dev-python/pip/files/pip-22.1.1-test-version-check.patch30
-rw-r--r--dev-python/pip/pip-22.1.1.ebuild130
-rw-r--r--dev-python/pylibmc/Manifest1
-rw-r--r--dev-python/pylibmc/files/pylibmc-1.6.1-py311.patch29
-rw-r--r--dev-python/pylibmc/pylibmc-1.6.1-r2.ebuild51
-rw-r--r--dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild50
-rw-r--r--dev-python/pyzmq/Manifest1
-rw-r--r--dev-python/pyzmq/metadata.xml4
-rw-r--r--dev-python/pyzmq/pyzmq-23.0.0.ebuild77
-rw-r--r--dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild7
-rw-r--r--dev-python/requests-toolbelt/requests-toolbelt-0.9.1-r1.ebuild55
-rw-r--r--dev-python/routes/Manifest2
-rw-r--r--dev-python/routes/routes-2.5.1-r1.ebuild49
-rw-r--r--dev-python/spyder-kernels/Manifest1
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-2.3.1.ebuild73
-rw-r--r--dev-python/typed-ast/Manifest1
-rw-r--r--dev-python/typed-ast/typed-ast-1.5.4.ebuild28
-rw-r--r--dev-python/zc-lockfile/zc-lockfile-2.0-r1.ebuild47
40 files changed, 1160 insertions, 56 deletions
diff --git a/dev-python/GridDataFormats/GridDataFormats-1.0.0.ebuild b/dev-python/GridDataFormats/GridDataFormats-1.0.0.ebuild
new file mode 100644
index 000000000000..fa8f49536545
--- /dev/null
+++ b/dev-python/GridDataFormats/GridDataFormats-1.0.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Reading and writing of data on regular grids in Python"
+HOMEPAGE="
+ https://pypi.org/project/GridDataFormats/
+ https://github.com/MDAnalysis/GridDataFormats/
+"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-3"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/mrcfile[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.0.3[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/GridDataFormats/Manifest b/dev-python/GridDataFormats/Manifest
index 59f7da9a87bb..fbb96c721137 100644
--- a/dev-python/GridDataFormats/Manifest
+++ b/dev-python/GridDataFormats/Manifest
@@ -1,2 +1,3 @@
DIST GridDataFormats-0.6.0.tar.gz 1984859 BLAKE2B b53e6a43a06fdcb42fbef4c10dbdb1b5740fc04fff468b666c687ba5a839b8129b49358d54c6d7e4229ebaa67af01d897fe960f87a868950657bbcbb85ec7487 SHA512 b876eacd7b1d3a7dd6fe35e2092783183fb0ffadf7fbf583773e6a3401bef51bd33ebb2e73f8b4ec9cd404c153c30ce09dfb75d5e4aacba53915d085f090d0ea
DIST GridDataFormats-0.7.0.tar.gz 2159247 BLAKE2B 7969f80960b5a29c44a645725a53dc6eb7c99d02e4fe1369700aaff85e4b98f3c7636768340c95b4ac44f6971558ab2efc5dc4e4968fb410e90e2228635e19ee SHA512 333c7f77c9c65f6be788c58efb0822eb05580893e96522c0bef04d84d3c5deae5498c1721353ece2ecd4ed8785acb6413b43123c0d895a855f0ee59e44b1d310
+DIST GridDataFormats-1.0.0.tar.gz 2155373 BLAKE2B 9570d2f61d5ee2fdd1aa1578e30bbbcc60bd98c60db7fa4e7030055b551170c6eac8eefabb2aecddc3938cccef1ee76c9d01a0ac99f8c56be8384ca9164615fb SHA512 03e250872f3e00b9208c16f179d18f899ed67c7656edaf79cfbba410ed8d1fb2ede2c878a57d3a818168efd9af6135b1a91e1c30d5cb256e88f7af1f4ca59686
diff --git a/dev-python/backrefs/Manifest b/dev-python/backrefs/Manifest
index 183db6075505..314e9f32177a 100644
--- a/dev-python/backrefs/Manifest
+++ b/dev-python/backrefs/Manifest
@@ -1 +1,2 @@
DIST backrefs-5.2.tar.gz 5220528 BLAKE2B b786df162f37406c36b99d9d4d36ed439837dae2f1d138238d5afc6e9ab108f1c4be1802606e14892ae08d7e3878f5c5068a6923de14d13ab89ef6749fd69b6e SHA512 fd68cd90deaf299a3bb21f70126db51f537e6dc1126fa38beda63901dccfe4db81842aea23eb20ac9311bfef74ff2339ebffdb8cdbcfed197c3ef0fd5b3e793b
+DIST backrefs-5.3.tar.gz 4291850 BLAKE2B d2d21dcb2d6a540ff6d06fbadb08c9a9ae6251c9bf78601b59611e80215f659cb46e8d535563c397ea28d014a67ffbc4d29a8f8632023ab9904b9630ac96602a SHA512 c42985a26605e3ab1f8b30943efdc554829d2a5951f32cff486959be1c7c1c61613adc947379aaebec74d8f574ae2c39e46e4682e2f78bb059beee2d9572f352
diff --git a/dev-python/backrefs/backrefs-5.3.ebuild b/dev-python/backrefs/backrefs-5.3.ebuild
new file mode 100644
index 000000000000..c6e9430cccf3
--- /dev/null
+++ b/dev-python/backrefs/backrefs-5.3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+DISTUTILS_USE_PEP517=setuptools
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-git-revision-date-localized-plugin
+ ~dev-python/mkdocs_pymdownx_material_extras-1.0.7
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-material
+ dev-python/pyspelling
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="Wrapper around re or regex that adds additional back references"
+HOMEPAGE="
+ https://github.com/facelessuser/backrefs/
+ https://pypi.org/project/backrefs/
+"
+SRC_URI="https://github.com/facelessuser/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/regex[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-regex-unrecognized-escape.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # mkdocs-git-revision-date-localized-plugin needs git repo
+ if use doc; then
+ git init || die
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ git add . || die
+ git commit -m 'init' || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/betamax/betamax-0.8.1-r1.ebuild b/dev-python/betamax/betamax-0.8.1-r1.ebuild
index 8c321864f50a..817229a60c12 100644
--- a/dev-python/betamax/betamax-0.8.1-r1.ebuild
+++ b/dev-python/betamax/betamax-0.8.1-r1.ebuild
@@ -5,34 +5,40 @@ EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
DISTUTILS_USE_PEP517=setuptools
+
inherit distutils-r1
DESCRIPTION="python-requests HTTP exchanges recorder"
-HOMEPAGE="https://github.com/betamaxpy/betamax"
+HOMEPAGE="
+ https://github.com/betamaxpy/betamax/
+ https://pypi.org/project/betamax/
+"
SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
PATCHES=(
- "${FILESDIR}/betamax-0.8.1-tests.patch"
+ "${FILESDIR}/${P}-pytest.patch"
)
-distutils_enable_tests pytest
-
-src_prepare() {
- rm tests/integration/test_hooks.py || die
- rm tests/integration/test_placeholders.py || die
- sed -e 's:test_records:_&:' \
- -e 's:test_replaces:_&:' \
- -e 's:test_replays:_&:' \
- -e 's:test_creates:_&:' \
- -i tests/integration/test_record_modes.py || die
- rm tests/integration/test_unicode.py || die
- rm tests/regression/test_gzip_compression.py || die
- rm tests/regression/test_requests_2_11_body_matcher.py || die
- distutils-r1_src_prepare
-}
+EPYTEST_DESELECT=(
+ # Internet
+ tests/integration/test_hooks.py
+ tests/integration/test_placeholders.py
+ tests/integration/test_record_modes.py::TestRecordOnce::test_records_new_interaction
+ tests/integration/test_record_modes.py::TestRecordOnce::test_replays_response_from_cassette
+ tests/integration/test_record_modes.py::TestRecordNewEpisodes
+ tests/integration/test_record_modes.py::TestRecordNewEpisodesCreatesCassettes
+ tests/integration/test_record_modes.py::TestRecordAll
+ tests/integration/test_unicode.py
+ tests/regression/test_gzip_compression.py
+ tests/regression/test_requests_2_11_body_matcher.py
+)
diff --git a/dev-python/betamax/files/betamax-0.8.1-pytest.patch b/dev-python/betamax/files/betamax-0.8.1-pytest.patch
new file mode 100644
index 000000000000..e3bfe39c81ca
--- /dev/null
+++ b/dev-python/betamax/files/betamax-0.8.1-pytest.patch
@@ -0,0 +1,38 @@
+From 165cc321f2b9839418269e9493b03eb2e43f7ddf Mon Sep 17 00:00:00 2001
+From: Jiri Kuncar <jiri.kuncar@gmail.com>
+Date: Mon, 9 Sep 2019 12:23:18 +0200
+Subject: [PATCH] tests: fix direct calls to PyTest fixtures
+
+https://docs.pytest.org/en/latest/deprecations.html#calling-fixtures-directly
+---
+ tests/unit/test_fixtures.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/unit/test_fixtures.py b/tests/unit/test_fixtures.py
+index 387d9ce..41f33eb 100644
+--- a/tests/unit/test_fixtures.py
++++ b/tests/unit/test_fixtures.py
+@@ -27,9 +27,9 @@ def test_adds_stop_as_a_finalizer(self):
+ # Mock a pytest request object
+ request = mock.MagicMock()
+ request.cls = request.module = None
+- request.function.__name__ = 'test'
++ request.node.name = request.function.__name__ = 'test'
+
+- pytest_fixture.betamax_recorder(request)
++ pytest_fixture._betamax_recorder(request)
+ assert request.addfinalizer.called is True
+ request.addfinalizer.assert_called_once_with(self.mocked_betamax.stop)
+
+@@ -37,9 +37,9 @@ def test_auto_starts_the_recorder(self):
+ # Mock a pytest request object
+ request = mock.MagicMock()
+ request.cls = request.module = None
+- request.function.__name__ = 'test'
++ request.node.name = request.function.__name__ = 'test'
+
+- pytest_fixture.betamax_recorder(request)
++ pytest_fixture._betamax_recorder(request)
+ self.mocked_betamax.start.assert_called_once_with()
+
+
diff --git a/dev-python/blurb/files/blurb-setuptools.patch b/dev-python/blurb/files/blurb-setuptools.patch
deleted file mode 100644
index 4845af98285a..000000000000
--- a/dev-python/blurb/files/blurb-setuptools.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -u blurb-1.0.7.orig/setup.py blurb-1.0.7/setup.py
---- blurb-1.0.7.orig/setup.py 1969-12-31 16:00:00.000000000 -0800
-+++ blurb-1.0.7/setup.py 2018-11-05 14:58:55.148518033 -0800
-@@ -1,7 +1,7 @@
- #!/usr/bin/env python
- # setup.py generated by flit for tools that don't yet use PEP 517
-
--from distutils.core import setup
-+from setuptools import setup
-
- entry_points = \
- {'console_scripts': ['blurb = blurb:main']}
-Only in blurb-1.0.7: .setup.py.un~
-Common subdirectories: blurb-1.0.7.orig/tests and blurb-1.0.7/tests
diff --git a/dev-python/bracex/Manifest b/dev-python/bracex/Manifest
index c86d52a00d04..f2e35cbff530 100644
--- a/dev-python/bracex/Manifest
+++ b/dev-python/bracex/Manifest
@@ -1 +1,2 @@
DIST bracex-2.2.1.tar.gz 27642 BLAKE2B e9eb12dd70b3cf1c6abd8a59f19d8f77f8fc85e07efad02a2c0213266b93641406d05fa8454b2b4cd6870b7f866a22c0b2132d690444f1910a599c9b17594065 SHA512 cad9faf73258493581606bf5c8068d34a82fdcca338dd6a1d7da5dacfbee1932f48d04d6f295151d79f02495ddf89aa6a5d53d6596db7bd53ddb3cd23d59a71d
+DIST bracex-2.3.tar.gz 27489 BLAKE2B c48b668c35d40337fe9096c8fbc67565ea74abf330a278e1fe070055fcf8835a60dc23fba40c0f1c0677d506c7d8f8ca5168f809b13ab0442868bc962faaf1d5 SHA512 73f3b951ce1119154794883106a317e9ed4bbe8d96dc914afb6ca6d358104ae4908bc587504e2761c751a3795adf7f2136e96a2d46634b10478c7523fbee4f60
diff --git a/dev-python/bracex/bracex-2.3.ebuild b/dev-python/bracex/bracex-2.3.ebuild
new file mode 100644
index 000000000000..411a8fb005d2
--- /dev/null
+++ b/dev-python/bracex/bracex-2.3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+DISTUTILS_USE_PEP517=hatchling
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-git-revision-date-localized-plugin
+ dev-python/mkdocs-material
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs_pymdownx_material_extras
+ dev-python/pyspelling
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="Bash style brace expansion for Python"
+HOMEPAGE="
+ https://github.com/facelessuser/bracex/
+ https://pypi.org/project/bracex/
+"
+SRC_URI="
+ https://github.com/facelessuser/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+BDEPEND="
+ test? (
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # mkdocs-git-revision-date-localized-plugin needs git repo
+ if use doc; then
+ git init || die
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ git add . || die
+ git commit -m 'init' || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/cheroot/cheroot-8.6.0-r1.ebuild b/dev-python/cheroot/cheroot-8.6.0-r1.ebuild
new file mode 100644
index 000000000000..0769e802aee6
--- /dev/null
+++ b/dev-python/cheroot/cheroot-8.6.0-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="High-performance, pure-Python HTTP server used by CherryPy"
+HOMEPAGE="
+ https://cherrypy.dev/
+ https://pypi.org/project/cheroot/
+ https://github.com/cherrypy/cheroot/
+"
+SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-2.6[${PYTHON_USEDEP}]
+ dev-python/jaraco-functools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-1.11.0[${PYTHON_USEDEP}]
+ dev-python/requests-toolbelt[${PYTHON_USEDEP}]
+ dev-python/requests-unixsocket[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ !ia64? (
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+PATCHES=(
+ # Bad dep (upstream gone, only PyPi package, has py2 code, etc)
+ "${FILESDIR}/${PN}-8.6.0-remove-pypytools-dep.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e '/--cov/d' \
+ -e '/--testmon/d' \
+ -e '/--numproc/d' \
+ -i pytest.ini || die
+
+ # broken
+ sed -e '/False.*localhost/d' \
+ -i cheroot/test/test_ssl.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_IGNORE=()
+ if ! has_version "dev-python/pyopenssl[${PYTHON_USEDEP}]" ||
+ ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"
+ then
+ EPYTEST_IGNORE+=(
+ lib/cheroot/test/test_ssl.py
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/cheroot/cheroot-8.6.0.ebuild b/dev-python/cheroot/cheroot-8.6.0.ebuild
index 0debf8d4c72a..1c1e3d7ce6a4 100644
--- a/dev-python/cheroot/cheroot-8.6.0.ebuild
+++ b/dev-python/cheroot/cheroot-8.6.0.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
inherit distutils-r1
DESCRIPTION="High-performance, pure-Python HTTP server used by CherryPy"
-HOMEPAGE="https://cherrypy.org/
+HOMEPAGE="https://cherrypy.dev/
https://pypi.org/project/cheroot/
https://github.com/cherrypy/cheroot/"
SRC_URI="mirror://pypi/C/${PN/c/C}/${P}.tar.gz"
diff --git a/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild b/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild
new file mode 100644
index 000000000000..8269b7ee1079
--- /dev/null
+++ b/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+MY_PN="CherryPy"
+MY_P=${MY_PN}-${PV}
+DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
+HOMEPAGE="
+ https://cherrypy.dev/
+ https://github.com/cherrypy/cherrypy/
+ https://pypi.org/project/CherryPy/
+"
+SRC_URI="mirror://pypi/${MY_PN::1}/${MY_PN}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="ssl test"
+
+RDEPEND="
+ >=dev-python/cheroot-8.2.1[${PYTHON_USEDEP}]
+ >=dev-python/portend-2.1.1[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/zc-lockfile[${PYTHON_USEDEP}]
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ ssl? (
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/routes[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/objgraph[${PYTHON_USEDEP}]
+ dev-python/path-py[${PYTHON_USEDEP}]
+ dev-python/requests-toolbelt[${PYTHON_USEDEP}]
+ dev-python/pytest-services[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local PATCHES=(
+ # https://github.com/cherrypy/cherrypy/pull/1946
+ "${FILESDIR}"/${P}-close-files.patch
+ )
+
+ sed -r -e '/(pytest-sugar|pytest-cov)/ d' \
+ -i setup.py || die
+
+ sed -r -e 's:--cov-report[[:space:]]+[[:graph:]]+::g' \
+ -e 's:--cov[[:graph:]]+::g' \
+ -e 's:--doctest[[:graph:]]+::g' \
+ -i pytest.ini || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/feedparser/Manifest b/dev-python/feedparser/Manifest
index 75d3987ea93a..71b293451e62 100644
--- a/dev-python/feedparser/Manifest
+++ b/dev-python/feedparser/Manifest
@@ -1,2 +1,3 @@
+DIST feedparser-6.0.10.tar.gz 252872 BLAKE2B 5c3b32d264bd00225de20c56c664f369516ead06b33ed1f2ae4123002297b12cc78c2680366e125af1762e53cd4452f2070e5e726de2f0c9ccd71c78cc5ab3a2 SHA512 92f5608d1a12172bc1524d5c8caa75f1cc1a6d7d3456ecd585e6715209cdff469b775c677b8393e1d1e1a895b857fc3c048c36fb83b215308b707a1f71c6e9d3
DIST feedparser-6.0.8.tar.gz 252496 BLAKE2B 1a17ef6aa41e0782743d5d331ba26e2d1518475534adcd62457bc6fab00b93e24a3a3b03f4acf8358d321464b985c9d09383dc0373680577c10b742c5e1366fd SHA512 9de702dbebe28b379fd164afed8c408f46301f3ebf91d9f862f12de98a1bcee9f6d38a27c0b8a64e87bc0a20d0ad992ed78b190406649f775e2e8c9ca62b4d8c
DIST feedparser-6.0.9.tar.gz 252691 BLAKE2B 08c1e04f9c8b38050abc22ee702271cb8e67c292cd3ab3820e6754b9ae05cc43bded9c1fa0160ba3770f38fad83b286c8f2c3416a03a366b595f6c388d64cfb3 SHA512 bcc2c9e7214c31d4dd5d78f2df99b6c25c87cf9e87d8ed0a00e7cbcc1451c1781b0c5408b7951f5655d2b4fdb558e82ddb5cb00487426d23c4d4c68fa9b77e0c
diff --git a/dev-python/feedparser/feedparser-6.0.10.ebuild b/dev-python/feedparser/feedparser-6.0.10.ebuild
new file mode 100644
index 000000000000..77818756283f
--- /dev/null
+++ b/dev-python/feedparser/feedparser-6.0.10.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+MY_PV=${PV/_beta/b}
+MY_P=${PN}-${MY_PV}
+DESCRIPTION="Parse RSS and Atom feeds in Python"
+HOMEPAGE="
+ https://github.com/kurtmckee/feedparser/
+ https://pypi.org/project/feedparser/
+"
+SRC_URI="
+ https://github.com/kurtmckee/feedparser/archive/${MY_PV}.tar.gz
+ -> ${MY_P}.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+
+RDEPEND="
+ dev-python/sgmllib3k[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/feedparser-6.0.8-fix-py3.10.patch"
+)
+
+src_prepare() {
+ # broken
+ rm \
+ tests/illformed/chardet/big5.xml \
+ tests/illformed/undeclared_namespace.xml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ "${EPYTHON}" tests/runtests.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/importlib_metadata/Manifest b/dev-python/importlib_metadata/Manifest
index 0c22b9e841b1..8b79444e53ca 100644
--- a/dev-python/importlib_metadata/Manifest
+++ b/dev-python/importlib_metadata/Manifest
@@ -1 +1,2 @@
DIST importlib_metadata-4.11.3.tar.gz 43607 BLAKE2B 661f8ce68869540995dbee39c6be07d7b88e8339267d4d49744691f2347ab2bcc9ac33c4cafd6caed5fa9ce3d4a3640a816e4659eee9a59b5ccc1df2edd2f6aa SHA512 d33efa2abba5f6f770615f133c940a61948ce5091d59526ee2c7e3866aebd74d79ac464f72602404c2b56fe284a93a9cd1b0cac251ceea53666019485bdddf23
+DIST importlib_metadata-4.11.4.tar.gz 44160 BLAKE2B 83b39ac858c5d3b63becc19be1a62ce253ce873afba16e5dad085fed531c5dcefa173e1644de10bef6318965aa132331b5d037dd7c0c8a0908880d97764b645e SHA512 2b5a6b0788103f7f0245f172832576852f56316e1c05b32f194a56b5fbaccd987c0315971f7d32d1b225ab74c12dc9f1aa96eb2a9ed2ebfd7613a9b816398560
diff --git a/dev-python/importlib_metadata/importlib_metadata-4.11.4.ebuild b/dev-python/importlib_metadata/importlib_metadata-4.11.4.ebuild
new file mode 100644
index 000000000000..c93fcf908629
--- /dev/null
+++ b/dev-python/importlib_metadata/importlib_metadata-4.11.4.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
+EAPI=7
+
+DISTUTILS_USE_PEP517=flit
+# NB: this package extends beyond built-in importlib stuff in py3.8+
+# new entry_point API not yet included in cpython release
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Read metadata from Python packages"
+HOMEPAGE="https://github.com/python/importlib_metadata"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+RDEPEND="
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/importlib_resources[${PYTHON_USEDEP}]
+ ' 3.8)
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/jaraco-packaging \
+ dev-python/rst-linker
+distutils_enable_tests unittest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "importlib_metadata"
+ version = "${PV}"
+ description = "Read metadata from Python packages"
+ EOF
+}
diff --git a/dev-python/jwcrypto/Manifest b/dev-python/jwcrypto/Manifest
index d4550976c267..0107897877b1 100644
--- a/dev-python/jwcrypto/Manifest
+++ b/dev-python/jwcrypto/Manifest
@@ -2,3 +2,4 @@ DIST jwcrypto-1.0.0.tar.gz 87000 BLAKE2B 6e85d52c26447b07c3d06387ac9e3b7adf585d5
DIST jwcrypto-1.1.0.gh.tar.gz 87344 BLAKE2B 4bc72c01e6d49d68ff8e3c89a09758a5e8a634c308926ed2b750fdc373006b30710a841df4e26e1ce3287be6e4b509674887a0b01cc3b225bc87d97588f5b7a6 SHA512 c7530f68d74247f23ad2d76def257f4f0091203a22d39f248f4a15363b17bdf79699b96775cfb7f909b5b0a99ed1dd73ff5ae30ca8bc41662f1be38933c9f3c1
DIST jwcrypto-1.2.0.gh.tar.gz 88369 BLAKE2B c2f03cef2130884e8a27faa5a7e204ee448ef0a2b56da414f10df34821a67898a0ed2768201d00e2dc7d14b5a3cad3e73c0bd5707910dd2cb1082d1a20a14c04 SHA512 df9073b0561b43cd92f7f1861f9b517bc736d0846f8ef1c7496a48aa5dec49755e5915285ae659c5e2bb18cd51912cd782d799c41c5c6399330f688348096fa5
DIST jwcrypto-1.3.0.gh.tar.gz 91206 BLAKE2B bbc11ae9fe5a27233ad3e27e0ef38fff4bacd4d429fbf7b379b0ee61f4551cc3f8810181ef6e61c196951b971e2e49c5faf34e481b62f2caebd534bcbf26f981 SHA512 6071df4bbb735b7096fab35855534cbcf6bb2244b3e789cac81cc49d1d2f3a79112227a909074e2ee30e9a2fdf13d711f15222a2aeaedf8b7a098d8f569bcc40
+DIST jwcrypto-1.3.1.gh.tar.gz 91903 BLAKE2B 49fb3cb9548c85d406d47074a410f6bc89cbc32f16a0244b4ac5e3fa219bc66fc1e4ed32056f5c9885608b5225c2ed3423555813938465924e60dabb8f39749b SHA512 bc43a1acdb12a4e25251a3c5f9c85286c5a4234bd098efe69b7e3bd3da9ec72e80d7239cc20b1f971e17218cce9a7febe6a92efca33da2f2e1479fe64150bb71
diff --git a/dev-python/jwcrypto/jwcrypto-1.3.1.ebuild b/dev-python/jwcrypto/jwcrypto-1.3.1.ebuild
new file mode 100644
index 000000000000..9d451b084945
--- /dev/null
+++ b/dev-python/jwcrypto/jwcrypto-1.3.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Implements JWK,JWS,JWE specifications using python-cryptography"
+HOMEPAGE="
+ https://github.com/latchset/jwcrypto/
+ https://pypi.org/project/jwcrypto/
+"
+SRC_URI="
+ https://github.com/latchset/jwcrypto/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.3[${PYTHON_USEDEP}]
+ dev-python/deprecated[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs/source
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Do not install doc in non-standard paths
+ sed -i "/data_files/d" setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/networkx/Manifest b/dev-python/networkx/Manifest
index 3e6cc5259884..cc0c7ee00a47 100644
--- a/dev-python/networkx/Manifest
+++ b/dev-python/networkx/Manifest
@@ -1,2 +1,3 @@
DIST networkx-2.8.1.tar.gz 1945388 BLAKE2B 5c7ee6826f952d6f834d88ab0ba82d11d8a171611f43750d8d64ca6adf428fb64e8c37ca9c03654941c6d67eb8b68710e4e923f008c99d724ad47d42c31dc75d SHA512 a85b6be14aabb4f4d5317f65fca1d681d93bb6defdb81c4fe59b06e9632816adaa322ae7e8f2277a78290f0ac6260438b503c79d4cbb39fcd37562e8325d89d3
+DIST networkx-2.8.2.tar.gz 1945873 BLAKE2B 212f42d8da35bb7c29b6feae626bb21036807e26996ff663dbb22b54908448715cbf6509553e2379a208b4537f03c92a3183a74a8074f4d2edae9b97084e5a8b SHA512 5b1ca05a009f78d693f8dfedaa51650d7834e4870d1a08fd8ea27f1293cbaccd9b4a2fb5d146df491e8dfcda1ca538786b257fb9b1250a383c59ea2b54188f55
DIST networkx-2.8.tar.gz 1937426 BLAKE2B 5a094177ed480c6f7cbdacb6795fc4f2e0aec53ed89a33e19d78f47830d46238f35b7cd76098f6e00397f7cbdf305256910b7930cbb2c775ed4c2b18d9bd596f SHA512 72cd6637faa4228f6c802cf36935b5460fdf9b6cf191c3b375810bfc3732823e3286bdc1e6cbf7e6a7ffde83d0cf3bca157ae27ff98c537d43fdb4b8ef45ef4b
diff --git a/dev-python/networkx/networkx-2.8.2.ebuild b/dev-python/networkx/networkx-2.8.2.ebuild
new file mode 100644
index 000000000000..b4942f3b512d
--- /dev/null
+++ b/dev-python/networkx/networkx-2.8.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1 optfeature virtualx
+
+DESCRIPTION="Python tools to manipulate graphs and complex networks"
+HOMEPAGE="
+ https://networkx.org/
+ https://github.com/networkx/networkx/
+ https://pypi.org/project/networkx/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+BDEPEND="
+ test? (
+ >=dev-python/lxml-4.5[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.6.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ # virtx implies nonfatal
+ nonfatal epytest -p no:django || die
+}
+
+src_install() {
+ distutils-r1_src_install
+ # those examples use various assets and pre-compressed files
+ docompress -x /usr/share/doc/${PF}/examples
+}
+
+pkg_postinst() {
+ optfeature "recommended dependencies" "dev-python/matplotlib dev-python/numpy dev-python/pandas dev-python/scipy"
+ optfeature "graph drawing and graph layout algorithms" "dev-python/pygraphviz dev-python/pydot"
+ optfeature "YAML format reading and writing" "dev-python/pyyaml"
+ optfeature "shapefile format reading and writing" "dev-python/gdal"
+ optfeature "GraphML XML format" "dev-python/lxml"
+}
diff --git a/dev-python/numpy/numpy-1.22.3.ebuild b/dev-python/numpy/numpy-1.22.3.ebuild
index cb04e9883bbe..28c97999d0e8 100644
--- a/dev-python/numpy/numpy-1.22.3.ebuild
+++ b/dev-python/numpy/numpy-1.22.3.ebuild
@@ -24,7 +24,7 @@ SRC_URI="
)"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="doc lapack"
RDEPEND="
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
index edb1fd4d31f6..9e0d2bdafb02 100644
--- a/dev-python/pip/Manifest
+++ b/dev-python/pip/Manifest
@@ -1,6 +1,8 @@
DIST pip-22.0.4.tar.gz 9325766 BLAKE2B 9ce5a25e6fb9aedc39e2cddab2a8af3b47dbaaaf8bd22c39f8301b784e6e9f5434f63d5ef467f4d819b15bcd5cf8d3da52db34b3514c7b4a15823f77cb47e1c1 SHA512 af6d1787b4fe97f2eec9c2e3e3f0f756efca8cb83f6ecdae797986fb6050ee60d872a8a8eb7502a32c4334fc0c7af8cf3c58ce980407d0e9f89eec28a4290093
+DIST pip-22.1.1.tar.gz 9346893 BLAKE2B 2ecf113b644536c125150584ad3e05382c8cc3fa291bb227b7457a203222676721dfe6ba3d5bcde9a2d901ba11c674f0f49c14387023594ea2f0248e688224d8 SHA512 3f67171848c4b1282e3abb3a55b1e3d1bdd87e418c535298c8d91ec12d59da271182d7d45f07d080b46a27d9f53c0180ebbfe9379cc640a21f2ec9dd60b06e3e
DIST setuptools-57.4.0-py3-none-any.whl 819017 BLAKE2B afba86cf9aeea58ee869fdc11bbb192abbf2f89710e468b90dc291fec228ca16202483e36195a5ad4e2b8d210326bc83e2be6ec696ab413d94ffaeb05bb9c030 SHA512 9bf230f4e0e72acab07ab372a6ca05adb3d175a8079d2f73d327c632f3d27b8ee10442d3e60f4c94a6e61d5ba2212fc78187ca6e1717e15bb570bdce4263fd0b
DIST setuptools-62.2.0-py3-none-any.whl 1143965 BLAKE2B 42bf650892d2e5810f18f8002fc6318b5abf890d04b2a3050784b93da88d806af5118eee65ed89b06e1cb908e4c7f6aa50222fba4b8617ab36923cfb624528ae SHA512 496593580b5537fb142bc775d060d01ef3c9069fc06564b5e9cb8e2a56e8f264c1dc7438d38a17f8b7e20d509a6b4f62cdfaf290c4ed82e071a1cc10a297b8b8
+DIST setuptools-62.3.2-py3-none-any.whl 1225929 BLAKE2B 608952e201f749ebf557e3962ba9856d5bdcbc534f3a25598cab0d6c53282cfb3b9f007ba135497a8addf49db4c02bc4387c486d95a4529d01ce4114154ec28a SHA512 366d69dc44e326dd7549cdacd8dec481a14dce4feef4338adc38b9de5c4c338f04d61696e13ce8603be1315f2e8734100f92d3fe4b4b11843e19f550c9631978
DIST virtualenv-16.7.11.tar.gz 8134533 BLAKE2B ea81e11c210d911bf9576edf7b1754721b270adcc5d9633415d33b8f659149d64932fe2d366200121ec00c266c25dae380e248add438fc357477114eba4dfb4e SHA512 82d0d2a964508511e8e1686703581ff543f65791dc2449d9741d46ea57c4c89673947d2477ba374176f05fcea2a5ca572aa650c61c4f3271c4d73d1ff9d9ff42
DIST virtualenv-16.7.12.tar.gz 8906590 BLAKE2B a1f206769e4e5797562906162e492e44c4a72720e4f88a0362dc802ce2df20c65aaab6a72dce2238445601a10fae59bd90cd362217994d30911f105afd71c5fa SHA512 0278b33fb19f6553e70ad3dcffa6ea1a455ff435b216ac9b4fadff216b2932714faa2bb6027af3058010111d8511a5c2fcd424f31c9645be361603971f111c8e
DIST wheel-0.36.2-py2.py3-none-any.whl 35046 BLAKE2B bc4e8dab7c74eea34d3b4a813b7eaf6295a99a396a861b6cdd76f743043e89140bad132bdd13e385e8945ce02e0798e1d3ac73fc1b23bde5b2a83e4bb4dd5cdc SHA512 6bb5119b4d3704fe1e3c1eaaa3124edab13f61b46f8a0a8e75974fac4e5b25d8b53606071a03a8d8990ad1cfe2ab247ddea260098df2c0c35ae965be47080284
diff --git a/dev-python/pip/files/pip-22.1.1-test-version-check.patch b/dev-python/pip/files/pip-22.1.1-test-version-check.patch
new file mode 100644
index 000000000000..b3160b1ccad2
--- /dev/null
+++ b/dev-python/pip/files/pip-22.1.1-test-version-check.patch
@@ -0,0 +1,30 @@
+From 345c475efe2dee94ee327d99f729c8274b1f6047 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 22 May 2022 08:40:32 +0200
+Subject: [PATCH] Pass --disable-pip-version-check in tests
+
+Pass `--disable-pip-version-check` when running pip from the test suite.
+In the best case, these checks are unnecessary and in the worst, they
+cause tests to fail by emitting warnings.
+
+Fixes https://github.com/pypa/pip/issues/11114
+---
+ tests/lib/__init__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/lib/__init__.py b/tests/lib/__init__.py
+index c8d68fea9..d64cf1d53 100644
+--- a/tests/lib/__init__.py
++++ b/tests/lib/__init__.py
+@@ -682,7 +682,7 @@ class PipTestEnvironment(TestFileEnvironment):
+ kwargs["allow_stderr_warning"] = True
+ if use_module:
+ exe = "python"
+- args = ("-m", "pip") + args
++ args = ("-m", "pip", "--disable-pip-version-check") + args
+ else:
+ exe = "pip"
+ return self.run(exe, *args, **kwargs)
+--
+2.35.1
+
diff --git a/dev-python/pip/pip-22.1.1.ebuild b/dev-python/pip/pip-22.1.1.ebuild
new file mode 100644
index 000000000000..6d12773c0899
--- /dev/null
+++ b/dev-python/pip/pip-22.1.1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{7,8,9,10} )
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+PYTHON_REQ_USE="ssl(+),threads(+)"
+
+inherit bash-completion-r1 distutils-r1 multiprocessing
+
+# setuptools & wheel .whl files are required for testing,
+# the exact version is not very important.
+SETUPTOOLS_WHL="setuptools-62.3.2-py3-none-any.whl"
+WHEEL_WHL="wheel-0.36.2-py2.py3-none-any.whl"
+# upstream still requires virtualenv-16 for testing, we are now fetching
+# it directly to avoid blockers with virtualenv-20
+VENV_PV=16.7.12
+
+DESCRIPTION="The PyPA recommended tool for installing Python packages"
+HOMEPAGE="
+ https://pip.pypa.io/en/stable/
+ https://pypi.org/project/pip/
+ https://github.com/pypa/pip/
+"
+SRC_URI="
+ https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ test? (
+ https://files.pythonhosted.org/packages/py3/s/setuptools/${SETUPTOOLS_WHL}
+ https://files.pythonhosted.org/packages/py2.py3/w/wheel/${WHEEL_WHL}
+ https://github.com/pypa/virtualenv/archive/${VENV_PV}.tar.gz
+ -> virtualenv-${VENV_PV}.tar.gz
+ )
+"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+SLOT="0"
+IUSE="vanilla"
+
+RDEPEND="
+ >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scripttest[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ !alpha? ( !hppa? ( !ia64? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ ) ) )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/pip-21.3-no-coverage.patch"
+ "${FILESDIR}/pip-22.1.1-test-version-check.patch"
+ )
+ if ! use vanilla; then
+ PATCHES+=( "${FILESDIR}/pip-20.0.2-disable-system-install.patch" )
+ fi
+
+ distutils-r1_python_prepare_all
+
+ if use test; then
+ mkdir tests/data/common_wheels/ || die
+ cp "${DISTDIR}"/{${SETUPTOOLS_WHL},${WHEEL_WHL}} \
+ tests/data/common_wheels/ || die
+ fi
+}
+
+python_compile_all() {
+ # 'pip completion' command embeds full $0 into completion script, which confuses
+ # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
+ # This trick sets correct $0 while still calling just installed pip.
+ local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
+ "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
+ "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON} since virtualenv-16 is broken"
+ return 0
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/functional/test_install.py::test_double_install_fail
+ tests/functional/test_list.py::test_multiple_exclude_and_normalization
+ # Internet
+ tests/functional/test_install.py::test_install_editable_with_prefix_setup_cfg
+ tests/functional/test_install.py::test_editable_install__local_dir_no_setup_py_with_pyproject
+ tests/functional/test_install.py::test_editable_install__local_dir_setup_requires_with_pyproject
+ )
+
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/functional/test_install.py::test_install_sends_client_cert
+ tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ )
+ fi
+
+ local -x GENTOO_PIP_TESTING=1
+ local -x PYTHONPATH="${WORKDIR}/virtualenv-${VENV_PV}"
+ local -x SETUPTOOLS_USE_DISTUTILS=stdlib
+ epytest -m "not network" -n "$(makeopts_jobs)"
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/html/**/*.rst )
+ distutils-r1_python_install_all
+
+ newbashcomp completion.bash pip
+
+ insinto /usr/share/zsh/site-functions
+ newins completion.zsh _pip
+}
diff --git a/dev-python/pylibmc/Manifest b/dev-python/pylibmc/Manifest
index 68a4f2e095a6..132d9d866ba2 100644
--- a/dev-python/pylibmc/Manifest
+++ b/dev-python/pylibmc/Manifest
@@ -1 +1,2 @@
+DIST pylibmc-1.6.1-no-nose.patch 26090 BLAKE2B 160e5b58107dcea0354462370eeeb12739c7fd1549e1c64ddf1fe2451654e50c1408505985eb6a7150ce60185bc7acebba7a20c6444615bef8c6991debfba4cc SHA512 84fb37505def84caaacb1343032d18bd644f5072e6ce7a2d6e88bc33bd2dedc8b303f4cf2a9b57b32c3c4b8e01bef1bebcc09ecb525568c928aed326bee2cace
DIST pylibmc-1.6.1.tar.gz 72061 BLAKE2B ebaa6f9dfc341d862a8b46bbbf0db1420ff400cb40390f7bee6bf198ff941ad7967b578040ffe1209721ea84a163a39649108a2a23f3dadc2d579db740b2ccf3 SHA512 a3874435389486b29bab5f1d29e5c179d67655d90995bb27fcb7cd46ce7eb3b60117b94f901602f8a65dc0e587d5f8edfcf15e259effd439411adb58ddb7065e
diff --git a/dev-python/pylibmc/files/pylibmc-1.6.1-py311.patch b/dev-python/pylibmc/files/pylibmc-1.6.1-py311.patch
new file mode 100644
index 000000000000..c687f90fb658
--- /dev/null
+++ b/dev-python/pylibmc/files/pylibmc-1.6.1-py311.patch
@@ -0,0 +1,29 @@
+From 22854a4ba8f7e926099219c107104723089bcad8 Mon Sep 17 00:00:00 2001
+From: Ludvig Ericson <ludvig@lericson.se>
+Date: Mon, 29 Jun 2020 14:59:36 +0200
+Subject: [PATCH] =?UTF-8?q?2020:=20Do=20not=20pass=20=E2=80=98U=E2=80=99?=
+ =?UTF-8?q?=20flag=20to=20open?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+ setup.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 9bea257..89871ea 100644
+--- a/setup.py
++++ b/setup.py
+@@ -95,9 +95,9 @@ def append_env(L, e):
+ s.write(line + "\n")
+ sys.exit(0)
+
+-with open("README.rst", "U", encoding="utf-8") as r:
++with open("README.rst", encoding="utf-8") as r:
+ readme_text = r.read()
+-with open("src/pylibmc-version.h", "U", encoding="utf-8") as r:
++with open("src/pylibmc-version.h", encoding="utf-8") as r:
+ version = r.read().strip().split("\"")[1]
+
+ setup(
diff --git a/dev-python/pylibmc/pylibmc-1.6.1-r2.ebuild b/dev-python/pylibmc/pylibmc-1.6.1-r2.ebuild
index df9dce3f5f36..38c4945f973b 100644
--- a/dev-python/pylibmc/pylibmc-1.6.1-r2.ebuild
+++ b/dev-python/pylibmc/pylibmc-1.6.1-r2.ebuild
@@ -12,41 +12,42 @@ 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"
+ https://github.com/lericson/pylibmc/
+"
+SRC_URI="
+ https://github.com/lericson/pylibmc/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/lericson/pylibmc/pull/263.patch
+ -> ${P}-no-nose.patch
+"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ~ppc64 x86"
-RDEPEND=">=dev-libs/libmemcached-0.32"
-# Older sphinx versions fail to compile the doc
-# https://github.com/sphinx-doc/sphinx/issues/3266
-DEPEND="${RDEPEND}"
+DEPEND="
+ >=dev-libs/libmemcached-0.32
+"
+RDEPEND="
+ ${DEPEND}
+"
BDEPEND="
test? (
net-misc/memcached
- )"
+ )
+"
PATCHES=(
"${FILESDIR}/pylibmc-1.6.1-fix-test-failures-r1.patch"
+ "${FILESDIR}/pylibmc-1.6.1-py311.patch"
+ "${DISTDIR}/${P}-no-nose.patch"
)
distutils_enable_sphinx docs
-distutils_enable_tests nose
+distutils_enable_tests pytest
-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=.
-}
+# needed for docs
+export PYLIBMC_DIR=.
src_test() {
local -x MEMCACHED_PORT=11219
@@ -55,3 +56,13 @@ src_test() {
distutils-r1_src_test
kill "$(<"${T}/m.pid")" || die
}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # these require "AmazonElastiCache" running
+ tests/test_autoconf.py
+ )
+
+ epytest --doctest-modules --doctest-glob='doctests.txt' \
+ src/pylibmc tests
+}
diff --git a/dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild b/dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild
new file mode 100644
index 000000000000..a0522e17a57f
--- /dev/null
+++ b/dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of fixtures and utility functions to run service processes for pytest"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-services/
+ https://pypi.org/project/pytest-services/
+"
+SRC_URI="
+ https://github.com/pytest-dev/pytest-services/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/zc-lockfile[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pylibmc[${PYTHON_USEDEP}]
+ x11-base/xorg-server[xvfb]
+ net-misc/memcached
+ !dev-python/pytest-salt
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/pytest-services-2.0.1-no-mysql.patch"
+ "${FILESDIR}/pytest-services-2.0.1-lockdir.patch"
+)
+
+python_test() {
+ epytest -p no:xvfb
+}
diff --git a/dev-python/pyzmq/Manifest b/dev-python/pyzmq/Manifest
index 223775ad687b..761935c79bdd 100644
--- a/dev-python/pyzmq/Manifest
+++ b/dev-python/pyzmq/Manifest
@@ -1 +1,2 @@
DIST pyzmq-22.1.0.gh.tar.gz 401919 BLAKE2B ec43c62e68633a7e0ac06e7a717b6409e444dbd1347154c2a29a2dfb00916829656308122fa2cf0fc1e3013c82ba6bcc5e11b86582f95d46f43e9e81f6d8ff74 SHA512 aa135279927bff07339b99b4ebbc7d47effbfba7df99d3576088fe0e7d4a3ad44174a928e8b94afdeaf531c6a30cbb7bb88bce7fe19e7e5420b079ffb8e8690e
+DIST pyzmq-23.0.0.gh.tar.gz 399818 BLAKE2B ebd99acb5270f4ba2f851f3df9a7cb81f986730eba81d54c2c4bc55f24f98ebafdd7a24fcdce1dc5727a1e2e1ce57a9b52160800c6eb29c08bb9ee94450c5a83 SHA512 aaee7af933467daf56db660b84cf79972042aee6b2c9640c00e09e0d7c78cafe61346df567beb8eebadb4408c1887eb355beee04c4a6b1efa0d8dde8a4c82283
diff --git a/dev-python/pyzmq/metadata.xml b/dev-python/pyzmq/metadata.xml
index ad80622e5b0d..3e05ff1fff7f 100644
--- a/dev-python/pyzmq/metadata.xml
+++ b/dev-python/pyzmq/metadata.xml
@@ -5,6 +5,10 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
<use>
<flag name="draft">Enable draft API support</flag>
diff --git a/dev-python/pyzmq/pyzmq-23.0.0.ebuild b/dev-python/pyzmq/pyzmq-23.0.0.ebuild
new file mode 100644
index 000000000000..1aebe04d93cb
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-23.0.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+# TODO: Find out exactly where this error comes from
+# error: '<' not supported between instances of 'str' and 'int'
+#DISTUTILS_USE_PEP517=setuptools
+PYTHON_REQ_USE="threads(+)"
+
+inherit flag-o-matic distutils-r1 toolchain-funcs
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="
+ https://zeromq.org/languages/python/
+ https://pypi.org/project/pyzmq/
+ https://github.com/zeromq/pyzmq/"
+SRC_URI="
+ https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+draft"
+
+DEPEND="
+ >=net-libs/zeromq-4.2.2-r2:=[drafts]
+"
+# it uses cffi backend for pypy, cython backend for cpython
+RDEPEND="${DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+ ' pypy3)
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=www-servers/tornado-5.0.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ "dev-python/numpydoc"
+
+python_configure_all() {
+ tc-export CC
+ append-cppflags -DZMQ_BUILD_DRAFT_API=$(usex draft '1' '0')
+}
+
+python_compile() {
+ esetup.py cython --force
+ ZMQ_PREFIX="${EPREFIX}/usr" distutils-r1_python_compile
+}
+
+python_test() {
+ EPYTEST_DESELECT=(
+ # TODO
+ zmq/tests/test_constants.py::TestConstants::test_draft
+ zmq/tests/test_cython.py::test_cython
+
+ # hangs often
+ zmq/tests/test_log.py::TestPubLog::test_blank_root_topic
+ )
+ EPYTEST_IGNORE=(
+ zmq/tests/test_mypy.py
+ )
+
+ cd "${BUILD_DIR}/lib" || die
+ epytest
+}
diff --git a/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild b/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
index 468a22a4b312..ace9788fb3b6 100644
--- a/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
+++ b/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
@@ -12,12 +12,15 @@ MY_PN=${PN/-/.}
MY_P=${MY_PN}-${PV}
DESCRIPTION="A tiny LRU cache implementation and decorator"
-HOMEPAGE="https://pypi.org/project/repoze.lru/"
+HOMEPAGE="
+ https://github.com/repoze/repoze.lru/
+ https://pypi.org/project/repoze.lru/
+"
SRC_URI="
https://github.com/repoze/repoze.lru/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
-S="${WORKDIR}/${MY_P}"
+S=${WORKDIR}/${MY_P}
LICENSE="repoze"
SLOT="0"
diff --git a/dev-python/requests-toolbelt/requests-toolbelt-0.9.1-r1.ebuild b/dev-python/requests-toolbelt/requests-toolbelt-0.9.1-r1.ebuild
new file mode 100644
index 000000000000..2dac958469f6
--- /dev/null
+++ b/dev-python/requests-toolbelt/requests-toolbelt-0.9.1-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A utility belt for advanced users of python-requests"
+HOMEPAGE="
+ https://toolbelt.readthedocs.io/
+ https://github.com/requests/toolbelt/
+ https://pypi.org/project/requests-toolbelt/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ <dev-python/requests-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/betamax[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( AUTHORS.rst HISTORY.rst README.rst )
+
+PATCHES=(
+ "${FILESDIR}/requests-toolbelt-0.8.0-test-tracebacks.patch"
+ "${FILESDIR}/requests-toolbelt-0.9.1-tests.patch"
+ "${FILESDIR}/requests-toolbelt-0.9.1-py310.patch"
+)
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/test_multipart_encoder.py::TestFileFromURLWrapper::test_no_content_length_header
+ tests/test_multipart_encoder.py::TestFileFromURLWrapper::test_read_file
+ tests/test_multipart_encoder.py::TestMultipartEncoder::test_reads_file_from_url_wrapper
+)
+
+EPYTEST_IGNORE=(
+ # certs have expired
+ # (if you ever fix this, look into git history for proper
+ # cryptography/pyopenssl logic)
+ tests/test_x509_adapter.py
+)
diff --git a/dev-python/routes/Manifest b/dev-python/routes/Manifest
index 319143004d09..1d24ad8f29b6 100644
--- a/dev-python/routes/Manifest
+++ b/dev-python/routes/Manifest
@@ -1 +1,3 @@
DIST Routes-2.5.1.tar.gz 190905 BLAKE2B e1498d0a26c7ebb1ee423ad211221f648d5bab4d37effac8c34a5f5189558a62c3ab34780f98f6a1620a261efc6085afd54f0827ac0e7a80217de7ae2226580a SHA512 06ec9a8426ced86524096703de47e3da2fa08bd0ed8c962d451b4338966804245b5074077021fb58a5afcb63acd6dcffa05a89703b8b54841a69a4cdff12b755
+DIST routes-2.5.1-pytest.patch 229759 BLAKE2B 826a053e82b5cae9996c73c56948b24b8c508b33440c60aea62d8d2dfa6461a43377ee1748c8852dd8c2527b0666e9c4c64e38eeaea22fc67ee9291ddcdffb6d SHA512 e6dba07207bf52b931e2369ad32450ebbfbc26571502b9b827b6200f4ce7cfc7b784e4685f9f11472bed63b3711af10ed9833eda35003cc2010924eeeaae4235
+DIST routes-2.5.1.gh.tar.gz 198777 BLAKE2B ca3487af94677889c5249b501fc6dc07e155dd4a862df4f1c8391154598a343ee35b7e8be2b5200bdb234b606a837c471af806c9dc8aa39796b4f4db04bbb164 SHA512 939aebac11f5499ea5c4009e016c52b8b161e7d67c4a540cdbf456cb3db5aec80a4054e7bec9862aaaa02559b081b09cf699c6508e1ac9acffbc5706acd56f30
diff --git a/dev-python/routes/routes-2.5.1-r1.ebuild b/dev-python/routes/routes-2.5.1-r1.ebuild
new file mode 100644
index 000000000000..32301a21ccee
--- /dev/null
+++ b/dev-python/routes/routes-2.5.1-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A re-implementation of Rails routes system, mapping URLs to Controllers/Actions"
+HOMEPAGE="
+ https://routes.readthedocs.io/en/latest/
+ https://github.com/bbangert/routes/
+ https://pypi.org/project/Routes/
+"
+SRC_URI="
+ https://github.com/bbangert/routes/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ https://github.com/bbangert/routes/pull/107.patch
+ -> ${P}-pytest.patch
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/repoze-lru-0.3[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/webob[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${DISTDIR}/${P}-pytest.patch"
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+ find tests -name '__init__.py' -delete || die
+}
diff --git a/dev-python/spyder-kernels/Manifest b/dev-python/spyder-kernels/Manifest
index 076a64b563b4..66f94783c8ef 100644
--- a/dev-python/spyder-kernels/Manifest
+++ b/dev-python/spyder-kernels/Manifest
@@ -1 +1,2 @@
DIST spyder-kernels-2.3.0.tar.gz 89425 BLAKE2B 60f9894ef83e1e4df828b35da4a1453721bfe4fe5f9c5655a120835e936a10c90cfc0431553b57e89e1a4cd81b5290709d9b0389bf961f29e5dfdc3caabeb190 SHA512 86b523b8c5a873ded6f222a42a0137143d134f1cdbe54a2d3d7019f4514eea9c117d7e56586092c568eda5eb101a7779b4e9b757d50649bb7ba314b1afaaa836
+DIST spyder-kernels-2.3.1.gh.tar.gz 89715 BLAKE2B 567101be14bc759a995b5753ecf129a1e3fb466a16e4d84d55cf19223d8e3bbd439bf519376bd0dfad13b076fcd29aa3f4f7ab66dfa2525f300e7842b7aa2bc7 SHA512 e8831204f242b68a8aff29f3e66c78f38a8b09542d651754c557af7333e7e3d9fa85ac1dd048972cd1f7eadedee3017afd5b2d012b1473b261603e9990ee12af
diff --git a/dev-python/spyder-kernels/spyder-kernels-2.3.1.ebuild b/dev-python/spyder-kernels/spyder-kernels-2.3.1.ebuild
new file mode 100644
index 000000000000..66743d87a677
--- /dev/null
+++ b/dev-python/spyder-kernels/spyder-kernels-2.3.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Kernels used by spyder on its ipython console"
+HOMEPAGE="
+ https://github.com/spyder-ide/spyder-kernels/
+ https://pypi.org/project/spyder-kernels/
+"
+SRC_URI="
+ https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ <dev-python/ipykernel-7[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.9.2[${PYTHON_USEDEP}]
+ >=dev-python/ipython-7.31.1[${PYTHON_USEDEP}]
+ <dev-python/jupyter_client-8[${PYTHON_USEDEP}]
+ >=dev-python/jupyter_client-7.3.1[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-22.1.0[${PYTHON_USEDEP}]
+ >=dev-python/wurlitzer-1.0.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/dask[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # we no longer package distributed
+ spyder_kernels/console/tests/test_console_kernel.py::test_dask_multiprocessing
+ # RuntimeError: There is no current event loop in thread 'MainThread'.
+ # https://bugs.gentoo.org/834893
+ spyder_kernels/console/tests/test_console_kernel.py::test_cwd_in_sys_path
+ spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing
+ spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing_2
+ spyder_kernels/console/tests/test_console_kernel.py::test_runfile
+ spyder_kernels/console/tests/test_console_kernel.py::test_np_threshold
+ spyder_kernels/console/tests/test_console_kernel.py::test_turtle_launch
+ spyder_kernels/console/tests/test_console_kernel.py::test_matplotlib_inline
+)
+
+python_prepare_all() {
+ # No additional test failures with ipython-8: 843251
+ sed -i -e "/ipython/s:,<8::" setup.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/typed-ast/Manifest b/dev-python/typed-ast/Manifest
index 9e3fd536c1a3..f7159225a2dd 100644
--- a/dev-python/typed-ast/Manifest
+++ b/dev-python/typed-ast/Manifest
@@ -1,3 +1,4 @@
DIST typed_ast-1.4.3.tar.gz 210893 BLAKE2B 9e0bbaac73d97c13303c783d4e91b015570d9b9ad74361e1bcfe67259982459003ea6c24602ce004fe1447c4375090d5fa58006e18af28da256f6b25d9aa20b1 SHA512 7ac06e277c883afd1a7161601ffca0114aa63db257695a4bf4c64d819a7192fe52167edb57991aefc7accc6a9902b5faf2ba9e4032c4b9be31f1db7a091607c9
DIST typed_ast-1.5.2.tar.gz 252310 BLAKE2B c36ab31e4c266de38a07935fc72ece62087bc52a6ebde401f9b2dcc641af064828572fa6e903dbdfb0c573ced10686b8dba995d316a5f7a7ee68efd3a4e9520c SHA512 7da72fc0c4fcb74cb41914765baea5c7f52b1e8a5c58883877e702765be59d3dd8c7f73bd5759a65781d04fdecbcf46160ff4402578a92685f25163e12b93558
DIST typed_ast-1.5.3.tar.gz 252510 BLAKE2B e258b6c931d31a528091be2e5f7f9bf55f7fa48a14221a95e77924c18879480a34cd8293f9c1125810a43ab001195da2b36637aaee2c9b895b346cc94cab6577 SHA512 481fffc79d99f1f7c0009a9a4f9151745d17269827ea6306f35a015dc9e4cc3d85068948e157076fecff87d9301c18f637edfe7f26d63779ccfe38bf10105969
+DIST typed_ast-1.5.4.tar.gz 252491 BLAKE2B 07a97a881cd4c015897ca85e0b46acd6f63c48dbc69f4d73ad5e3bfd42b1b995a614d97b81c8d21c8d5dcbdddc838bffde033e11b55d866fa8e8db0aa8048731 SHA512 1ff27316d8e07219ad5b3744c167b7a7dfebb992f8ebc4623bf510f8b5d2b939cc9f659428e3228a42cdec0e63215cca973458aa914f2efdc59d5f33c150e153
diff --git a/dev-python/typed-ast/typed-ast-1.5.4.ebuild b/dev-python/typed-ast/typed-ast-1.5.4.ebuild
new file mode 100644
index 000000000000..a46fa1d92b58
--- /dev/null
+++ b/dev-python/typed-ast/typed-ast-1.5.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python typed-ast backported"
+HOMEPAGE="
+ https://github.com/python/typed_ast/
+ https://pypi.org/project/typed-ast/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/_}/${P/-/_}.tar.gz"
+S="${WORKDIR}/${P/-/_}"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ epytest
+}
diff --git a/dev-python/zc-lockfile/zc-lockfile-2.0-r1.ebuild b/dev-python/zc-lockfile/zc-lockfile-2.0-r1.ebuild
new file mode 100644
index 000000000000..84400dd28082
--- /dev/null
+++ b/dev-python/zc-lockfile/zc-lockfile-2.0-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${PN/-/.}-${PV}
+DESCRIPTION="Basic inter-process locks"
+HOMEPAGE="
+ https://github.com/zopefoundation/zc.lockfile/
+ https://pypi.org/project/zc.lockfile/
+"
+SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGES.rst README.rst )
+
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ # rdep is only needed for namespace
+ sed -i -e '/install_requires.*setuptools/d' setup.py || die
+ # use implicit namespace
+ sed -i -e '/namespace_packages/d' setup.py || die
+ # do not install README into site-packages
+ sed -e '/^ include_package_data/d' -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${EPYTHON}" -m unittest zc.lockfile.tests -v || die
+}