summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-11-19 13:41:54 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-11-19 13:41:54 +0000
commit7124080a9e34c08feffecc27c8f97a04017576fc (patch)
tree306f6415dac97d09584c51b4ad939cb6a4ee455f /dev-python
parentc1d7916da2a070c0259ad1e24c838d0e0e994f6e (diff)
downloadbaldeagleos-repo-7124080a9e34c08feffecc27c8f97a04017576fc.tar.gz
baldeagleos-repo-7124080a9e34c08feffecc27c8f97a04017576fc.tar.xz
baldeagleos-repo-7124080a9e34c08feffecc27c8f97a04017576fc.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aioredis/aioredis-2.0.0.ebuild2
-rw-r--r--dev-python/aiosignal/aiosignal-1.2.0.ebuild2
-rw-r--r--dev-python/anyio/anyio-3.2.1.ebuild2
-rw-r--r--dev-python/astor/astor-0.8.1.ebuild2
-rw-r--r--dev-python/cmd2/Manifest1
-rw-r--r--dev-python/cmd2/cmd2-2.3.1.ebuild52
-rw-r--r--dev-python/debugpy/debugpy-1.5.1.ebuild2
-rw-r--r--dev-python/dictdiffer/dictdiffer-0.9.0.ebuild2
-rw-r--r--dev-python/fakeredis/fakeredis-1.6.1.ebuild2
-rw-r--r--dev-python/flask/flask-2.0.2.ebuild2
-rw-r--r--dev-python/flit/Manifest1
-rw-r--r--dev-python/flit/flit-3.5.0.ebuild43
-rw-r--r--dev-python/flit_core/Manifest1
-rw-r--r--dev-python/flit_core/flit_core-3.4.0.ebuild2
-rw-r--r--dev-python/flit_core/flit_core-3.5.0.ebuild27
-rw-r--r--dev-python/frozenlist/frozenlist-1.2.0.ebuild2
-rw-r--r--dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild2
-rw-r--r--dev-python/geventhttpclient/Manifest2
-rw-r--r--dev-python/geventhttpclient/geventhttpclient-1.4.5.ebuild49
-rw-r--r--dev-python/geventhttpclient/geventhttpclient-1.5.2.ebuild49
-rw-r--r--dev-python/geventhttpclient/geventhttpclient-1.5.3.ebuild2
-rw-r--r--dev-python/hiredis/hiredis-2.0.0-r1.ebuild2
-rw-r--r--dev-python/httpcore/httpcore-0.13.7.ebuild2
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.25.0.ebuild62
-rw-r--r--dev-python/identify/Manifest1
-rw-r--r--dev-python/identify/identify-2.4.0.ebuild20
-rw-r--r--dev-python/immutables/immutables-0.16.ebuild2
-rw-r--r--dev-python/intreehooks/intreehooks-1.0.ebuild2
-rw-r--r--dev-python/ipykernel/ipykernel-6.2.0-r1.ebuild2
-rw-r--r--dev-python/ipykernel/ipykernel-6.4.2.ebuild2
-rw-r--r--dev-python/ipykernel/ipykernel-6.5.0.ebuild2
-rw-r--r--dev-python/ipyparallel/ipyparallel-7.1.0.ebuild2
-rw-r--r--dev-python/jeepney/jeepney-0.7.1.ebuild2
-rw-r--r--dev-python/jupyter_client/jupyter_client-7.0.6.ebuild2
-rw-r--r--dev-python/matplotlib/Manifest1
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch74
-rw-r--r--dev-python/matplotlib/matplotlib-3.4.2.ebuild285
-rw-r--r--dev-python/matplotlib/matplotlib-3.4.3-r1.ebuild2
-rw-r--r--dev-python/matplotlib/matplotlib-3.5.0.ebuild2
-rw-r--r--dev-python/nest_asyncio/nest_asyncio-1.5.1.ebuild2
-rw-r--r--dev-python/nose2/nose2-0.10.0.ebuild2
-rw-r--r--dev-python/numpy/numpy-1.21.2-r1.ebuild2
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-4.5.0.ebuild2
-rw-r--r--dev-python/outcome/outcome-1.1.0.ebuild2
-rw-r--r--dev-python/pydantic/pydantic-1.8.2_p20210719.ebuild2
-rw-r--r--dev-python/pydevd/pydevd-2.7.0.ebuild2
-rw-r--r--dev-python/pytest-check/pytest-check-1.0.4.ebuild2
-rw-r--r--dev-python/pytest-datadir/pytest-datadir-1.3.1.ebuild2
-rw-r--r--dev-python/pytest-localserver/Manifest1
-rw-r--r--dev-python/pytest-localserver/pytest-localserver-0.5.1.ebuild26
-rw-r--r--dev-python/pytest-ordering/pytest-ordering-0.6.ebuild2
-rw-r--r--dev-python/pytest-regressions/pytest-regressions-2.2.0.ebuild2
-rw-r--r--dev-python/pytest-toolbox/pytest-toolbox-0.4.ebuild2
-rw-r--r--dev-python/pytest-tornado/pytest-tornado-0.8.1.ebuild2
-rw-r--r--dev-python/pytest-trio/pytest-trio-0.7.0.ebuild2
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-8.1.0.ebuild2
-rw-r--r--dev-python/python-email-validator/python-email-validator-1.1.3.ebuild2
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-3.5.0.ebuild2
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-4.9.0.ebuild2
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-4.3.0.ebuild2
-rw-r--r--dev-python/python-levenshtein/python-levenshtein-0.12.2.ebuild2
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-7.6.0.ebuild2
-rw-r--r--dev-python/python-novaclient/python-novaclient-17.6.0-r1.ebuild2
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-5.7.0.ebuild2
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-3.12.0.ebuild2
-rw-r--r--dev-python/pyudev/files/pyudev-0.22-fix-hypothesis.patch142
-rw-r--r--dev-python/pyudev/files/pyudev-0.22-pytest-4.patch56
-rw-r--r--dev-python/pyudev/files/pyudev-0.22-remove-flaky-tests.patch126
-rw-r--r--dev-python/pyudev/pyudev-0.22.0-r1.ebuild53
-rw-r--r--dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.9.0.ebuild2
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-59.2.0.ebuild86
-rw-r--r--dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.1-r4.ebuild2
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.12.0.ebuild2
-rw-r--r--dev-python/sphinx-tabs/sphinx-tabs-3.1.0.ebuild2
-rw-r--r--dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.17.ebuild2
-rw-r--r--dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2.ebuild2
-rw-r--r--dev-python/sphobjinv/sphobjinv-2.1-r1.ebuild2
-rw-r--r--dev-python/stdio-mgr/stdio-mgr-1.0.1.ebuild2
-rw-r--r--dev-python/tempest/tempest-29.2.0.ebuild2
-rw-r--r--dev-python/timeout-decorator/timeout-decorator-0.5.0.ebuild2
-rw-r--r--dev-python/tqdm/tqdm-4.62.3.ebuild2
-rw-r--r--dev-python/trio/trio-0.19.0.ebuild2
-rw-r--r--dev-python/ukkonen/Manifest1
-rw-r--r--dev-python/ukkonen/metadata.xml11
-rw-r--r--dev-python/ukkonen/ukkonen-1.0.0.ebuild27
-rw-r--r--dev-python/untangle/untangle-1.1.1.ebuild2
-rw-r--r--dev-python/uvicorn/uvicorn-0.15.0_p20210913.ebuild2
-rw-r--r--dev-python/uvloop/uvloop-0.15.3-r1.ebuild2
-rw-r--r--dev-python/watchgod/watchgod-0.7.ebuild2
91 files changed, 426 insertions, 901 deletions
diff --git a/dev-python/aioredis/aioredis-2.0.0.ebuild b/dev-python/aioredis/aioredis-2.0.0.ebuild
index c067271a686d..ab2c7c37ba0b 100644
--- a/dev-python/aioredis/aioredis-2.0.0.ebuild
+++ b/dev-python/aioredis/aioredis-2.0.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~amd64 arm arm64 ~ppc ~ppc64 ~sparc ~x86"
RDEPEND="
dev-python/async_timeout[${PYTHON_USEDEP}]
diff --git a/dev-python/aiosignal/aiosignal-1.2.0.ebuild b/dev-python/aiosignal/aiosignal-1.2.0.ebuild
index 13016e152f62..3766d9a5590f 100644
--- a/dev-python/aiosignal/aiosignal-1.2.0.ebuild
+++ b/dev-python/aiosignal/aiosignal-1.2.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
RDEPEND="
>=dev-python/frozenlist-1.1.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/anyio/anyio-3.2.1.ebuild b/dev-python/anyio/anyio-3.2.1.ebuild
index e710dddfefd9..294cc8042833 100644
--- a/dev-python/anyio/anyio-3.2.1.ebuild
+++ b/dev-python/anyio/anyio-3.2.1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ppc ~ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
RDEPEND="
>=dev-python/idna-2.8[${PYTHON_USEDEP}]
diff --git a/dev-python/astor/astor-0.8.1.ebuild b/dev-python/astor/astor-0.8.1.ebuild
index e52e51b090e2..721a3f828296 100644
--- a/dev-python/astor/astor-0.8.1.ebuild
+++ b/dev-python/astor/astor-0.8.1.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://pypi.org/project/astor/"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
distutils_enable_tests pytest
diff --git a/dev-python/cmd2/Manifest b/dev-python/cmd2/Manifest
index 6ed931415321..865b4faf447c 100644
--- a/dev-python/cmd2/Manifest
+++ b/dev-python/cmd2/Manifest
@@ -1,2 +1,3 @@
DIST cmd2-2.2.0.tar.gz 667076 BLAKE2B babdf4034ea45cebce0a9b037e0bef0127c924e358c68ab6a2b95e73ed3be4577dead28d2eebce721432fefe7d2590a3e904ba84dc17bf7c06e3f777dc7b0db0 SHA512 20c204c5e5996e18face62066a179a9833c468724a947042a3b5aaf49940cad0c773ea22e7f40b8c721f7362dcefa9eb72072710072e608c4adab615332bdc22
DIST cmd2-2.3.0.tar.gz 673314 BLAKE2B a4ec117af937157d9d4c74d73652bb89998289b9f6ae1548cf064a7f5d964aa77576b00f5c530886f04a2f39f3969a26da4a5752a654b6cbb8b2cbde40907831 SHA512 615b88abd64e0909fc9d24a495060d2d45cf962b2293b91e3bb4e24fa0f90e8e6c07fe5c29a2e0915392fac365960cca418aa4e27b50718c45e9d91397802f30
+DIST cmd2-2.3.1.tar.gz 675209 BLAKE2B 492567f78c72349d3781d8372103bf3db0ec1016989fb946bf3b2f5d28505e9c4a2caee1dd1d0f2d4a2a63e6ad5512eea2ecd9d41e7009d429372c0e0c6890f3 SHA512 2f2de90c90bd6773d37c11367b3e77245d2a0e96925874d9ad45ce421e32d6cb02ca51d8bf702c4d2c0ee763b322a36ed508aa2013374f1b4513208fd2c49096
diff --git a/dev-python/cmd2/cmd2-2.3.1.ebuild b/dev-python/cmd2/cmd2-2.3.1.ebuild
new file mode 100644
index 000000000000..bb132cac6252
--- /dev/null
+++ b/dev-python/cmd2/cmd2-2.3.1.ebuild
@@ -0,0 +1,52 @@
+# 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="Extra features for standard library's cmd module"
+HOMEPAGE="https://github.com/python-cmd2/cmd2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/pyperclip-1.6[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+# pyperclip uses clipboard backends in the following preference order:
+# pygtk, xclip, xsel, klipper, qtpy, pyqt5, pyqt4.
+# klipper is known to be broken in Xvfb, and therefore causes test
+# failures. to avoid them, we must ensure that one of the backends
+# preferred to it is available (i.e. xclip or xsel) + which(1).
+BDEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ sys-apps/which
+ || (
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e '/--cov/d' setup.cfg || die
+}
+
+src_test() {
+ # tests rely on very specific text wrapping...
+ local -x COLUMNS=80
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/debugpy/debugpy-1.5.1.ebuild b/dev-python/debugpy/debugpy-1.5.1.ebuild
index a2fea9f5a6d1..c8f600005271 100644
--- a/dev-python/debugpy/debugpy-1.5.1.ebuild
+++ b/dev-python/debugpy/debugpy-1.5.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
# There is not enough time in the universe for this test suite
RESTRICT="test"
diff --git a/dev-python/dictdiffer/dictdiffer-0.9.0.ebuild b/dev-python/dictdiffer/dictdiffer-0.9.0.ebuild
index 9850696807bf..c1ad4540be33 100644
--- a/dev-python/dictdiffer/dictdiffer-0.9.0.ebuild
+++ b/dev-python/dictdiffer/dictdiffer-0.9.0.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
-KEYWORDS="amd64 arm ~arm64 ppc ~ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
SLOT="0"
BDEPEND="
diff --git a/dev-python/fakeredis/fakeredis-1.6.1.ebuild b/dev-python/fakeredis/fakeredis-1.6.1.ebuild
index 41c536305bc2..ebb86a5ff086 100644
--- a/dev-python/fakeredis/fakeredis-1.6.1.ebuild
+++ b/dev-python/fakeredis/fakeredis-1.6.1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~amd64 arm arm64 ~ppc ~ppc64 ~sparc ~x86"
RDEPEND="
dev-python/redis-py[${PYTHON_USEDEP}]
diff --git a/dev-python/flask/flask-2.0.2.ebuild b/dev-python/flask/flask-2.0.2.ebuild
index 3ce2c564c0dc..59a232cf877f 100644
--- a/dev-python/flask/flask-2.0.2.ebuild
+++ b/dev-python/flask/flask-2.0.2.ebuild
@@ -15,7 +15,7 @@ if [[ ${PV} == *9999* ]]; then
inherit git-r3
else
SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ppc ppc64 ~riscv ~s390 ~x86"
+ KEYWORDS="~amd64 arm arm64 ~ia64 ppc ppc64 ~riscv ~s390 ~x86"
S="${WORKDIR}/${MY_P}"
fi
diff --git a/dev-python/flit/Manifest b/dev-python/flit/Manifest
index 322b5f73e524..dcd004e1be38 100644
--- a/dev-python/flit/Manifest
+++ b/dev-python/flit/Manifest
@@ -1 +1,2 @@
DIST flit-3.4.0.tar.gz 120418 BLAKE2B e99eb67daa9a1d8e738ff9b917117edaf7372bbe267163f8af64967e43c3bed94893849e9752d36d3965e70c798dd3fb3b454131cee2d34697cc389f11aaea69 SHA512 18f1d1cb86508e76b4e37e6c1ca2c414400c86e9163bcc52fd3358220e5b4362da4001da7ce427926c62ad67ee86799ea8d08e858e5e17230941c529b9995ce5
+DIST flit-3.5.0.tar.gz 122519 BLAKE2B 3c3eee652f090afd1c07e8a5cd1b154e7390ed621ab202ded3b4664d59ccfa2fd827928451f6d8928573d012cb9f6b44544c48540e03b2918d32ae3ba9169838 SHA512 e2239c209f735f11aeec8672aa14449fe4b6e1d2ed6523d661edb730f0b9f93b2794c6676bf878c09bd27966a9f8b9c19e6a7f14063c6efed4d8bc043b4cd2db
diff --git a/dev-python/flit/flit-3.5.0.ebuild b/dev-python/flit/flit-3.5.0.ebuild
new file mode 100644
index 000000000000..1b3e69d9f806
--- /dev/null
+++ b/dev-python/flit/flit-3.5.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2019-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_SETUPTOOLS=pyproject.toml
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="Simplified packaging of Python modules"
+HOMEPAGE="https://github.com/takluyver/flit https://flit.readthedocs.io/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ >=dev-python/flit_core-3.2.0[${PYTHON_USEDEP}]
+ dev-python/intreehooks[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests_download[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+"
+BDEPEND="${RDEPEND}
+ sys-apps/grep
+ sys-apps/findutils
+ test? (
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/flit-3.2.0-tests.patch"
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/pygments-github-lexers \
diff --git a/dev-python/flit_core/Manifest b/dev-python/flit_core/Manifest
index 53a6439c2522..2531dcd514a3 100644
--- a/dev-python/flit_core/Manifest
+++ b/dev-python/flit_core/Manifest
@@ -1 +1,2 @@
DIST flit_core-3.4.0.tar.gz 27151 BLAKE2B cc31bec47974842d34f62532a9099204aa71c91146758742db111b3eadb395c74de4fc63da0c08b59902cad9130ef16894a680fbc44ecd12d764ad4ae3b388cd SHA512 e391c947b00e023e4ba16043468579c5a1a7f42316d60afeef2eb65d3d7c6980cac1f484f52fea926d8071959fe1cde80d35488f53eec7c3fc6bf54133aee717
+DIST flit_core-3.5.0.tar.gz 27474 BLAKE2B cbe9b2ad9b3b7b3fda90cbdbaedb6a7ebe167cd88ff31c1ca23fc87b5a70c7c486e910cf2dc76bbf4d3aa536b118cf6183ea7d0208a8d532c6f5fb80c218d53a SHA512 e9b1ec9845931fb52c2417a252a0e9ba37c86e7d5b3490a170015c12423e3c8b7adddd24bce62e53192e071d743e2de4cc292b3d6cfed692f3e574970eb23cbb
diff --git a/dev-python/flit_core/flit_core-3.4.0.ebuild b/dev-python/flit_core/flit_core-3.4.0.ebuild
index e66528a9487f..82e504544d4e 100644
--- a/dev-python/flit_core/flit_core-3.4.0.ebuild
+++ b/dev-python/flit_core/flit_core-3.4.0.ebuild
@@ -13,7 +13,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"
RDEPEND="
dev-python/intreehooks[${PYTHON_USEDEP}]
diff --git a/dev-python/flit_core/flit_core-3.5.0.ebuild b/dev-python/flit_core/flit_core-3.5.0.ebuild
new file mode 100644
index 000000000000..e188802475b2
--- /dev/null
+++ b/dev-python/flit_core/flit_core-3.5.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2019-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_SETUPTOOLS=pyproject.toml
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="Simplified packaging of Python modules (core module)"
+HOMEPAGE="https://pypi.org/project/flit-core/"
+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/intreehooks[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pyproject2setuppy-11[${PYTHON_USEDEP}]
+ test? ( dev-python/testpath[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/frozenlist/frozenlist-1.2.0.ebuild b/dev-python/frozenlist/frozenlist-1.2.0.ebuild
index fa48e1bdb189..17e746f551be 100644
--- a/dev-python/frozenlist/frozenlist-1.2.0.ebuild
+++ b/dev-python/frozenlist/frozenlist-1.2.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
BDEPEND="
$(python_gen_cond_dep '
diff --git a/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild b/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild
index 63c580241df8..8a6531c66b48 100644
--- a/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild
+++ b/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="Fuzzy string matching in python"
HOMEPAGE="https://github.com/seatgeek/fuzzywuzzy"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-KEYWORDS="amd64 arm ~arm64 ppc ~ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
LICENSE="GPL-2"
SLOT="0"
diff --git a/dev-python/geventhttpclient/Manifest b/dev-python/geventhttpclient/Manifest
index edac954e8ab9..191fcf5dc10d 100644
--- a/dev-python/geventhttpclient/Manifest
+++ b/dev-python/geventhttpclient/Manifest
@@ -1,3 +1 @@
-DIST geventhttpclient-1.4.5.tar.gz 58183 BLAKE2B 48d44048e7040552824ed19ac49c6dda41536ffded56bae0d942c06f111a327a1d571872f35f388853b479ea1aaa6de518f86e7ee72e362360492530ade65131 SHA512 9ffe00c79b145dab104e1dce336e072060f315d9bee880daf64b5f1f52e661d810dab9a60286320a7d30cf0e794465f201c039cc31fe7ec325cdb3a8350c9f7d
-DIST geventhttpclient-1.5.2.tar.gz 58467 BLAKE2B ea9476038685458cade41150c33226b4355018b8a8c22623e96186ff922d7f6b9518ca4108afff3bcfd18167bf288ef7f6366528050e300d720ef0e7b15ef649 SHA512 1edf153f88b9a7a954f9acc316ac76f06f2599bd3cf11b4a8f1df7b500e884f304601aae6a1dca8cedf24d4f78793176814eadc8b2c60fa90769df649723146e
DIST geventhttpclient-1.5.3.tar.gz 58447 BLAKE2B a1cf529c6d40ee81ebe17cb066f2d837cf3d5ce2511bb735c1a63503b612c98c17c91f08de99d604c9ff6ebfa7e6502c338e7fbbc86de954ae7e559966aa8006 SHA512 9a0ed907f73f7f5ff8675502ef6fc82bff7b543d0a2d22e1eca5aba3592675a87fe09c48981f496b7f63a660e7eab5f68801ae74da8c33ac9d9bf55a0425eed1
diff --git a/dev-python/geventhttpclient/geventhttpclient-1.4.5.ebuild b/dev-python/geventhttpclient/geventhttpclient-1.4.5.ebuild
deleted file mode 100644
index 97156c4fa57f..000000000000
--- a/dev-python/geventhttpclient/geventhttpclient-1.4.5.ebuild
+++ /dev/null
@@ -1,49 +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} )
-
-inherit distutils-r1
-
-DESCRIPTION="A high performance, concurrent HTTP client library for Python using gevent"
-HOMEPAGE="https://github.com/gwik/geventhttpclient"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/gevent[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Avoid ModuleNotFoundError for tests we skip later
- sed -i '/^import dpkt.ssl/d' src/geventhttpclient/tests/test_ssl.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local skipped_tests=(
- # These SNI tests require dpkt which is not in the tree
- src/geventhttpclient/tests/test_ssl.py::test_implicit_sni_from_host_in_ssl
- src/geventhttpclient/tests/test_ssl.py::test_implicit_sni_from_header_in_ssl
- src/geventhttpclient/tests/test_ssl.py::test_explicit_sni_in_ssl
- )
- # Append to sys.path to avoid ImportError
- # https://bugs.gentoo.org/667758
- # Skip tests which require internet access
- epytest --import-mode=append -vv ${skipped_tests[@]/#/--deselect } \
- -m "not online"
-}
diff --git a/dev-python/geventhttpclient/geventhttpclient-1.5.2.ebuild b/dev-python/geventhttpclient/geventhttpclient-1.5.2.ebuild
deleted file mode 100644
index eae2901716a4..000000000000
--- a/dev-python/geventhttpclient/geventhttpclient-1.5.2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# 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="A high performance, concurrent HTTP client library for Python using gevent"
-HOMEPAGE="https://github.com/gwik/geventhttpclient"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- app-arch/brotli[python,${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/gevent[events(+),${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Avoid ModuleNotFoundError for tests we skip later
- sed -i '/^import dpkt.ssl/d' src/geventhttpclient/tests/test_ssl.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # These SNI tests require dpkt which is not in the tree
- src/geventhttpclient/tests/test_ssl.py::test_implicit_sni_from_host_in_ssl
- src/geventhttpclient/tests/test_ssl.py::test_implicit_sni_from_header_in_ssl
- src/geventhttpclient/tests/test_ssl.py::test_explicit_sni_in_ssl
- )
- # Append to sys.path to avoid ImportError
- # https://bugs.gentoo.org/667758
- # Skip tests which require internet access
- epytest --import-mode=append -m "not online"
-}
diff --git a/dev-python/geventhttpclient/geventhttpclient-1.5.3.ebuild b/dev-python/geventhttpclient/geventhttpclient-1.5.3.ebuild
index 46e71145e960..b54ee8c4979e 100644
--- a/dev-python/geventhttpclient/geventhttpclient-1.5.3.ebuild
+++ b/dev-python/geventhttpclient/geventhttpclient-1.5.3.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm arm64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
RDEPEND="
app-arch/brotli[python,${PYTHON_USEDEP}]
diff --git a/dev-python/hiredis/hiredis-2.0.0-r1.ebuild b/dev-python/hiredis/hiredis-2.0.0-r1.ebuild
index c2de7873b2a4..dc815b8d0689 100644
--- a/dev-python/hiredis/hiredis-2.0.0-r1.ebuild
+++ b/dev-python/hiredis/hiredis-2.0.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"
IUSE="system-libs"
DEPEND="system-libs? ( >=dev-libs/hiredis-1.0.0:= )"
diff --git a/dev-python/httpcore/httpcore-0.13.7.ebuild b/dev-python/httpcore/httpcore-0.13.7.ebuild
index ff77df47518e..3f1276725fa4 100644
--- a/dev-python/httpcore/httpcore-0.13.7.ebuild
+++ b/dev-python/httpcore/httpcore-0.13.7.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/anyio-3*[${PYTHON_USEDEP}]
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 5506edacfa6d..e57ee372411b 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -2,3 +2,4 @@ DIST hypothesis-python-6.24.2.tar.gz 9168397 BLAKE2B 87070841a01c7c9de79b5d78686
DIST hypothesis-python-6.24.4.tar.gz 9168664 BLAKE2B fe3d2fa28d7e8f47e4ce60fa91b3e004e3214ff51372b16f56c8328ef08a0dace48545b198511ceefe9f58b907f3b35d65ad2934c936dc1ef0b6393215e8c2d9 SHA512 4c1ea50b3203c2933713a5ebfdf40b64c0f6ab62bad30de446e26c79a8e5212b0669ca2569be9f5367b42471175225952920a68129867b4c94fe76b214b88a47
DIST hypothesis-python-6.24.5.tar.gz 9168940 BLAKE2B 719efd5c307708f3fa205e2096e54ad44009248bd6c03873cbf14eaacb48c5aaf2f444b430418ae3d6d107b53def52a0a6194d9827e94abb1c97af4f12f02072 SHA512 215c4009b9496983c1c3bb3fee7c051fed434c57d48dbcaa5ff0aa42c60c33a507c424eb7e604d323b61c6171d97cbd02d492bcda99bc278b099fd2f3fb074ca
DIST hypothesis-python-6.24.6.tar.gz 9169209 BLAKE2B 448eedad86d41c766d2bb450f18965592e5f8c53bfc341a081591ae916be00e2a9d5e82633059753e6c47b7905cb09a94e634463cd90bd65c87598f8d92bc58c SHA512 6cd13eb1bf33d5a72debbc262f691949b60ee8bcf6a1c3c263a55b4cc4498c1bd0568088f541ef68152219e9a12d7cfd2a53a3d37a6bba0cec7b2b57b4500e42
+DIST hypothesis-python-6.25.0.tar.gz 9170363 BLAKE2B 505aebee64882de9516a653d7906b0d739d2077fd3d2d5bffa2532111d37ca4cdd62ce768dfedf9b9987d1750af7851a015d7feafbed77ab131d15e62f8ec6f1 SHA512 a22ee5632d77dd7c3570b4c5b9faa04c2ee6e7f101d87a3046ee5206b8a444367311573d39c02b12a6ec5b626ab8b89b523bed7e387da59ee3d673601e3f8015
diff --git a/dev-python/hypothesis/hypothesis-6.25.0.ebuild b/dev-python/hypothesis/hypothesis-6.25.0.ebuild
new file mode 100644
index 000000000000..8b48444a4699
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.25.0.ebuild
@@ -0,0 +1,62 @@
+# 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 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 multiprocessing optfeature
+
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="https://github.com/HypothesisWorks/hypothesis https://pypi.org/project/hypothesis/"
+SRC_URI="https://github.com/HypothesisWorks/${PN}/archive/${PN}-python-${PV}.tar.gz"
+S="${WORKDIR}/${PN}-${PN}-python-${PV}/${PN}-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' python3_{7..9})
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/typing-3.7.4.1
+ )
+"
+
+distutils_enable_tests --install pytest
+
+python_prepare() {
+ if ! use cli || ! has "${EPYTHON}" python3.{7..9}; then
+ sed -i -e '/console_scripts/d' setup.py || die
+ fi
+}
+
+python_test() {
+ distutils_install_for_testing
+ epytest tests/cover tests/pytest tests/quality \
+ -p no:pytest-describe \
+ -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/identify/Manifest b/dev-python/identify/Manifest
index c3a304080b5f..bf96d0cc7f13 100644
--- a/dev-python/identify/Manifest
+++ b/dev-python/identify/Manifest
@@ -2,3 +2,4 @@ DIST identify-2.3.3.tar.gz 101227 BLAKE2B df5a99e70aee5ed17bffece82e81c98f0a0949
DIST identify-2.3.5.tar.gz 101259 BLAKE2B 9fac1817c173fac8b82fd805c5c5602d964cccd001e1d7dc6d7350c72b4f436613e47989fdd2e6f866d56c52871a4d1aa848d1761b03cf728446d483276bd6a6 SHA512 89d40df2fae167a348c14b5fa20cf3a3fc83e1f42a6fabbeb02935f873a5a0366cfddf51c358f35f1bf15846b357647d229a180afec4e71fdf6ba44c0d109bd6
DIST identify-2.3.6.tar.gz 101267 BLAKE2B 227d3aba8103c4442c16f3b6cc93ed05a4ed642eb850c790ff2345f81447d3e4ac5c162ff36787b43ed31fe9d2311ab4d1b53041c254578fb294529e2d0d0739 SHA512 d2ea94d975c80120367fd58d2f6a3284175c20f6a938a3514d64eb97bdf8eb9d8334c60b2d5806ac192dcf23836993f1586280624fcb40dcf62a6d358917f7d7
DIST identify-2.3.7.tar.gz 101296 BLAKE2B 0facbd03d84c453e63133741fd688e195785a2ac79ee728bbe3a3e42e4d53a7d17cc935f7fdade37ac0329a52db4bd514be917c82a45bbe0c88f1999d0a248b6 SHA512 00ba94ac2b5d762b500a51a9de6ac6ee863235b5d928776d033317fe7b250360465b7fa011ce04a4f2c63d1e27b1b1b687f5e4e8b3c426ede71ebae91c172863
+DIST identify-2.4.0.tar.gz 101312 BLAKE2B 1ba4fcf235518427fba8a59eb30ceb0c20ed23f5a3c4f56d6039ab530aaaba6b83ee395626a7d086f193f57f00a8d34a659883d897a21dc0fae5018cb0a4e87a SHA512 f0806d3785ef5db9cb1b5354c146fc0d33b4a4f04b3ff899945e9e93273a0bf8e4c8ff07ace22b5d71721c953148c007630dc400b82849321e8399ecdfffbc85
diff --git a/dev-python/identify/identify-2.4.0.ebuild b/dev-python/identify/identify-2.4.0.ebuild
new file mode 100644
index 000000000000..4ca34f133c3c
--- /dev/null
+++ b/dev-python/identify/identify-2.4.0.ebuild
@@ -0,0 +1,20 @@
+# 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="File identification library for Python"
+HOMEPAGE="https://github.com/pre-commit/identify"
+SRC_URI="https://github.com/pre-commit/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+RDEPEND="
+ dev-python/ukkonen[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
diff --git a/dev-python/immutables/immutables-0.16.ebuild b/dev-python/immutables/immutables-0.16.ebuild
index 38f00bcc731f..efb5611cd53b 100644
--- a/dev-python/immutables/immutables-0.16.ebuild
+++ b/dev-python/immutables/immutables-0.16.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/MagicStack/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.g
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
distutils_enable_tests pytest
diff --git a/dev-python/intreehooks/intreehooks-1.0.ebuild b/dev-python/intreehooks/intreehooks-1.0.ebuild
index dbeb34640f32..ddb193a7a4e8 100644
--- a/dev-python/intreehooks/intreehooks-1.0.ebuild
+++ b/dev-python/intreehooks/intreehooks-1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ppc ~ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
IUSE="examples"
RDEPEND="
diff --git a/dev-python/ipykernel/ipykernel-6.2.0-r1.ebuild b/dev-python/ipykernel/ipykernel-6.2.0-r1.ebuild
index bb9dae865851..a2d4f5a905db 100644
--- a/dev-python/ipykernel/ipykernel-6.2.0-r1.ebuild
+++ b/dev-python/ipykernel/ipykernel-6.2.0-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm ~arm64 ~hppa ppc ppc64 ~riscv sparc x86"
RDEPEND="
dev-python/ipython_genutils[${PYTHON_USEDEP}]
diff --git a/dev-python/ipykernel/ipykernel-6.4.2.ebuild b/dev-python/ipykernel/ipykernel-6.4.2.ebuild
index ef1c5de21d9e..253be7295cec 100644
--- a/dev-python/ipykernel/ipykernel-6.4.2.ebuild
+++ b/dev-python/ipykernel/ipykernel-6.4.2.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
RDEPEND="
dev-python/ipython_genutils[${PYTHON_USEDEP}]
diff --git a/dev-python/ipykernel/ipykernel-6.5.0.ebuild b/dev-python/ipykernel/ipykernel-6.5.0.ebuild
index b8cae08589e5..30d280edad2d 100644
--- a/dev-python/ipykernel/ipykernel-6.5.0.ebuild
+++ b/dev-python/ipykernel/ipykernel-6.5.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
$(python_gen_cond_dep '
diff --git a/dev-python/ipyparallel/ipyparallel-7.1.0.ebuild b/dev-python/ipyparallel/ipyparallel-7.1.0.ebuild
index 6a6a0b46eea6..cb8fd7dc4bb2 100644
--- a/dev-python/ipyparallel/ipyparallel-7.1.0.ebuild
+++ b/dev-python/ipyparallel/ipyparallel-7.1.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~hppa ~ia64 ~riscv sparc x86"
+KEYWORDS="amd64 arm ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/entrypoints[${PYTHON_USEDEP}]
diff --git a/dev-python/jeepney/jeepney-0.7.1.ebuild b/dev-python/jeepney/jeepney-0.7.1.ebuild
index 22140ea1d882..96d8203c56cf 100644
--- a/dev-python/jeepney/jeepney-0.7.1.ebuild
+++ b/dev-python/jeepney/jeepney-0.7.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
IUSE="examples"
BDEPEND="
diff --git a/dev-python/jupyter_client/jupyter_client-7.0.6.ebuild b/dev-python/jupyter_client/jupyter_client-7.0.6.ebuild
index b45779036745..a360037059d2 100644
--- a/dev-python/jupyter_client/jupyter_client-7.0.6.ebuild
+++ b/dev-python/jupyter_client/jupyter_client-7.0.6.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/entrypoints[${PYTHON_USEDEP}]
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index dadb9bea572c..288639622e0f 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,4 +1,3 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.4.2.tar.gz 37308683 BLAKE2B b769244b3d7a7da9125f6b634e9340676d849322491390d1c9a0cec3dfce59a8b5b5c0b567575ae78212129f7303b6b1fbbf30ce7c8a23c43c1304e83c9c5f5e SHA512 d4798dd2d6c857db0fe6d4ec85ebabc028b78627311bab17f7b9b30f6aa61d5243114b1cfe9d83293ad66ae47df83add5272f032954990dfc04054a792049f2a
DIST matplotlib-3.4.3.tar.gz 37850796 BLAKE2B 15b40da8f6973ece4a91fffb5caf249cb8642263bfc2a784ec482bfaad250b6d3beffb9d2ba8a03e5fa10abab02b0e35728a8499ccb870aca06df57c5c1f91f4 SHA512 c2fe54e7517a1417aa8e55596e83edd090534c07f22882634d6ba0a07196441b5bbdd15958473805d8e8871b1b73380487aff3224294d472cd6122490c783145
DIST matplotlib-3.5.0.tar.gz 34963685 BLAKE2B 371c548f8d12e29c58349cc4738bafaeef2530f81a2779290393911c8056fd5c3cbdcbbbdbad20b7f51a534a9332e05842ad0024c39899fa34ff98ed702ea0b3 SHA512 546e626c88606e50775c6eed1e3070a3f00367e56765d66baf1af8f3e1c9b8b7aa29df0fd9c18fe32505a392a75a7dd6bad5351df1a2ae682ba93d50760618e0
diff --git a/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch b/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch
deleted file mode 100644
index 5f1bda49c71e..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From d0f92f582800b6bd6b4bb2e59cd7e5b3cd6b5948 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 20 Jun 2021 14:46:17 +0200
-Subject: [PATCH] _GSConverter: handle stray 'GS' in output gracefully
-
-Search the GS output stream for either "GS<" or "GS>" explicitly rather
-than any "GS", in order to prevent the code from wrongly matching stray
-"GS". This fixes a recent test regression on Gentoo where the following
-output seems to have been wrongly matched:
-
- **** Error 'gs' ignored -- ExtGState missing from Resources.
- ^^
-
-Fixes #20472
----
- lib/matplotlib/testing/compare.py | 20 +++++++++++---------
- 1 file changed, 11 insertions(+), 9 deletions(-)
-
-diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py
-index 3957188b3e2..27af3e186bd 100644
---- a/lib/matplotlib/testing/compare.py
-+++ b/lib/matplotlib/testing/compare.py
-@@ -154,15 +154,17 @@ def encode_and_escape(name):
- + b") run flush\n")
- self._proc.stdin.flush()
- # GS> if nothing left on the stack; GS<n> if n items left on the stack.
-- err = self._read_until(b"GS")
-- stack = self._read_until(b">")
-- if stack or not os.path.exists(dest):
-- stack_size = int(stack[1:]) if stack else 0
-- self._proc.stdin.write(b"pop\n" * stack_size)
-- # Using the systemencoding should at least get the filenames right.
-- raise ImageComparisonFailure(
-- (err + b"GS" + stack + b">")
-- .decode(sys.getfilesystemencoding(), "replace"))
-+ err = self._read_until((b"GS<", b"GS>"))
-+ if err.endswith(b"GS<"):
-+ stack = self._read_until(b">")
-+ if stack or not os.path.exists(dest):
-+ stack_size = int(stack[1:]) if stack else 0
-+ self._proc.stdin.write(b"pop\n" * stack_size)
-+ # Using the systemencoding should at least get the filenames
-+ # right.
-+ raise ImageComparisonFailure(
-+ (err + b"GS" + stack + b">")
-+ .decode(sys.getfilesystemencoding(), "replace"))
-
-
- class _SVGConverter(_Converter):
-From d73dd52edf7ec106cf2f6c0ffc79dcda31102ecd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 20 Jun 2021 15:07:56 +0200
-Subject: [PATCH] increase test_backend_pgf.py::test_xelatex[pdf] tol
-
----
- lib/matplotlib/tests/test_backend_pgf.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 55e375311..684f38fb7 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -80,7 +80,7 @@ def test_common_texification(plain_text, escaped_text):
- # test compiling a figure to pdf with xelatex
- @needs_xelatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_xelatex.pdf'], style='default')
-+@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
- def test_xelatex():
- rc_xelatex = {'font.family': 'serif',
- 'pgf.rcfonts': False}
---
-2.32.0
-
diff --git a/dev-python/matplotlib/matplotlib-3.4.2.ebuild b/dev-python/matplotlib/matplotlib-3.4.2.ebuild
deleted file mode 100644
index 6c261453729f..000000000000
--- a/dev-python/matplotlib/matplotlib-3.4.2.ebuild
+++ /dev/null
@@ -1,285 +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} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
- dev-python/versioneer[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{8,9})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
- unset DISPLAY # bug #278524
-}
-
-use_supported() {
- case ${1} in
- wxwidgets)
- [[ ${EPYTHON} == python3.[678] ]]
- ;;
- esac
-
- return 0
-}
-
-use_setup() {
- local uword="${2:-${1}}"
- if use_supported "${1}" && use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
-# cat > lib/${PN}/externals/six.py <<-EOF
-# from __future__ import absolute_import
-# from six import *
-# EOF
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.4.0-test.patch
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.4.1-xelatex-test.patch
- )
-
- # requires jupyter-nbconvert
- rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
-
- sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
- -i lib/matplotlib/tests/test_*.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = $(usex test True False)
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- # necessary for in-source build
- local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
- ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
- distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
-}
-
-python_install() {
- wrap_setup distutils-r1_python_install
-
- # mpl_toolkits namespace
- python_moduleinto mpl_toolkits
- python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- find "${D}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/matplotlib/matplotlib-3.4.3-r1.ebuild b/dev-python/matplotlib/matplotlib-3.4.3-r1.ebuild
index aee9d8dcb270..2b877a8141cc 100644
--- a/dev-python/matplotlib/matplotlib-3.4.3-r1.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.4.3-r1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc ~x86"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
# internal copy of pycxx highly patched
diff --git a/dev-python/matplotlib/matplotlib-3.5.0.ebuild b/dev-python/matplotlib/matplotlib-3.5.0.ebuild
index 12e28af97da8..b5bf85b2b25a 100644
--- a/dev-python/matplotlib/matplotlib-3.5.0.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.5.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
# internal copy of pycxx highly patched
diff --git a/dev-python/nest_asyncio/nest_asyncio-1.5.1.ebuild b/dev-python/nest_asyncio/nest_asyncio-1.5.1.ebuild
index adca97afee9b..389d37dc5bc1 100644
--- a/dev-python/nest_asyncio/nest_asyncio-1.5.1.ebuild
+++ b/dev-python/nest_asyncio/nest_asyncio-1.5.1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ~ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
distutils_enable_tests pytest
diff --git a/dev-python/nose2/nose2-0.10.0.ebuild b/dev-python/nose2/nose2-0.10.0.ebuild
index 2c8af49ad8a9..8b715c63e43e 100644
--- a/dev-python/nose2/nose2-0.10.0.ebuild
+++ b/dev-python/nose2/nose2-0.10.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/nose-devs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~hppa ~ppc ~ppc64 ~sparc x86"
+KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~sparc x86"
RDEPEND="
>=dev-python/coverage-4.4.1[${PYTHON_USEDEP}]
diff --git a/dev-python/numpy/numpy-1.21.2-r1.ebuild b/dev-python/numpy/numpy-1.21.2-r1.ebuild
index 8bcf5c624500..e5696a5021f2 100644
--- a/dev-python/numpy/numpy-1.21.2-r1.ebuild
+++ b/dev-python/numpy/numpy-1.21.2-r1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
)"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="doc lapack"
RDEPEND="
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-4.5.0.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-4.5.0.ebuild
index a97ea313191e..4d7571a6befa 100644
--- a/dev-python/oslo-concurrency/oslo-concurrency-4.5.0.ebuild
+++ b/dev-python/oslo-concurrency/oslo-concurrency-4.5.0.ebuild
@@ -13,7 +13,7 @@ S="${WORKDIR}/${PN/-/.}-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm x86"
+KEYWORDS="amd64 ~arm ~arm64 x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/outcome/outcome-1.1.0.ebuild b/dev-python/outcome/outcome-1.1.0.ebuild
index d8a2ff45a77e..e32dc3fbb514 100644
--- a/dev-python/outcome/outcome-1.1.0.ebuild
+++ b/dev-python/outcome/outcome-1.1.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://github.com/python-trio/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.
LICENSE="|| ( Apache-2.0 MIT )"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
RDEPEND="dev-python/attrs[${PYTHON_USEDEP}]"
diff --git a/dev-python/pydantic/pydantic-1.8.2_p20210719.ebuild b/dev-python/pydantic/pydantic-1.8.2_p20210719.ebuild
index c7f65c1c5540..5480f640f6ae 100644
--- a/dev-python/pydantic/pydantic-1.8.2_p20210719.ebuild
+++ b/dev-python/pydantic/pydantic-1.8.2_p20210719.ebuild
@@ -18,7 +18,7 @@ S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ppc ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
RDEPEND="
dev-python/typing-extensions[${PYTHON_USEDEP}]
diff --git a/dev-python/pydevd/pydevd-2.7.0.ebuild b/dev-python/pydevd/pydevd-2.7.0.ebuild
index 195e3d6e9b6c..60383e2c40f8 100644
--- a/dev-python/pydevd/pydevd-2.7.0.ebuild
+++ b/dev-python/pydevd/pydevd-2.7.0.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/PyDev.Debugger-${MY_P}"
LICENSE="EPL-1.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
# After removing and recompiling the prebuilt lib the tests fail?
# For some reason the test suite is executing a slightly different gdb command
diff --git a/dev-python/pytest-check/pytest-check-1.0.4.ebuild b/dev-python/pytest-check/pytest-check-1.0.4.ebuild
index 1dab3dfb345a..458592f83896 100644
--- a/dev-python/pytest-check/pytest-check-1.0.4.ebuild
+++ b/dev-python/pytest-check/pytest-check-1.0.4.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ppc ~ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
RDEPEND=">=dev-python/pytest-6[${PYTHON_USEDEP}]"
BDEPEND="dev-python/flit_core[${PYTHON_USEDEP}]"
diff --git a/dev-python/pytest-datadir/pytest-datadir-1.3.1.ebuild b/dev-python/pytest-datadir/pytest-datadir-1.3.1.ebuild
index a9bcffd7b480..155b61b6a889 100644
--- a/dev-python/pytest-datadir/pytest-datadir-1.3.1.ebuild
+++ b/dev-python/pytest-datadir/pytest-datadir-1.3.1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 x86"
RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
diff --git a/dev-python/pytest-localserver/Manifest b/dev-python/pytest-localserver/Manifest
index f91bf879a7bb..2f5db7e104b7 100644
--- a/dev-python/pytest-localserver/Manifest
+++ b/dev-python/pytest-localserver/Manifest
@@ -1 +1,2 @@
DIST pytest-localserver-0.5.0.tar.gz 20409 BLAKE2B 62376065ee1aeb698ea5e3bd2d5ea3d6b511cc6793142aad458423513b0e3b358a0d0269a78a0f5aeda44fc53757ff85da786627840ee48cbed8b78ee34c2227 SHA512 aedf1e1c9563396457070df13df228ad0ebdd19173fa2ac5a598288d3e1a1ac8b8a0c0288cba0d8478e43d2e1de4848f2393bf640705916957f12ab31171c6cc
+DIST pytest-localserver-0.5.1.tar.gz 19341 BLAKE2B 759a90552b6f950579088a7c41448ad0f000aab980c56361d0e1a40d98a00ee234bf542a6309eb096602536da3fa819b7227a962d0592a801131a019f1617cdc SHA512 dad8b21020cf2f08ad03398b82bad7b47e553a9c6b489b94186bdc61c22f57e7151f8dbeab38ef42d03658104ec42920ec363288a1bdbea34dab6aee1da03c48
diff --git a/dev-python/pytest-localserver/pytest-localserver-0.5.1.ebuild b/dev-python/pytest-localserver/pytest-localserver-0.5.1.ebuild
new file mode 100644
index 000000000000..9121b348c3f8
--- /dev/null
+++ b/dev-python/pytest-localserver/pytest-localserver-0.5.1.ebuild
@@ -0,0 +1,26 @@
+# 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="Pytest plugin to test server connections locally"
+HOMEPAGE="https://pypi.org/project/pytest-localserver/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+
+RDEPEND=">=dev-python/werkzeug-0.10[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-ordering/pytest-ordering-0.6.ebuild b/dev-python/pytest-ordering/pytest-ordering-0.6.ebuild
index 2b85bba44ba8..3ccfda7e9e7b 100644
--- a/dev-python/pytest-ordering/pytest-ordering-0.6.ebuild
+++ b/dev-python/pytest-ordering/pytest-ordering-0.6.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://github.com/ftobia/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ppc ~ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
diff --git a/dev-python/pytest-regressions/pytest-regressions-2.2.0.ebuild b/dev-python/pytest-regressions/pytest-regressions-2.2.0.ebuild
index 1efb4a66e23a..652ec906e785 100644
--- a/dev-python/pytest-regressions/pytest-regressions-2.2.0.ebuild
+++ b/dev-python/pytest-regressions/pytest-regressions-2.2.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~m68k ppc ppc64 ~riscv ~s390 x86"
+KEYWORDS="amd64 arm arm64 ~ia64 ~m68k ppc ppc64 ~riscv ~s390 x86"
RDEPEND="
dev-python/pytest[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-toolbox/pytest-toolbox-0.4.ebuild b/dev-python/pytest-toolbox/pytest-toolbox-0.4.ebuild
index 54248b7c9b21..95ac3887fc57 100644
--- a/dev-python/pytest-toolbox/pytest-toolbox-0.4.ebuild
+++ b/dev-python/pytest-toolbox/pytest-toolbox-0.4.ebuild
@@ -15,7 +15,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ppc ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/pytest-tornado/pytest-tornado-0.8.1.ebuild b/dev-python/pytest-tornado/pytest-tornado-0.8.1.ebuild
index 67080f38d7c4..3b2428ce2135 100644
--- a/dev-python/pytest-tornado/pytest-tornado-0.8.1.ebuild
+++ b/dev-python/pytest-tornado/pytest-tornado-0.8.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/eugeniy/pytest-tornado/archive/refs/tags/v${PV}.tar.
SLOT="0"
LICENSE="Apache-2.0"
-KEYWORDS="amd64 ~arm ~hppa ~ia64 ~riscv sparc x86"
+KEYWORDS="amd64 arm ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/pytest-3.6[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-trio/pytest-trio-0.7.0.ebuild b/dev-python/pytest-trio/pytest-trio-0.7.0.ebuild
index 9fad8b38849c..9d5f4d60f53a 100644
--- a/dev-python/pytest-trio/pytest-trio-0.7.0.ebuild
+++ b/dev-python/pytest-trio/pytest-trio-0.7.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="|| ( MIT Apache-2.0 )"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
RDEPEND="
>=dev-python/async_generator-1.9[${PYTHON_USEDEP}]
diff --git a/dev-python/python-cinderclient/python-cinderclient-8.1.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-8.1.0.ebuild
index 8742404d0327..33a2ff280a23 100644
--- a/dev-python/python-cinderclient/python-cinderclient-8.1.0.ebuild
+++ b/dev-python/python-cinderclient/python-cinderclient-8.1.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
RDEPEND="
>=dev-python/keystoneauth-4.2.1[${PYTHON_USEDEP}]
diff --git a/dev-python/python-email-validator/python-email-validator-1.1.3.ebuild b/dev-python/python-email-validator/python-email-validator-1.1.3.ebuild
index c551710082aa..0bbcd18dc245 100644
--- a/dev-python/python-email-validator/python-email-validator-1.1.3.ebuild
+++ b/dev-python/python-email-validator/python-email-validator-1.1.3.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://github.com/JoshData/python-email-validator"
SRC_URI="https://github.com/JoshData/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="CC0-1.0"
-KEYWORDS="amd64 arm ~arm64 ppc ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
SLOT="0"
RDEPEND="
diff --git a/dev-python/python-glanceclient/python-glanceclient-3.5.0.ebuild b/dev-python/python-glanceclient/python-glanceclient-3.5.0.ebuild
index 280a15ef32be..9e3ed5389c37 100644
--- a/dev-python/python-glanceclient/python-glanceclient-3.5.0.ebuild
+++ b/dev-python/python-glanceclient/python-glanceclient-3.5.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
RDEPEND="
>=dev-python/keystoneauth-3.6.2[${PYTHON_USEDEP}]
diff --git a/dev-python/python-ironicclient/python-ironicclient-4.9.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-4.9.0.ebuild
index be9ccc84f4c7..4d3c414e6aa6 100644
--- a/dev-python/python-ironicclient/python-ironicclient-4.9.0.ebuild
+++ b/dev-python/python-ironicclient/python-ironicclient-4.9.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm x86"
+KEYWORDS="amd64 ~arm ~arm64 x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-4.3.0.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-4.3.0.ebuild
index 3970476a807c..19f1ef7b6eab 100644
--- a/dev-python/python-keystoneclient/python-keystoneclient-4.3.0.ebuild
+++ b/dev-python/python-keystoneclient/python-keystoneclient-4.3.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm x86"
+KEYWORDS="amd64 ~arm ~arm64 x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-levenshtein/python-levenshtein-0.12.2.ebuild b/dev-python/python-levenshtein/python-levenshtein-0.12.2.ebuild
index e129ab9aefa6..30d61b427664 100644
--- a/dev-python/python-levenshtein/python-levenshtein-0.12.2.ebuild
+++ b/dev-python/python-levenshtein/python-levenshtein-0.12.2.ebuild
@@ -18,4 +18,4 @@ S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ppc ~ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 ~ia64 ppc ppc64 ~riscv sparc x86"
diff --git a/dev-python/python-neutronclient/python-neutronclient-7.6.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-7.6.0.ebuild
index ed00a1a82309..06feb65cd015 100644
--- a/dev-python/python-neutronclient/python-neutronclient-7.6.0.ebuild
+++ b/dev-python/python-neutronclient/python-neutronclient-7.6.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm x86"
+KEYWORDS="amd64 ~arm ~arm64 x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-novaclient/python-novaclient-17.6.0-r1.ebuild b/dev-python/python-novaclient/python-novaclient-17.6.0-r1.ebuild
index 11ccc1d02c6f..ae77e3b286aa 100644
--- a/dev-python/python-novaclient/python-novaclient-17.6.0-r1.ebuild
+++ b/dev-python/python-novaclient/python-novaclient-17.6.0-r1.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm x86"
+KEYWORDS="amd64 ~arm ~arm64 x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-openstackclient/python-openstackclient-5.7.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-5.7.0.ebuild
index 2c48ef04ff14..edbdff78afe1 100644
--- a/dev-python/python-openstackclient/python-openstackclient-5.7.0.ebuild
+++ b/dev-python/python-openstackclient/python-openstackclient-5.7.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-swiftclient/python-swiftclient-3.12.0.ebuild b/dev-python/python-swiftclient/python-swiftclient-3.12.0.ebuild
index 582fe317b5f3..6f7e8b331b75 100644
--- a/dev-python/python-swiftclient/python-swiftclient-3.12.0.ebuild
+++ b/dev-python/python-swiftclient/python-swiftclient-3.12.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 x86"
RDEPEND="
>=dev-python/requests-1.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pyudev/files/pyudev-0.22-fix-hypothesis.patch b/dev-python/pyudev/files/pyudev-0.22-fix-hypothesis.patch
deleted file mode 100644
index 7489a890edba..000000000000
--- a/dev-python/pyudev/files/pyudev-0.22-fix-hypothesis.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-commit c27845613527091201160a578eacd36a538dea81
-Author: mulhern <amulhern@redhat.com>
-Date: Thu May 3 09:12:26 2018 -0400
-
- Eliminate Hypothesis warnings
-
- * Reduce the max_examples value so that tests don't trigger Hypothesis's
- deadline check.
- * Turn generators into lists, so that Hypothesis can consistently repeat the
- tests (presumably for shrinking).
-
- Signed-off-by: mulhern <amulhern@redhat.com>
-
-diff --git a/tests/_constants.py b/tests/_constants.py
-index fb85f30..7003a5c 100644
---- a/tests/_constants.py
-+++ b/tests/_constants.py
-@@ -53,7 +53,7 @@ def _check_device(device):
- return False
-
-
--_DEVICE_DATA = udev.DeviceDatabase.db()
-+_DEVICE_DATA = [d for d in udev.DeviceDatabase.db()]
- _DEVICES = [Devices.from_path(_CONTEXT, d.device_path) for d in _DEVICE_DATA]
-
-
-@@ -69,7 +69,7 @@ def device_strategy(require_existing=True, filter_func=lambda x: True):
- :type filter_func: Device -> bool
- """
- strategy = strategies.sampled_from(
-- x for x in _CONTEXT.list_devices() if filter_func(x))
-+ [x for x in _CONTEXT.list_devices() if filter_func(x)])
-
- if require_existing:
- strategy = strategy.filter(_check_device)
-@@ -89,7 +89,7 @@ def device_strategy(require_existing=True, filter_func=lambda x: True):
- _SYSNAME_STRATEGY = device_strategy().map(lambda x: x.sys_name)
-
- _PROPERTY_STRATEGY = device_strategy().flatmap(
-- lambda d: strategies.sampled_from(d.properties.items()))
-+ lambda d: strategies.sampled_from([p for p in d.properties.items()]))
-
- _MATCH_PROPERTY_STRATEGY = \
- _PROPERTY_STRATEGY.filter(lambda p: p[0][-4:] != "_ENC")
-@@ -104,7 +104,7 @@ def device_strategy(require_existing=True, filter_func=lambda x: True):
- # an attribute key and value pair
- _ATTRIBUTE_STRATEGY = \
- _ATTRIBUTES_STRATEGY.flatmap(
-- lambda attrs: strategies.sampled_from(attrs.available_attributes).map(
-+ lambda attrs: strategies.sampled_from([a for a in attrs.available_attributes]).map(
- lambda key: (key, attrs.get(key))
- )
- )
-@@ -119,11 +119,11 @@ def device_strategy(require_existing=True, filter_func=lambda x: True):
- )
-
- # the tags object for a given device
--_TAGS_STRATEGY = device_strategy().map(lambda d: d.tags)
-+_TAGS_STRATEGY = device_strategy().map(lambda d: [t for t in d.tags])
-
- # an arbitrary tag belonging to a given device
- _TAG_STRATEGY = \
-- _TAGS_STRATEGY.filter(lambda t: sum(1 for _ in t) != 0).flatmap(
-+ _TAGS_STRATEGY.filter(lambda t: t != []).flatmap(
- strategies.sampled_from
- )
-
-diff --git a/tests/_device_tests/_device_tests.py b/tests/_device_tests/_device_tests.py
-index 0350a10..3e8710a 100644
---- a/tests/_device_tests/_device_tests.py
-+++ b/tests/_device_tests/_device_tests.py
-@@ -352,7 +352,7 @@ def test_key_subset(self, a_context, device_datum):
- frozenset(device.properties.keys())
-
- @given(_CONTEXT_STRATEGY, strategies.sampled_from(_DEVICE_DATA))
-- @settings(max_examples=100)
-+ @settings(max_examples=1)
- def test_getitem(self, a_context, device_datum):
- device = Devices.from_path(a_context, device_datum.device_path)
- for prop in device_datum.properties:
-diff --git a/tests/test_discover.py b/tests/test_discover.py
-index e623435..3cf9e8c 100644
---- a/tests/test_discover.py
-+++ b/tests/test_discover.py
-@@ -46,7 +46,7 @@
- from hypothesis import strategies
-
- _CONTEXT = pyudev.Context()
--_DEVICES = _CONTEXT.list_devices()
-+_DEVICES = [d for d in _CONTEXT.list_devices()]
-
- NUM_TESTS = 5
-
-diff --git a/tests/test_enumerate.py b/tests/test_enumerate.py
-index c9c6a67..a9662bd 100644
---- a/tests/test_enumerate.py
-+++ b/tests/test_enumerate.py
-@@ -90,7 +90,7 @@ class TestEnumerator(object):
-
- @failed_health_check_wrapper
- @given(_CONTEXT_STRATEGY, _SUBSYSTEM_STRATEGY)
-- @settings(max_examples=50)
-+ @settings(max_examples=10)
- def test_match_subsystem(self, context, subsystem):
- """
- Subsystem match matches devices w/ correct subsystem.
-@@ -102,7 +102,7 @@ def test_match_subsystem(self, context, subsystem):
-
- @failed_health_check_wrapper
- @given(_CONTEXT_STRATEGY, _SUBSYSTEM_STRATEGY)
-- @settings(max_examples=5)
-+ @settings(max_examples=1)
- def test_match_subsystem_nomatch(self, context, subsystem):
- """
- Subsystem no match gets no subsystem with subsystem.
-@@ -126,7 +126,7 @@ def test_match_subsystem_nomatch_unfulfillable(self, context, subsystem):
-
- @failed_health_check_wrapper
- @given(_CONTEXT_STRATEGY, _SUBSYSTEM_STRATEGY)
-- @settings(max_examples=5)
-+ @settings(max_examples=1)
- def test_match_subsystem_nomatch_complete(self, context, subsystem):
- """
- Test that w/ respect to the universe of devices returned by
-@@ -155,7 +155,7 @@ def test_match_sys_name(self, context, sysname):
-
- @failed_health_check_wrapper
- @given(_CONTEXT_STRATEGY, _MATCH_PROPERTY_STRATEGY)
-- @settings(max_examples=50)
-+ @settings(max_examples=25)
- def test_match_property_string(self, context, pair):
- """
- Match property only gets devices with that property.
-@@ -243,7 +243,7 @@ class TestEnumeratorMatchCombinations(object):
- min_size=2,
- max_size=3,
- unique_by=lambda p: p[0]))
-- @settings(max_examples=20)
-+ @settings(max_examples=2)
- def test_combined_property_matches(self, context, ppairs):
- """
- Test for behaviour as observed in #1
diff --git a/dev-python/pyudev/files/pyudev-0.22-pytest-4.patch b/dev-python/pyudev/files/pyudev-0.22-pytest-4.patch
deleted file mode 100644
index a8a4e4c3bcea..000000000000
--- a/dev-python/pyudev/files/pyudev-0.22-pytest-4.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-commit f962902b8298d97622b97693aba90032e5b9d2ec
-Author: FFY00 <filipe.lains@gmail.com>
-Date: Fri May 24 19:08:41 2019 +0100
-
- tests: fix tests for pytest 4.0
-
-diff --git a/tests/plugins/mock_libudev.py b/tests/plugins/mock_libudev.py
-index aefeb31..0bde07b 100644
---- a/tests/plugins/mock_libudev.py
-+++ b/tests/plugins/mock_libudev.py
-@@ -32,6 +32,7 @@
- from contextlib import contextmanager
- from collections import namedtuple
-
-+import pytest
- import mock
-
- Node = namedtuple('Node', 'name value next')
-@@ -93,5 +94,6 @@ def libudev_list(libudev, function, items):
- EXPOSED_FUNCTIONS = [libudev_list]
-
-
--def pytest_namespace():
-- return dict((f.__name__, f) for f in EXPOSED_FUNCTIONS)
-+def pytest_configure():
-+ for f in EXPOSED_FUNCTIONS:
-+ setattr(pytest, f.__name__, f)
-diff --git a/tests/plugins/privileged.py b/tests/plugins/privileged.py
-index 92328b9..c636980 100644
---- a/tests/plugins/privileged.py
-+++ b/tests/plugins/privileged.py
-@@ -71,5 +71,6 @@ def unload_dummy():
- EXPOSED_FUNCTIONS = [load_dummy, unload_dummy]
-
-
--def pytest_namespace():
-- return dict((f.__name__, f) for f in EXPOSED_FUNCTIONS)
-+def pytest_configure():
-+ for f in EXPOSED_FUNCTIONS:
-+ setattr(pytest, f.__name__, f)
-diff --git a/tests/plugins/travis.py b/tests/plugins/travis.py
-index 46466c2..15a780e 100644
---- a/tests/plugins/travis.py
-+++ b/tests/plugins/travis.py
-@@ -38,8 +38,9 @@ def is_on_travis_ci():
- EXPOSED_FUNCTIONS = [is_on_travis_ci]
-
-
--def pytest_namespace():
-- return dict((f.__name__, f) for f in EXPOSED_FUNCTIONS)
-+def pytest_configure():
-+ for f in EXPOSED_FUNCTIONS:
-+ setattr(pytest, f.__name__, f)
-
-
- def pytest_runtest_setup(item):
diff --git a/dev-python/pyudev/files/pyudev-0.22-remove-flaky-tests.patch b/dev-python/pyudev/files/pyudev-0.22-remove-flaky-tests.patch
deleted file mode 100644
index dd5b892606a3..000000000000
--- a/dev-python/pyudev/files/pyudev-0.22-remove-flaky-tests.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-commit a35c394f7f4eb714eeaab1b8ed7977f822e29fa9
-Author: mulhern <amulhern@redhat.com>
-Date: Wed May 2 15:50:45 2018 -0400
-
- Get rid of all test_match_attribute_* methods
-
- These tests are rendered flaky by the volatility of attribute values.
-
- Signed-off-by: mulhern <amulhern@redhat.com>
-
-diff --git a/tests/test_enumerate.py b/tests/test_enumerate.py
-index f054799..c9c6a67 100644
---- a/tests/test_enumerate.py
-+++ b/tests/test_enumerate.py
-@@ -200,77 +200,6 @@ def test_match_property_bool(self, context, pair):
- for device in devices
- )
-
-- @failed_health_check_wrapper
-- @given(_CONTEXT_STRATEGY, _ATTRIBUTE_STRATEGY)
-- @settings(max_examples=50)
-- def test_match_attribute_nomatch_unfulfillable(self, context, pair):
-- """
-- Match and no match for a key/value gives empty set.
-- """
-- key, value = pair
-- devices = context.list_devices()
-- devices.match_attribute(key, value)
-- devices.match_attribute(key, value, nomatch=True)
-- assert not list(devices)
--
-- @failed_health_check_wrapper
-- @given(_CONTEXT_STRATEGY, _ATTRIBUTE_STRATEGY)
-- @settings(max_examples=50)
-- def test_match_attribute_nomatch_complete(self, context, pair):
-- """
-- Test that w/ respect to the universe of devices returned by
-- list_devices() a match and its inverse are complements of each other.
-- """
-- key, value = pair
-- m_devices = frozenset(context.list_devices().match_attribute(
-- key, value))
-- nm_devices = frozenset(context.list_devices().match_attribute(
-- key, value, nomatch=True))
-- _test_intersection_and_union(context, m_devices, nm_devices)
--
-- @failed_health_check_wrapper
-- @given(_CONTEXT_STRATEGY, _ATTRIBUTE_STRATEGY)
-- @settings(max_examples=50)
-- def test_match_attribute_string(self, context, pair):
-- """
-- Test that matching attribute as string works.
-- """
-- key, value = pair
-- devices = context.list_devices().match_attribute(key, value)
-- assert all(device.attributes.get(key) == value for device in devices)
--
-- @failed_health_check_wrapper
-- @given(_CONTEXT_STRATEGY,
-- _ATTRIBUTE_STRATEGY.filter(lambda x: _is_int(x[1])))
-- @settings(max_examples=50)
-- def test_match_attribute_int(self, context, pair):
-- """
-- Test matching integer attribute.
-- """
-- key, value = pair
-- int_value = int(value)
-- devices = context.list_devices().match_attribute(key, int_value)
-- for device in devices:
-- attributes = device.attributes
-- assert attributes.get(key) == value
-- assert device.attributes.asint(key) == int_value
--
-- @failed_health_check_wrapper
-- @given(_CONTEXT_STRATEGY,
-- _ATTRIBUTE_STRATEGY.filter(lambda x: _is_bool(x[1])))
-- @settings(max_examples=50)
-- def test_match_attribute_bool(self, context, pair):
-- """
-- Test matching boolean attribute.
-- """
-- key, value = pair
-- bool_value = True if int(value) == 1 else False
-- devices = context.list_devices().match_attribute(key, bool_value)
-- for device in devices:
-- attributes = device.attributes
-- assert attributes.get(key) == value
-- assert attributes.asbool(key) == bool_value
--
- @_UDEV_TEST(154, "test_match_tag")
- @failed_health_check_wrapper
- @given(_CONTEXT_STRATEGY, _TAG_STRATEGY)
-@@ -335,33 +264,6 @@ def test_combined_property_matches(self, context, ppairs):
- )
- )
-
-- @given(_CONTEXT_STRATEGY,
-- strategies.lists(
-- elements=_ATTRIBUTE_STRATEGY,
-- min_size=2,
-- max_size=3,
-- unique_by=lambda p: p[0]))
-- @settings(max_examples=20)
-- def test_combined_attribute_matches(self, context, apairs):
-- """
-- Test for conjunction of attributes.
--
-- If matching multiple attributes, then the result is the intersection of
-- the matching sets, i.e., the resulting filter is a conjunction.
-- """
-- enumeration = context.list_devices()
--
-- for key, value in apairs:
-- enumeration.match_attribute(key, value)
--
-- _test_direct_and_complement(
-- context,
-- frozenset(enumeration),
-- lambda d: all(
-- d.attributes.get(key) == value for key, value in apairs
-- )
-- )
--
- @given(_CONTEXT_STRATEGY,
- strategies.lists(
- elements=_MATCH_PROPERTY_STRATEGY,
diff --git a/dev-python/pyudev/pyudev-0.22.0-r1.ebuild b/dev-python/pyudev/pyudev-0.22.0-r1.ebuild
deleted file mode 100644
index a3ba93cfd871..000000000000
--- a/dev-python/pyudev/pyudev-0.22.0-r1.ebuild
+++ /dev/null
@@ -1,53 +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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python binding to libudev"
-HOMEPAGE="https://pyudev.readthedocs.io/en/latest/ https://github.com/pyudev/pyudev"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-IUSE="qt5"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- virtual/udev
- qt5? ( dev-python/PyQt5[${PYTHON_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )"
-
-DOCS=( CHANGES.rst README.rst )
-
-PATCHES=(
- "${FILESDIR}/pyudev-0.22-pytest-4.patch"
- "${FILESDIR}/pyudev-0.22-remove-flaky-tests.patch"
- "${FILESDIR}/pyudev-0.22-fix-hypothesis.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- if use test; then
- ewarn "If your PORTAGE_TMPDIR is longer in length then '/var/tmp/',"
- ewarn "change it to /var/tmp to ensure tests will pass."
- fi
-
- # tests are known to pass then fail on alternate runs
- # tests: fix run_path
- sed -i -e "s|== \('/run/udev'\)|in (\1,'/dev/.udev')|g" \
- tests/test_core.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.9.0.ebuild b/dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.9.0.ebuild
index e04c499d8ee2..4291b442cca4 100644
--- a/dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.9.0.ebuild
+++ b/dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.9.0.ebuild
@@ -17,7 +17,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
RDEPEND="dev-python/namespace-ruamel[${PYTHON_USEDEP}]"
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index 9f8a6e5ad43c..d0de0a58908b 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,3 +1,4 @@
DIST python-gentoo-patches-3.10.0rc1.tar.xz 8112 BLAKE2B d6f9b44c5a231f447ffe3533afbcaffe0f3b8bdd5a6690f1854bd7e1199d036d11a4cf4abfae345a88c42740ccbd4b72e53cbe28aea1a5db39dda1e5bfd47229 SHA512 bba7045f56369ca0354a539f8478a1afed77dc89a9faf548a0cf8959d644360b0afc4f84b95151ebfc2a6553078322c7445073f7a4104e9cd639ccc86ad0f792
DIST setuptools-57.5.0.tar.gz 2141727 BLAKE2B 54c065e0bdcb0c3a0a76026d78ab26615e07ee013e684ef18c3731757a38efe38d21d4c99b687595873679d77ab8381cccc483847467c98eb7086d9cac5bd8ec SHA512 9dae7cbddcca0859d128f528232c2ab6baca2b4447bba129a7bbc014c98a8ecc866cc71c7e93900bb93ea4bbbe5e398c1c3b4a4867afb2caf2c38a2d5a46d67c
DIST setuptools-58.2.0.tar.gz 2268140 BLAKE2B 13281c3b2ed664fdcec77117cded285fb5b608036c19715c7c786734bb04cc02bc0f300a28e7c49967f695a6b706f9413baa33d99ac4f1f957522136ee5857e0 SHA512 028c9d9533f5493ff89c80c705ea002661a70e0e43afecb0c7546029990ae599e16fad7248ffc29573c18c6aeb33f1bba1fde09f25fe04b74717ad9308ce9cfc
+DIST setuptools-59.2.0.tar.gz 2281261 BLAKE2B 40d929a7a15d469e66b5f0db744663d0debfc9559806bebd141f5659965e47ebbd3f05ae4fe0dfd514db10507c5fffb4ab427eb55b61c2febb0dc6b47d02ca6b SHA512 cd6acf817c548ef518f0e64172f8263b181eddeaf0cbe527b30a5db9ecf0f985b76a6d9c28a54ae7a743debb844c0c75781ebcdf81eb478f2bd67b81d1e3f847
diff --git a/dev-python/setuptools/setuptools-59.2.0.ebuild b/dev-python/setuptools/setuptools-59.2.0.ebuild
new file mode 100644
index 000000000000..546e7f8590d3
--- /dev/null
+++ b/dev-python/setuptools/setuptools-59.2.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
+EAPI=7
+
+# Set to 'manual' to avoid triggering install QA check
+DISTUTILS_USE_SETUPTOOLS=manual
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 multiprocessing
+
+CPY_PATCHSET="python-gentoo-patches-3.10.0rc1"
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="https://github.com/pypa/setuptools https://pypi.org/project/setuptools/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ https://dev.gentoo.org/~mgorny/dist/python/${CPY_PATCHSET}.tar.xz"
+
+LICENSE="MIT"
+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"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/jaraco-envs[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-fixture-config[${PYTHON_USEDEP}]
+ dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ ' python3_{8..10} pypy3)
+ )
+"
+PDEPEND="
+ >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( {CHANGES,README}.rst )
+
+src_prepare() {
+ # apply distutils patches to the bundled distutils
+ pushd setuptools/_distutils >/dev/null || die
+ # TODO: distutils C++ patch?
+ eapply -p3 "${WORKDIR}/${CPY_PATCHSET}/0006-distutils-make-OO-enable-both-opt-1-and-opt-2-optimi.patch"
+ popd >/dev/null || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # keep in sync with python_gen_cond_dep above!
+ has "${EPYTHON}" python3.{8..10} pypy3 || continue
+
+ distutils_install_for_testing
+ local EPYTEST_DESELECT=(
+ # network
+ setuptools/tests/test_distutils_adoption.py
+ 'setuptools/tests/test_virtualenv.py::test_pip_upgrade_from_source[None]'
+ # unhappy with pytest-xdist?
+ setuptools/tests/test_easy_install.py::TestUserInstallTest::test_local_index
+ # TODO
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ )
+
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" epytest \
+ -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" setuptools
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.1-r4.ebuild b/dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.1-r4.ebuild
index 1a49743e2d33..56f17eaf0278 100644
--- a/dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.1-r4.ebuild
+++ b/dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.1-r4.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/Changaco/setuptools_scm_git_archive/archive/${PV}.ta
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~hppa ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~s390 ~sparc x86"
IUSE=""
RDEPEND="
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.12.0.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.12.0.ebuild
index fe4e4d87d680..49a1e005683d 100644
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.12.0.ebuild
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.12.0.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
-KEYWORDS="amd64 arm ~arm64 ppc ~ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
SLOT="0"
BDEPEND="
diff --git a/dev-python/sphinx-tabs/sphinx-tabs-3.1.0.ebuild b/dev-python/sphinx-tabs/sphinx-tabs-3.1.0.ebuild
index d2d6e0b6c29c..85f0fb8f3c12 100644
--- a/dev-python/sphinx-tabs/sphinx-tabs-3.1.0.ebuild
+++ b/dev-python/sphinx-tabs/sphinx-tabs-3.1.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/executablebooks/sphinx-tabs/archive/v${PV}.tar.gz ->
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~m68k ppc ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="~amd64 arm arm64 ~ia64 ~m68k ppc ppc64 ~riscv ~s390 ~x86"
RDEPEND="
dev-python/docutils[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.17.ebuild b/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.17.ebuild
index c4af2b1c5995..d8a99ee5df21 100644
--- a/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.17.ebuild
+++ b/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.17.ebuild
@@ -16,7 +16,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/namespace-sphinxcontrib[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2.ebuild b/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2.ebuild
index adb077821796..45cd45a97a73 100644
--- a/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2.ebuild
+++ b/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="|| ( Apache-2.0 MIT )"
-KEYWORDS="amd64 ~arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
SLOT="0"
RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphobjinv/sphobjinv-2.1-r1.ebuild b/dev-python/sphobjinv/sphobjinv-2.1-r1.ebuild
index 02ed1f0f9ee2..9b52e63cdb5b 100644
--- a/dev-python/sphobjinv/sphobjinv-2.1-r1.ebuild
+++ b/dev-python/sphobjinv/sphobjinv-2.1-r1.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="
SRC_URI="https://github.com/bskinn/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
-KEYWORDS="amd64 arm ~arm64 ppc ~ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
SLOT="0"
RDEPEND="
diff --git a/dev-python/stdio-mgr/stdio-mgr-1.0.1.ebuild b/dev-python/stdio-mgr/stdio-mgr-1.0.1.ebuild
index 9081fcb693bd..7fd55ea904ec 100644
--- a/dev-python/stdio-mgr/stdio-mgr-1.0.1.ebuild
+++ b/dev-python/stdio-mgr/stdio-mgr-1.0.1.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="
SRC_URI="https://github.com/bskinn/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
-KEYWORDS="amd64 arm ~arm64 ppc ~ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
SLOT="0"
RDEPEND=">=dev-python/attrs-17.1[${PYTHON_USEDEP}]"
diff --git a/dev-python/tempest/tempest-29.2.0.ebuild b/dev-python/tempest/tempest-29.2.0.ebuild
index 2c043e84e8cd..1f9af96ee295 100644
--- a/dev-python/tempest/tempest-29.2.0.ebuild
+++ b/dev-python/tempest/tempest-29.2.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/timeout-decorator/timeout-decorator-0.5.0.ebuild b/dev-python/timeout-decorator/timeout-decorator-0.5.0.ebuild
index 2698a1b51f5d..81958200ae67 100644
--- a/dev-python/timeout-decorator/timeout-decorator-0.5.0.ebuild
+++ b/dev-python/timeout-decorator/timeout-decorator-0.5.0.ebuild
@@ -20,6 +20,6 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ppc ~ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
distutils_enable_tests pytest
diff --git a/dev-python/tqdm/tqdm-4.62.3.ebuild b/dev-python/tqdm/tqdm-4.62.3.ebuild
index 3740e1709a2c..b882db786527 100644
--- a/dev-python/tqdm/tqdm-4.62.3.ebuild
+++ b/dev-python/tqdm/tqdm-4.62.3.ebuild
@@ -11,7 +11,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/tqdm/tqdm"
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~x64-macos"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
fi
DESCRIPTION="Add a progress meter to your loops in a second"
diff --git a/dev-python/trio/trio-0.19.0.ebuild b/dev-python/trio/trio-0.19.0.ebuild
index 81769ed7434a..0a9624603778 100644
--- a/dev-python/trio/trio-0.19.0.ebuild
+++ b/dev-python/trio/trio-0.19.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://github.com/python-trio/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.
LICENSE="|| ( Apache-2.0 MIT )"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
RDEPEND="
>=dev-python/async_generator-1.9[${PYTHON_USEDEP}]
diff --git a/dev-python/ukkonen/Manifest b/dev-python/ukkonen/Manifest
new file mode 100644
index 000000000000..dbc7baf73229
--- /dev/null
+++ b/dev-python/ukkonen/Manifest
@@ -0,0 +1 @@
+DIST ukkonen-1.0.0.gh.tar.gz 4541 BLAKE2B c93623523fc57b27bb68a2bb41fca51a967910c4936140bee628b4270e343e7902b9e7a6fb85bc89c197e2b0c6897c2d3f788886541bc8b6b7758a6f158a5c6c SHA512 87e3078e8cd4807af3f91c1be7766454705b077cb093eadac34d1af4d56b458813c1062eb086232bffa43b5ca7aa07ed88192e56dacce96c6781f16129111d79
diff --git a/dev-python/ukkonen/metadata.xml b/dev-python/ukkonen/metadata.xml
new file mode 100644
index 000000000000..86f593913cd6
--- /dev/null
+++ b/dev-python/ukkonen/metadata.xml
@@ -0,0 +1,11 @@
+<?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>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">ukkonen</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/ukkonen/ukkonen-1.0.0.ebuild b/dev-python/ukkonen/ukkonen-1.0.0.ebuild
new file mode 100644
index 000000000000..d35f277671fb
--- /dev/null
+++ b/dev-python/ukkonen/ukkonen-1.0.0.ebuild
@@ -0,0 +1,27 @@
+# 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} pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="Implementation of bounded Levenshtein distance (Ukkonen)"
+HOMEPAGE="
+ https://pypi.org/project/ukkonen/
+ https://github.com/asottile/ukkonen/"
+SRC_URI="
+ https://github.com/asottile/ukkonen/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')"
+BDEPEND=${RDEPEND}
+
+distutils_enable_tests pytest
diff --git a/dev-python/untangle/untangle-1.1.1.ebuild b/dev-python/untangle/untangle-1.1.1.ebuild
index bb3815aef0d3..8459e27294df 100644
--- a/dev-python/untangle/untangle-1.1.1.ebuild
+++ b/dev-python/untangle/untangle-1.1.1.ebuild
@@ -13,4 +13,4 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-python/uvicorn/uvicorn-0.15.0_p20210913.ebuild b/dev-python/uvicorn/uvicorn-0.15.0_p20210913.ebuild
index 6eb6724aca0a..370b55d059e8 100644
--- a/dev-python/uvicorn/uvicorn-0.15.0_p20210913.ebuild
+++ b/dev-python/uvicorn/uvicorn-0.15.0_p20210913.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${COMMIT}"
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.4.0[${PYTHON_USEDEP}]
diff --git a/dev-python/uvloop/uvloop-0.15.3-r1.ebuild b/dev-python/uvloop/uvloop-0.15.3-r1.ebuild
index 8513dc0faab6..2158bf552367 100644
--- a/dev-python/uvloop/uvloop-0.15.3-r1.ebuild
+++ b/dev-python/uvloop/uvloop-0.15.3-r1.ebuild
@@ -10,7 +10,7 @@ DESCRIPTION="Ultra-fast implementation of asyncio event loop on top of libuv"
HOMEPAGE="https://github.com/magicstack/uvloop"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ppc ~ppc64 -riscv sparc"
+KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 -riscv sparc"
LICENSE="MIT"
SLOT="0"
IUSE="doc examples"
diff --git a/dev-python/watchgod/watchgod-0.7.ebuild b/dev-python/watchgod/watchgod-0.7.ebuild
index 35ff7d9f864a..219d81a351da 100644
--- a/dev-python/watchgod/watchgod-0.7.ebuild
+++ b/dev-python/watchgod/watchgod-0.7.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ppc ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
BDEPEND="
test? (