summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-08-20 01:36:08 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-08-20 01:36:08 +0000
commit38ea1b0cda4791d9b67ddeb635faf4b08d263a8b (patch)
treeb7af8ff1bcd5d3ee3e7e8824f064b6e73f00d403 /dev-python
parent0be351ceb731a3a6d158b0199ae12faf02d8c138 (diff)
downloadbaldeagleos-repo-38ea1b0cda4791d9b67ddeb635faf4b08d263a8b.tar.gz
baldeagleos-repo-38ea1b0cda4791d9b67ddeb635faf4b08d263a8b.tar.xz
baldeagleos-repo-38ea1b0cda4791d9b67ddeb635faf4b08d263a8b.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/QtPy/Manifest1
-rw-r--r--dev-python/QtPy/QtPy-1.10.0.ebuild158
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.18.25.ebuild57
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.21.25.ebuild59
-rw-r--r--dev-python/flexmock/Manifest1
-rw-r--r--dev-python/flexmock/files/flexmock-0.10.6-fix-with_args-sys.stdout.write.patch60
-rw-r--r--dev-python/flexmock/flexmock-0.10.6.ebuild27
-rw-r--r--dev-python/google-auth/Manifest1
-rw-r--r--dev-python/google-auth/google-auth-2.0.1.ebuild50
-rw-r--r--dev-python/httpx/Manifest1
-rw-r--r--dev-python/httpx/httpx-0.19.0.ebuild59
-rw-r--r--dev-python/jupyter_client/Manifest1
-rw-r--r--dev-python/jupyter_client/jupyter_client-7.0.0.ebuild35
-rw-r--r--dev-python/mediafile/Manifest1
-rw-r--r--dev-python/mediafile/mediafile-0.7.0.ebuild24
-rw-r--r--dev-python/mediafile/metadata.xml4
-rw-r--r--dev-python/mkdocs-material/Manifest1
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-7.2.4.ebuild33
-rw-r--r--dev-python/oslo-context/Manifest1
-rw-r--r--dev-python/oslo-context/oslo-context-3.3.1.ebuild28
-rw-r--r--dev-python/oslo-serialization/Manifest1
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-4.2.0.ebuild43
-rw-r--r--dev-python/oslo-utils/Manifest1
-rw-r--r--dev-python/oslo-utils/oslo-utils-4.10.0.ebuild47
-rw-r--r--dev-python/pytest-httpx/Manifest1
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.13.0.ebuild29
-rw-r--r--dev-python/python-dotenv/python-dotenv-0.18.0-r1.ebuild2
-rw-r--r--dev-python/qrcode/Manifest1
-rw-r--r--dev-python/qrcode/qrcode-7.3.ebuild28
-rw-r--r--dev-python/ruamel-yaml/Manifest1
-rw-r--r--dev-python/ruamel-yaml/ruamel-yaml-0.17.11.ebuild47
-rw-r--r--dev-python/simplejson/Manifest1
-rw-r--r--dev-python/simplejson/simplejson-3.17.2-r1.ebuild27
-rw-r--r--dev-python/simplejson/simplejson-3.17.3.ebuild2
-rw-r--r--dev-python/spyder-terminal/Manifest1
-rw-r--r--dev-python/spyder-terminal/spyder-terminal-1.1.0.ebuild24
-rw-r--r--dev-python/sshtunnel/sshtunnel-0.3.1.ebuild3
-rw-r--r--dev-python/stevedore/Manifest1
-rw-r--r--dev-python/stevedore/stevedore-3.4.0.ebuild38
-rw-r--r--dev-python/test_server/files/test_server-0.0.31-fix-py3.10.patch20
-rw-r--r--dev-python/test_server/metadata.xml2
-rw-r--r--dev-python/test_server/test_server-0.0.31.ebuild20
-rw-r--r--dev-python/translate-toolkit/Manifest1
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.4.0.ebuild94
-rw-r--r--dev-python/uvicorn/uvicorn-0.14.0-r1.ebuild2
-rw-r--r--dev-python/watchdog/Manifest1
-rw-r--r--dev-python/watchdog/watchdog-2.1.4.ebuild43
-rw-r--r--dev-python/webtest/Manifest1
-rw-r--r--dev-python/webtest/webtest-3.0.0.ebuild41
-rw-r--r--dev-python/wstools/files/wstools-0.4.8-fix-py3.10.patch29
-rw-r--r--dev-python/wstools/wstools-0.4.8.ebuild17
-rw-r--r--dev-python/wurlitzer/Manifest1
-rw-r--r--dev-python/wurlitzer/wurlitzer-3.0.0.ebuild23
55 files changed, 1140 insertions, 57 deletions
diff --git a/dev-python/QtPy/Manifest b/dev-python/QtPy/Manifest
index b8374d6358e3..81011542f986 100644
--- a/dev-python/QtPy/Manifest
+++ b/dev-python/QtPy/Manifest
@@ -1 +1,2 @@
+DIST QtPy-1.10.0.tar.gz 34339 BLAKE2B cbae5eb38bf8ee4ab1528bca0afa93c57b70f48eb44639eac04344f4bbef28a4277bd3727ed5ac25f8ef18cc5391fafd33bb8ea42037eabee10cd4d13d7d3d1c SHA512 5ca326ae64cc85b48b02daa344d23387a9165a0097d59c31d921c7f67141afe31dad8a46abd0b201b31446f97405d7dce4dacd936b24c5faf9484dc37665e974
DIST QtPy-1.9.0.tar.gz 35522 BLAKE2B 05b700c1f804cc535c3065c8f819d1d7fb0e02d43f199082d2e0d2c575ff8dbfdbf0053ddb3b155108cf55350ff4daf75166ab39a60374a35a86a1707724a4a1 SHA512 2492c531f0df3afc9e0f8875a2b2e39cc8b09542fb9f251900b8596c0db7767390bb85365cc39efd6cd37ae852a00655354e6f9f3d795023e4fd86dbf8bd5fa7
diff --git a/dev-python/QtPy/QtPy-1.10.0.ebuild b/dev-python/QtPy/QtPy-1.10.0.ebuild
new file mode 100644
index 000000000000..5f2bc916bd7b
--- /dev/null
+++ b/dev-python/QtPy/QtPy-1.10.0.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Abstraction layer on top of PyQt5 and PySide2 and additional custom QWidgets"
+HOMEPAGE="https://github.com/spyder-ide/qtpy/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+_IUSE_QT_MODULES="
+ declarative designer gui help location multimedia network opengl
+ positioning printsupport sensors serialport speech sql svg testlib
+ webchannel webengine websockets widgets x11extras xml xmlpatterns
+"
+IUSE="+pyqt5 pyside2 ${_IUSE_QT_MODULES}"
+unset _IUSE_QT_MODULES
+
+# PySide2 does not support python3_10, nor is it likely that it will in the
+# future since upstream appears to be focussing on PySide6 for Qt6 instead
+# (which is compatible with python3_10). So if we want to use python3_10
+# we have to force disable pyside2.
+REQUIRED_USE="
+ || ( pyqt5 pyside2 )
+ python_targets_python3_10? ( pyqt5 !pyside2 )
+"
+
+# These flags are currently *not* common to both the PySide2 and PyQt5 ebuild
+# Disable them for now, please check periodically if this is still up to date.
+# bluetooth? ( pyqt5 )
+# dbus? ( pyqt5 )
+#
+# 3d? ( pyside2 )
+# charts? ( pyside2 )
+# concurrent? ( pyside2 )
+# datavis? ( pyside2 )
+# scxml? ( pyside2 )
+# script? ( pyside2 )
+# scripttools? ( pyside2 )
+
+# WARNING: the obvious solution of using || for PyQt5/pyside2 is not going
+# to work. The package only checks whether PyQt5/pyside2 is installed, it does
+# not verify whether they have the necessary modules (i.e. satisfy the USE dep).
+#
+# Webengine is a special case, because PyQt5 provides this in a separate package
+# while PySide2 ships it in the same package.
+#
+# declarative/qml/quick is a special case, because PyQt5 bundles the bindings
+# for qml and quick in one flag: declarative PySide2 does not.
+#
+# The PyQt5 ebuild currently enables xml support unconditionally, the flag is
+# added anyway with a (+) to make it future proof if the ebuild were to change
+# this behaviour in the future.
+#
+# The PySide2 ebuild currently enables opengl and serialport support
+# unconditionally, the flag is added anyway with a (+) to make it future proof
+# if the ebuild were to change this behaviour in the future.
+RDEPEND="
+ pyqt5? (
+ dev-python/PyQt5[${PYTHON_USEDEP}]
+ dev-python/PyQt5[declarative?,designer?,gui?,help?,location?]
+ dev-python/PyQt5[multimedia?,network?,opengl?,positioning?]
+ dev-python/PyQt5[printsupport?,sensors?,serialport?,speech(-)?,sql?,svg?]
+ dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?]
+ dev-python/PyQt5[x11extras?,xml(+)?,xmlpatterns?]
+ webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] )
+ )
+ pyside2? (
+ $(python_gen_cond_dep '
+ dev-python/pyside2[${PYTHON_USEDEP}]
+ dev-python/pyside2[designer?,gui?,help?,location?,multimedia?]
+ dev-python/pyside2[network?,opengl(+)?,positioning?,printsupport?]
+ dev-python/pyside2[sensors?,serialport(+)?,speech?,sql?,svg?]
+ dev-python/pyside2[testlib?,webchannel?,webengine?,websockets?]
+ dev-python/pyside2[widgets?,x11extras?,xml?,xmlpatterns?]
+ declarative? ( dev-python/pyside2[qml,quick] )
+ ' python3_{7..9} )
+ )
+"
+
+# The QtPy testsuite skips tests for bindings that are not installed, so here we
+# ensure that everything is available and all tests are run. Note that not
+# all flags are available in PyQt5/PySide2, so some tests are still skipped.
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ pyqt5? (
+ dev-python/PyQt5[${PYTHON_USEDEP}]
+ dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location]
+ dev-python/PyQt5[multimedia,network,opengl,positioning,printsupport]
+ dev-python/PyQt5[sensors,serialport,speech(-),sql,svg,testlib,webchannel]
+ dev-python/PyQt5[websockets,widgets,x11extras,xml(+),xmlpatterns]
+ dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
+ )
+ pyside2? (
+ $(python_gen_cond_dep '
+ dev-python/pyside2[${PYTHON_USEDEP}]
+ dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help]
+ dev-python/pyside2[location,multimedia,network,opengl(+),positioning]
+ dev-python/pyside2[printsupport,qml,quick,script,scripttools,scxml]
+ dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib]
+ dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras]
+ dev-python/pyside2[xml,xmlpatterns]
+ ' python3_{7..9} )
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+ # Disale Qt for Python implementations that are not selected
+ if ! use pyqt5; then
+ sed -i -e "s/from PyQt5.QtCore import/raise ImportError #/" qtpy/__init__.py || die
+ fi
+ if ! use pyside2; then
+ sed -i -e "s/from PySide2 import/raise ImportError #/" qtpy/__init__.py || die
+ sed -i -e "s/from PySide2.QtCore import/raise ImportError #/" qtpy/__init__.py || die
+ fi
+
+ # Disable outdated PyQt4 and PySide
+ sed -i -e "s/from PyQt4.Qt import/raise ImportError #/" qtpy/__init__.py || die
+ sed -i -e "s/from PyQt4.QtCore import/raise ImportError #/" qtpy/__init__.py || die
+ sed -i -e "s/from PySide import/raise ImportError #/" qtpy/__init__.py || die
+ sed -i -e "s/from PySide.QtCore import/raise ImportError #/" qtpy/__init__.py || die
+}
+
+src_test() {
+ virtx python_foreach_impl python_test
+}
+
+python_test() {
+ if use pyqt5; then
+ QT_API="pyqt5" epytest
+ fi
+ if use pyside2; then
+ if [[ "${EPYTHON}" == "python3.10" ]]; then
+ return
+ else
+ QT_API="pyside2" epytest
+ fi
+ fi
+}
+
+pkg_postinst() {
+ if use pyqt5 && use pyside2; then
+ ewarn "You have enabled both PyQt5 and PySide2, note that QtPy will default"
+ ewarn "to PyQt5 unless the QT_API environment variable overrides this."
+ fi
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index b3c42005eb63..28e73224158a 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,4 +1,5 @@
DIST boto3-1.18.15.tar.gz 400374 BLAKE2B 2170319480578b9ac7b6c0da9e9a2f256ce907b8e53bc626bf26fd65f3336ec1974d6dd1917f601fe139e859f144fafd198b2578ffb9097508f09dd40cf82313 SHA512 f330d8249c9f5749770ba5809f3a4fb524f23fc0545b24182023a3b74f815608bdb9986b434d972a017aa7786b1319705e8702b041174275f84a0266bdb7b857
DIST boto3-1.18.21.tar.gz 402611 BLAKE2B 39974c66ed5ad0697be6df04dbb141ce28e9a09863349f7adfcf756666d58ed02232453a9d86d46e62380c0b7f197a52b6869469309dff0c532e50a6bfc88403 SHA512 9920891b7be9d98c3a3d2f3065183532624e78fd2ff7a94d26594d2499cd5d17db0ac4ba6adf27f0e0f67fa836020dfac648babc144e4339a3dd717a1bd56ef7
DIST boto3-1.18.24.tar.gz 404333 BLAKE2B fd0857a3462485a8cb633888ad6cae1578f32f7ef80ca5195e4b4953d2a4767baa41ce824eda5cb71211675529eb54b7d8d3ad42f1ec79a0b2cef847b13cdaee SHA512 c3e67c62bdf24d177c27d187eacb1118a7f221cb0143c72c6307af489bf9fe5358e2bde9f7d5f03ef9782a50faa17f31e57832ebc2f5dc73d1278c3eefc6cc3b
+DIST boto3-1.18.25.tar.gz 404826 BLAKE2B 629a7c76ec4125c93a57f5e103d0b6e5fe360038bfc73a87369a035b321b6b143cc61fb2092f70f2dc6b07f6444180e64cafeb2e31a8f1e73b195abe06979c52 SHA512 a8f2c1a6248a75f67848bf75970535c71c098bb326ab9e344d7ab53e02562383be7acb0b41a18bc031459e0751e62bf29c3db17242ea4ebf0d7f88636251872a
DIST boto3-1.18.7.tar.gz 395640 BLAKE2B 6a9fa1dd55644806fe93271805f35fbe0c4cb65d1de08dded2d2f57fcefa96e32c4ebe7b60743c52c0898222bc06d33dbd03d304bbef327b88022450a7943e2c SHA512 20e7fedab7d061ab02f391e9baf36cb554e7f194f38d24d5a75f76715b2acf1b51b6adce5d8cf5a2a0d29df73566db00b8813a219d45a194d9a8eb93d0dab570
diff --git a/dev-python/boto3/boto3-1.18.25.ebuild b/dev-python/boto3/boto3-1.18.25.ebuild
new file mode 100644
index 000000000000..bee358e1c595
--- /dev/null
+++ b/dev-python/boto3/boto3-1.18.25.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="https://github.com/boto/boto3"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/boto3"
+ inherit git-r3
+ BOTOCORE_PV=${PV}
+else
+ SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ # botocore is x.(y+3).z
+ BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+distutils_enable_tests nose
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # prevent an infinite loop
+ rm tests/functional/docs/test_smoke.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests -v tests/unit/ tests/functional/ ||
+ die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index fc158a577056..dc4e28aacb30 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,4 +1,5 @@
DIST botocore-1.21.15.tar.gz 8012673 BLAKE2B cdd2b4128e67c85879e85f61265b10c1e5765eebf65333059af56a6a5b1d650a7612c4b569afde2396704015294e74b717c35d49c3e08396b2c603b7d47c632b SHA512 a5916ffa64568b2040d6f76571d9d716d50339fdaaed61f4ff7be92a5dac2c3f967280330fcbd3d6c2e1c1faf7bd6012ce75dd66ff26fde9d830d334a9d7c45a
DIST botocore-1.21.21.tar.gz 8042971 BLAKE2B 888abb929e1d66c293bff9d3d25682590e0fce3173ca6e121b969d1ef92dd4bb3fd010f72ab4bed664ed6e2df94fd61a9211a3aad72742eb1d4ee2b192cb4f7d SHA512 f8f47c2a2ed07f90263fd5eefe593bf14e8bb2a8df599660f2c84c504a16eb1c370ff8edea0b809be34f1fe9c7e8a3d604b74689b9e16c0686e6ff7c640534a4
DIST botocore-1.21.24.tar.gz 8048949 BLAKE2B 2948da75d445114d5489d3f7cef1d8bef9324da8699f69092eeb4c65a9be0fd82aae4ee97498f09d7cac05e33bc53fbd6720849a309c5edad96eba5450b45cd0 SHA512 6c205a0c27f9602580de7fbacee476b2855599bdd017f3c010f07b8f48a2ffd6acbce48f661d22ef0ebe30baba9db1ae65b1bea6afa3ae1a1c3add92abbd1478
+DIST botocore-1.21.25.tar.gz 8063998 BLAKE2B b3e4563cd36825468b6c7755fa101d13260519240b856fa26166d5bb034352431a29e816dc9e7d60f4c10e9d3b5fd152342749cc19a75a9c35ba228023da3f48 SHA512 cf91fc16047d0168d743db5bd95003a2ae06dc72ca586c622690e8c7be546bca050ba81eaf49fd860eb42e3a0046ef99e3927772b6893ddfdaf57a1071489714
DIST botocore-1.21.7.tar.gz 7977343 BLAKE2B 19c5bf5de40ab131585e30bb85486fcffc3428808811b312b33578174ce31a691f4f4d955462120f05d2aad2cd5e5772789704eee641760fb67099aa3cddc9b5 SHA512 db1bb36faa6857a1cc717e5d591954415bb948178ee2be90ab9c32c11b1fb45c5b5aff87dfacd907c2f11bc7cdd2cd4de2ee9c847fa8cda4e5f0814a828b1019
diff --git a/dev-python/botocore/botocore-1.21.25.ebuild b/dev-python/botocore/botocore-1.21.25.ebuild
new file mode 100644
index 000000000000..5684261bd4b3
--- /dev/null
+++ b/dev-python/botocore/botocore-1.21.25.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="https://github.com/boto/botocore"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/botocore"
+ inherit git-r3
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/jmespath[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/1.8.6-tests-pass-all-env-vars-to-cmd-runner.patch"
+)
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+distutils_enable_tests nose
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+ # very unstable
+ sed -i -e 's:test_stress_test_token_bucket:_&:' \
+ tests/functional/retries/test_bucket.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # note: suites need to be run separately as one of the unit tests
+ # seems to be leaking mocks and breaking a few functional tests
+ nosetests -v tests/unit ||
+ die "unit tests failed under ${EPYTHON}"
+ nosetests -v tests/functional ||
+ die "functional tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/flexmock/Manifest b/dev-python/flexmock/Manifest
index d324f235d092..187d09bbe454 100644
--- a/dev-python/flexmock/Manifest
+++ b/dev-python/flexmock/Manifest
@@ -1 +1,2 @@
DIST flexmock-0.10.4.tar.gz 45362 BLAKE2B 4ff79cff3b0d8fb0c97bd60b0d5aa5555a7b939d3d6275a17c9bd1002b1d7acb53d4f63f5f834faf0d349d8b8d429eb063f121c4d7b6d12aa1bb3e7bdbadb861 SHA512 d190fcb66f0c2c4e3be2384d68b95a22c695ffa0fe8f8a218f2baa68c91683641396197cac69ddab21e4b0990b9930f56423bb7cd85770ceade9c22ece72cedc
+DIST flexmock-0.10.6.tar.gz 46740 BLAKE2B b5c8083694e8787e85ff0f41265ad9f716a4c82d274ca5c793b6d93bf8bf28f3e57afd33f7ba59149e75f7bffbebd3843901dfa75caaefc6f76f3eef0c603314 SHA512 2ebaed78926f01bd4d886a509d978d0de04629f7d96c48f846b8ccf7906bb2303e7cbeab8226c6eb98d058f940434144cc2d6300d6aa2533f1f217788211490e
diff --git a/dev-python/flexmock/files/flexmock-0.10.6-fix-with_args-sys.stdout.write.patch b/dev-python/flexmock/files/flexmock-0.10.6-fix-with_args-sys.stdout.write.patch
new file mode 100644
index 000000000000..0c3988e41788
--- /dev/null
+++ b/dev-python/flexmock/files/flexmock-0.10.6-fix-with_args-sys.stdout.write.patch
@@ -0,0 +1,60 @@
+From 020ebef66523e9496f8042beb9384f3f770a6412 Mon Sep 17 00:00:00 2001
+From: Arthur Zamarin <arthurzam@gentoo.org>
+Date: Thu, 19 Aug 2021 20:39:04 +0300
+Subject: [PATCH] Fix with_args not working with sys.stdout.write
+
+https://github.com/flexmock/flexmock/commit/513265e731fc4daceeb19123a4e71d652b990a1a
+
+Backported to 0.10.6 by Arthur Zamarin <arthurzam@gentoo.org>
+
+--- a/flexmock.py
++++ b/flexmock.py
+@@ -254,13 +254,13 @@ class Expectation(object):
+ # - it's not a static method
+ # - the mocked object is a module - module "methods" are in fact plain functions;
+ # unless they're classes, which means they still have __init__
+- is_method = ((inspect.ismethod(self.original) or inspect.isfunction(self.original)
+- or _isclass(self.original)) and
+- self.method_type is not staticmethod and
+- (not isinstance(self._mock, types.ModuleType) or
+- _isclass(self.original)))
++ is_builtin_method = isinstance(self.original, types.BuiltinMethodType)
++ is_method = inspect.ismethod(self.original) and self.method_type is not staticmethod
++ is_class = inspect.isclass(self.original)
++ is_class_method = (inspect.isfunction(self.original) and inspect.isclass(self.mock)
++ and self.method_type is not staticmethod)
+ args_len = len(allowed.args)
+- if is_method:
++ if is_builtin_method or is_method or is_class or is_class_method:
+ args_len -= 1
+ minimum = args_len - (allowed.defaults and len(allowed.defaults) or 0)
+ maximum = None
+--- a/tests/flexmock_test.py
++++ b/tests/flexmock_test.py
+@@ -17,6 +17,7 @@ from flexmock import ReturnValue
+ from flexmock import flexmock_teardown
+ from flexmock import _format_args
+ from flexmock import _isproperty
++import random
+ import flexmock
+ import re
+ import sys
+@@ -308,6 +309,15 @@ class RegularClass(object):
+ assertEqual('got an int', mock.method_foo(23))
+ assertRaises(MethodSignatureError, mock.method_foo, 2.0)
+
++ def test_with_args_should_work_with_builtin_c_functions_and_methods(self):
++ flexmock(sys.stdout).should_call("write") # set fall-through
++ flexmock(sys.stdout).should_receive("write").with_args("flexmock_builtin_test").once()
++ sys.stdout.write("flexmock_builtin_test")
++
++ def test_with_args_should_work_with_builtin_python_methods(self):
++ flexmock(random).should_receive("randint").with_args(1, 10).once()
++ random.randint(1, 10)
++
+ def test_flexmock_should_match_expectations_against_user_defined_classes(self):
+ mock = flexmock(name='temp')
+
+--
+2.33.0
+
diff --git a/dev-python/flexmock/flexmock-0.10.6.ebuild b/dev-python/flexmock/flexmock-0.10.6.ebuild
new file mode 100644
index 000000000000..361ac374cbc0
--- /dev/null
+++ b/dev-python/flexmock/flexmock-0.10.6.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Testing library to create mocks, stubs and fakes"
+HOMEPAGE="https://flexmock.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-with_args-sys.stdout.write.patch"
+)
+
+python_install_all() {
+ distutils-r1_python_install_all
+ dodoc -r docs
+}
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index 4ff5d583d2b5..6afb2ca440e9 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -2,3 +2,4 @@ DIST google-auth-1.32.1.tar.gz 171621 BLAKE2B e82f4666a38d3dbaa4aa4a4d5192afb711
DIST google-auth-1.34.0.tar.gz 180860 BLAKE2B d536d689ff5b0c033f787228d643504d1888f0b73a9c6855fe4fae3af20772ef0640feca39c58c39f45681561dce6d5f3ec1d1f7d9699442fff0ec63fd019361 SHA512 7c3b64e8f85056fb660bbfd4f737053813a1e5b8aba52290882a0ddb9d9fd8c5365b767c78dd1e7859ef95caa6e653786d5a8747c8792bbee9c6fad1a5218910
DIST google-auth-1.35.0.tar.gz 181504 BLAKE2B 3994650c1931f98bebe3299a61660462370c81db4f281bf67db5fc41ec8964a50b7cde1a72b9c8d34a9220a9f6018608b83705cb6e853cd1797740b569023555 SHA512 7dcaa202b36e18679ea85ffbb1fdb204f1a5b28eabf158dbde96e1a783b034bf424b801ba63609678bb275a2bbf92aedf019e6dec06fc90f5968e3d5d41191f0
DIST google-auth-2.0.0.tar.gz 180337 BLAKE2B e262ba19e41a8216c8ccc7f50ce9beb25764809853e9dc49900c7edacee4adfe255d307a503768ed257f9843ded01620aeff89e4cf0e9abf8e987e75f0eef8a5 SHA512 21f7adfd07ef5abe2dc2da9fb2b5c660157be6645b039510e14e3f80f6e39561f2a679c7e948d14ca96173da87c920adbfaaeb4c4877e8504bec638b318528cd
+DIST google-auth-2.0.1.tar.gz 180467 BLAKE2B a7490931ea8cdec0978103d9bb4da11bebff1e623d847db5fb30a0a7ef1827902b4d5683835631b645e61d4282614e3efc798bedc13a581ba35d51838a64ff96 SHA512 a68f78a7d67beb4d3d00333f6953decd92e1d346aee6491c401ee091d2fb4bbac47b9ecc46f7063119724a49f15ea13c096994e5266d30975500194b9c4a9df0
diff --git a/dev-python/google-auth/google-auth-2.0.1.ebuild b/dev-python/google-auth/google-auth-2.0.1.ebuild
new file mode 100644
index 000000000000..5dbfea8e2d83
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.0.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/cachetools-2.0.0[${PYTHON_USEDEP}]
+ dev-python/namespace-google[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+ "
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/grpcio[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/oauth2client[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ distutils-r1_python_install_all
+ find "${ED}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/httpx/Manifest b/dev-python/httpx/Manifest
index 31ae52b9c22a..fb87c3c7508a 100644
--- a/dev-python/httpx/Manifest
+++ b/dev-python/httpx/Manifest
@@ -1 +1,2 @@
DIST httpx-0.18.2.tar.gz 1666756 BLAKE2B 3d1e25d503ae5306150c157bc83afdac9a475110d042e041b58de448a0dcfd75de3f4c15836b838dc799cd5f8b7e0d646e43bbe107ffad87d51ff016afe585cd SHA512 727974e5d5924fdd653987dd4f528d27bb2653085b01ef5efcdac39dc92ef2ed586f872c202349aa31105ad970cff914de4315c2d79338a6aa18bebb8126f392
+DIST httpx-0.19.0.tar.gz 1667455 BLAKE2B b8d4cb0b6e7f643b62b507930ccf1534d73d93261cab9281ef57d6392f00da325e897d5339aebacfa07aeae8278d3a81b78d6501a1587ffeaef68cc5087bfdaa SHA512 3b327f07d62cf0430672d4f1a4f884618e588496f049522de327f5c34f7260eb21739b7f1fbd6f43a21962bc8737547f3eddbc22751546647f56c9cd7212840a
diff --git a/dev-python/httpx/httpx-0.19.0.ebuild b/dev-python/httpx/httpx-0.19.0.ebuild
new file mode 100644
index 000000000000..ee27195bc7de
--- /dev/null
+++ b/dev-python/httpx/httpx-0.19.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Docs builder mkdocs not keyworded on all these arches yet
+# DOCS_BUILDER="mkdocs"
+# DOCS_DEPEND="dev-python/mkdocs-material"
+# DOCS_AUTODOC=1
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1 # docs
+
+DESCRIPTION="Fully-featured HTTP client which provides sync and async APIs"
+HOMEPAGE="https://www.python-httpx.org/"
+SRC_URI="https://github.com/encode/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/charset_normalizer[${PYTHON_USEDEP}]
+ dev-python/sniffio[${PYTHON_USEDEP}]
+ =dev-python/httpcore-0.13*[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-1.3[${PYTHON_USEDEP}]
+ <dev-python/rfc3986-2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/hyper-h2[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # trio does not support py3.10
+ sed -i '/^import trio/d' tests/concurrency.py || die
+ sed -i '/pytest.param("trio", marks=pytest.mark.trio)/d' tests/conftest.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local deselect=(
+ # Internet
+ tests/client/test_proxies.py::test_async_proxy_close
+ tests/client/test_proxies.py::test_sync_proxy_close
+ )
+
+ epytest ${deselect[@]/#/--deselect }
+}
diff --git a/dev-python/jupyter_client/Manifest b/dev-python/jupyter_client/Manifest
index aeab6a212aa7..c085884a134e 100644
--- a/dev-python/jupyter_client/Manifest
+++ b/dev-python/jupyter_client/Manifest
@@ -1 +1,2 @@
DIST jupyter_client-6.1.12.tar.gz 301499 BLAKE2B 8041b84ad2e89413ee60d1aee2e49a67a89b5aad1c3118c8fa7d7d719c8ec2acbc72278c9aaea095cdcb89235800d09b1792b2138c09a4aad59ceaaf695af431 SHA512 f31ff1a24b264c32d35d07491785e1d77935cdb463243e90e4aadcb0a093a074cdce75f01662591766588f39b146077639ca697f71157309dc92f12ae04d5cdd
+DIST jupyter_client-7.0.0.tar.gz 317271 BLAKE2B 446b0b5dfea840a2faf25445217d870654836cd1e63057d9fb8e596960da1528684ec51b452d1059ab83317ff9da3c65cf5c8b14c3f2cfbba7dbcfdeec0e31b5 SHA512 dadcd06a4c63e441c60edc9fb8ed49d14a1309822042d7f8cbc48943d394da720117ca829fe38e419f775025cdb01227e47f077f89f8ce5403efbeb1a1d1ef2c
diff --git a/dev-python/jupyter_client/jupyter_client-7.0.0.ebuild b/dev-python/jupyter_client/jupyter_client-7.0.0.ebuild
new file mode 100644
index 000000000000..55d2e029c1b8
--- /dev/null
+++ b/dev-python/jupyter_client/jupyter_client-7.0.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+PYTHON_REQ_USE="threads(+)"
+inherit distutils-r1
+
+DESCRIPTION="Jupyter protocol implementation and client libraries"
+HOMEPAGE="https://jupyter.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/entrypoints[${PYTHON_USEDEP}]
+ >=dev-python/jupyter_core-4.6.0[${PYTHON_USEDEP}]
+ >=dev-python/nest_asyncio-1.5[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-14.4.0[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.1[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mediafile/Manifest b/dev-python/mediafile/Manifest
index 2535c3c61894..5754dfa254f5 100644
--- a/dev-python/mediafile/Manifest
+++ b/dev-python/mediafile/Manifest
@@ -1 +1,2 @@
DIST mediafile-0.6.0.tar.gz 509351 BLAKE2B 5b8d97be6bd7becd44053d2d1b855252161779d5a01e8fea29443db0b3f524ba3b58dfa372b48451da76672ea5fdb521cd8a2a5c6c110d37e637dcfefbc0842b SHA512 7fd7d8a1d53311c22835041c39413d9dc7e1b4d8afc94a8c578aa4de7f65361f6c998062bb1b2804cae1f672c6b8e7c109fcc3e459e2266b8f19a0bde8673945
+DIST mediafile-0.7.0.tar.gz 511379 BLAKE2B 7248d72a45bcea59937d0098fa3ee7458852ab9e4663ed3ba6582b5671531154dc7d3f820a20cf10d1bfe2e594ea202fc2825ac8aba683df08707d2cdb52d9c2 SHA512 5b43aae6066e2122bc37cbdbfda04406d3f4da074df5512a5def9c1ca96ce96163b73d7c7d335518a4a7a41a9d5f195a0e371e908264b6040d3494e9827ccd81
diff --git a/dev-python/mediafile/mediafile-0.7.0.ebuild b/dev-python/mediafile/mediafile-0.7.0.ebuild
new file mode 100644
index 000000000000..84e0e6129056
--- /dev/null
+++ b/dev-python/mediafile/mediafile-0.7.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+DISTUTILS_USE_SETUPTOOLS=pyproject.toml
+inherit distutils-r1
+
+DESCRIPTION="Read and write audio files' tags in Python"
+HOMEPAGE="https://github.com/beetbox/mediafile"
+SRC_URI="https://github.com/beetbox/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=media-libs/mutagen-1.45.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
diff --git a/dev-python/mediafile/metadata.xml b/dev-python/mediafile/metadata.xml
index 68e69da72d04..55f946ef44a7 100644
--- a/dev-python/mediafile/metadata.xml
+++ b/dev-python/mediafile/metadata.xml
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<longdescription lang="en">
MediaFile is a simple interface to the metadata tags for many audio
file formats. It wraps Mutagen, a high-quality library for low-level
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index 11aac5b1560a..3887b6160cfb 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1,2 +1,3 @@
DIST mkdocs-material-7.1.9.tar.gz 6492415 BLAKE2B 67a86251289126320088dde4611ea1c1e75543e7edcb2f737dfcf21844f53a3457544716cded44f0954c2658cb107e5cae589efa2c71ee07151a39ed0f28401f SHA512 1a4296ff692842e61406b24ac50b1c02550a2581040611c263aa744c98031a54c6f380e6f655aa477f98d7507d2e8649434fc981928e9d27f09df71cccd22ecd
DIST mkdocs-material-7.2.2.tar.gz 6777834 BLAKE2B 09c5ee5e0e0cef76ca66c8d86941fa044f2650d621a194991f279c09dd64c81c96bdfbe7d37eee5fe0e3837fc6461e7abad3537d92f3fdd178078485665088b5 SHA512 5332246103eb3007df3d2fd7ead4f2f60ce29c0e8a2bef6249db3e14a8e0ce1b2cdaffe4f48f57701d07a1771e275c69a79006ec53cfacff1a885894076188fb
+DIST mkdocs-material-7.2.4.tar.gz 6803091 BLAKE2B 377adcdaa2d24248f0430327a2a4b23fdae6f379ac23f6f609d50dc9c1699e13a92e925d9df24ec8298384228abd8c66c487afafc357edfc83da9c0e2897f422 SHA512 ba5c3a2e95eb32d2f2a3027a1cec7a54c9bdf655b51308e519e57d06fc8475ab74e2905dfeaef9bd1029e7814e5bc6c7610cce0526773bfcd3a92a995ba25c40
diff --git a/dev-python/mkdocs-material/mkdocs-material-7.2.4.ebuild b/dev-python/mkdocs-material/mkdocs-material-7.2.4.ebuild
new file mode 100644
index 000000000000..6dfb5c6b02be
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-7.2.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-redirects
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="A Material Design theme for MkDocs"
+HOMEPAGE="
+ https://github.com/squidfunk/mkdocs-material
+ https://pypi.org/project/mkdocs-material
+"
+SRC_URI="https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-7.0[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-material-extensions-1.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-context/Manifest b/dev-python/oslo-context/Manifest
index 9669fbc0d10b..13fb7753c2b5 100644
--- a/dev-python/oslo-context/Manifest
+++ b/dev-python/oslo-context/Manifest
@@ -1 +1,2 @@
DIST oslo.context-3.1.1.tar.gz 29335 BLAKE2B 2179e5c273b5e387806fc4a8b1ac2f0641f4cc9f2345cb00e6ef9c2e7c8b69709c0c14dd11254d026283b2be7e032044b6f753a13f062915db9f000ae1873f1a SHA512 a9d16475bac5aa96d086019632f417fa5b496f615b814527e547a43362f1e36ed47c47266032e72194f88716237ccff7a24bf941d66bf36afe09b846a810583b
+DIST oslo.context-3.3.1.tar.gz 32676 BLAKE2B 38d5eaf7a3162fdb6a8887f2c627ee192950d743a9de929ea332495099bcc76e27a192ce6e8a3b010e190ef749ea67dcf168476bc84ede99d43c1ec8b11e1734 SHA512 40f3418020246066841e62e5579ac4a1c761c92c5f439b07059cd0b6b2e8984d2e1dacfa57af7c6d9c97c2fda8eeb5cfde76f2110a36ef21513b42d0d3bffc73
diff --git a/dev-python/oslo-context/oslo-context-3.3.1.ebuild b/dev-python/oslo-context/oslo-context-3.3.1.ebuild
new file mode 100644
index 000000000000..2b3a41bfd1ae
--- /dev/null
+++ b/dev-python/oslo-context/oslo-context-3.3.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+DESCRIPTION="Helpers to maintain useful information about a request context"
+HOMEPAGE="https://pypi.org/project/oslo.context/"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.context/oslo.context-${PV}.tar.gz"
+S="${WORKDIR}/oslo.context-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
+RDEPEND="${CDEPEND}
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]"
+BDEPEND="${CDEPEND}
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests unittest
diff --git a/dev-python/oslo-serialization/Manifest b/dev-python/oslo-serialization/Manifest
index d33487d53069..7b33e6c783db 100644
--- a/dev-python/oslo-serialization/Manifest
+++ b/dev-python/oslo-serialization/Manifest
@@ -1 +1,2 @@
DIST oslo.serialization-4.0.2.tar.gz 33029 BLAKE2B 8e0d4b71b87f38bc22994d423d7bfe7e7d4d66c6279ec1a8cd33fdb064d56c6aea7de41795c7bdacec3c970eb46a49a3204ade20d8128f44eb94b95d0239ba13 SHA512 30d5a6d0f91c8a4bebeb0389e7d8d6b306efef420dc1dd2141ac27fd43be7526443294082cfbc1a4eb9b0b88dbff5be3b854aa8493595f3d0145e8a938e00131
+DIST oslo.serialization-4.2.0.tar.gz 34024 BLAKE2B 709c71abeb9cf84d68dddbb5fc404401408b17eaeace13935bfd5e567899d087d4e5d5521546c3791e03c24591f64b182337d78f2d54d74e71e50922099bf4d7 SHA512 2a2c51d03432c35bf872b2da9c51f6deb764e38d86d5561843fe4f7a39af8383500b214039acb37f0e972141e7c9e5f20c457084e287498d4c93a89207bdd938
diff --git a/dev-python/oslo-serialization/oslo-serialization-4.2.0.ebuild b/dev-python/oslo-serialization/oslo-serialization-4.2.0.ebuild
new file mode 100644
index 000000000000..c7540d40e3bc
--- /dev/null
+++ b/dev-python/oslo-serialization/oslo-serialization-4.2.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="Oslo Serialization library"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ # allow useage of renamed msgpack
+ sed -i -e '/^msgpack/d' requirements.txt || die
+ # remove spurious rdep on pbr
+ sed -i -e '/pbr/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/oslo-utils/Manifest b/dev-python/oslo-utils/Manifest
index d27b6507a592..04c16f382a31 100644
--- a/dev-python/oslo-utils/Manifest
+++ b/dev-python/oslo-utils/Manifest
@@ -1 +1,2 @@
+DIST oslo.utils-4.10.0.tar.gz 100481 BLAKE2B 45bb815943912b08256cfba943fb729202346eb8b2ec4b3d2ec5ca8ffed55e321f2abe2a579202240b529e4520bbd70a23ec0dec760f74aaffdd236ee2769723 SHA512 ff51fcd4d12701bf9e729d7bc1e8d6091a7768e7583fcf7ba879e69ad53c6425216c76fef783012f3d9f7cc5947179c4470225416e314c9c0836d201a6d76c14
DIST oslo.utils-4.9.2.tar.gz 100047 BLAKE2B 4dab375254015d312bb20a61597e24d55c228dac1970b3724e188d96ce8319f2f7b72d6d14220265dbb1543732f86af73ec2b3be2c1d2fc364a5c419fe7dd228 SHA512 17e32d63292b95f3bf44baa83d68575f7b9050a220f091d8a5e4da4347e9b543d02008558c1fdc61fea9f4d2c0b0dd8b6552b694d45fd698095530952adcbe11
diff --git a/dev-python/oslo-utils/oslo-utils-4.10.0.ebuild b/dev-python/oslo-utils/oslo-utils-4.10.0.ebuild
new file mode 100644
index 000000000000..8e1700c3447c
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-4.10.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+MY_P=${P/-/.}
+DESCRIPTION="Oslo Utility library"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ >dev-python/eventlet-0.23.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # spurious rdep
+ sed -i -e '/pbr/d' requirements.txt || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pytest-httpx/Manifest b/dev-python/pytest-httpx/Manifest
index bf6dc4cb4fd4..34c0621a19e1 100644
--- a/dev-python/pytest-httpx/Manifest
+++ b/dev-python/pytest-httpx/Manifest
@@ -1,2 +1,3 @@
DIST pytest-httpx-0.12.0.tar.gz 21319 BLAKE2B 59c3678937a7756f13971e3f1f8d312b227f56339b4234ac8e5544f4370622bcff401f76f68c2ee042fdc64deae6a7a9dd05ca8a54b60b14bfb74b2d2d724de4 SHA512 b5866ab0123755020fad679d27d4d113132b2a79da85c52a334904d19aea90ddc71088a6e0f27110498da2731be664c525f3cab256d447a37d9a507f9a508b43
DIST pytest-httpx-0.12.1.tar.gz 21422 BLAKE2B 6336a79d3aedbba7ec32fdafc6ed6fd70a24354adcdd3803af73522f9eb2d5bb1ac51364c107d3ca663f2c627a29fa9d3b0c12ba1bcba94259932a36c7695ed4 SHA512 959906c366b3cfc4d3df46773888f1da0c65ca4a9d31de302c859a61a71f10df5712b058bf89132756028eda15c35241aa245bc708d69560a0d3a80f9fa1e814
+DIST pytest-httpx-0.13.0.tar.gz 21515 BLAKE2B 691ce45dd2b27c8f47724e3356ba96e62a0d6a7ce7d3feea68295a873c12f9a3df00d5b25aad7ef8a1154e887077ae6f6c1b12f3685a0669534a0d0ee8aae68c SHA512 514d9acacdfd60d13b5ce2c5ebe46d0e4d16c1b06fd359b0b9515ae2fa9091296537f369882a78bdfad48e9a0aad0b2f8c172c2e54f4ae9e23ba03220c7c17fb
diff --git a/dev-python/pytest-httpx/pytest-httpx-0.13.0.ebuild b/dev-python/pytest-httpx/pytest-httpx-0.13.0.ebuild
new file mode 100644
index 000000000000..662da71e0057
--- /dev/null
+++ b/dev-python/pytest-httpx/pytest-httpx-0.13.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+MY_PN="${PN/-/_}"
+DESCRIPTION="Send responses to HTTPX using pytest"
+HOMEPAGE="https://colin-b.github.io/pytest_httpx/"
+SRC_URI="https://github.com/Colin-b/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ =dev-python/httpx-0.19*[${PYTHON_USEDEP}]
+ =dev-python/pytest-6*[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests --install pytest
diff --git a/dev-python/python-dotenv/python-dotenv-0.18.0-r1.ebuild b/dev-python/python-dotenv/python-dotenv-0.18.0-r1.ebuild
index b116efd1c8af..ca88c949f892 100644
--- a/dev-python/python-dotenv/python-dotenv-0.18.0-r1.ebuild
+++ b/dev-python/python-dotenv/python-dotenv-0.18.0-r1.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~sparc x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~sparc x86"
DEPEND="
test? (
diff --git a/dev-python/qrcode/Manifest b/dev-python/qrcode/Manifest
index 3e82bcb50a36..3eb299756dd7 100644
--- a/dev-python/qrcode/Manifest
+++ b/dev-python/qrcode/Manifest
@@ -2,3 +2,4 @@ DIST qrcode-6.1.tar.gz 29363 BLAKE2B 5f31035b6c548c710d0d8198428612fc52417be7af5
DIST qrcode-7.0.tar.gz 34548 BLAKE2B 0a5f06b73f55ecc713aa34249acf5d58f71b29c90e5433411a9208124931bfcf101f016a6f1fbcbab0eddd3ffdef763cdc92fdf09565addaa86120a80d4d0c1f SHA512 2b96528582c1d80ba1bd27b5bb769d52e238bf5a3eda2fa23c4bef90778fa2d478c50a8f2b581d5b83373d778f346c410ae3475250029b878ff527edeae0f323
DIST qrcode-7.1.tar.gz 36068 BLAKE2B 93f09da56b6e0cf6875250e46ec6b3cd5fc631c5775093317fcfbca72990ce8e4c2d50336e0a1dd67cbd69b787652de7c75d5108430871e0dfdd3cf17e9a1eec SHA512 838496be964ace361cd1b28b3203afafc2f262d1e929fcdcf54e0a632bd85518cd60b2955ed22c003c27cbe5527f89a9298ff912f6b02a75b14f9e5410fbaba6
DIST qrcode-7.2.tar.gz 43032 BLAKE2B dc1ff428dd86485d2e2fe08b0efb367eb925551fbc31b4ab4f7f22a132ccc3fa0f7625a1e54f16df57f69fce3753883be0e46de6df84b13170d82d10c268866e SHA512 2ce72b2f6893168b96e1f6dae03b3250b8a0654afc9c0194075493d8ed93616acec7b61b9b95573f92c853cf227fff467edae7255aed10a9f7730e9ec5215133
+DIST qrcode-7.3.tar.gz 43352 BLAKE2B 4520ffcf2c4b144c20d00d06947c65ac9d8eb283ab9e298d9fe1de023aa32e47e3c6d4d9144f928a12607b28415f40d666b68b920d81e18524c95813768ee2d7 SHA512 e4d06ace4e8146e294b10b1397e649cc56405ddac35dae499bf897e4a7eb37b15dee3f72e6a7bac98dd0f238ac71d1e0bab5ada6cd180b1e5e8df9c6cb23f073
diff --git a/dev-python/qrcode/qrcode-7.3.ebuild b/dev-python/qrcode/qrcode-7.3.ebuild
new file mode 100644
index 000000000000..389083c86a81
--- /dev/null
+++ b/dev-python/qrcode/qrcode-7.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+DESCRIPTION="QR Code generator on top of PIL"
+HOMEPAGE="https://pypi.org/project/qrcode/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+# optional deps:
+# - pillow and lxml for svg backend, set as hard deps
+RDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]"
+
+distutils_enable_tests unittest
+
+src_install() {
+ distutils-r1_src_install
+ doman doc/qr.1
+}
diff --git a/dev-python/ruamel-yaml/Manifest b/dev-python/ruamel-yaml/Manifest
index 1287d758d894..7af41ae70c9f 100644
--- a/dev-python/ruamel-yaml/Manifest
+++ b/dev-python/ruamel-yaml/Manifest
@@ -1 +1,2 @@
DIST ruamel-yaml-0.17.10.tar.xz 183116 BLAKE2B 2795f470a3f7da609780109dfac502a5b47184f465c68420f467209275c8857418a4ec7424e130df2e7acef614d93f91551910eceb06cd9e49b365bb23d2a015 SHA512 3cd2598fa37564c44c74720e72babcd2252b2dbcdde626bdcf771b591da5d2852d90bb1f22428e28cd7ec38304be2a437aa0569ffbd3ebb526b2b79a955bc88d
+DIST ruamel.yaml-0.17.11.tar.xz 183476 BLAKE2B 02a1693d3a20f44b7f82668918a53d06f9fa5c0cff6f149fe51de3fbb3551e823f3a7a2f0f4e818f43e2974eaf95c4219d53738bad78544c6bb1f19d85457715 SHA512 8f24b33592c37fd1d370cb6367a3652e72df3d88c7a14fff187aaa8622b9bbd77e780193fcd920916eca7f627dd37c87eb9b987d091c944ff08ef25ee4567b45
diff --git a/dev-python/ruamel-yaml/ruamel-yaml-0.17.11.ebuild b/dev-python/ruamel-yaml/ruamel-yaml-0.17.11.ebuild
new file mode 100644
index 000000000000..269c1607ce72
--- /dev/null
+++ b/dev-python/ruamel-yaml/ruamel-yaml-0.17.11.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+inherit distutils-r1
+
+MY_P="${P/-/.}"
+DESCRIPTION="YAML parser/emitter that supports roundtrip comment preservation"
+HOMEPAGE="
+ https://pypi.org/project/ruamel.yaml/
+ https://sourceforge.net/p/ruamel-yaml/"
+# PyPI tarballs do not include tests
+SRC_URI="mirror://sourceforge/ruamel-dl-tagged-releases/${MY_P}.tar.xz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/namespace-ruamel[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml-clib[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/ruamel-std-pathlib[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+# Old PyYAML tests from lib/ require special set-up and are invoked indirectly
+# via test_z_olddata, tell pytest itself to leave the subdir alone.
+python_test() {
+ local deselect=()
+
+ [[ ${EPYTHON} == pypy3 ]] && deselect+=(
+ _test/test_deprecation.py::test_collections_deprecation
+ )
+
+ epytest --ignore _test/lib/ ${deselect[@]/#/--deselect }
+}
+
+python_install() {
+ distutils-r1_python_install --single-version-externally-managed
+ find "${ED}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/simplejson/Manifest b/dev-python/simplejson/Manifest
index dcf8fae79243..3095b65df824 100644
--- a/dev-python/simplejson/Manifest
+++ b/dev-python/simplejson/Manifest
@@ -1,2 +1 @@
-DIST simplejson-3.17.2.tar.gz 83210 BLAKE2B 1b9f97a43bfe84f1ad506713d81483ebcd4006d1174558b7a27373f99d014e23ed72a9ec2b2006e64760c61e1e500a4f1ea4547104e7f4c71ba51003df0a5052 SHA512 003b2fbcb3f8e0849bdbd958c78f8b470081d97527bef82306db77940c6734a1cbf3b5dcb0984d2f9c9d14aa525e7865a08e70a10971f8841e138f7ad6476e4a
DIST simplejson-3.17.3.tar.gz 82434 BLAKE2B ae6f303a204f0c5a6bc7a10aa8da3dadbd4fc3a257abb15e330d13299dcbd5bc6be97506f6d5b48f3a3fe24570ac28b331644870d03aa30f80d40e69f4d2ec15 SHA512 b4ccdff3df2c87ed6f5119e93560ea7ddf60fcc64f996efeef1f6077f3a559c8f9ea77fd217348c1cba2de50e40523714899de110614953baf8385bb78d10af6
diff --git a/dev-python/simplejson/simplejson-3.17.2-r1.ebuild b/dev-python/simplejson/simplejson-3.17.2-r1.ebuild
deleted file mode 100644
index f068edcef0cb..000000000000
--- a/dev-python/simplejson/simplejson-3.17.2-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple, fast, extensible JSON encoder/decoder for Python"
-HOMEPAGE="https://github.com/simplejson/simplejson https://pypi.org/project/simplejson/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="|| ( MIT AFL-2.1 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-DOCS=( README.rst CHANGES.txt )
-
-distutils_enable_tests unittest
-
-python_compile() {
- if ! python_is_python3; then
- local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
- fi
- distutils-r1_python_compile
-}
diff --git a/dev-python/simplejson/simplejson-3.17.3.ebuild b/dev-python/simplejson/simplejson-3.17.3.ebuild
index acb46be59f1c..9ecffe5e9ba9 100644
--- a/dev-python/simplejson/simplejson-3.17.3.ebuild
+++ b/dev-python/simplejson/simplejson-3.17.3.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="|| ( MIT AFL-2.1 )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
DOCS=( README.rst CHANGES.txt )
diff --git a/dev-python/spyder-terminal/Manifest b/dev-python/spyder-terminal/Manifest
index ea620e9f108b..fef997f1108c 100644
--- a/dev-python/spyder-terminal/Manifest
+++ b/dev-python/spyder-terminal/Manifest
@@ -1 +1,2 @@
DIST spyder-terminal-1.0.0.tar.gz 10098665 BLAKE2B a81e4cd2b1194cd750aff7d5a4d2c587ab60264b89e6e4264352b5f8ba850b66f278245fffed176dc36c2d5912e6f676ba2701d0a09bb384810230f631534059 SHA512 aa426e037dce6c2c7010fbf924ace27fa5dce9f736cd3b6b55d8ba3935e02ba4f6dab8815930c8686525c6e74f4119f781afaf9432f22f5436abec2c5a14c570
+DIST spyder-terminal-1.1.0.tar.gz 10097302 BLAKE2B efcdec7614534b8d3b5cf8b5aad0d6bd2d8358fdc0b0095be02dbac1c68fef63d1a325dc1005be18b4a679861e256aacad20f847c4c12eec603e605705b0982b SHA512 05d1850b01a6c3ae8607450f965dbebf4589026f318dbe599fe3c74d585fc093f4fc6cdd35ed26a9a052c11353d511d0602933fddc52f4cc94983d8a7cd75f32
diff --git a/dev-python/spyder-terminal/spyder-terminal-1.1.0.ebuild b/dev-python/spyder-terminal/spyder-terminal-1.1.0.ebuild
new file mode 100644
index 000000000000..b2c8ff6c33a2
--- /dev/null
+++ b/dev-python/spyder-terminal/spyder-terminal-1.1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Run system terminals inside Spyder"
+HOMEPAGE="https://github.com/spyder-ide/spyder-terminal"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/coloredlogs[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/spyder-5.1.1[${PYTHON_USEDEP}]
+ >=dev-python/terminado-0.10.0[${PYTHON_USEDEP}]
+ www-servers/tornado[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/sshtunnel/sshtunnel-0.3.1.ebuild b/dev-python/sshtunnel/sshtunnel-0.3.1.ebuild
index 4876649fa63c..6315589c8a2d 100644
--- a/dev-python/sshtunnel/sshtunnel-0.3.1.ebuild
+++ b/dev-python/sshtunnel/sshtunnel-0.3.1.ebuild
@@ -4,7 +4,6 @@
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Pure Python SSH tunnels"
@@ -14,9 +13,7 @@ SRC_URI="mirror://pypi/s/sshtunnel/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~arm x86"
-IUSE=""
RESTRICT="test"
RDEPEND="dev-python/paramiko[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
diff --git a/dev-python/stevedore/Manifest b/dev-python/stevedore/Manifest
index d7a20d68c03b..17176d1e0c8c 100644
--- a/dev-python/stevedore/Manifest
+++ b/dev-python/stevedore/Manifest
@@ -1 +1,2 @@
DIST stevedore-3.3.0.tar.gz 513293 BLAKE2B c1eee40a451fd6cad033a618a15cb62e65dc4ead8d2dd9eced4278cd11b1daf0f6fefdba2f2fa8dc1a63b6c525b1a3cbb87c8db12945e7412ed76318ee42592b SHA512 4fdd13c08517aef69700566fc04fb26a29b5a72f73a476d656d134b0d99229a8cf0012d9f1ae4565ffab6fa30e745a013d96da8eff00f8316ae1b5010e4cfbb3
+DIST stevedore-3.4.0.tar.gz 513360 BLAKE2B 17030d1aa3cfb566e6f589120eeb6241a1bc0a0dbac0825c48fc96b16316348e7b5e87c6c7fe428faf46cb9e2abbb0da6465f404d5a1fb767fb07c5d8078e481 SHA512 a63897c65fe8deb1b900c4279ce38856863a2581f8e0dec3fc082d0bd6daa5f346bfc6af978b73c3ac24215953c1376a973b800ff8dbbdc1a99f52c99bed7d6d
diff --git a/dev-python/stevedore/stevedore-3.4.0.ebuild b/dev-python/stevedore/stevedore-3.4.0.ebuild
new file mode 100644
index 000000000000..d6a51f39a190
--- /dev/null
+++ b/dev-python/stevedore/stevedore-3.4.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+DESCRIPTION="Manage dynamic plugins for Python applications"
+HOMEPAGE="https://github.com/openstack/stevedore https://pypi.org/project/stevedore/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc64 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx 'doc/source' \
+ '>=dev-python/openstackdocstheme-1.18.1' \
+ '>=dev-python/reno-2.5.0' \
+ '>=dev-python/sphinx-2.0.0'
+
+python_prepare_all() {
+ # Delete spurious data in requirements.txt
+ sed -e '/^pbr/d' -i requirements.txt || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/test_server/files/test_server-0.0.31-fix-py3.10.patch b/dev-python/test_server/files/test_server-0.0.31-fix-py3.10.patch
new file mode 100644
index 000000000000..755a641440a5
--- /dev/null
+++ b/dev-python/test_server/files/test_server-0.0.31-fix-py3.10.patch
@@ -0,0 +1,20 @@
+From: Karthikeyan Singaravelan <tir.karthi@gmail.com>
+Date: Fri, 10 Apr 2020 06:30:21 +0000
+Subject: [PATCH] Import ABC from collections.abc instead of collections for
+ Python 3 compatibility.
+
+--- a/test_server/server.py
++++ b/test_server/server.py
+@@ -6,7 +6,11 @@
+ import time
+ import types
+ from six.moves.urllib.parse import urljoin
+-from collections import defaultdict, Iterable
++from collections import defaultdict
++try:
++ from collections.abc import Iterable
++except ImportError:
++ from collections import Iterable
+
+ import six
+ from webtest.http import StopableWSGIServer
diff --git a/dev-python/test_server/metadata.xml b/dev-python/test_server/metadata.xml
index 7a40797c8e66..f408bf31de07 100644
--- a/dev-python/test_server/metadata.xml
+++ b/dev-python/test_server/metadata.xml
@@ -3,9 +3,11 @@
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<upstream>
<remote-id type="pypi">test-server</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/test_server/test_server-0.0.31.ebuild b/dev-python/test_server/test_server-0.0.31.ebuild
index 441fa5621204..8d2c84e2e36c 100644
--- a/dev-python/test_server/test_server-0.0.31.ebuild
+++ b/dev-python/test_server/test_server-0.0.31.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2019-2020 Gentoo Authors
+# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
inherit distutils-r1
@@ -13,22 +13,14 @@ SRC_URI="https://github.com/lorien/test_server/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
RDEPEND="
>=dev-python/bottle-0.12.13[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-python/webtest[${PYTHON_USEDEP}]"
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
+PATCHES=(
+ "${FILESDIR}/${P}-fix-py3.10.patch"
+)
- # broken on py2.7, upstream knows
- sed -i -e '5a\
-import sys' \
- -e '/test_null_bytes/i\
-@pytest.mark.skipif(sys.hexversion < 0x03000000, reason="broken on py2")' \
- test/server.py || die
-}
+distutils_enable_tests pytest
diff --git a/dev-python/translate-toolkit/Manifest b/dev-python/translate-toolkit/Manifest
index 3c3dcbd9addf..2b32aad1b9b6 100644
--- a/dev-python/translate-toolkit/Manifest
+++ b/dev-python/translate-toolkit/Manifest
@@ -1 +1,2 @@
DIST translate-3.3.6.gh.tar.gz 1140841 BLAKE2B 77d8b930ba8a91e801a04c67bdd13c0c6538d4df2418f26e1f6bfdb98c275fe746062840034c5345dcf61abc87ee6b8e1b2cda34a71c8e3850ac37df707b8a34 SHA512 c6eedcdb9ecece4804c25aedd57de37da12baf9b2f3bae1c87377f9a07e1e5f1cfeeed8073861b73201de3b35ec4e5da5f972d775c7ff35fa7be21c97746435d
+DIST translate-3.4.0.gh.tar.gz 1147056 BLAKE2B 94b0b4f6d12f4ecdb210338a814e9f4bf7b7f5d31c992f03d581e8ec0ece849eb3e74c41396c29a1c756f0aed286d073e5bbea8ca4e7f74987bf61d6e3ebe24a SHA512 04694b3c277cb63e405a00c5c8c13ec63f232c641c7987e5e2304f30af05fb912ca7339fb42c1fea29c0906e75975b66261474e7fed16a1e47ba0b4265cbfeef
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.4.0.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.4.0.ebuild
new file mode 100644
index 000000000000..abd026f783a1
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.4.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+PYTHON_REQ_USE="sqlite"
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="https://github.com/translate/translate"
+SRC_URI="
+ https://github.com/translate/translate/archive/refs/tags/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+html +ical +ini +subtitles +yaml"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+BDEPEND=">=dev-python/six-1.11.0[${PYTHON_USEDEP}]"
+RDEPEND="${BDEPEND}
+ !dev-python/pydiff
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pycountry-19.8.18[${PYTHON_USEDEP}]
+ >=dev-python/python-levenshtein-0.12.0[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+BDEPEND+="
+ test? ( dev-python/phply[${PYTHON_USEDEP}] )"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-bootstrap-theme
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/translate-toolkit-3.3.0-no-install-docs.patch
+)
+
+python_test() {
+ local deselect=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ --deselect 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ --deselect 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ )
+
+ if ! use ini; then
+ deselect+=(
+ --ignore translate/convert/test_ini2po.py
+ --ignore translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! use subtitles; then
+ deselect+=(
+ --ignore translate/storage/test_subtitles.py
+ )
+ fi
+
+ # translate/storage/test_mo.py needs 'pocompile'
+ distutils_install_for_testing
+ epytest "${deselect[@]}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+
+ python_optimize
+}
diff --git a/dev-python/uvicorn/uvicorn-0.14.0-r1.ebuild b/dev-python/uvicorn/uvicorn-0.14.0-r1.ebuild
index 237188286a1a..6a9849b3564b 100644
--- a/dev-python/uvicorn/uvicorn-0.14.0-r1.ebuild
+++ b/dev-python/uvicorn/uvicorn-0.14.0-r1.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/encode/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~sparc x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~sparc x86"
RDEPEND="
>=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}]
diff --git a/dev-python/watchdog/Manifest b/dev-python/watchdog/Manifest
index ce1ac8885c48..9875e645dfdf 100644
--- a/dev-python/watchdog/Manifest
+++ b/dev-python/watchdog/Manifest
@@ -2,3 +2,4 @@ DIST watchdog-1.0.2.tar.gz 91796 BLAKE2B 001cbe82ff8aff0c4e56e4d1f02519047580ccc
DIST watchdog-2.0.3.tar.gz 95524 BLAKE2B 568e9d66efbfa98c19dab704681dbc48f869b59d51d7c7ff7ce1fd7465efcc6233f871e7f9276f2732692645491f2fd197a639b17e9a3d8abb76d0148a934796 SHA512 e1c506e4ead8c3ee8d19e456b67623f3a1823007be6c1fad0d76c697205696183e7bd15e46c21bf61abce6dd16d267e55da8986633eeee337d10c609318fb958
DIST watchdog-2.1.1.tar.gz 96703 BLAKE2B cbcaff41de6111a3c9c2ff00b7c0a9ce1a769bb2b0f8e2af841a0783dd7f3a55f46003863b05eb983531211743fd112a6e63944193e10e8dd296523a1da27d59 SHA512 5b9eb75bc7b8642a8246f426a992265bbe2e5d82a3fcdd543289db7734701bdca1a868b02edfdc26ea239a89d80dd5322e410b949e419c66bdcc0645241d826b
DIST watchdog-2.1.2.tar.gz 97407 BLAKE2B a847089409537391287a146670864c7721344ba8a6378c89483e9e08abe3f61690bfca48016f628ab0e6b0ff317679db3c72e27594e049ea03334dd20c305008 SHA512 2a127faffebb35f0b14d578570a4c5a7c27d6bd38042e34ea50f4b654be1ca07b193dfa72dfe25442d3e6da746f1cfbdda71c38be1386cc5a3e69204843c16f1
+DIST watchdog-2.1.4.tar.gz 98695 BLAKE2B 2a15b362c6e776146df4738096fe0cd8ec49894c6b767e86ed5749c2f97447fb890f172ec989a17140594070eefa1fa2b40275aff5ba9d212f77a059ac3ead25 SHA512 88bed725c045f59091902a1fe4673036a679d263c71269e36125df2a4c851864bddee0cf4f8c3f20bfc2d5f735804b7c7b1ff07a3d89d8649bfa16d3e7e1fe21
diff --git a/dev-python/watchdog/watchdog-2.1.4.ebuild b/dev-python/watchdog/watchdog-2.1.4.ebuild
new file mode 100644
index 000000000000..51dfce609d70
--- /dev/null
+++ b/dev-python/watchdog/watchdog-2.1.4.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python API and shell utilities to monitor file system events"
+HOMEPAGE="https://github.com/gorakhargosh/watchdog"
+SRC_URI="https://github.com/gorakhargosh/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+CDEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
+RDEPEND="${CDEPEND}
+ dev-python/argh[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ test? (
+ >=dev-python/pytest-timeout-0.3[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/--cov/d' setup.cfg || die
+ default
+}
+
+python_test() {
+ local deselect=()
+ [[ ${EPYTHON} == pypy3 ]] && deselect+=(
+ tests/test_inotify_buffer.py::test_move_internal_batch
+ )
+
+ epytest -p no:django ${deselect[@]/#/--deselect }
+}
+
+pkg_postinst() {
+ optfeature "Bash completion" dev-python/argcomplete
+}
diff --git a/dev-python/webtest/Manifest b/dev-python/webtest/Manifest
index 6c5d1fe1ffab..38115e127484 100644
--- a/dev-python/webtest/Manifest
+++ b/dev-python/webtest/Manifest
@@ -1 +1,2 @@
DIST WebTest-2.0.35.tar.gz 76227 BLAKE2B 2f10520a66a00cf61834d5ebe2b8eea469d4ca32155c9af3c0b78234607ea5443e695730a7db4476f5296f9b848f3950027d7485a4116e7d736fd9c33d8e78ae SHA512 ecad031702a9d2031d4e2230dc8213aaa6b1a3e9e6add296ee796aa2ef77d81c992dc24e481f721bc34711d1e33f3932d56cec4be3d62ee82a71fb405942c339
+DIST WebTest-3.0.0.tar.gz 75871 BLAKE2B e97d050c1077d74e463e3409580d021424f755933bb9d5ac5e119c70c76890d5632e565f03a02f3497e21fed95158c56b199a877fc4575968f6b4af2655db8b6 SHA512 b97a6311d7e3bf653bec93c2390fb75c991d0dea6148680d8b6ff87861c130518a5d150dd157eab9b032b278566ad12c0ac8f5fc2ddbeba31e35de1e1f06f747
diff --git a/dev-python/webtest/webtest-3.0.0.ebuild b/dev-python/webtest/webtest-3.0.0.ebuild
new file mode 100644
index 000000000000..220b473dddba
--- /dev/null
+++ b/dev-python/webtest/webtest-3.0.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+inherit distutils-r1
+
+MY_PN="WebTest"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Helper to test WSGI applications"
+HOMEPAGE="https://pypi.org/project/WebTest/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/paste[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2[${PYTHON_USEDEP}]
+ >=dev-python/waitress-0.8.5[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]"
+BDEPEND="
+ app-arch/unzip
+ test? (
+ dev-python/pyquery[${PYTHON_USEDEP}]
+ dev-python/wsgiproxy2[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ "${FILESDIR}/webtest-2.0.33-no-pylons-theme.patch"
+)
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
diff --git a/dev-python/wstools/files/wstools-0.4.8-fix-py3.10.patch b/dev-python/wstools/files/wstools-0.4.8-fix-py3.10.patch
new file mode 100644
index 000000000000..4baf12faf570
--- /dev/null
+++ b/dev-python/wstools/files/wstools-0.4.8-fix-py3.10.patch
@@ -0,0 +1,29 @@
+From c0aa811a845e78c27ef949b4dbc82dfcd9c3da68 Mon Sep 17 00:00:00 2001
+From: Arthur Zamarin <arthurzam@gentoo.org>
+Date: Thu, 19 Aug 2021 22:27:48 +0300
+Subject: [PATCH] Fix import collections.abc for python 3.10
+
+Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
+---
+ wstools/Utility.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/wstools/Utility.py b/wstools/Utility.py
+index c1ccd65..f5f1453 100644
+--- a/wstools/Utility.py
++++ b/wstools/Utility.py
+@@ -33,7 +33,10 @@ try:
+ from UserDict import DictMixin # noqa
+ except ImportError:
+ from collections import UserDict
+- from collections import MutableMapping as DictMixin # noqa
++ try:
++ from collections.abc import MutableMapping as DictMixin # noqa
++ except ImportError:
++ from collections import MutableMapping as DictMixin # noqa
+
+ from .TimeoutSocket import TimeoutSocket, TimeoutError # noqa
+
+--
+2.33.0
+
diff --git a/dev-python/wstools/wstools-0.4.8.ebuild b/dev-python/wstools/wstools-0.4.8.ebuild
index 237d8d68762f..7781303b5233 100644
--- a/dev-python/wstools/wstools-0.4.8.ebuild
+++ b/dev-python/wstools/wstools-0.4.8.ebuild
@@ -5,7 +5,7 @@ EAPI=7
PYTHON_COMPAT=( python3_{6,7,8,9,10} )
PYTHON_REQ_USE="xml(+)"
-
+DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="WSDL parsing services package for Web Services for Python"
@@ -15,17 +15,16 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${RDEPEND}
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+BDEPEND="
dev-python/pbr[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest-timeout[${PYTHON_USEDEP}] )
"
-PATCHES=( "${FILESDIR}"/${PN}-0.4.8-setup.patch )
+PATCHES=(
+ "${FILESDIR}/${P}-setup.patch"
+ "${FILESDIR}/${P}-fix-py3.10.patch"
+)
distutils_enable_tests pytest
diff --git a/dev-python/wurlitzer/Manifest b/dev-python/wurlitzer/Manifest
index 22c671568402..56451f65cc7b 100644
--- a/dev-python/wurlitzer/Manifest
+++ b/dev-python/wurlitzer/Manifest
@@ -1,2 +1,3 @@
DIST wurlitzer-2.1.0.tar.gz 8788 BLAKE2B 9a9e9696446fe31f0ff392eee011f341ee24c102e4e6bac195586b764386d1a835567560306cd3cb6e942b539a57ffa15aa9b3a20fac9224311ed7301130c84d SHA512 cc7291786b0505627129619094218f51c0679c0c3550645af3b94bdd3f10afd5fc8402d89dcb599d874a5c9e4f4966dc49a6f98a1ab0e2bb9adbc3f95d4fcc6a
DIST wurlitzer-2.1.1.tar.gz 8674 BLAKE2B 08cad7fc0ba0852a5d54b9141b419ed822330b763bc6a906be0be0f7f6e4e0f8d6c83e62fc8a63f5179babbaa6fcd4d8fb1e4a876631e324bd53d21f4f116f68 SHA512 776dfbdbfbe6c87818ce527519730a20dbb43f140751195c67e73eb3fa5a9a9181b8b475336ee43a184dc5b712ddaccbfc74bb0279b47f2d3b3e4d7db4a471ea
+DIST wurlitzer-3.0.0.tar.gz 9691 BLAKE2B e20f14461c3104a889bb6ed61fd4db2cd0fd98db6b1d4622edb8b40a3d0bbfa11dc84a1538d69e7f7e6227667d9881cf4c4df3926d5804b2d1006ac3d01df939 SHA512 f5b19e7b1e1e55f76d54e69797ea3baa78fc32885904431e82474b61c70e543f93a0ca2d6cbb5729a6c937b339ae62fd45ada0d137ec7c339a1009d0a84beea0
diff --git a/dev-python/wurlitzer/wurlitzer-3.0.0.ebuild b/dev-python/wurlitzer/wurlitzer-3.0.0.ebuild
new file mode 100644
index 000000000000..8aa751dde8fa
--- /dev/null
+++ b/dev-python/wurlitzer/wurlitzer-3.0.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+DESCRIPTION="Capture C-level stdout/stderr in Python"
+HOMEPAGE="
+ https://github.com/minrk/wurlitzer/
+ https://pypi.org/project/wurlitzer/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest test.py
+}