summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Babel/Babel-2.8.1.ebuild1
-rw-r--r--dev-python/arpeggio/Manifest1
-rw-r--r--dev-python/arpeggio/arpeggio-1.10.0.ebuild2
-rw-r--r--dev-python/arpeggio/arpeggio-1.9.2.ebuild40
-rw-r--r--dev-python/autobahn/Manifest2
-rw-r--r--dev-python/autobahn/autobahn-20.12.1.ebuild104
-rw-r--r--dev-python/autobahn/autobahn-20.4.3.ebuild84
-rw-r--r--dev-python/autobahn/autobahn-20.7.1.ebuild2
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.16.37.ebuild56
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.19.37.ebuild59
-rw-r--r--dev-python/bottle/metadata.xml1
-rw-r--r--dev-python/breathe/Manifest1
-rw-r--r--dev-python/breathe/breathe-4.25.0.ebuild29
-rw-r--r--dev-python/cairocffi/Manifest1
-rw-r--r--dev-python/cairocffi/cairocffi-1.1.0.ebuild35
-rw-r--r--dev-python/cairocffi/cairocffi-1.2.0.ebuild2
-rw-r--r--dev-python/cairocffi/files/cairocffi-1.0.2-test-deps.patch41
-rw-r--r--dev-python/cfn-python-lint/Manifest1
-rw-r--r--dev-python/cfn-python-lint/cfn-python-lint-0.44.0.ebuild49
-rw-r--r--dev-python/fsspec/Manifest1
-rw-r--r--dev-python/fsspec/files/fsspec-0.8.2-test-cleanup.patch80
-rw-r--r--dev-python/fsspec/fsspec-0.8.2.ebuild4
-rw-r--r--dev-python/fsspec/fsspec-0.8.5.ebuild50
-rw-r--r--dev-python/graphviz/graphviz-0.15.ebuild1
-rw-r--r--dev-python/imagesize/metadata.xml1
-rw-r--r--dev-python/libtmux/metadata.xml1
-rw-r--r--dev-python/pip/Manifest1
-rw-r--r--dev-python/pip/pip-20.3.3.ebuild150
-rw-r--r--dev-python/progressbar2/progressbar2-3.53.1.ebuild2
-rw-r--r--dev-python/prometheus_client/metadata.xml1
-rw-r--r--dev-python/pyopencl/Manifest1
-rw-r--r--dev-python/pyopencl/pyopencl-2020.2.2.ebuild2
-rw-r--r--dev-python/pyopencl/pyopencl-2020.2.ebuild56
-rw-r--r--dev-python/pyopencl/pyopencl-2020.3.1.ebuild2
-rw-r--r--dev-python/pyopenssl/Manifest1
-rw-r--r--dev-python/pyopenssl/pyopenssl-20.0.1.ebuild51
-rw-r--r--dev-python/pyphen/Manifest1
-rw-r--r--dev-python/pyphen/pyphen-0.10.0.ebuild2
-rw-r--r--dev-python/pyphen/pyphen-0.9.5.ebuild30
-rw-r--r--dev-python/pytest-mock/Manifest1
-rw-r--r--dev-python/pytest-mock/pytest-mock-3.4.0.ebuild36
-rw-r--r--dev-python/pytest/Manifest1
-rw-r--r--dev-python/pytest/pytest-6.2.1.ebuild62
-rw-r--r--dev-python/python-dotenv/metadata.xml1
-rw-r--r--dev-python/python-email-validator/metadata.xml1
-rw-r--r--dev-python/python-utils/python-utils-2.4.0.ebuild2
48 files changed, 651 insertions, 404 deletions
diff --git a/dev-python/Babel/Babel-2.8.1.ebuild b/dev-python/Babel/Babel-2.8.1.ebuild
index dc7c7e2744e8..672096a2cb54 100644
--- a/dev-python/Babel/Babel-2.8.1.ebuild
+++ b/dev-python/Babel/Babel-2.8.1.ebuild
@@ -27,6 +27,7 @@ distutils_enable_tests pytest
PATCHES=(
"${FILESDIR}"/Babel-2.8.0-py39.patch
+ "${FILESDIR}"/Babel-2.9.0-pypy3.patch
)
src_test() {
diff --git a/dev-python/arpeggio/Manifest b/dev-python/arpeggio/Manifest
index 707e6994db08..69f6b25de0b3 100644
--- a/dev-python/arpeggio/Manifest
+++ b/dev-python/arpeggio/Manifest
@@ -1,2 +1 @@
DIST Arpeggio-1.10.0.tar.gz 766416 BLAKE2B 75898c5be536998a12ec0efb8ca0729913e9ac7ac8481f614cb1bfd5332015bd2c22722cc6836511e1b77d933fe497538db1a00804e2cbf409af7cc153ba15c6 SHA512 368c478114ddedbf40c94b4e656945063df5661deacc9c75780ddca18198a9e3e504718fc6c9a1e84c11c5c8f2b454584d1cfc5a14ea2b783e97b8e317047023
-DIST arpeggio-1.9.2.tar.gz 761920 BLAKE2B ba8c8a5cb8965325c1c3be68a481e024b0ab703d5f60fd9ccb2589fe5efe2618fd24f2b9bc36823005897c83e233bc97372a0e3d2010cf2e2399b96aec58feb5 SHA512 fa1057caaa0b5d26937c6e5aed719f64b293d3332e3ce0277a586bd48ca136792a4811c292fd87f2e58148874e008a6f2f621630052c5dfaf0e0efe2e8039353
diff --git a/dev-python/arpeggio/arpeggio-1.10.0.ebuild b/dev-python/arpeggio/arpeggio-1.10.0.ebuild
index 1f81b3ff0711..6071adb0b1ec 100644
--- a/dev-python/arpeggio/arpeggio-1.10.0.ebuild
+++ b/dev-python/arpeggio/arpeggio-1.10.0.ebuild
@@ -13,7 +13,7 @@ S=${WORKDIR}/${P^}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RDEPEND=""
DEPEND="
diff --git a/dev-python/arpeggio/arpeggio-1.9.2.ebuild b/dev-python/arpeggio/arpeggio-1.9.2.ebuild
deleted file mode 100644
index 60866163d058..000000000000
--- a/dev-python/arpeggio/arpeggio-1.9.2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit distutils-r1
-
-MY_PN=Arpeggio
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="Parser interpreter based on PEG grammars"
-HOMEPAGE="https://pypi.org/project/Arpeggio/ https://github.com/igordejanovic/Arpeggio"
-SRC_URI="https://github.com/igordejanovic/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=""
-DEPEND="
- test? (
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/memory_profiler[${PYTHON_USEDEP}]
- )
-"
-S=${WORKDIR}/${MY_P}
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- sed -e 's:packages=find_packages(:\0exclude=["examples", "examples.*"]:' \
- -e "s:\\(setup_requires=\[\\)'pytest-runner'\\(\],\\):\\1\\2:" \
- -i setup.py || die
-}
-
-python_test() {
- pytest -vv || die "Testing failed"
-}
diff --git a/dev-python/autobahn/Manifest b/dev-python/autobahn/Manifest
index f773b184fbd8..29f8adc9cca4 100644
--- a/dev-python/autobahn/Manifest
+++ b/dev-python/autobahn/Manifest
@@ -1,4 +1,2 @@
-DIST autobahn-20.12.1.tar.gz 1269156 BLAKE2B ff763accde6a2929fd777364c926132b8317d80f137d67768bf192fb72f45597ac115824783f01debacc773dcc9a60325692ac420e55b6f67f4ebc2cdc6187ae SHA512 df7c7065e050efb5f315055c05aa9b4fcf8636e7208f17b583ed0823a071c6484adcf610308e83df3b5bbb91a4df19266e739abc8405e34483b1bf3d9f2c74c7
DIST autobahn-20.12.2.tar.gz 1269167 BLAKE2B f6ea51682c13690002796f2a45bd11fc2f8497eeee25a1786e942111f43f9dc1f7f806281e4dc37d1ed0aa302fc5c5e47a55d876e010580d7a08eb5ac7534ed0 SHA512 aa6d5e77ba6129931a07cad13f839d5c76267b8126a05ade4ed1c7183ce019faf6656105a853515b543e5ac34ab20d02821b29aa68eb51c385880ad3919d1dcc
-DIST autobahn-20.4.3.tar.gz 938992 BLAKE2B 259d18f4aa46f7eaeac75811c1c193f3046aca5c5e37627d9ac62eeaa3dc944d05a8d87a558e241bdef56c799be4d89f65d4c8ee7c1a2be20f892896227eb5f9 SHA512 c34f29951b8f9ff5161851cf3a7e964de136f6091b0231a8e78e7fe74cb085077be5078cee352b2c27412d9aa4303de1eb85aa1890b4fb583575638a9c47c6fb
DIST autobahn-20.7.1.tar.gz 1260579 BLAKE2B 925d148836348c068d179d4871267bf79c8c42d27cacc6be09cca11396dbd213a5b86344142df886d4ff69d1214a86b49900ca3552bcdb640377cb0d6af7d0f0 SHA512 e2c241194da90ada86a2804683cb063320f75a69b76ddc016349c11614e7f298619c2eeba4fcccb8f8d65d84375681fb339d9f92f94f45f1015f4f12fa0c39b0
diff --git a/dev-python/autobahn/autobahn-20.12.1.ebuild b/dev-python/autobahn/autobahn-20.12.1.ebuild
deleted file mode 100644
index 869a0f56a285..000000000000
--- a/dev-python/autobahn/autobahn-20.12.1.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit distutils-r1
-
-MY_P=${PN}-$(ver_rs 3 -)
-
-DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
-HOMEPAGE="https://pypi.org/project/autobahn/
- https://crossbar.io/autobahn/
- https://github.com/crossbario/autobahn-python"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="crypt scram test xbr"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/cbor-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/cbor2-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.9.2[${PYTHON_USEDEP}]
- >=dev-python/flatbuffers-1.10.0[${PYTHON_USEDEP}]
- >=dev-python/lz4-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.6.1[${PYTHON_USEDEP}]
- >=dev-python/py-ubjson-0.8.4[${PYTHON_USEDEP}]
- >=dev-python/snappy-0.5[${PYTHON_USEDEP}]
- >=dev-python/twisted-20.3.0[${PYTHON_USEDEP}]
- >=dev-python/txaio-20.4.1[${PYTHON_USEDEP}]
- >=dev-python/ujson-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/wsaccel-0.6.2[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-3.6[${PYTHON_USEDEP}]
- crypt? (
- >=dev-python/pyopenssl-16.2.0[${PYTHON_USEDEP}]
- >=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/pytrie-0.2[${PYTHON_USEDEP}]
- >=dev-python/pyqrcode-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/service_identity-18.1.0[${PYTHON_USEDEP}]
- )
- scram? (
- dev-python/cffi[${PYTHON_USEDEP}]
- dev-python/argon2-cffi[${PYTHON_USEDEP}]
- dev-python/passlib[${PYTHON_USEDEP}]
- )
- "
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- >=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/pytrie-0.2[${PYTHON_USEDEP}]
- >=dev-python/pyqrcode-1.1.0[${PYTHON_USEDEP}]
- )"
-
-python_prepare_all() {
- if use xbr ; then
- eerror "***************"
- eerror "Required xbr dependencies are incomplete in Gentoo."
- eerror "So this functionality will not yet work"
- eerror "Please file a bug if this feature is needed"
- eerror "***************"
- else
- # remove xbr components
- export AUTOBAHN_STRIP_XBR="True"
- fi
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- echo "Testing all, cryptosign using twisted"
- export USE_TWISTED=true
- cd "${BUILD_DIR}"/lib || die
- "${EPYTHON}" -m twisted.trial autobahn || die
- unset USE_TWISTED
- echo "RE-testing cryptosign and component_aio using asyncio"
- export USE_ASYNCIO=true
- py.test -v autobahn/wamp/test/test_cryptosign.py || die
- py.test -v autobahn/wamp/test/test_component_aio.py || die
- unset USE_ASYNCIO
- rm -r .pytest_cache || die
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- # delete the dropin.cache so we don't have collisions if it exists
- rm "${D}"/usr/lib*/python*/site-packages/twisted/plugins//dropin.cache > /dev/null
-}
-
-pkg_postinst() {
- python_foreach_impl twisted-regen-cache || die
-}
-
-pkg_postrm() {
- python_foreach_impl twisted-regen-cache || die
-}
diff --git a/dev-python/autobahn/autobahn-20.4.3.ebuild b/dev-python/autobahn/autobahn-20.4.3.ebuild
deleted file mode 100644
index b9e2b859c16a..000000000000
--- a/dev-python/autobahn/autobahn-20.4.3.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-
-inherit distutils-r1
-
-MY_P=${PN}-$(ver_rs 3 -)
-
-DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
-HOMEPAGE="https://pypi.org/project/autobahn/
- https://crossbar.io/autobahn/
- https://github.com/crossbario/autobahn-python"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="amd64 arm arm64 x86"
-IUSE="crypt test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/cbor-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/cbor2-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/flatbuffers-1.10.0[${PYTHON_USEDEP}]
- >=dev-python/lz4-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.6.1[${PYTHON_USEDEP}]
- >=dev-python/py-ubjson-0.8.4[${PYTHON_USEDEP}]
- >=dev-python/snappy-0.5[${PYTHON_USEDEP}]
- >=dev-python/twisted-20.3.0[${PYTHON_USEDEP}]
- >=dev-python/txaio-20.3.1[${PYTHON_USEDEP}]
- >=dev-python/ujson-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/wsaccel-0.6.2[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-3.6[${PYTHON_USEDEP}]
- crypt? (
- >=dev-python/pyopenssl-16.2.0[${PYTHON_USEDEP}]
- >=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/pytrie-0.2[${PYTHON_USEDEP}]
- >=dev-python/pyqrcode-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/service_identity-18.1.0[${PYTHON_USEDEP}]
- )
- "
-DEPEND="${RDEPEND}
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- >=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/pytrie-0.2[${PYTHON_USEDEP}]
- >=dev-python/pyqrcode-1.1.0[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}"/${MY_P}
-
-python_test() {
- echo "Testing all, cryptosign using twisted"
- export USE_TWISTED=true
- cd "${BUILD_DIR}"/lib || die
- "${EPYTHON}" -m twisted.trial autobahn || die
- unset USE_TWISTED
- echo "RE-testing cryptosign and component_aio using asyncio"
- export USE_ASYNCIO=true
- py.test -v autobahn/wamp/test/test_cryptosign.py || die
- py.test -v autobahn/wamp/test/test_component_aio.py || die
- unset USE_ASYNCIO
- rm -r .pytest_cache || die
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- # delete the dropin.cache so we don't have collisions if it exists
- rm "${D}"/usr/lib*/python*/site-packages/twisted/plugins//dropin.cache > /dev/null
-}
-
-pkg_postinst() {
- python_foreach_impl twisted-regen-cache || die
-}
-
-pkg_postrm() {
- python_foreach_impl twisted-regen-cache || die
-}
diff --git a/dev-python/autobahn/autobahn-20.7.1.ebuild b/dev-python/autobahn/autobahn-20.7.1.ebuild
index 7c464f020529..86aeefb7179a 100644
--- a/dev-python/autobahn/autobahn-20.7.1.ebuild
+++ b/dev-python/autobahn/autobahn-20.7.1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
SLOT="0"
LICENSE="MIT"
-KEYWORDS="~amd64 arm arm64 x86"
+KEYWORDS="amd64 arm arm64 x86"
IUSE="crypt scram test xbr"
RESTRICT="!test? ( test )"
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index a2115a889bac..86f720cbe78d 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -11,4 +11,5 @@ DIST boto3-1.16.28.tar.gz 340709 BLAKE2B 3c5520531efbb5e20f679f28f4c60964a7be38a
DIST boto3-1.16.29.tar.gz 340743 BLAKE2B 1ef74d98aecf8dfd46bc340984d65e5dc2a70f320149b6bab18588a8371d0da6c93102da96f12950d0730c871fb6f13c7441f7ca148f974cb8678bd01b3af24a SHA512 59f8dba245c7525e4ddeec121d85919310e2bd6cf90419c19612434beff66bab4cca22968347512b0f9f2563ff3ee4d85e2d01bf10ce175c3a12a9a09c2e09a6
DIST boto3-1.16.30.tar.gz 340801 BLAKE2B fcf87b43d2c18ecf1e9d7f0c8c423143e44777a6249a9893d0ebb4016703a9d87a157ed71fca98c8bd73419e6dd2bd2621d42406220e67e6dd462e1088837334 SHA512 66d3e4ae6296b1fbd31187228246c99e472ccfba756d6ca304eca134271d43dd80d1bc35af1fb63336a7c63f2341212329dde307cbbb2dce25e2aa0705c6a436
DIST boto3-1.16.36.tar.gz 341458 BLAKE2B 7e4cf667cd59caa8433226eb6914412370bfa4c002f6f5d992fe49c93528d59d5740de6c8782af71d94461ea704a36d8ed46ccadfbf83982504ab507aab9b058 SHA512 06d9c6e721d1ab529e6a598b14ba6f740bec32a8165582853149b9aa294f0a272d0da4222f0dc7ef83055d91b4b0a0176e65bb34784990aca43e44db43650a2d
+DIST boto3-1.16.37.tar.gz 341684 BLAKE2B 4c9e7389ae4620edbb9cee2accfe6e7b520998b0a1110444d137387a098ed027a281e69a9bf6b2d3383a51b60b6dac16695b867ee27f44a9180459dd8a4b55b4 SHA512 1105b00d6aed4ebd36b77b21c6a3370dd1f34669df2621cd13dd776788d7fdd469086fd6956920632bf33a5291b14514518046983afd95441d54b35dc68347c2
DIST boto3-1.16.9.tar.gz 337905 BLAKE2B ed01e28fd7e62e5e5028307c93f92004bfbecffa77bc2ba1d6574b92ec2c515d910eb5107ac5ee03e0aca909f97f379aa65b5f839c8067634fa69266c58de33f SHA512 7343b8432788ef981819f91fe2ba27c4ec3947d01ff55914f7c89607250ecf60db2da8d25c8a2c7001ef546a9abed4cb744c5937ca09497aa1a983049648bd5e
diff --git a/dev-python/boto3/boto3-1.16.37.ebuild b/dev-python/boto3/boto3-1.16.37.ebuild
new file mode 100644
index 000000000000..af8cbcbae607
--- /dev/null
+++ b/dev-python/boto3/boto3-1.16.37.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+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 ~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 c332fcea1ee0..955630b3e554 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -11,4 +11,5 @@ DIST botocore-1.19.28.tar.gz 7208608 BLAKE2B eab5731c530747421186c3e24cc0cb0f5b1
DIST botocore-1.19.29.tar.gz 7219708 BLAKE2B c5468be09300edf1acfb82780ad026ad78537b641b9f8f9384c41397e293a51559259c64925dac2852b888a28b49c23b7802b2c3adaca097424029fe9717044c SHA512 674f76a443541ff3665dbb1834ac69f8776e497526001db9bd229f22ea2137452c3bf954d8a6b74a732bd9e7212545cae19c9058357a38c357ed09d89c9c1cc5
DIST botocore-1.19.30.tar.gz 7224700 BLAKE2B 50712be7e6e4a8a22607d567a8d227bbc6d9a7156c245a9faa5adf0e94364d5e5738dd558534e072d071e88315fd79555454fd5f36dfb5d309effca6a39f2247 SHA512 8d9a0becad072ac01e04c1709e8851344bbcd35ecb6c269cace7c229e3b2e48b8fd91ca31be96c67831030a75a63027e8700772601a65eb529bcfd8a58434b6c
DIST botocore-1.19.36.tar.gz 7291325 BLAKE2B d1f79298a0f47d704418cac8390a5d500b1f300fc9bdbc0b215a3630adb70c29a951c6dff2a6ebfde42872cbc3af4c442d09fa0233b2c957521e6a5e05816c60 SHA512 420ad7c59496b2b74ba6ecde8dc40ac3e47c5676335f7471448fcdde5b70bda3bd7516963788d8a7a940aaa9cf488b6529e6fbd2842806f58520cd8e2dc15a60
+DIST botocore-1.19.37.tar.gz 7335789 BLAKE2B 3df00ad1f0d34f8f8408741b503fafdf9bdaacd9f5b0c52ffbc0b3172e7b0d01e741a076430268c55c39f1fe050a9b8bcc2d183eb54830886c7f3f050a22c408 SHA512 53ff17dcba3e72910709de7fe4504a04a507a708c2674039cfb682276ea7f8f46d3afeadbb41103d02141183d6216aab5964b0df98033cd12946ed1c83373aaf
DIST botocore-1.19.9.tar.gz 6972834 BLAKE2B 3407c056c7995cc1ccb1b5b4c5b3a6254e38672b52e7889a7a022520283416e4dfcabd05c8ca0ed78e4624c7a20c9f43bfde87a76d7a72660b4c95256e4f9ca4 SHA512 8433f22ae7652e524a82da8d2ccda48da9eef44788333898b7526335d57a7757b80754f0d5c6a2c84ec3bde2ec9fc7da5cf872cbda7286f620b4f4878fe9a583
diff --git a/dev-python/botocore/botocore-1.19.37.ebuild b/dev-python/botocore/botocore-1.19.37.ebuild
new file mode 100644
index 000000000000..7bbd989ca3a9
--- /dev/null
+++ b/dev-python/botocore/botocore-1.19.37.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+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 ~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/bottle/metadata.xml b/dev-python/bottle/metadata.xml
index 3ba321c03488..e836b2d75a9f 100644
--- a/dev-python/bottle/metadata.xml
+++ b/dev-python/bottle/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">bottle</remote-id>
</upstream>
diff --git a/dev-python/breathe/Manifest b/dev-python/breathe/Manifest
index 95a7506660d5..4c490251290f 100644
--- a/dev-python/breathe/Manifest
+++ b/dev-python/breathe/Manifest
@@ -1 +1,2 @@
DIST breathe-4.22.1.tar.gz 76241 BLAKE2B 1b410eefe47610abf2e55bba86d13169449a03be2503839fa7a0f4f351e79d2e5f24d208c95d06a58e2d8cacef55ef52ea5921d5d71ce50b94fb0eed207918a2 SHA512 3b49819821356929a18d8ad9e25edd93d91661f3baea452121afb74308e11afa9a3cc96e31a063d380cfc1b0973ac646d5917279d9b56131be25dbb13dd632bf
+DIST breathe-4.25.0.tar.gz 76814 BLAKE2B 5a31d8a85ffdff0d4e2547e541246046c1088247672e289bd90d3d9ef30970ae00160f375b0a3b805f8ce01f023d0df4bb2327136b4c4d330dd729a51d990556 SHA512 e3e21efd724f10c64194a3294a240f607b83d3ba425cc0c4c514810d6d34977df808c23d3005c10acd7abb914a910ecdd98123b247f0d1065e1f5fe266bd35da
diff --git a/dev-python/breathe/breathe-4.25.0.ebuild b/dev-python/breathe/breathe-4.25.0.ebuild
new file mode 100644
index 000000000000..d8666ff65a60
--- /dev/null
+++ b/dev-python/breathe/breathe-4.25.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx Doxygen renderer"
+HOMEPAGE="https://breathe.readthedocs.io/en/latest/"
+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"
+
+RDEPEND="
+ app-doc/doxygen
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+"
diff --git a/dev-python/cairocffi/Manifest b/dev-python/cairocffi/Manifest
index 0279ca0bc0db..507cb439c5a2 100644
--- a/dev-python/cairocffi/Manifest
+++ b/dev-python/cairocffi/Manifest
@@ -1,2 +1 @@
-DIST cairocffi-1.1.0.tar.gz 68744 BLAKE2B 604812572bb1a39ab52e41e03714acc93ddc7532e07ac36b693f53ad71cf0bcfd5d2f3bceb56b8e352fe7f179b174a244238b9cfcee690cbc0cb96e5b2934c75 SHA512 a9bc9ec5be767388aad9d06cc3b386b474dbacf097d3558b4033834cfb2f5418eede2f4b4080bec7e4725c6821f6e54d6c3366e8c4ee73bd3fa1cf444b395197
DIST cairocffi-1.2.0.tar.gz 70393 BLAKE2B b5cc69ec2805524e8f66a6234c4e19502181fad18c754379d91b05c2d2a88c82742f2b2057afcaac93f4d23ee64b41b2e84f029b6cb4ce2e7b3fa81ae0e8a485 SHA512 0f5b58ae85b2cc880bfb8ede6cbfe4905737211dab5b080815eb59f7cdd9c580367b9e00e7216d68ea9cbb84bda3f21ddcbccb2e744b86d6da8b991cffb96caf
diff --git a/dev-python/cairocffi/cairocffi-1.1.0.ebuild b/dev-python/cairocffi/cairocffi-1.1.0.ebuild
deleted file mode 100644
index c97593411185..000000000000
--- a/dev-python/cairocffi/cairocffi-1.1.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
-HOMEPAGE="https://github.com/Kozea/cairocffi"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- ' 'python*')
- >=dev-python/xcffib-0.3.2[${PYTHON_USEDEP}]
- x11-libs/cairo:0=[X,xcb(+)]
- x11-libs/gdk-pixbuf[jpeg]"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.8.0-tests.patch
- "${FILESDIR}"/${PN}-1.0.2-test-deps.patch
-)
-
-python_test() {
- virtx pytest -vv --pyargs cairocffi
-}
diff --git a/dev-python/cairocffi/cairocffi-1.2.0.ebuild b/dev-python/cairocffi/cairocffi-1.2.0.ebuild
index bea1abea263f..79eb93e36513 100644
--- a/dev-python/cairocffi/cairocffi-1.2.0.ebuild
+++ b/dev-python/cairocffi/cairocffi-1.2.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~ppc ppc64 x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 x86"
RDEPEND="
$(python_gen_cond_dep '
diff --git a/dev-python/cairocffi/files/cairocffi-1.0.2-test-deps.patch b/dev-python/cairocffi/files/cairocffi-1.0.2-test-deps.patch
deleted file mode 100644
index d6da32523d79..000000000000
--- a/dev-python/cairocffi/files/cairocffi-1.0.2-test-deps.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Remove unnecessary test deps.
-
---- cairocffi-1.0.2/setup.cfg
-+++ cairocffi-1.0.2/setup.cfg
-@@ -36,16 +36,10 @@
- packages = find:
- setup_requires =
- cffi >= 1.1.0
-- pytest-runner
- setuptools
- install_requires =
- cffi >= 1.1.0
- setuptools >= 39.2.0
--tests_require =
-- pytest-cov
-- pytest-flake8
-- pytest-isort
-- pytest-runner
- python_requires = >= 3.5
-
- [options.package_data]
-@@ -58,11 +52,6 @@
- doc =
- sphinx
- sphinx_rtd_theme
--test =
-- pytest-runner
-- pytest-cov
-- pytest-flake8
-- pytest-isort
- xcb =
- xcffib >= 0.3.2
-
-@@ -74,7 +63,6 @@
- test = pytest
-
- [tool:pytest]
--addopts = --flake8 --isort
- norecursedirs = build dist .cache .eggs .git
-
- [flake8]
diff --git a/dev-python/cfn-python-lint/Manifest b/dev-python/cfn-python-lint/Manifest
index 9a6c78270f43..b4efda6d9545 100644
--- a/dev-python/cfn-python-lint/Manifest
+++ b/dev-python/cfn-python-lint/Manifest
@@ -2,3 +2,4 @@ DIST cfn-python-lint-0.39.0.tar.gz 5096885 BLAKE2B 50fe41b1dd533c10a011d4729e782
DIST cfn-python-lint-0.41.0.tar.gz 5192401 BLAKE2B 1f4c491446b552272cb9fea46d9d07ca559a4ac7526730663b0824d3ba631a333128ca45b2dbbe637286b0495d0198c45ce19b662bb1448125c919ab4fed57b1 SHA512 3ece6a39666dee395c78fed8e23d9228ec7e0cca67d9216b709300bccf48605903252202cb7d05e7c9b9122be11ed4ca39540aba891359633f1772af72a73fa6
DIST cfn-python-lint-0.42.0.tar.gz 5307120 BLAKE2B f54c4ae7fcefa6b56714a0cfdf89d9fbce20078daac0784c6169dfbe1a110da699e37b526f306ed9734504fb3387c660ccb997748579b65afe01438124361383 SHA512 ce2e6a0031e3d67953da6f5dc96f0b155f1a1144bee75a8a476490eca69fdb700c8a3d6fd89b0afa4c8d724956e5f86bc48417035d7c94f3eed00abda47f9931
DIST cfn-python-lint-0.43.0.tar.gz 5329573 BLAKE2B 94ea659e3df02fb3b269984cdf6d879d0e2719aadf3c95f15c2982606cde220493da0a7e34e16538170f96a2611e8693dbad73033bd842e91de613c8cdcb2009 SHA512 fdde4cdffd01d1e8011f44b4eaec0bfe28f2189f53bdc3054d563cf4657c5f828751d8a12e2050d8e04687fe05bf768b5db8cbd27d2ed1c5e0d8967ede70d0ae
+DIST cfn-python-lint-0.44.0.tar.gz 5339555 BLAKE2B 880f03384247f4d6af1e87850b367bdc0846e00205aa943480a3028760115e36b3f6180f536a7b16b9a1aaf9f824ceaea5ab69b7adb1da3f345506c0268b55c0 SHA512 15ee6cc0cb373f7104d9c32acb06433b5669ae89997de010f1c4f382514481f1c6b87ceb387236275299e13e63aae1a5345e71ee934f2d99c1b66e566e1ef245
diff --git a/dev-python/cfn-python-lint/cfn-python-lint-0.44.0.ebuild b/dev-python/cfn-python-lint/cfn-python-lint-0.44.0.ebuild
new file mode 100644
index 000000000000..439b81c417ed
--- /dev/null
+++ b/dev-python/cfn-python-lint/cfn-python-lint-0.44.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="https://pypi.org/project/cfn-lint/ https://github.com/aws-cloudformation/cfn-python-lint"
+SRC_URI="https://github.com/aws-cloudformation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.25.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/importlib_resources[${PYTHON_USEDEP}]
+ ' python3_6)
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.15.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.11[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests --install unittest
+
+PATCHES=(
+ "${FILESDIR}/cfn-python-lint-0.30.1-tests.patch"
+)
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i setup.py || die
+ # requires git checkout
+ sed -e 's:test_update_docs:_&:' \
+ -i test/unit/module/maintenance/test_update_documentation.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest
index bb16f1f98989..068df8d26c89 100644
--- a/dev-python/fsspec/Manifest
+++ b/dev-python/fsspec/Manifest
@@ -1 +1,2 @@
DIST filesystem_spec-0.8.2.tar.gz 238399 BLAKE2B f64f153dd303bd3ec44e5010507704b5cbb50a89ad4a7a2e50b38b139219896be543bcff0fe0a99e06f015450f4b0334a641fabeeeb23583b14665ef8f089159 SHA512 e30badc56871ef20cf4b2ce0f6353b4125632d9e253f68d4b08535c9e1ac5fe428745315cee89a9536bfd1b308a28cc65fff555a7b9d9511225357bf790b9aac
+DIST filesystem_spec-0.8.5.tar.gz 255904 BLAKE2B df400276dbc53a453e9e9a00acb2e93a86a5f239237533bab036a16bd48d6d709f68241febe75f6f72281162ba4a563a087405a1064e18805ce2501095d778fb SHA512 20001fd02348f15e764a9e20eab98267f6746bd7e86187914d3db3098061aa62cb296595c3519696ae1e99ef896d49df0fcec846aaf6e5c281dd1a344ef6c393
diff --git a/dev-python/fsspec/files/fsspec-0.8.2-test-cleanup.patch b/dev-python/fsspec/files/fsspec-0.8.2-test-cleanup.patch
new file mode 100644
index 000000000000..8227c2d23c66
--- /dev/null
+++ b/dev-python/fsspec/files/fsspec-0.8.2-test-cleanup.patch
@@ -0,0 +1,80 @@
+From f933694238f78fbef91367d5051d515e0f9d0635 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 16 Dec 2020 11:32:04 +0100
+Subject: [PATCH] clean up properly after test_git
+
+Restore original directory after test_git. Otherwise, next tests
+are run in non-existing directory and fail:
+
+[...]
+> cwd = os.getcwd()
+E FileNotFoundError: [Errno 2] No such file or directory
+
+/usr/lib/python3.9/site-packages/gunicorn/util.py:443: FileNotFoundError
+
+While at it, reflow the logic so that the temporary directory is always
+cleaned, even if the test fails in middle of setup.
+---
+ fsspec/implementations/tests/test_git.py | 42 +++++++++++++-----------
+ 1 file changed, 22 insertions(+), 20 deletions(-)
+
+diff --git a/fsspec/implementations/tests/test_git.py b/fsspec/implementations/tests/test_git.py
+index 562b228..4cd4c3f 100644
+--- a/fsspec/implementations/tests/test_git.py
++++ b/fsspec/implementations/tests/test_git.py
+@@ -10,30 +10,32 @@ pygit2 = pytest.importorskip("pygit2")
+
+ @pytest.fixture()
+ def repo():
++ orig_dir = os.getcwd()
+ d = tempfile.mkdtemp()
+- os.chdir(d)
+- subprocess.call("git init", shell=True, cwd=d)
+- subprocess.call("git init", shell=True, cwd=d)
+- subprocess.call('git config user.email "you@example.com"', shell=True, cwd=d)
+- subprocess.call('git config user.name "Your Name"', shell=True, cwd=d)
+- open(os.path.join(d, "file1"), "wb").write(b"data0")
+- subprocess.call("git add file1", shell=True, cwd=d)
+- subprocess.call('git commit -m "init"', shell=True, cwd=d)
+- sha = open(os.path.join(d, ".git/refs/heads/master"), "r").read().strip()
+- open(os.path.join(d, "file1"), "wb").write(b"data00")
+- subprocess.check_output('git commit -a -m "tagger"', shell=True, cwd=d)
+- subprocess.call('git tag -a thetag -m "make tag"', shell=True, cwd=d)
+- open(os.path.join(d, "file2"), "wb").write(b"data000")
+- subprocess.call("git add file2", shell=True)
+- subprocess.call('git commit -m "master tip"', shell=True, cwd=d)
+- subprocess.call("git checkout -b abranch", shell=True, cwd=d)
+- os.mkdir("inner")
+- open(os.path.join(d, "inner", "file1"), "wb").write(b"data3")
+- subprocess.call("git add inner/file1", shell=True, cwd=d)
+- subprocess.call('git commit -m "branch tip"', shell=True, cwd=d)
+ try:
++ os.chdir(d)
++ subprocess.call("git init", shell=True, cwd=d)
++ subprocess.call("git init", shell=True, cwd=d)
++ subprocess.call('git config user.email "you@example.com"', shell=True, cwd=d)
++ subprocess.call('git config user.name "Your Name"', shell=True, cwd=d)
++ open(os.path.join(d, "file1"), "wb").write(b"data0")
++ subprocess.call("git add file1", shell=True, cwd=d)
++ subprocess.call('git commit -m "init"', shell=True, cwd=d)
++ sha = open(os.path.join(d, ".git/refs/heads/master"), "r").read().strip()
++ open(os.path.join(d, "file1"), "wb").write(b"data00")
++ subprocess.check_output('git commit -a -m "tagger"', shell=True, cwd=d)
++ subprocess.call('git tag -a thetag -m "make tag"', shell=True, cwd=d)
++ open(os.path.join(d, "file2"), "wb").write(b"data000")
++ subprocess.call("git add file2", shell=True)
++ subprocess.call('git commit -m "master tip"', shell=True, cwd=d)
++ subprocess.call("git checkout -b abranch", shell=True, cwd=d)
++ os.mkdir("inner")
++ open(os.path.join(d, "inner", "file1"), "wb").write(b"data3")
++ subprocess.call("git add inner/file1", shell=True, cwd=d)
++ subprocess.call('git commit -m "branch tip"', shell=True, cwd=d)
+ yield d, sha
+ finally:
++ os.chdir(orig_dir)
+ shutil.rmtree(d)
+
+
+--
+2.29.2
+
diff --git a/dev-python/fsspec/fsspec-0.8.2.ebuild b/dev-python/fsspec/fsspec-0.8.2.ebuild
index cdced8546e35..8739553cf731 100644
--- a/dev-python/fsspec/fsspec-0.8.2.ebuild
+++ b/dev-python/fsspec/fsspec-0.8.2.ebuild
@@ -31,6 +31,10 @@ BDEPEND="
distutils_enable_tests pytest
+PATCHES=(
+ "${FILESDIR}"/fsspec-0.8.2-test-cleanup.patch
+)
+
src_test() {
git config --global user.email "you@example.com" || die
git config --global user.name "Your Name" || die
diff --git a/dev-python/fsspec/fsspec-0.8.5.ebuild b/dev-python/fsspec/fsspec-0.8.5.ebuild
new file mode 100644
index 000000000000..208198fba4b9
--- /dev/null
+++ b/dev-python/fsspec/fsspec-0.8.5.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+MY_P=filesystem_spec-${PV}
+
+DESCRIPTION="A specification that python filesystems should adhere to"
+HOMEPAGE="https://github.com/intake/filesystem_spec/
+ https://pypi.org/project/fsspec/"
+SRC_URI="
+ https://github.com/intake/filesystem_spec/archive/${PV}.tar.gz
+ -> ${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/fsspec-0.8.2-test-cleanup.patch
+)
+
+src_test() {
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ # sftp and smb require server started via docker
+ pytest -vv \
+ --ignore fsspec/implementations/tests/test_sftp.py \
+ --ignore fsspec/implementations/tests/test_smb.py ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/graphviz/graphviz-0.15.ebuild b/dev-python/graphviz/graphviz-0.15.ebuild
index 17ffc2e59e1d..66f39b6bbef2 100644
--- a/dev-python/graphviz/graphviz-0.15.ebuild
+++ b/dev-python/graphviz/graphviz-0.15.ebuild
@@ -21,6 +21,7 @@ BDEPEND="
test? ( ${RDEPEND}
>=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
>=dev-python/pytest-mock-1.8[${PYTHON_USEDEP}]
+ media-gfx/graphviz[gts,pdf]
)
"
diff --git a/dev-python/imagesize/metadata.xml b/dev-python/imagesize/metadata.xml
index 2ae1195f9841..286ee9374ba8 100644
--- a/dev-python/imagesize/metadata.xml
+++ b/dev-python/imagesize/metadata.xml
@@ -4,6 +4,7 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">imagesize</remote-id>
<remote-id type="github">shibukawa/imagesize_py</remote-id>
diff --git a/dev-python/libtmux/metadata.xml b/dev-python/libtmux/metadata.xml
index f0169b5b01d4..2aa5a52dd7df 100644
--- a/dev-python/libtmux/metadata.xml
+++ b/dev-python/libtmux/metadata.xml
@@ -5,6 +5,7 @@
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">libtmux</remote-id>
</upstream>
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
index 129d44595d3a..b84542f0e911 100644
--- a/dev-python/pip/Manifest
+++ b/dev-python/pip/Manifest
@@ -1,5 +1,6 @@
DIST pip-20.2.4.tar.gz 8723163 BLAKE2B 4b892950b6752b61af2f6a9d2c0a6f5db124cb7605d6cb9d4787bdbd88911cc6013474dd299f6eb5b1af4a8fa0ab6d3c5253513af182045a50cb463ced8382ea SHA512 649fdc6baa1ebe741717bd1e5ed8f2450d79f8bc0d06f2804c27488be9018f6fa6cc2eccc3ec2801442073f59ac0b8c377612c25116126aa919aa95050f4214f
DIST pip-20.3.1.tar.gz 8753852 BLAKE2B dbcf719ed6a1e4f39f08c39df0cb4abf4284f6cd68c9fbd1282b17714aff9df9e33dd2a4a1af89f45ce5131a858f7d392c11447fe9aceba9d3be2ebe1529818d SHA512 6061004b51e57e428a7eef02968fbbde02311ee184019c491012758010bffcb49d371c7612bc43cfacf96fe8de37fdcad34e3cadefc46b3b5962b0c716ee5d59
DIST pip-20.3.2.tar.gz 8757391 BLAKE2B 934e689dd42529269798fbd5e45e7392167492f5c723394f2fca3d12d7fa3408ca1108dd4ed517cd40cf2f20ded5a06344cb23cc22fbcc4eefeef74dd2024762 SHA512 aa794e57f440deb238215141854b58e67a682cd5ca70febde13d8e3b92c9897e7f5ef11be6bd2a9594a8233348e406402b91fd3caaadffc5ff377ede6fc4a480
+DIST pip-20.3.3.tar.gz 8757085 BLAKE2B dce60cd59669929957715d6be70da4924c3a89bb4129f0972516bde8ccca751b4f327dd2f44a06cd0b48d092f8d520d1ec236ee812f768282004b34f1fabb798 SHA512 362d20e5d2665fa6211cf3836ca02a0340fb34ecde1d5902eecae744eb655d7dcfed0bd464e9db186b87b63a7aaf275e43645cf6321bdddd44b62787de84d87b
DIST setuptools-44.0.0-py2.py3-none-any.whl 583230 BLAKE2B 823e6792471660f247e30a938aa869d345a63db7294e5f9b4bd88f15a7694779011d29740fe317149620985f705fc6e18cbb07a18e5680cc11d7c229ffbc74f6 SHA512 7006fd303181afbeeec0e30cafb9fd1e4d3c6f55cfdd6343fedbc32b17dbb96b3d96ae37f4db27bfb168738727474cf425904ec280ff1d2b789fc48077a8fa84
DIST wheel-0.34.2-py2.py3-none-any.whl 26502 BLAKE2B 3a1bd4571c582245b60ff33c9bf74ff8a2ebafb26e56fc7b9bd215058d059b6bd13bbe21ce46002af257813a54126f27e19253f211e21c4548c7cf84cd15caf7 SHA512 4f1a44f4691ed8baad777d7874f7f4da96a5019eb485fd3a9eed9259aa2a9d5acccc6dc63a72128664347c64ee039a6076c6ca9c3b75a1f94457967864e522ed
diff --git a/dev-python/pip/pip-20.3.3.ebuild b/dev-python/pip/pip-20.3.3.ebuild
new file mode 100644
index 000000000000..4c1b980cee62
--- /dev/null
+++ b/dev-python/pip/pip-20.3.3.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+PYTHON_REQ_USE="ssl(+),threads(+)"
+
+inherit bash-completion-r1 distutils-r1 multiprocessing
+
+SETUPTOOLS_PV="44.0.0"
+WHEEL_PV="0.34.2"
+
+DESCRIPTION="Installs python packages -- replacement for easy_install"
+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/py2.py3/s/setuptools/setuptools-${SETUPTOOLS_PV}-py2.py3-none-any.whl
+ https://files.pythonhosted.org/packages/py2.py3/w/wheel/wheel-${WHEEL_PV}-py2.py3-none-any.whl
+ )
+"
+# PyPI archive does not have tests, so we need to download from GitHub.
+# setuptools & wheel .whl files are required for testing, exact version is not very important.
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+SLOT="0"
+IUSE="test -vanilla"
+
+# disable-system-install patch breaks tests
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/csv23[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/scripttest[${PYTHON_USEDEP}]
+ <dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ )
+"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-19.3-disable-version-check.patch"
+ "${FILESDIR}/${PN}-20.2-no-coverage.patch"
+ )
+ if ! use vanilla; then
+ PATCHES+=( "${FILESDIR}/pip-20.0.2-disable-system-install.patch" )
+ fi
+
+ # TODO
+ rm tests/functional/test_new_resolver_user.py || die
+
+ distutils-r1_python_prepare_all
+
+ if use test; then
+ mkdir tests/data/common_wheels/ || die
+ cp "${DISTDIR}"/setuptools-${SETUPTOOLS_PV}-py2.py3-none-any.whl \
+ tests/data/common_wheels/ || die
+
+ cp "${DISTDIR}"/wheel-${WHEEL_PV}-py2.py3-none-any.whl \
+ tests/data/common_wheels/ || die
+ fi
+}
+
+python_test() {
+ if [[ ${EPYTHON} == pypy* ]]; then
+ ewarn "Skipping tests on ${EPYTHON} since they are very broken"
+ return 0
+ fi
+
+ local -a exclude_tests
+
+ # these will be built in to an expression passed to pytest to exclude
+ exclude_tests=(
+ git
+ svn
+ bazaar
+ mercurial
+ version_check
+ uninstall_non_local_distutils
+ pep518_uses_build_env
+ install_package_with_root
+ install_editable_with_prefix
+ install_user_wheel
+ install_from_current_directory_into_usersite
+ uninstall_editable_from_usersite
+ uninstall_from_usersite_with_dist_in_global_site
+ build_env_isolation
+ user_config_accepted
+ # these fail with new setuptools + distutils_install_for_testing
+ double_install_fail
+ multiple_exclude_and_normalization
+ )
+
+ distutils_install_for_testing --via-root
+
+ # generate the expression to exclude failing tests
+ local exclude_expr
+ printf -v exclude_expr "or %s " "${exclude_tests[@]}" || die
+ exclude_expr="not (${exclude_expr#or })" || die
+
+ local -x GENTOO_PIP_TESTING=1 \
+ PATH="${TEST_DIR}/scripts:${PATH}" \
+ PYTHONPATH="${TEST_DIR}/lib:${BUILD_DIR}/lib"
+
+ pytest -vv \
+ -k "${exclude_expr}" \
+ -m "not network" \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ # Prevent dbus auto-launch
+ # https://bugs.gentoo.org/692178
+ export DBUS_SESSION_BUS_ADDRESS="disabled:"
+
+ local DOCS=( AUTHORS.txt docs/html/**/*.rst )
+ distutils-r1_python_install_all
+
+ COMPLETION="${T}"/completion.tmp
+
+ # '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"; import pip.__main__; sys.exit(pip.__main__._main())'
+
+ ${PYTHON} -c "${pipcmd}" completion --bash > "${COMPLETION}" || die
+ newbashcomp "${COMPLETION}" ${PN}
+
+ ${PYTHON} -c "${pipcmd}" completion --zsh > "${COMPLETION}" || die
+ insinto /usr/share/zsh/site-functions
+ newins "${COMPLETION}" _pip
+}
diff --git a/dev-python/progressbar2/progressbar2-3.53.1.ebuild b/dev-python/progressbar2/progressbar2-3.53.1.ebuild
index 234131b5c16b..d6a2b1f7023b 100644
--- a/dev-python/progressbar2/progressbar2-3.53.1.ebuild
+++ b/dev-python/progressbar2/progressbar2-3.53.1.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
CDEPEND="!dev-python/progressbar[${PYTHON_USEDEP}]
dev-python/python-utils[${PYTHON_USEDEP}]"
diff --git a/dev-python/prometheus_client/metadata.xml b/dev-python/prometheus_client/metadata.xml
index 010fa63b8d8b..4fa961d83108 100644
--- a/dev-python/prometheus_client/metadata.xml
+++ b/dev-python/prometheus_client/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">prometheus/client_python</remote-id>
<remote-id type="pypi">prometheus-client</remote-id>
diff --git a/dev-python/pyopencl/Manifest b/dev-python/pyopencl/Manifest
index a19ae22c5c31..a1a65d8419d2 100644
--- a/dev-python/pyopencl/Manifest
+++ b/dev-python/pyopencl/Manifest
@@ -1,3 +1,2 @@
DIST pyopencl-2020.2.2.tar.gz 352110 BLAKE2B a3bb5f74abbb5d9600651dc0659f2472f7bf91d67cf3474f7306a29ccd3a8249dc952fc1e5b81f0514990e49246d106325a6697559b260a490981541666cb3a7 SHA512 2c4f21d9c0a5d3d53f2a0e4aaa8f85f42fc6fbedc5282cfc107ff047936aa731a973605f5500b56b62d5b580a00e9f2be2aa9a259287291641ca4b4d60c51ca9
-DIST pyopencl-2020.2.tar.gz 351600 BLAKE2B 47a733d7a552f5d1f69a1a9710c3262d50c26651ed9f46146829babe28962e236e2c1b9ba3d3d14207f28bdc562323a94ab4c51dbf5fcf1a0b12282b3c6aff50 SHA512 233bbf2e99507d3a832222cc8149bf7ac17332a550e4867f843fcc2b31104d961a3f0d972b0a1878d4716b2da4548f1390560141cd09cb1ba13300c541b058b9
DIST pyopencl-2020.3.1.tar.gz 357422 BLAKE2B de9cb6408e957e30f54797ce682ed17f3272dc82019bcd9a744a0696a7e344f47645a3549332da90e0bcc442f7a8ea9c6a12a375875a9728fa9814ca9d1a9b30 SHA512 459d6f060f4203e83276c47bf832f33fc4348dd59904ea55fe2a53684cb7c8eaad45875476d10dcb6653820f9cb1f7e013c6b854410b2040b2dfe847fc1f7658
diff --git a/dev-python/pyopencl/pyopencl-2020.2.2.ebuild b/dev-python/pyopencl/pyopencl-2020.2.2.ebuild
index c62fa56f6b96..a55fe847b53d 100644
--- a/dev-python/pyopencl/pyopencl-2020.2.2.ebuild
+++ b/dev-python/pyopencl/pyopencl-2020.2.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="examples opengl"
COMMON="dev-python/numpy[${PYTHON_USEDEP}]"
diff --git a/dev-python/pyopencl/pyopencl-2020.2.ebuild b/dev-python/pyopencl/pyopencl-2020.2.ebuild
deleted file mode 100644
index a55fe847b53d..000000000000
--- a/dev-python/pyopencl/pyopencl-2020.2.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python wrapper for OpenCL"
-HOMEPAGE="https://mathema.tician.de/software/pyopencl
- https://pypi.org/project/pyopencl/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="examples opengl"
-
-COMMON="dev-python/numpy[${PYTHON_USEDEP}]"
-RDEPEND="${COMMON}
- >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/decorator-3.2.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/pytools-2017.6[${PYTHON_USEDEP}]
- >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
- >=virtual/opencl-2"
-DEPEND="${COMMON}
- dev-python/pybind11[${PYTHON_USEDEP}]"
-
-# The test suite fails if there are no OpenCL platforms available, and
-# even if there is one (which requires the presence of both an OpenCL
-# runtime *and* hardware supported by it - simply emerging any runtime
-# is not enough) the vast majority of tests end up skipped because by
-# default the portage user hasn't got sufficient privileges to talk
-# to the GPU.
-RESTRICT="test"
-
-python_configure_all() {
- local myconf=()
- if use opengl; then
- myconf+=(--cl-enable-gl)
- fi
-
- "${EPYTHON}" configure.py \
- "${myconf[@]}"
-}
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyopencl/pyopencl-2020.3.1.ebuild b/dev-python/pyopencl/pyopencl-2020.3.1.ebuild
index c62fa56f6b96..1b22b8fcb4ea 100644
--- a/dev-python/pyopencl/pyopencl-2020.3.1.ebuild
+++ b/dev-python/pyopencl/pyopencl-2020.3.1.ebuild
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{6,7,8,9,10} )
inherit distutils-r1
DESCRIPTION="Python wrapper for OpenCL"
-HOMEPAGE="https://mathema.tician.de/software/pyopencl
+HOMEPAGE="https://mathema.tician.de/software/pyopencl/
https://pypi.org/project/pyopencl/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
diff --git a/dev-python/pyopenssl/Manifest b/dev-python/pyopenssl/Manifest
index 16ba5b7fa694..847f7caa8a97 100644
--- a/dev-python/pyopenssl/Manifest
+++ b/dev-python/pyopenssl/Manifest
@@ -1,2 +1,3 @@
DIST pyOpenSSL-19.1.0.tar.gz 160510 BLAKE2B e6e39f860221a2696aa3fa32ac89ed48e34b18e4accc366a86264d943a15a1b00ba1a0d8349550d1775d25836aa5d214e1e3fe4ec0a9c0f6d5ab00cd9fede633 SHA512 4acd96f287d72eb11bd812697d28cd6eb6a96a4653248b65f967187830a6b17cc1254775a18a3405469f3d45abdae6f02d165f2f35f035f3174c2826fba82916
DIST pyOpenSSL-20.0.0.tar.gz 173786 BLAKE2B 3fb1e90e20b3e083fc93f6dc8a54fb54e15ceb38c4d2e84e2d7d68bb56f9e3828cd264e3554f25465e858687e74a7f20b91216fb7a0b4b2c656ea86423cd3442 SHA512 26e8a64d53a35434ad4bf5ef50ed5c37d7b92b0db971a2103dcafea56a0b377d67333af630a31405a97cf2cffddde320907b4950ed336a8321391854bcd2c50a
+DIST pyOpenSSL-20.0.1.tar.gz 173736 BLAKE2B 37e1741425a296142d38c20c70f9950eec2bd043fc58e50c9955b98dc6825111328af852d247b154aa120ab42ea9dc2ae8186d350dd0c664cd5920b9a902963e SHA512 e81e0870398b882d77453b02e972559c0be82dbfe87bd8a48a65e8943acc3ea07dc8c3150b88e299c237496043443d1a5832219c337e4436f99ef419b36dd23f
diff --git a/dev-python/pyopenssl/pyopenssl-20.0.1.ebuild b/dev-python/pyopenssl/pyopenssl-20.0.1.ebuild
new file mode 100644
index 000000000000..2c111d70313b
--- /dev/null
+++ b/dev-python/pyopenssl/pyopenssl-20.0.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN=pyOpenSSL
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python interface to the OpenSSL library"
+HOMEPAGE="
+ https://www.pyopenssl.org/
+ https://pypi.org/project/pyOpenSSL/
+ https://github.com/pyca/pyopenssl/
+"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+RDEPEND="
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.2[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ virtual/python-cffi[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ >=dev-python/pytest-3.0.1[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx_rtd_theme
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Requires network access
+ sed -i -e 's/test_set_default_verify_paths/_&/' tests/test_ssl.py || die
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ local -x TZ=UTC
+ distutils-r1_src_test
+}
diff --git a/dev-python/pyphen/Manifest b/dev-python/pyphen/Manifest
index 782c9939d49d..d08a1ce9c5c2 100644
--- a/dev-python/pyphen/Manifest
+++ b/dev-python/pyphen/Manifest
@@ -1,2 +1 @@
DIST pyphen-0.10.0.tar.gz 1894118 BLAKE2B c33283d6eb3dd7affb52b91826fa0f8fab8ec8f858158e905e8487dc2ad8c77a88e4b25699ed6272d246bcf8a926560e18ec224f59703452ea1ad5c921e4fb4b SHA512 b6d789ca6eb010c1c79b28a9a0e68620ea5600adc43111bed5dbda3cb8b3a4c8c05caa3fb44ea60b0ef4a20272f17cf5e6fe61f0d1e48038395407ff53da7a92
-DIST pyphen-0.9.5.tar.gz 1901384 BLAKE2B 809f7e3c204ab7de87a387909fb0d9aebd3d48586a6b1da8a683a8b1f862e2d2489babfb30c9792acca44c0fe7bd5da39c1508245ec784dce30a4c7124e91152 SHA512 049a62b226e90e568c8f56e756f8fa6fbc74f3bc40d61af8eb05ff2d4404a7b29cef14d4f144d68ed2f2b11eb128491de64536240ba7b76a2d04010c76e10346
diff --git a/dev-python/pyphen/pyphen-0.10.0.ebuild b/dev-python/pyphen/pyphen-0.10.0.ebuild
index c155f01a769d..1c3209e19f7d 100644
--- a/dev-python/pyphen/pyphen-0.10.0.ebuild
+++ b/dev-python/pyphen/pyphen-0.10.0.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://github.com/Kozea/Pyphen"
LICENSE="GPL-2+ LGPL-2+ MPL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE=""
RDEPEND=""
diff --git a/dev-python/pyphen/pyphen-0.9.5.ebuild b/dev-python/pyphen/pyphen-0.9.5.ebuild
deleted file mode 100644
index 1c3209e19f7d..000000000000
--- a/dev-python/pyphen/pyphen-0.9.5.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit distutils-r1
-
-DESCRIPTION="Python module for hyphenation using hunspell dictionaries"
-MY_PN="Pyphen"
-MY_P="${MY_PN}-${PV}"
-SRC_URI="https://github.com/Kozea/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="https://github.com/Kozea/Pyphen"
-
-LICENSE="GPL-2+ LGPL-2+ MPL-1.1"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND=""
-DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
-
-S="${WORKDIR}/${MY_P}"
-
-distutils_enable_tests pytest
-
-python_test() {
- pytest -v test.py || die
-}
diff --git a/dev-python/pytest-mock/Manifest b/dev-python/pytest-mock/Manifest
index c44588580b2d..aecb5ef21a58 100644
--- a/dev-python/pytest-mock/Manifest
+++ b/dev-python/pytest-mock/Manifest
@@ -1 +1,2 @@
DIST pytest-mock-3.3.1.tar.gz 27551 BLAKE2B 9e3602b988c0e27caa295d42d7400cbe7e3e30392511e662fa6ec16ec9fa4ef776d3e64b63b0345d1b520f753c6776103f507f91f0bad022544bfccc510b7e6b SHA512 ffd53974f82f725cf3bdbe750c1deb568ad1a12a67532eca93ff28d80b1cbcd8ebf709985f5473717c9d54345b251c1627c0567821e9e8b9e102db5c16cf7421
+DIST pytest-mock-3.4.0.tar.gz 28115 BLAKE2B 0a7f9098955d57f7121c04f7ab706dd67eb52d8ec0b2254552460eb90b2e3fef3cd3b925cf46619532ffe7bede2f208bf822e465647f3ac4504566c18ff58a75 SHA512 5456b60bdd06a63859232b28aeb79be643e8298e69ae103cb6e194891987e01b17771ad895dfead97fa45531959689fb202bb1ebc9ba44491098760c10d1ef43
diff --git a/dev-python/pytest-mock/pytest-mock-3.4.0.ebuild b/dev-python/pytest-mock/pytest-mock-3.4.0.ebuild
new file mode 100644
index 000000000000..ef73c45364a2
--- /dev/null
+++ b/dev-python/pytest-mock/pytest-mock-3.4.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2020 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="Thin-wrapper around the mock package for easier use with pytest"
+HOMEPAGE="https://github.com/pytest-dev/pytest-mock/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE=""
+
+RDEPEND=">=dev-python/pytest-5[${PYTHON_USEDEP}]"
+BDEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ if has_version dev-python/mock; then
+ # test fails when standalone mock is installed
+ sed -e 's|^\(def \)\(test_standalone_mock(\)|\1_\2|' -i tests/test_pytest_mock.py || die
+ fi
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ distutils_install_for_testing
+ pytest --assert=plain -vv || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 1a28961a671a..e0dadfcfa54d 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -2,3 +2,4 @@ DIST pytest-4.6.11.tar.gz 952305 BLAKE2B af07adf5e8fc614b1fdb7b5673fb9c557ff0dd3
DIST pytest-5.4.3.tar.gz 1022353 BLAKE2B 70d4f23cbbfc4c4ce63c512ee0a01556973761a6d3ebb71a6d9ed4fb4a4a21531e1b151ed0e4c5e56e5dd3243a1a272441f17c4c2c4e3b0b19c24654b74e8e52 SHA512 0a07d4f4f791969c6f21961a0ba0f8c6670e5870c6cc1cebf93766587bb9cb3e10db8e57f0bd33dd22b275f3aad7aa674949f124ac80e0ccca64e35be4beee4e
DIST pytest-6.1.2.tar.gz 1084943 BLAKE2B cbdf29c54118b5daf699f11fb674d37d5972a163a7a53f42f6ddf9224e2d8d9e84b9a88106d5a77e70f470ccbffb15c2cf9a939be69bc0a2cab1fc4c76054562 SHA512 6335e994c5273881c8d1c334fe6bfa9cd0a3e5c251f3d6a9332f7f7c1427e6560ff48d8f235b307ea5eb53491072daf30c41f566bb67b304354fd88d286c61b1
DIST pytest-6.2.0.tar.gz 1101619 BLAKE2B c59d5c23c70aaa7670eb0e96cd5d57c6cdf21f2cdfacc2fb9c01a6baf211f85e5f757d7087589db2dc9a6f0b387ec7b25da5816d4cffc86f6e2c3c08b9f07f59 SHA512 58315bb5f9a696f5196da08912a0f32fd367ea11987d37ff74b0d00d961bb706e0d3604bc7c25a762e4ee66bd46ef4389b50eca11b3109406c169aefff395d51
+DIST pytest-6.2.1.tar.gz 1102958 BLAKE2B 336757fe911e2bfa1041d7d9c1f83ce66418c55bbe0a1accdac45a36ed5ace972f124bc5f68d2847e3d310bcb2e68a8ced04c74e818ff6f1d43c3ba8b915332d SHA512 abd130212411e0a26265aec922958053e41d05d09d14942b75c1ba81d0ad7c5115d851110a257b32f0b05a2d515961ad068a1fd65f7e275cfe65d16150d008a6
diff --git a/dev-python/pytest/pytest-6.2.1.ebuild b/dev-python/pytest/pytest-6.2.1.ebuild
new file mode 100644
index 000000000000..161e76e304f4
--- /dev/null
+++ b/dev-python/pytest/pytest-6.2.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="https://pytest.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/importlib_metadata[${PYTHON_USEDEP}]
+ ' python3_{6,7} pypy3)
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
+ <dev-python/pluggy-1
+ >=dev-python/py-1.8.2[${PYTHON_USEDEP}]
+ dev-python/toml[${PYTHON_USEDEP}]
+"
+# flake cause a number of tests to fail
+DEPEND="
+ >=dev-python/setuptools_scm-3.4[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ !!dev-python/flaky
+ )"
+
+python_prepare_all() {
+ # fragile to warnings from other packages (setuptools)
+ # little value for us to run it
+ sed -i -e 's:test_no_warnings:_&:' \
+ testing/test_meta.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ distutils_install_for_testing --via-root
+
+ "${EPYTHON}" -m pytest -vv --lsof -rfsxX ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/python-dotenv/metadata.xml b/dev-python/python-dotenv/metadata.xml
index 59968d569b92..c9fedbb35a60 100644
--- a/dev-python/python-dotenv/metadata.xml
+++ b/dev-python/python-dotenv/metadata.xml
@@ -9,6 +9,7 @@
<email>python@gentoo.org</email>
<name>Gentoo Python Project</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">python-dotenv</remote-id>
</upstream>
diff --git a/dev-python/python-email-validator/metadata.xml b/dev-python/python-email-validator/metadata.xml
index 198746921202..2d7bd09b0a29 100644
--- a/dev-python/python-email-validator/metadata.xml
+++ b/dev-python/python-email-validator/metadata.xml
@@ -18,6 +18,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">JoshData/python-email-validator</remote-id>
<remote-id type="pypi">email-validator</remote-id>
diff --git a/dev-python/python-utils/python-utils-2.4.0.ebuild b/dev-python/python-utils/python-utils-2.4.0.ebuild
index fe9e77638406..e11d2c22edc6 100644
--- a/dev-python/python-utils/python-utils-2.4.0.ebuild
+++ b/dev-python/python-utils/python-utils-2.4.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"