summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/PyPDF2/PyPDF2-2.4.2.ebuild2
-rw-r--r--dev-python/autobahn/autobahn-22.6.1.ebuild2
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.24.50.ebuild68
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.27.50.ebuild69
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.61.5.ebuild54
-rw-r--r--dev-python/cliff/Manifest1
-rw-r--r--dev-python/cliff/cliff-4.0.0.ebuild43
-rw-r--r--dev-python/debugpy/debugpy-1.6.2.ebuild2
-rw-r--r--dev-python/defcon/Manifest1
-rw-r--r--dev-python/defcon/defcon-0.10.2.ebuild34
-rw-r--r--dev-python/dns-lexicon/Manifest1
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.11.4.ebuild67
-rw-r--r--dev-python/gssapi/Manifest1
-rw-r--r--dev-python/gssapi/gssapi-1.8.0.ebuild42
-rw-r--r--dev-python/nbconvert/Manifest1
-rw-r--r--dev-python/nbconvert/nbconvert-6.5.3.ebuild84
-rw-r--r--dev-python/partd/Manifest1
-rw-r--r--dev-python/partd/partd-1.3.0.ebuild28
-rw-r--r--dev-python/plotly/Manifest1
-rw-r--r--dev-python/plotly/plotly-5.10.0.ebuild63
-rw-r--r--dev-python/pydantic/Manifest1
-rw-r--r--dev-python/pydantic/pydantic-1.9.2.ebuild77
-rw-r--r--dev-python/pypy3-exe-bin/Manifest2
-rw-r--r--dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9.ebuild56
-rw-r--r--dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9_p3.ebuild2
-rw-r--r--dev-python/pyside2-tools/Manifest1
-rw-r--r--dev-python/pyside2-tools/pyside2-tools-5.15.5.ebuild77
-rw-r--r--dev-python/pyside2/Manifest1
-rw-r--r--dev-python/pyside2/pyside2-5.15.5.ebuild224
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.2.ebuild2
-rw-r--r--dev-python/pytz/Manifest1
-rw-r--r--dev-python/pytz/pytz-2022.2.ebuild34
-rw-r--r--dev-python/pyzmq/Manifest1
-rw-r--r--dev-python/pyzmq/pyzmq-23.2.1.ebuild81
-rw-r--r--dev-python/regex/regex-2022.7.9.ebuild2
-rw-r--r--dev-python/semver/semver-2.13.0.ebuild2
-rw-r--r--dev-python/sentry-sdk/Manifest1
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.9.4.ebuild96
-rw-r--r--dev-python/setproctitle/Manifest1
-rw-r--r--dev-python/setproctitle/setproctitle-1.3.2.ebuild22
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.4.1.ebuild2
-rw-r--r--dev-python/shiboken2/Manifest1
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.5-add-numpy-1.23-compatibility.patch31
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch72
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.5-python311-2.patch65
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.5-python311-3.patch55
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.5.ebuild172
-rw-r--r--dev-python/sphinx_lv2_theme/Manifest1
-rw-r--r--dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.0.0-r1.ebuild16
-rw-r--r--dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.0.ebuild2
-rw-r--r--dev-python/xmlschema/Manifest1
-rw-r--r--dev-python/xmlschema/xmlschema-2.0.2.ebuild38
55 files changed, 1624 insertions, 84 deletions
diff --git a/dev-python/PyPDF2/PyPDF2-2.4.2.ebuild b/dev-python/PyPDF2/PyPDF2-2.4.2.ebuild
index e63051a338a2..4bda74ed39ab 100644
--- a/dev-python/PyPDF2/PyPDF2-2.4.2.ebuild
+++ b/dev-python/PyPDF2/PyPDF2-2.4.2.ebuild
@@ -25,7 +25,7 @@ SRC_URI="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
RDEPEND="
$(python_gen_cond_dep '
diff --git a/dev-python/autobahn/autobahn-22.6.1.ebuild b/dev-python/autobahn/autobahn-22.6.1.ebuild
index 5bdf8f1c5c99..c32a41d06efd 100644
--- a/dev-python/autobahn/autobahn-22.6.1.ebuild
+++ b/dev-python/autobahn/autobahn-22.6.1.ebuild
@@ -21,7 +21,7 @@ S="${WORKDIR}/${MY_P}"
SLOT="0"
LICENSE="MIT"
-KEYWORDS="amd64 arm arm64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~riscv x86"
IUSE="test xbr"
RESTRICT="!test? ( test )"
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index b9f5c8877fdb..63b556618d9a 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -3,3 +3,4 @@ DIST boto3-1.24.41.gh.tar.gz 523844 BLAKE2B 0cff30d6aba5e8eddb8f545737e22a146ef9
DIST boto3-1.24.46.gh.tar.gz 524945 BLAKE2B f26235fb6993a9dd09fca562315c8ec7003f122fe63851eb7e9db47519b311557665998ba61dafbebcec825ff0b5ff55d329dfd41523b90a387bf590e6205eda SHA512 922423beac0f7ecefb44c474ba8a928f3faec0adc945fd06958c9ffdad612bbb3d0be9dbb68249bcb6cd12446f858c208346808239f37153e6631defb74189bf
DIST boto3-1.24.47.gh.tar.gz 525452 BLAKE2B 2c191fb2de8d03f1529a8b9c7d9cb6c21ea86415108c79dc7c06071bbaa1d94c491ca05348877dc8352094c626c60a6a07e336af4241b7bde1154a4ebeac371d SHA512 dd3807ef9ef28a5c6bff20b801a33ae9c150a6ff57bf4af645d8d6a5de05e8507289b9714190ca1e80400c637cd1761a2c568453d2d7af24e71ace93d3e5355a
DIST boto3-1.24.49.gh.tar.gz 526085 BLAKE2B 8372c65dbe92fee877a9aaafbbeda6ee6df672e431e40e139ad5cd852cc15d2d6add34de0b8c34bdec8d39947940891b949d1720425e1311dc5e45f724a89bf9 SHA512 baea5b18407052b9391d7e5ad3efd124d1448f7fa7e2f89bfc04bc417e395035aa9d2cfbbaed822328baf7f81dbed81bc3c66dcaa66598a97b53c8c08cf61366
+DIST boto3-1.24.50.gh.tar.gz 526501 BLAKE2B 4ff77e527a990be760296471f6695eac1604926ae7814034c6ab840b6796d881a02a9936639dcd08daeb472fb27b964f7abd961f079f7961a4a624f7987fedb9 SHA512 9a2c3dcc7ea595c8d40872d59dae7459d401a9f930c542925829ceca6fc8b9846acf4cf67710777756b983e2eea85060488d001f3a948ec3d2f7cdbd617c1f72
diff --git a/dev-python/boto3/boto3-1.24.50.ebuild b/dev-python/boto3/boto3-1.24.50.ebuild
new file mode 100644
index 000000000000..e4a98e2e28f5
--- /dev/null
+++ b/dev-python/boto3/boto3-1.24.50.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/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/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ # botocore is x.(y+3).z
+ BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index fb7bd9893ba8..0e93ed5b8b5e 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -3,3 +3,4 @@ DIST botocore-1.27.41.gh.tar.gz 9493802 BLAKE2B dff510a658e77fe7185a8d118228cd80
DIST botocore-1.27.46.gh.tar.gz 9502831 BLAKE2B 75b4ada461e43573c202efdf12201dad8af017ec85c82d0e7cf9ba1823dfd988d4432daef13891a9b8063003a37432a041847cedf46d4665305f486f498edd8c SHA512 1b7719f2216ea170b8739811da2e11acf033919d826c138aa069b19250036b1b2f2cf276d71e464afc6fff63ed99333e6cc321e84139b55e02dea365aa71adc3
DIST botocore-1.27.47.gh.tar.gz 9506174 BLAKE2B 9fe05af1b1cf7df90c61e15c0ad8a701082a15d206830167f8fa2cfef79538b99928442a9e007eb8f92a5d20513eab096a84a97aac6d8bf0a9adcce3cb50cfb2 SHA512 043bba6ed1f5987dff759c67faaa9ecea16cdafc1d48fbcfecaca393530a298cf31d990bbade4db1d149acc49ffb0dcc2d1eab46b77a4e5eb59d3502c1066889
DIST botocore-1.27.49.gh.tar.gz 9510394 BLAKE2B 01a0f2dd80adadc3bc1acb3c26e3280171d11e0e1bd14535214aab7b01a5f43c7f707b6396a83a77edfc417c2047ca2d11b52550321acd88528c93a02250b079 SHA512 30f9891eed6277cadc3379f23214d08caab917114bceebd3400c64f8271d449609b9f3bc31c01976e705b565d136f8d1fab1f0bd3ee2870880703d6b40244f1f
+DIST botocore-1.27.50.gh.tar.gz 9519905 BLAKE2B 2a44bcc5c66a4306884683f9da022750114568b7ac061c65444d329432e457b38d65db06c25526932f77eb43fe822c221a87cab643c3d3492e15325e1546a8ff SHA512 f7d8445d6510599c2c5459bf1d93761698d5b0f527ac74e5bee20286d2769dc9a1998ae9577a740a9a7cf7611843dd90e193db144f8f788b13c017fd7a641957
diff --git a/dev-python/botocore/botocore-1.27.50.ebuild b/dev-python/botocore/botocore-1.27.50.ebuild
new file mode 100644
index 000000000000..6a8e7e93c947
--- /dev/null
+++ b/dev-python/botocore/botocore-1.27.50.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/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="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index c87dbfcd5b64..f67e9e025043 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,2 +1,3 @@
DIST cfn-lint-0.61.3.gh.tar.gz 9528542 BLAKE2B 27f5c82c09a7c1dde520189647480032faf808089083ca45a9a2a24e4c158cb8e62ee6ae2f906d6c68021cc34b654ff46c9402876e09dd3330115dead5db44a8 SHA512 db5369a12d88754f6241b4ef529b53d142a80bfcb0c58ac7ec03217e7e4cb7e53f3fde1dde45dfdac82ab3fde4b885bb40dae3076b85edf34ca68cc73dc5aeb1
DIST cfn-lint-0.61.4.gh.tar.gz 9556069 BLAKE2B 71572546d7e523c11214e32130a7d52461580e487b514846137e6592cb7a1786414556e4bea191aa2e4dddaf338c24e8ea9001e617221ea74b03bd0ea900a5a9 SHA512 fd85af770b5b519c9de4df0acbbaa66a8a7f61efd210a793c2e28ad9e6d6ed2d8b3042ca41d7743b2bc4dc0446b42ea2929cba454fdbf097a482a7c268e04000
+DIST cfn-lint-0.61.5.gh.tar.gz 9580886 BLAKE2B 0e83a604bc8761cd6007039cc28d90e471ef3cd3c542e7ce977d290638bcbff2b196c5d3c5f23b8d6db064b867ab594360dedb86494aba955c065c7cbad8b519 SHA512 14a1c282f1d87ce5ddd231f92e01a4edd85a62802f2335ba95470acaa0d8deb0306433124f3d1bea6c965ebfe5b30145431087a71cb1e8b953bf94b5d691bcbf
diff --git a/dev-python/cfn-lint/cfn-lint-0.61.5.ebuild b/dev-python/cfn-lint/cfn-lint-0.61.5.ebuild
new file mode 100644
index 000000000000..a98bb23dc7cd
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.61.5.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+SRC_URI="
+ https://github.com/aws-cloudformation/cfn-lint/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.47.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema_to_python-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.15.0[${PYTHON_USEDEP}]
+ >=dev-python/sarif_om-1.0.4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_2
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+)
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i setup.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/cliff/Manifest b/dev-python/cliff/Manifest
index dad03747752f..f55789aaa0a8 100644
--- a/dev-python/cliff/Manifest
+++ b/dev-python/cliff/Manifest
@@ -1 +1,2 @@
DIST cliff-3.10.1.tar.gz 82764 BLAKE2B 88e8481d23f6ad35acac9fd17b1e4930f31ebc13211ad5bf1db441dbe4ad99faec023b6a46640d0fa3dbac4d76f4fd9d9fd3cd1e6c319cab390d502c9adff53c SHA512 2a1eb1f5311eb92ac481b35e0f703bb37171c9c7eee68a3d8322786a802d562d990ea8e3e52e924215b2ff8c3f14614f99ea403d94bfa2ea3794ab3556baa0c9
+DIST cliff-4.0.0.tar.gz 82758 BLAKE2B 47bc6d15426208c35582e852b7c52620b4fde292f2cc8bba1ba18ca01ef0cb3eda442ec406d2da7abb525fd659e055d08fa64c390a2274a8eea714489435957d SHA512 2886c2697c81c640cd3909c7e00fa50b0e39ed3824c8594d45af30e876cbfa73161be35c668c9bf964a5716bbb2b6e0cfef69526346e1d35156b5dbc24a7dc06
diff --git a/dev-python/cliff/cliff-4.0.0.ebuild b/dev-python/cliff/cliff-4.0.0.ebuild
new file mode 100644
index 000000000000..4506a933cb00
--- /dev/null
+++ b/dev-python/cliff/cliff-4.0.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Command Line Interface Formulation Framework"
+HOMEPAGE="
+ https://opendev.org/openstack/cliff/
+ https://github.com/openstack/cliff/
+ https://pypi.org/project/cliff/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/autopage-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/cmd2-0.8.0[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib_metadata-4.11.1[${PYTHON_USEDEP}]
+ ' 3.8 3.9)
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/debugpy/debugpy-1.6.2.ebuild b/dev-python/debugpy/debugpy-1.6.2.ebuild
index 5553ed1df688..837674fe083f 100644
--- a/dev-python/debugpy/debugpy-1.6.2.ebuild
+++ b/dev-python/debugpy/debugpy-1.6.2.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
# This is completely broken
RESTRICT="test"
diff --git a/dev-python/defcon/Manifest b/dev-python/defcon/Manifest
index f72dfb8f9ecf..3f94d2039244 100644
--- a/dev-python/defcon/Manifest
+++ b/dev-python/defcon/Manifest
@@ -1 +1,2 @@
DIST defcon-0.10.1.tar.gz 426234 BLAKE2B 0d4f0749c061860603d343bd8d0291699a64794ec8f3f1e6f1cff0af0f22cd0cfc4ae60d578c5f55131d1de694b3234017afd124a4266c972217b39d70071473 SHA512 12cb1512321b91676f8be380999dfb00942eb8355389db409ef896f7e7100fc97186a920c1c0a741b660e57134e880d068446e5ad00e2768221f80a26608819c
+DIST defcon-0.10.2.gh.tar.gz 426253 BLAKE2B 308c0f78a476db8f6fe7eb563970a91f1869a26a8a012905c70fb886d954f8b66b6952801212ddc4439921049773ef07c8f99c51465841681b2c19ab0d9ac27d SHA512 fada72ff846d377e76e259255dbb6f3170c6e87c793f891bed2b5e827ae3001864872eda92a9bb031f32194a7b61089a29908e510f6a4dece8e94828f82e1798
diff --git a/dev-python/defcon/defcon-0.10.2.ebuild b/dev-python/defcon/defcon-0.10.2.ebuild
new file mode 100644
index 000000000000..bf7ed28c3953
--- /dev/null
+++ b/dev-python/defcon/defcon-0.10.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="A set of UFO based objects for use in font editing applications"
+HOMEPAGE="https://github.com/robotools/defcon"
+SRC_URI="
+ https://github.com/robotools/defcon/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/fonttools-4.34.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fs[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/dns-lexicon/Manifest b/dev-python/dns-lexicon/Manifest
index bce796690d34..fe9f5a577999 100644
--- a/dev-python/dns-lexicon/Manifest
+++ b/dev-python/dns-lexicon/Manifest
@@ -1,2 +1,3 @@
DIST dns-lexicon-3.11.2.tar.gz 8479426 BLAKE2B aced03c62f809bbb22d2456da8d7a66c4b3cdfd47903a67cafd8a97cbc7cdbbe22fe7e79ad3eada716a569241def4e42cf7d910ba9837dfe05a31ce3f8ed2bdb SHA512 bf77cee4e483b36c8cc8cb176291f0170a1d611551246e27ddd91d9712e8750c9ee57863697e975065f6924c03fdfd636c5c7df29a620d37441b12dd0a1c597d
DIST dns-lexicon-3.11.3.gh.tar.gz 8442678 BLAKE2B 3898e572b409f19c6c3064046adbbbbfefe0ef287caceb2495972c946bdab0b4bb484330e3ae98afdc8d65cc849c11ed199e6c1eeeeb1296f09063124c166b91 SHA512 770a3c052ecc26fb3a27ac49b8f14132b69ea6ca9dfc93caea1ac66c4e6a458e6484b8a8ab921eea97761216fa34d8ad0d95964cdcff30a5713de7189c1e987d
+DIST dns-lexicon-3.11.4.gh.tar.gz 8429864 BLAKE2B 552c87427fc04683e3e6b540fa3e62f88628f833b8229d52dde9f53d77c1cc32968aa9b0c3d04876145067950752c8fb68c1540cee82cf5687bc16d26d7ebd63 SHA512 d7c1f085ffcb4589430f744970bbc6793779fb19d4cc29b071937d768cb271330794fccf38b60a82ed6362dda4101ac6643704bb703df242c8f2a17273dc6fbe
diff --git a/dev-python/dns-lexicon/dns-lexicon-3.11.4.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.11.4.ebuild
new file mode 100644
index 000000000000..1c99ec4fc111
--- /dev/null
+++ b/dev-python/dns-lexicon/dns-lexicon-3.11.4.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Manipulate DNS records on various DNS providers in a standardized/agnostic way"
+HOMEPAGE="
+ https://github.com/AnalogJ/lexicon/
+ https://pypi.org/project/dns-lexicon/
+"
+SRC_URI="
+ https://github.com/AnalogJ/lexicon/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/lexicon-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/importlib_metadata-4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tldextract[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/boto3[${PYTHON_USEDEP}]
+ dev-python/zeep[${PYTHON_USEDEP}]
+ dev-python/vcrpy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Requires the "localzone" module
+ lexicon/tests/providers/test_localzone.py
+ # Requires the "softlayer" module
+ lexicon/tests/providers/test_softlayer.py
+ # Requires the "transip" module
+ lexicon/tests/providers/test_transip.py
+ # Requires the "oci" module
+ lexicon/tests/providers/test_oci.py
+ # Uses tldextract which needs Internet access to download its database
+ lexicon/tests/providers/test_auto.py
+ # All recordings seem to be broken
+ lexicon/tests/providers/test_namecheap.py
+)
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ optfeature_header \
+ "Install the following packages to enable support for additional DNS providers:"
+ optfeature Gransy dev-python/zeep
+ optfeature Route53 dev-python/boto3
+ optfeature DDNS dev-python/dnspython
+ fi
+}
diff --git a/dev-python/gssapi/Manifest b/dev-python/gssapi/Manifest
index 623051020860..5c6f69aa5921 100644
--- a/dev-python/gssapi/Manifest
+++ b/dev-python/gssapi/Manifest
@@ -1 +1,2 @@
DIST gssapi-1.7.3.gh.tar.gz 3830322 BLAKE2B ea3d633b9b88ab5105b5ba67dfd0ec138ac76e121be2ee82c43ca4f2a229c4592f5d417f5b9b0c8d2ce894bdcc35025361431280c4dc8a17782d1ea920390805 SHA512 8bb6346ef9dc5cb380bbe5e51931aa3470149d33a3eeef68a758ce0b2ef06785bdca9cb7ae809a8329ab2a05ac802ac3100f9d8e3d7d3034b4bbce1bc87b4268
+DIST gssapi-1.8.0.gh.tar.gz 113341 BLAKE2B c9e7890e7a318b055515b991b1d39a5677e591819d010edb45f8ce58541aa03e918d177fab506c37e8f1c54ee54fb145b5aa89bf69e353c1fd6c95a6d880e6d3 SHA512 47b3f295134d18240e8b53cacaf060661d024cc10846155318047640e508ffd05daa09240576ccb898ca71df254d0f030562e285d58d9e6c3258f10bb642d6de
diff --git a/dev-python/gssapi/gssapi-1.8.0.ebuild b/dev-python/gssapi/gssapi-1.8.0.ebuild
new file mode 100644
index 000000000000..b23ed2305598
--- /dev/null
+++ b/dev-python/gssapi/gssapi-1.8.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low and high level wrappers around the GSSAPI C libraries"
+HOMEPAGE="https://github.com/pythongssapi/python-gssapi https://pypi.org/project/gssapi/"
+SRC_URI="
+ https://github.com/pythongssapi/python-gssapi/releases/download/v${PV}/python-${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}"/python-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ virtual/krb5
+"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ virtual/krb5
+ test? (
+ dev-python/k5test[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${T}" || die
+ epytest --pyargs gssapi
+}
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index 9e8294950a18..eede60c44cb4 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1,2 +1,3 @@
DIST nbconvert-6.5.0.tar.gz 908377 BLAKE2B a91c6c93e9e33f90c5c7f19743e20aa6cf88e5dd29be4ee777744d96037dddd15294858776c8391d79f5436e929fb1b623a3f11f6c4cbcf60728dba2204b6e2e SHA512 4e0d26d581435525f819c05207890cc7cbeaff786a16c354f0356c9bc50111a724a92b7e15445a0cf0ebf1e1c2f0ff064a2c8722267f66dd8677ad82b5e61714
DIST nbconvert-6.5.2.tar.gz 910454 BLAKE2B 0c80232697e1ecf31af17f10ae5ad9bcfaec89e06ab5f81c87f231f2abd585c23977d0b154363e72f6066a97d04ec96184b0d8325e5aaa399a1a9335109577bb SHA512 b955bd55bc1f69700652faae12a585230d939877551f792eebee57936a293b9b54caff5eb1bcaf996efa38c737f141069d4af2c2959b8b6318966c9020e8a2f5
+DIST nbconvert-6.5.3.tar.gz 910597 BLAKE2B a6336f2227098caf1d59aafa770fc3dd3466160329d5344dc760425cdde7ca35ad8d1e8839fe3189d1623a682a61ea3feedb7fdfdb2ec349e6ec890d873a936a SHA512 a991d8a66fe7a244d3943974d93eb13769016843d37f6c9dcf4ba84dd16511364f45b5020060bf2c10d35fe52b4df4b678d045eedc883d3156a6cb689a977525
diff --git a/dev-python/nbconvert/nbconvert-6.5.3.ebuild b/dev-python/nbconvert/nbconvert-6.5.3.ebuild
new file mode 100644
index 000000000000..9e93b7722010
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-6.5.3.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Converting Jupyter Notebooks"
+HOMEPAGE="
+ https://nbconvert.readthedocs.io/
+ https://github.com/jupyter/nbconvert/
+ https://pypi.org/project/nbconvert/
+"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/entrypoints-0.2.2[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/jupyter_core[${PYTHON_USEDEP}]
+ dev-python/jupyterlab_pygments[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+ >=dev-python/mistune-2.0.2[${PYTHON_USEDEP}]
+ dev-python/nbclient[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ www-servers/tornado[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pebble[${PYTHON_USEDEP}]
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ >=dev-python/jupyter_client-4.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/nbconvert-6.5.0-mistune-2.patch
+)
+
+src_test() {
+ mkdir -p "${HOME}/.local" || die
+ cp -r share "${HOME}/.local/" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Missing pyppeteer for now
+ # TODO: Doesn't skip?
+ nbconvert/exporters/tests/test_webpdf.py
+ # Needs pyppeteer too
+ 'nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_webpdf_with_chromium'
+ )
+
+ epytest --pyargs nbconvert
+}
+
+pkg_postinst() {
+ if ! has_version app-text/pandoc ; then
+ einfo "Pandoc is required for converting to formats other than Python,"
+ einfo "HTML, and Markdown. If you need this functionality, install"
+ einfo "app-text/pandoc."
+ fi
+}
diff --git a/dev-python/partd/Manifest b/dev-python/partd/Manifest
index 5d69eea73f3b..9a8b2ab689d3 100644
--- a/dev-python/partd/Manifest
+++ b/dev-python/partd/Manifest
@@ -1 +1,2 @@
DIST partd-1.2.0.tar.gz 36720 BLAKE2B dccc14704134d1453b92e896080a820b817efc78f86511307d4d1f6e2787f38935edaa8fdfb0ea4f2350ab99f5ad06cef98bb1eba4d4e45b2582a3ada2f5d907 SHA512 dbcf6a73e23aacd6502f0669abcb8e51547f280b1b7b94baa7ab5637cd838f8427ad1c4e39127fb7f8b164f3a83b66611b2c71667d31fe0137619fb6c457fab9
+DIST partd-1.3.0.tar.gz 36153 BLAKE2B e717d61f44c30cfef487e0849a920f839bcafdba1f39b884d9bb4314547074f876aaae53e8613687f5f71dabcc6fd68c95c37264dc52a52544eed50367e85acc SHA512 0ebcccb5dd25d7328bf76e05523b3e40836a92ea867d26aee31e739b7859ca7848da92c6c20824ed1343c1ced2c759361b25ec30f8405e61bd36308613f866c7
diff --git a/dev-python/partd/partd-1.3.0.ebuild b/dev-python/partd/partd-1.3.0.ebuild
new file mode 100644
index 000000000000..9ffa7129b4fd
--- /dev/null
+++ b/dev-python/partd/partd-1.3.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+inherit distutils-r1
+
+DESCRIPTION="Appendable key-value storage"
+HOMEPAGE="https://github.com/dask/partd/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-python/locket[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/blosc[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index d8fa0379655a..d13a027d54a6 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1,2 +1,3 @@
+DIST plotly-5.10.0.tar.gz 7600627 BLAKE2B cb83d2b14553b0336db098977a29e0417ce8f65ef5088bfa7fbd4ab5ee7cc561e3f3e32504604a402be395d8c46b0948379e9350dff37b225eba3298f2549cfd SHA512 f30f78ad8683d8b8ccd6a1c383772eddf6719fd47b4be693a72e9ae2c6d567fbf683e87aecc24dcd4c1fd89697366e510cfd93e6599d859554b687e6f6cfb416
DIST plotly-5.2.2.tar.gz 7293292 BLAKE2B baef3accf8f5a3085908fcea558f8003687e18a1f97471c620c378c10d23d4222ef87dc47d64f45199b594414890db5b8ca5e3d7867c871d926c2ae441128c4a SHA512 4d6d79f7cc2063e73e7c17ff90a7d13324497ea8034d8ce62d79ec62b0530a59b2eaec8913fb05efb804cf5be8387b6f96d1710f41b9993233b5a13cf64dd310
DIST plotly-5.8.2.tar.gz 7574127 BLAKE2B 1a9d05009148a65b2f4206165a3e02ea7e130663e9658af64bddc0df6f1b720ca29e1cf30150634403b4bdda96156899f0e2e2d12b81cfd04a4bc9812057a79d SHA512 f262cbe20fa51861a319911e04446d4aa564b878dc1aa8e750a5d03af9747ec439fda941ab63d20ecb5374417174a2bd1c4f5549af5ba0f57f135d10ae0877a0
diff --git a/dev-python/plotly/plotly-5.10.0.ebuild b/dev-python/plotly/plotly-5.10.0.ebuild
new file mode 100644
index 000000000000..4904b6d1b32b
--- /dev/null
+++ b/dev-python/plotly/plotly-5.10.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="Browser-based graphing library for Python"
+HOMEPAGE="https://plotly.com/python/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# TODO: package plotly-orca and kaleido
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/backports-tempfile[${PYTHON_USEDEP}]
+ ' 3.8)
+ dev-python/inflect[${PYTHON_USEDEP}]
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/jupyter[${PYTHON_USEDEP}]
+ dev-python/jupyterlab[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/shapely[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ sci-libs/pyshp[${PYTHON_USEDEP}]
+ sci-libs/scikit-image[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
+)
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ mkdir -p "${ED}"/etc/ || die
+ mv "${ED}"/usr/etc/jupyter "${ED}"/etc/ || die
+ rmdir "${ED}"/usr/etc || die
+}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index c2df15184cf6..9b9cba2130e4 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -1 +1,2 @@
DIST pydantic-1.9.1.tar.gz 306846 BLAKE2B c22e892f403b6ca5eff7f888c68f9df5c198fa03c8dab833edc556b3b1a4819fc28c9818a649bf5d9c4bb745b0bde826e164eda7760cd26f88e278c86776ad84 SHA512 19d2a50ef054b76cc7e8756759f3d67a14a58614dd6ff1b4f60e73354b0028e08743aa3bb5944da7ae357ab279134d3685c454d6affa6524b267c7cd9a40375e
+DIST pydantic-1.9.2.tar.gz 307957 BLAKE2B ee3b188dcf058fc81b5f8491a5e757114a3b39db4d9aee3265051559f6ac25cff01bfb3b0536d0f0425534bd9a5a6444b6e6f2ef84b91a6c11085e15ac25265a SHA512 524595aea9401e82d2e985fdb5aa9b4a8b39edfed856d08e057695c786d65c3455991e4f57ce326902ff9cbed328bcb5e6f4133bda769fecea5affb68f3b4345
diff --git a/dev-python/pydantic/pydantic-1.9.2.ebuild b/dev-python/pydantic/pydantic-1.9.2.ebuild
new file mode 100644
index 000000000000..8b08b7237837
--- /dev/null
+++ b/dev-python/pydantic/pydantic-1.9.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="https://github.com/samuelcolvin/pydantic"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/python-email-validator-1.2.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/CFLAGS/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ # do not build extensions on PyPy to workaround
+ # https://github.com/cython/cython/issues/4763
+ local -x SKIP_CYTHON=1
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock
+
+ local EPYTEST_DESELECT=(
+ # flaky test, known upstream
+ tests/test_hypothesis_plugin.py::test_can_construct_models_with_all_fields
+ )
+ case ${EPYTHON} in
+ python3.8)
+ EPYTEST_DESELECT+=(
+ # Those fail on python 3.8 as None changed typing semantic on >=3.9
+ "tests/test_types.py::test_none[value_type3]"
+ tests/test_typing.py::test_is_none_type
+ )
+ ;;
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_dataclasses.py::test_self_reference_dataclass
+ tests/test_private_attributes.py::test_private_attribute
+ tests/test_private_attributes.py::test_private_attribute_annotation
+ tests/test_private_attributes.py::test_private_attribute_factory
+ tests/test_private_attributes.py::test_private_attribute_multiple_inheritance
+ tests/test_private_attributes.py::test_underscore_attrs_are_private
+ )
+ ;;
+ esac
+ rm -rf pydantic || die
+ epytest
+}
diff --git a/dev-python/pypy3-exe-bin/Manifest b/dev-python/pypy3-exe-bin/Manifest
index f243a8b799a5..6f91d713ca30 100644
--- a/dev-python/pypy3-exe-bin/Manifest
+++ b/dev-python/pypy3-exe-bin/Manifest
@@ -1,4 +1,2 @@
-DIST pypy3-exe-7.3.9-1.amd64.xpak 12455132 BLAKE2B 09ad89ca1d7ba84ff1b5c0d925c02617567d8d6c659774e980dc9e56fd1bd5eef9b612631d64ace8218bdd2c5723cad174d49ac3c5ef442d244f2ba21ebb6d0d SHA512 078f57a0027680ff061f137a47fa5349254a086e1c28eb81fd9d89079bd3894902b532cde39c5214b0a686fd1a1dba2589f1fb0f9c5e6ff43cc7f4db97b3c181
-DIST pypy3-exe-7.3.9-1.x86.xpak 9239282 BLAKE2B d44b9f3410a94ad41c1f49abe641460464ae6266478e7c38a994ded97fd70f50a041977fc72fe11a1c7fcfc9aeae4782564c2cbaaf8477a0eef60e443ec837e1 SHA512 1a073254e0c6bef089169a138a84ff6efe377374b9f263f58f856bba937f8e6249d835e3bdc9a68792e7178105e03a67dee3a3e5307089b6ed3b846ae8ee73ed
DIST pypy3-exe-7.3.9_p3-1.amd64.xpak 12394274 BLAKE2B 8f7a041839fdd1dd55fd0293660369310aaa1f118e34a730e066899c09ced71fa37d70d59952fb68d932f63e907b903c41c91b5ba4d646637fcfe628a20861b2 SHA512 166722fec0288b8c69645e0c8e630aa4c0b74f8d41817148147556ce6f0491e7251cbc202b62f7a1dec6b1da3e2f2c6313f02952b11220f35be2c1ad6276f89a
DIST pypy3-exe-7.3.9_p3-1.x86.xpak 9210827 BLAKE2B a740ef7e1d4559308c129399cda498b7c0fe8e654e4d36830ded5197a7788168dbc8b4f83908a41869cd51343dd9b371ba53de8e88655b2728b8f6351f502ef2 SHA512 bd2ef07e980bd37b7ecfb052a9304a80ee527c61f8a60344e8e9b1bfcdf1f50038e7b281257194c388e0452aa968f984f5b6bc7d9f7c89bf08279e9a169ed8e6
diff --git a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9.ebuild b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9.ebuild
deleted file mode 100644
index b38d40a013d1..000000000000
--- a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit pax-utils
-
-MY_P=pypy3-exe-${PV}-1
-DESCRIPTION="PyPy3 executable (pre-built version)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3-exe/${MY_P}.xpak
- -> ${MY_P}.amd64.xpak
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3-exe/${MY_P}.xpak
- -> ${MY_P}.x86.xpak
- )
-"
-S="${WORKDIR}"
-
-LICENSE="MIT"
-SLOT="3.9-${PV%_p*}"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=sys-libs/zlib-1.1.3:0/1
- || (
- dev-libs/libffi-compat:7
- dev-libs/libffi:0/7
- )
- virtual/libintl:0/0
- dev-libs/expat:0/0
- app-arch/bzip2:0/1
- sys-libs/ncurses:0/6
- !dev-python/pypy3-exe:${SLOT}
-"
-
-PYPY_PV=${PV%_p*}
-QA_PREBUILT="
- usr/bin/pypy3.9-c-${PYPY_PV}
-"
-
-src_unpack() {
- ebegin "Unpacking ${MY_P}.${ARCH}.xpak"
- tar -x < <(xz -c -d --single-stream "${DISTDIR}/${MY_P}.${ARCH}.xpak")
- eend ${?} || die "Unpacking ${MY_P} failed"
-}
-
-src_install() {
- insinto /
- doins -r usr
- fperms +x "/usr/bin/pypy3.9-c-${PYPY_PV}"
- pax-mark m "${ED}/usr/bin/pypy3.9-c-${PYPY_PV}"
-}
diff --git a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9_p3.ebuild b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9_p3.ebuild
index 0648b4f51293..b38d40a013d1 100644
--- a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9_p3.ebuild
+++ b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9_p3.ebuild
@@ -22,7 +22,7 @@ S="${WORKDIR}"
LICENSE="MIT"
SLOT="3.9-${PV%_p*}"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RDEPEND="
>=sys-libs/zlib-1.1.3:0/1
diff --git a/dev-python/pyside2-tools/Manifest b/dev-python/pyside2-tools/Manifest
index d9abb71faf82..6db4c67e3817 100644
--- a/dev-python/pyside2-tools/Manifest
+++ b/dev-python/pyside2-tools/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-opensource-src-5.15.2.tar.xz 3472624 BLAKE2B 099abeaf25059a88f299f90b18cf79aa45acd86580c0873767b09f76268d6746cc3576743a19493a605de59b520471ddee6bba0e5340801ef44a21f2a9d41507 SHA512 5043c1c9db4ba0133baaabb4d4943182e9741b1007bedd992394758707a37bba0688dc6413ea46620e7c2fb09daa3c74e6a7bb2c302b9d08e5f3bb7575d02b62
+DIST pyside-setup-opensource-src-5.15.5.tar.xz 3577972 BLAKE2B ee16ce18ec4103add41ad89b658012cb2e8695bda51269d3cd1614c2b6d029c0eaba5e592d5e58b6267e1ddc020a938d3ccd2fbc9461cc5bf202f3bdbf6b5d62 SHA512 61b987ec823e9a89f2a07a1991d47f36eb45e3ce416aa6e0032a58ba3d623ac26224cb0f43a2db76850bce7290d12fae610de06405350362caac7860ba99f0c3
diff --git a/dev-python/pyside2-tools/pyside2-tools-5.15.5.ebuild b/dev-python/pyside2-tools/pyside2-tools-5.15.5.ebuild
new file mode 100644
index 000000000000..73282d1dec46
--- /dev/null
+++ b/dev-python/pyside2-tools/pyside2-tools-5.15.5.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+CMAKE_IN_SOURCE_BUILD=1
+
+inherit cmake python-r1
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="PySide development tools (pyside2-lupdate with support for Python)"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-python/pyside2-${PV}[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+
+# the tools conflict with tools from QT
+PATCHES=(
+ "${FILESDIR}/${PN}-5.15.1-dont-install-tools.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ python_copy_sources
+}
+
+src_configure() {
+ # The tests are only related to the tools that we don't install
+ local mycmakeargs=(
+ -DBUILD_TESTS=OFF
+ )
+
+ pyside-tools_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ )
+ CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_configure
+ }
+
+ python_foreach_impl pyside-tools_configure
+}
+
+src_compile() {
+ pyside-tools_compile() {
+ CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_compile
+ }
+
+ python_foreach_impl pyside-tools_compile
+}
+
+src_install() {
+ pyside-tools_install() {
+ python_doexe "${BUILD_DIR}/pylupdate/pyside2-lupdate"
+ }
+
+ python_foreach_impl pyside-tools_install
+
+ doman pylupdate/pyside2-lupdate.1
+ einstalldocs
+}
diff --git a/dev-python/pyside2/Manifest b/dev-python/pyside2/Manifest
index d9abb71faf82..6db4c67e3817 100644
--- a/dev-python/pyside2/Manifest
+++ b/dev-python/pyside2/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-opensource-src-5.15.2.tar.xz 3472624 BLAKE2B 099abeaf25059a88f299f90b18cf79aa45acd86580c0873767b09f76268d6746cc3576743a19493a605de59b520471ddee6bba0e5340801ef44a21f2a9d41507 SHA512 5043c1c9db4ba0133baaabb4d4943182e9741b1007bedd992394758707a37bba0688dc6413ea46620e7c2fb09daa3c74e6a7bb2c302b9d08e5f3bb7575d02b62
+DIST pyside-setup-opensource-src-5.15.5.tar.xz 3577972 BLAKE2B ee16ce18ec4103add41ad89b658012cb2e8695bda51269d3cd1614c2b6d029c0eaba5e592d5e58b6267e1ddc020a938d3ccd2fbc9461cc5bf202f3bdbf6b5d62 SHA512 61b987ec823e9a89f2a07a1991d47f36eb45e3ce416aa6e0032a58ba3d623ac26224cb0f43a2db76850bce7290d12fae610de06405350362caac7860ba99f0c3
diff --git a/dev-python/pyside2/pyside2-5.15.5.ebuild b/dev-python/pyside2/pyside2-5.15.5.ebuild
new file mode 100644
index 000000000000..8b8a3d4f8155
--- /dev/null
+++ b/dev-python/pyside2/pyside2-5.15.5.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit cmake python-r1 virtualx
+
+# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects"
+# USE flag after an external "dev-qt/qtremoteobjects" package has been created.
+# TODO: Add conditional support for apidoc generation via a new "doc" USE flag.
+# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once
+# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support.
+# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note
+# that the "PySide2/QtGui/CMakeLists.txt" and
+# "PySide2/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by
+# testing whether the "Qt5::Gui" list property defined by
+# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation
+# time contains the substring "opengles2". Since cmake does not permit
+# properties to be overridden from the command line, these files must instead
+# be conditionally patched to avoid these tests. An issue should be filed with
+# upstream requesting a CLI-settable variable to control this.
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/pyside2"
+
+# See "sources/pyside2/PySide2/licensecomment.txt" for licensing details.
+# Shall we allow essential modules to be disabled? They are:
+# (core), gui, widgets, printsupport, sql, network, testlib, concurrent,
+# x11extras (for X)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="
+ 3d charts +concurrent datavis designer gles2-only +gui help location
+ multimedia +network positioning +printsupport qml quick script scripttools
+ scxml sensors speech +sql svg test +testlib webchannel webengine websockets
+ +widgets +x11extras xml xmlpatterns
+"
+
+# Manually reextract these requirements on version bumps by running the
+# following one-liner from within "${S}":
+# $ grep 'set.*_deps' PySide2/Qt*/CMakeLists.txt
+# Note that the "designer" USE flag corresponds to the "Qt5UiTools" module.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ 3d? ( gui network )
+ charts? ( gui widgets )
+ datavis? ( gui )
+ designer? ( widgets xml )
+ gles2-only? ( gui )
+ help? ( widgets )
+ location? ( positioning )
+ multimedia? ( gui network widgets )
+ printsupport? ( widgets )
+ qml? ( gui network )
+ quick? ( gui network qml widgets )
+ scripttools? ( gui script widgets )
+ speech? ( multimedia )
+ sql? ( widgets )
+ svg? ( widgets )
+ testlib? ( widgets )
+ webengine? (
+ network
+ widgets? ( gui printsupport webchannel )
+ )
+ websockets? ( network )
+ widgets? ( gui )
+ x11extras? ( gui )
+"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-2):5"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-python/shiboken2-${PV}[${PYTHON_USEDEP}]
+ dev-qt/qtcore:5
+ dev-qt/qtopengl:5[gles2-only=]
+ dev-qt/qtserialport:5
+ 3d? ( >=dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
+ charts? ( >=dev-qt/qtcharts-${QT_PV}[qml?] )
+ concurrent? ( >=dev-qt/qtconcurrent-${QT_PV} )
+ datavis? ( >=dev-qt/qtdatavis3d-${QT_PV}[qml?,gles2-only=] )
+ designer? ( >=dev-qt/designer-${QT_PV} )
+ gui? ( >=dev-qt/qtgui-${QT_PV}[jpeg,gles2-only=] )
+ help? ( >=dev-qt/qthelp-${QT_PV} )
+ location? ( >=dev-qt/qtlocation-${QT_PV} )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV}[qml?,gles2-only=,widgets?] )
+ network? ( >=dev-qt/qtnetwork-${QT_PV} )
+ positioning? ( >=dev-qt/qtpositioning-${QT_PV}[qml?] )
+ printsupport? ( >=dev-qt/qtprintsupport-${QT_PV}[gles2-only=] )
+ qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick? (
+ >=dev-qt/qtdeclarative-${QT_PV}[widgets?]
+ >=dev-qt/qtquickcontrols2-${QT_PV}[widgets?]
+ )
+ script? ( >=dev-qt/qtscript-${QT_PV}[scripttools?] )
+ scxml? ( >=dev-qt/qtscxml-${QT_PV} )
+ sensors? ( >=dev-qt/qtsensors-${QT_PV}[qml?] )
+ speech? ( >=dev-qt/qtspeech-${QT_PV} )
+ sql? ( >=dev-qt/qtsql-${QT_PV} )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ testlib? ( >=dev-qt/qttest-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV}[qml] )
+ webengine? ( >=dev-qt/qtwebengine-${QT_PV}[widgets?] )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV}[qml?] )
+ widgets? ( >=dev-qt/qtwidgets-${QT_PV}[gles2-only=] )
+ x11extras? ( >=dev-qt/qtx11extras-${QT_PV} )
+ xml? ( >=dev-qt/qtxml-${QT_PV} )
+ xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV}[qml?] )
+"
+DEPEND="${RDEPEND}
+ test? ( x11-misc/xvfb-run )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.15.2-python310.patch"
+ "${FILESDIR}/${PN}-5.15.2-python311.patch"
+ "${FILESDIR}"/${PN}-5.15.2-python311-fixups.patch
+)
+
+src_configure() {
+ # See COLLECT_MODULE_IF_FOUND macros in CMakeLists.txt
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DAnimation=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DCore=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DExtras=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DInput=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DLogic=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DRender=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Charts=$(usex !charts)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Concurrent=$(usex !concurrent)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DataVisualization=$(usex !datavis)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Designer=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Gui=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Help=$(usex !help)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Location=$(usex !location)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=$(usex !multimedia)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Network=$(usex !network)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Positioning=$(usex !positioning)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5PrintSupport=$(usex !printsupport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Qml=$(usex !qml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Quick=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickControls2=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickWidgets=$(usex !quick yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Script=$(usex !script)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5ScriptTools=$(usex !scripttools)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Scxml=$(usex !scxml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sensors=$(usex !sensors)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5TextToSpeech=$(usex !speech)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sql=$(usex !sql)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Svg=$(usex !svg)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=$(usex !testlib)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5UiTools=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebChannel=$(usex !webchannel)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngine=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineCore=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebSockets=$(usex !websockets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=$(usex !widgets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5X11Extras=$(usex !x11extras)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Xml=$(usex !xml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5XmlPatterns=$(usex !xmlpatterns)
+ )
+
+ pyside2_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
+ -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}"
+ )
+ cmake_src_configure
+ }
+ python_foreach_impl pyside2_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ local -x PYTHONDONTWRITEBYTECODE
+ python_foreach_impl virtx cmake_src_test
+}
+
+src_install() {
+ pyside2_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the shiboken2 pkgconfig dependency in the PySide2 pkgconfig
+ # file for the current Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ sed -i -e 's~^Requires: shiboken2$~&-'${EPYTHON}'~' \
+ "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
+
+ # Uniquify the PySide2 pkgconfig file for the current Python target,
+ # preserving an unversioned "pyside2.pc" file arbitrarily associated
+ # with the last Python target. (See the previously linked issue.)
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl pyside2_install
+
+ # CMakeLists.txt installs a "PySide2Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., pyside2-tools) to target one
+ # "libpyside2-*.so" library linked to one Python interpreter. See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i -e 's~pyside2-python[[:digit:]]\+\.[[:digit:]]\+~pyside2${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)/cmake/PySide2-${PV}/PySide2Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
+}
diff --git a/dev-python/python-ldap/python-ldap-3.4.2.ebuild b/dev-python/python-ldap/python-ldap-3.4.2.ebuild
index 351164bf5cc8..91929c4d19a7 100644
--- a/dev-python/python-ldap/python-ldap-3.4.2.ebuild
+++ b/dev-python/python-ldap/python-ldap-3.4.2.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${PN}-${P}
LICENSE="MIT PSF-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv sparc ~x86 ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv sparc x86 ~x86-solaris"
IUSE="examples sasl ssl"
RDEPEND="
diff --git a/dev-python/pytz/Manifest b/dev-python/pytz/Manifest
index a693901d112f..21b9d82fa36e 100644
--- a/dev-python/pytz/Manifest
+++ b/dev-python/pytz/Manifest
@@ -1 +1,2 @@
DIST pytz-2022.1.tar.gz 320473 BLAKE2B 9a745629a9e4547f8c8765353e58baa6d63e3e6b357e9ca88f69928fb9350cebb6bb3371eee419b4b92b29e6253f8c24af8c781f10d72211d78cb699043496fe SHA512 7737aa28626743026b7de932b27bf44d7b209f495d9dd7f90c6448ec271e007f23004fcd04982e2ca6d0a4075206e1dae7b8836319c299b5559c514366d518a6
+DIST pytz-2022.2.tar.gz 322487 BLAKE2B 37aa920a571b751e7fe55140561f9d895273c63c5ec4f0ce32e12a9966c903de590d1bbeb8c3d29eeb6ffa46ecf68584128aefc4349c3fde2af923f275c1c01c SHA512 7a908801585f95dc7e19756b454b38ca991e3c280ab4d946152ff0ecfb5ac89e266b21c5a165797ec64c9aaaaadf729f935d7eebd3f918df3143bd68b23876cf
diff --git a/dev-python/pytz/pytz-2022.2.ebuild b/dev-python/pytz/pytz-2022.2.ebuild
new file mode 100644
index 000000000000..5fa83c8658f4
--- /dev/null
+++ b/dev-python/pytz/pytz-2022.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="World timezone definitions for Python"
+HOMEPAGE="
+ https://pythonhosted.org/pytz/
+ https://pypi.org/project/pytz/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+DEPEND="
+ || (
+ >=sys-libs/timezone-data-2017a
+ sys-libs/glibc[vanilla]
+ )
+"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ "${EPYTHON}" pytz/tests/test_tzinfo.py -v ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyzmq/Manifest b/dev-python/pyzmq/Manifest
index 547e06951f36..0550136580d2 100644
--- a/dev-python/pyzmq/Manifest
+++ b/dev-python/pyzmq/Manifest
@@ -1 +1,2 @@
DIST pyzmq-23.2.0.gh.tar.gz 402085 BLAKE2B 4ab26af04c76205d0770163e248e28a22aa8f710a66c9dc96e18c772338c434ad06227d57edd5aa3476fad68fa7320e9216a102b2cb19649393f1e9ef5d9599c SHA512 348482f4b6fd4ebeae8e4720a7005ed35eccee2bf26b0128115b756ee560156b34e6f043c96b71a84d47b1313bd2d8e0ed0f74c7768e23cbf65bd906036800c5
+DIST pyzmq-23.2.1.gh.tar.gz 402170 BLAKE2B 4cedd065cecbabc0e18928423e853a38953cd1f360fc326573c60bf69ffefadf3bed556d9d71eedf824e646ae23640d14b6aa8938c397c367be32cc36d300e38 SHA512 4ba236b87db062b245a04530de5b1e8385491107ae8de465f6f664c75ab8a929d57491eb3f8dddf31ff1db7b1eee89a6892a9a844bc285096cc9960704b36c9c
diff --git a/dev-python/pyzmq/pyzmq-23.2.1.ebuild b/dev-python/pyzmq/pyzmq-23.2.1.ebuild
new file mode 100644
index 000000000000..50ba06f7ed44
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-23.2.1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+# TODO: Find out exactly where this error comes from
+# error: '<' not supported between instances of 'str' and 'int'
+#DISTUTILS_USE_PEP517=setuptools
+PYTHON_REQ_USE="threads(+)"
+
+inherit flag-o-matic distutils-r1 toolchain-funcs
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="
+ https://zeromq.org/languages/python/
+ https://pypi.org/project/pyzmq/
+ https://github.com/zeromq/pyzmq/"
+SRC_URI="
+ https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+draft"
+
+DEPEND="
+ >=net-libs/zeromq-4.2.2-r2:=[drafts]
+"
+# it uses cffi backend for pypy, cython backend for cpython
+RDEPEND="${DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+ ' pypy3)
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=www-servers/tornado-5.0.2[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-23.2.0-libdir.patch
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ "dev-python/numpydoc"
+
+python_configure_all() {
+ tc-export CC
+ append-cppflags -DZMQ_BUILD_DRAFT_API=$(usex draft '1' '0')
+}
+
+python_compile() {
+ esetup.py cython --force
+ ZMQ_PREFIX="${EPREFIX}/usr" distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ zmq/tests/test_constants.py::TestConstants::test_draft
+ zmq/tests/test_cython.py::test_cython
+
+ # hangs often
+ zmq/tests/test_log.py::TestPubLog::test_blank_root_topic
+ )
+ local EPYTEST_IGNORE=(
+ zmq/tests/test_mypy.py
+ )
+
+ cd "${BUILD_DIR}/lib" || die
+ epytest -p no:flaky
+}
diff --git a/dev-python/regex/regex-2022.7.9.ebuild b/dev-python/regex/regex-2022.7.9.ebuild
index 96214ef6d67e..55ff5186be12 100644
--- a/dev-python/regex/regex-2022.7.9.ebuild
+++ b/dev-python/regex/regex-2022.7.9.ebuild
@@ -17,7 +17,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="doc"
PATCHES=(
diff --git a/dev-python/semver/semver-2.13.0.ebuild b/dev-python/semver/semver-2.13.0.ebuild
index 97c5e69be22a..6379e5bdd01b 100644
--- a/dev-python/semver/semver-2.13.0.ebuild
+++ b/dev-python/semver/semver-2.13.0.ebuild
@@ -13,7 +13,7 @@ S="${WORKDIR}/python-${P}"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest
index 85cadc665780..edf21c530efc 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -5,3 +5,4 @@ DIST sentry-sdk-1.9.0.gh.tar.gz 290271 BLAKE2B fcb4c45c129faf23a1177167e2bdd567a
DIST sentry-sdk-1.9.1.gh.tar.gz 270398 BLAKE2B 66ee16816d312b38df737c5ecb0ecc4a2189c932c162bbedf165f2a153029e95c389372a4638d5f71f669ac780710769e4708c3e7673573d1b1e79a29cbf93c9 SHA512 5997252aeee900125e42d7275627359ca5382707162b93e45b238c11a181ac724fea327fa1b29deed63dbf800463d10c9d2a8e8943c32b907e4eac055e399297
DIST sentry-sdk-1.9.2.gh.tar.gz 270400 BLAKE2B 690e62c1b4f64677442ac46b15973173d96d587b71786f5c2e0a9e8d15aec7978b86b247a52ff15b6d0dc9665f8eafa4b1ad458d3aa3fca3447e7c9946503c69 SHA512 189916cf8b931df73eaa252bbc2f3beb53bf56529d50ebe79affd04e9684ffa89e1f66ec651b7dca6fbd5de641333ddd6f65512978ee06c2abb73617bd6f3ea2
DIST sentry-sdk-1.9.3.gh.tar.gz 270453 BLAKE2B e971c89ccdbe3831e49cf48db4673c54f4110878e45e92bf5f8142a876b8382fc714e9e3fc124c36495c8cda24efabad9486fc0cdb939a034c931a718e21c501 SHA512 4a31507635cbe3932ecb548273f32cfd6098d5ed4eed2771a37b79f98a4c97f12d50b89f63f357424355d5657bc2bdb3e49f0984db4e9c9ee7ee31b984d0367e
+DIST sentry-sdk-1.9.4.gh.tar.gz 271140 BLAKE2B 07ba10c72ec61c1bd6a54899712b5880ddf4c4f67ae9f127184d0251e93ae0a7374441ba77eb54c871684152613db55a582ca98f787884ef834f658d743abccd SHA512 2b0089b29da002e6236b93033f36bc0a6ba08d4643021f6bc2e30807a84867030dad088e1ff6b917f5b9dbc2da06305c3e58cdd9f9c10009df5063640cb8796a
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.9.4.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.9.4.ebuild
new file mode 100644
index 000000000000..aa4b4106f18f
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.9.4.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/sentry-python-${PV}"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/gevent[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/eventlet[${PYTHON_USEDEP}]
+ ' python3_{8..9})
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/stdlib/test_httplib.py
+ tests/integrations/flask/test_flask.py
+ tests/integrations/django/test_basic.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # broken by rq-1.10.1 (optional dep)
+ tests/integrations/rq/test_rq.py
+ # fastapi is not packaged
+ tests/integrations/asgi/test_fastapi.py
+ # TODO
+ tests/integrations/bottle
+ # requires python-multipart (TODO: package it)
+ tests/integrations/starlette
+)
+
+EPYTEST_DESELECT=(
+ # hangs
+ 'tests/test_transport.py::test_transport_works'
+ # TODO
+ 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/asgi/test_asgi.py::test_websocket
+ tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
+ tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
+ # incompatible version?
+ tests/integrations/falcon/test_falcon.py
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_too_large_event_truncated
+ # test_circular_references: apparently fragile
+ 'tests/integrations/threading/test_threading.py::test_circular_references'
+ # test for new feature, fails with IndexError
+ tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
+ # TODO
+ tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
+)
diff --git a/dev-python/setproctitle/Manifest b/dev-python/setproctitle/Manifest
index aec1460cc2d6..3fac761bb0e8 100644
--- a/dev-python/setproctitle/Manifest
+++ b/dev-python/setproctitle/Manifest
@@ -1,3 +1,4 @@
DIST setproctitle-1.2.3.tar.gz 23618 BLAKE2B 58bafb30a9b0da9cd552c7ed1ccd197a2ee7a3c70ae02773e6a857e4f16069126d2507f30206c83a24d84d030a1fc9306d024f4e5b988f73d95df049fa9c055f SHA512 ae94e3f5e1dd10e80488f81250e979a6a15c7c3ae399bf557612b9b1edbdcb8aec4e68a7f44ff7375a399ab53d6319dfb5c5c4a1e3a0bb824c40f6921c9d9c6b
DIST setproctitle-1.3.0.tar.gz 26778 BLAKE2B 620df2c342fd76ff762135eed88b4d6d921c1c85c7865e3921c95e968de07b10cccf86e2d62297fdfb91aa5b44e9e9fb7c496aa2fdbbe039eecda668b079328e SHA512 41f0557b73ed41323c8d71d87d143ccd78f980c01027e76c7e6ff4cf375cb8cda55f01a5c4a3cd12fea3459070382b84fd1346995696df7a3e1cc03ff8e71b4e
DIST setproctitle-1.3.1.tar.gz 27010 BLAKE2B c29f2acc1c02a375227b4f249340d979a4922d1ebf8e6f17f2e5a202ad2e41affe9d0ff8aed0345ebb534a00868896036e15a985c6d21ebbbb341afaa951ae8d SHA512 c21d87555cc258a779dbc5574ef0c58b4fdcd0cc28410a931f05974d9714f2bd9a57fbec4fa1cf16aef21ea50cd900a52eb85974c399b451bc357671d1490dc4
+DIST setproctitle-1.3.2.tar.gz 27173 BLAKE2B 252ca0a4f71e1413e2474d6c4e9cebacb1642f8c7883709d03341ce1468441509dc54eb9d4191f2aefb65c9e76e130f76a51303a272bd34a6db781d3b2a86e92 SHA512 9c6d1748685e8b62f9542f73481a587dbe7b6ca157fdcecdd8d2f66bbb71169bf31e47da51867aa0ec9b620c39677ab9a936a7537769714bdc99ef0355c743e0
diff --git a/dev-python/setproctitle/setproctitle-1.3.2.ebuild b/dev-python/setproctitle/setproctitle-1.3.2.ebuild
new file mode 100644
index 000000000000..7821486621be
--- /dev/null
+++ b/dev-python/setproctitle/setproctitle-1.3.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Allow customization of the process title"
+HOMEPAGE="
+ https://github.com/dvarrazzo/py-setproctitle/
+ https://pypi.org/project/setproctitle/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+distutils_enable_tests pytest
diff --git a/dev-python/setuptools-rust/setuptools-rust-1.4.1.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.4.1.ebuild
index 8fb51e8a5906..b1b729c50a20 100644
--- a/dev-python/setuptools-rust/setuptools-rust-1.4.1.ebuild
+++ b/dev-python/setuptools-rust/setuptools-rust-1.4.1.ebuild
@@ -97,7 +97,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc ~x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/shiboken2/Manifest b/dev-python/shiboken2/Manifest
index d9abb71faf82..6db4c67e3817 100644
--- a/dev-python/shiboken2/Manifest
+++ b/dev-python/shiboken2/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-opensource-src-5.15.2.tar.xz 3472624 BLAKE2B 099abeaf25059a88f299f90b18cf79aa45acd86580c0873767b09f76268d6746cc3576743a19493a605de59b520471ddee6bba0e5340801ef44a21f2a9d41507 SHA512 5043c1c9db4ba0133baaabb4d4943182e9741b1007bedd992394758707a37bba0688dc6413ea46620e7c2fb09daa3c74e6a7bb2c302b9d08e5f3bb7575d02b62
+DIST pyside-setup-opensource-src-5.15.5.tar.xz 3577972 BLAKE2B ee16ce18ec4103add41ad89b658012cb2e8695bda51269d3cd1614c2b6d029c0eaba5e592d5e58b6267e1ddc020a938d3ccd2fbc9461cc5bf202f3bdbf6b5d62 SHA512 61b987ec823e9a89f2a07a1991d47f36eb45e3ce416aa6e0032a58ba3d623ac26224cb0f43a2db76850bce7290d12fae610de06405350362caac7860ba99f0c3
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.5-add-numpy-1.23-compatibility.patch b/dev-python/shiboken2/files/shiboken2-5.15.5-add-numpy-1.23-compatibility.patch
new file mode 100644
index 000000000000..7ce30bb2e67d
--- /dev/null
+++ b/dev-python/shiboken2/files/shiboken2-5.15.5-add-numpy-1.23-compatibility.patch
@@ -0,0 +1,31 @@
+https://raw.githubusercontent.com/FreeCAD/homebrew-freecad/master/patches/libshiboken-numpy-1.23.compat.patch
+
+From c238f558bb72860c15da00546a7b7924d0b90848 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Thu, 21 Jul 2022 06:37:26 +0200
+Subject: [PATCH] add numpy-1.23 compatibility
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ libshiboken/sbknumpyarrayconverter.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/libshiboken/sbknumpyarrayconverter.cpp
++++ b/libshiboken/sbknumpyarrayconverter.cpp
+@@ -116,8 +116,13 @@ std::ostream &operator<<(std::ostream &str, PyArrayObject *o)
+ str << " NPY_ARRAY_NOTSWAPPED";
+ if ((flags & NPY_ARRAY_WRITEABLE) != 0)
+ str << " NPY_ARRAY_WRITEABLE";
++#if NPY_VERSION >= 0x00000010 // NPY_1_23_API_VERSION
++ if ((flags & NPY_ARRAY_WRITEBACKIFCOPY) != 0)
++ str << " NPY_ARRAY_WRITEBACKIFCOPY";
++#else
+ if ((flags & NPY_ARRAY_UPDATEIFCOPY) != 0)
+ str << " NPY_ARRAY_UPDATEIFCOPY";
++#endif
+ } else {
+ str << '0';
+ }
+--
+2.35.1
+
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch b/dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch
new file mode 100644
index 000000000000..771ce2ad1886
--- /dev/null
+++ b/dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch
@@ -0,0 +1,72 @@
+From c87d4e27cd482918c1d091c09cfac749a56b0f99 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Wed, 20 Jul 2022 07:15:57 +0200
+Subject: [PATCH 1/3]
+ https://src.fedoraproject.org/fork/pviktori/rpms/python-pyside2/raw/5da9902bd8732b49eb722d71f306d4ab197c84b8/f/python3.11.patch
+ https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=52df3b8f64
+ https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=73adefe22f
+ https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=a09a1db839
+
+From b64ad27d8dfeeecaaa8a98051252a32c9d998df4 Mon Sep 17 00:00:00 2001
+From: Friedemann Kleint <Friedemann.Kleint@qt.io>
+Date: Thu, 9 Jun 2022 16:50:41 +0200
+Subject: [PATCH] libshiboken: Fix a crash in Shiboken::Object::isValid() for
+ Python 3.11
+
+The function is passed type objects for class methods, which caused
+it to crash.
+
+The first clause did not catch this, and so it was cast to SbkObject
+below.
+
+Add a type check to prevent this.
+
+Pick-to: 6.3 6.2 5.15
+Task-number: PYSIDE-1960
+Change-Id: Icfdd6fefb7156ac5961444bd5395109849a1d66e
+Reviewed-by: Christian Tismer <tismer@stackless.com>
+Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
+
+Original patch no longer applies with 5.15.5.
+Manually re-applied to respect code changes.
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/libshiboken/basewrapper.cpp
++++ b/libshiboken/basewrapper.cpp
+@@ -377,7 +377,7 @@ SbkObjectType *SbkObject_TypeF(void)
+ static PyTypeObject *type = nullptr;
+ if (!type) {
+ type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&SbkObject_Type_spec));
+- Py_TYPE(type) = SbkObjectType_TypeF();
++ Py_SET_TYPE(type, SbkObjectType_TypeF());
+ Py_INCREF(Py_TYPE(type));
+ type->tp_weaklistoffset = offsetof(SbkObject, weakreflist);
+ type->tp_dictoffset = offsetof(SbkObject, ob_dict);
+@@ -1152,7 +1152,7 @@ introduceWrapperType(PyObject *enclosingObject,
+ typeSpec->slots[0].pfunc = reinterpret_cast<void *>(baseType ? baseType : SbkObject_TypeF());
+
+ PyObject *heaptype = SbkType_FromSpecWithBases(typeSpec, baseTypes);
+- Py_TYPE(heaptype) = SbkObjectType_TypeF();
++ Py_SET_TYPE(heaptype, SbkObjectType_TypeF());
+ Py_INCREF(Py_TYPE(heaptype));
+ auto *type = reinterpret_cast<SbkObjectType *>(heaptype);
+ #if PY_VERSION_HEX < 0x03000000
+@@ -1517,6 +1517,7 @@ bool setCppPointer(SbkObject *sbkObj, PyTypeObject *desiredType, void *cptr)
+ bool isValid(PyObject *pyObj)
+ {
+ if (!pyObj || pyObj == Py_None
++ || PyType_Check(pyObj) != 0
+ || Py_TYPE(Py_TYPE(pyObj)) != SbkObjectType_TypeF()) {
+ return true;
+ }
+--- a/libshiboken/sbkenum.cpp
++++ b/libshiboken/sbkenum.cpp
+@@ -753,7 +753,7 @@ newTypeWithName(const char *name,
+ PyTuple_SetItem(bases, 0, reinterpret_cast<PyObject *>(basetype));
+ auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpecWithBases(&newspec, bases));
+ PyErr_Print();
+- Py_TYPE(type) = SbkEnumType_TypeF();
++ Py_SET_TYPE(type, SbkEnumType_TypeF());
+
+ auto *enumType = reinterpret_cast<SbkEnumType *>(type);
+ PepType_SETP(enumType)->cppName = cppName;
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.5-python311-2.patch b/dev-python/shiboken2/files/shiboken2-5.15.5-python311-2.patch
new file mode 100644
index 000000000000..54a54630cb0c
--- /dev/null
+++ b/dev-python/shiboken2/files/shiboken2-5.15.5-python311-2.patch
@@ -0,0 +1,65 @@
+From 6fc0af3753839839b227075cc2a9e43c7cd7a26d Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Wed, 20 Jul 2022 07:23:15 +0200
+Subject: [PATCH 2/3] From a09a1db8391243e6bb290ee66bb6e3afbb114c61 Mon Sep 17
+ 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@qt.io> Date: Fri, 24
+ Jun 2022 09:22:01 +0200 Subject: libshiboken: Fix crashes with static strings
+ in Python 3.11
+
+In Python 3.11, some strings come with a refcount above decimal
+1000000000, apparently indicating that they are interned. Replace the
+mechanism by PyUnicode_InternFromString().
+
+Task-number: PYSIDE-1960
+Pick-to: 6.3 6.2 5.15
+Change-Id: I6436afee351f89da5814b5d6bc76970b1b508168
+Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
+Reviewed-by: Christian Tismer <tismer@stackless.com>
+Upstream: https://code.qt.io/cgit/pyside/pyside-setup.git/commit/?id=a09a1db8391243e6bb290ee66bb6e3afbb114c61
+
+Original patch no longer applies.
+Manually adapted to respect code changes.
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/libshiboken/sbkstring.cpp
++++ b/libshiboken/sbkstring.cpp
+@@ -41,8 +41,14 @@
+ #include "sbkstaticstrings_p.h"
+ #include "autodecref.h"
+
+-#include <vector>
+-#include <unordered_set>
++#if PY_VERSION_HEX >= 0x030B0000 || defined(Py_LIMITED_API)
++# define USE_INTERN_STRINGS
++#endif
++
++#ifndef USE_INTERN_STRINGS
++# include <vector>
++# include <unordered_set>
++#endif
+
+ namespace Shiboken
+ {
+@@ -233,6 +239,13 @@ Py_ssize_t len(PyObject *str)
+ // PyObject *attr = PyObject_GetAttr(obj, name());
+ //
+
++#ifdef USE_INTERN_STRINGS
++PyObject *createStaticString(const char *str)
++{
++ return PyUnicode_InternFromString(str);
++}
++#else
++
+ using StaticStrings = std::unordered_set<PyObject *>;
+
+ static void finalizeStaticStrings(); // forward
+@@ -283,6 +296,8 @@ PyObject *createStaticString(const char *str)
+ return result;
+ }
+
++#endif // !USE_INTERN_STRINGS
++
+ ///////////////////////////////////////////////////////////////////////
+ //
+ // PYSIDE-1019: Helper function for snake_case vs. camelCase names
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.5-python311-3.patch b/dev-python/shiboken2/files/shiboken2-5.15.5-python311-3.patch
new file mode 100644
index 000000000000..9c44dc621b45
--- /dev/null
+++ b/dev-python/shiboken2/files/shiboken2-5.15.5-python311-3.patch
@@ -0,0 +1,55 @@
+From f62a1766e5f0cf0e503a76cd755408f2c65dc947 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Wed, 20 Jul 2022 07:29:37 +0200
+Subject: [PATCH 3/3] The Fedora / upstream fixes
+ (shiboken2-5.15.2-python311.patch) end up breaking Python 3.8 compatibility
+ (maybe 3.9 too, but didn't get that far).
+
+Wrap them with PY_VERSION_HEX for Python 3.11.
+
+Original patch no longer applied due to code changes.
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/libshiboken/basewrapper.cpp
++++ b/libshiboken/basewrapper.cpp
+@@ -377,7 +377,11 @@ SbkObjectType *SbkObject_TypeF(void)
+ static PyTypeObject *type = nullptr;
+ if (!type) {
+ type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&SbkObject_Type_spec));
+- Py_SET_TYPE(type, SbkObjectType_TypeF());
++ #if PY_VERSION_HEX < 0x030B00A1
++ Py_TYPE(type) = SbkObjectType_TypeF();
++ #else
++ Py_SET_TYPE(type, SbkObjectType_TypeF());
++ #endif
+ Py_INCREF(Py_TYPE(type));
+ type->tp_weaklistoffset = offsetof(SbkObject, weakreflist);
+ type->tp_dictoffset = offsetof(SbkObject, ob_dict);
+@@ -1152,7 +1156,11 @@ introduceWrapperType(PyObject *enclosingObject,
+ typeSpec->slots[0].pfunc = reinterpret_cast<void *>(baseType ? baseType : SbkObject_TypeF());
+
+ PyObject *heaptype = SbkType_FromSpecWithBases(typeSpec, baseTypes);
+- Py_SET_TYPE(heaptype, SbkObjectType_TypeF());
++ #if PY_VERSION_HEX < 0x030B00A1
++ Py_TYPE(heaptype) = SbkObjectType_TypeF();
++ #else
++ Py_SET_TYPE(heaptype, SbkObjectType_TypeF());
++ #endif
+ Py_INCREF(Py_TYPE(heaptype));
+ auto *type = reinterpret_cast<SbkObjectType *>(heaptype);
+ #if PY_VERSION_HEX < 0x03000000
+--- a/libshiboken/sbkenum.cpp
++++ b/libshiboken/sbkenum.cpp
+@@ -753,7 +753,11 @@ newTypeWithName(const char *name,
+ PyTuple_SetItem(bases, 0, reinterpret_cast<PyObject *>(basetype));
+ auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpecWithBases(&newspec, bases));
+ PyErr_Print();
+- Py_SET_TYPE(type, SbkEnumType_TypeF());
++ #if PY_VERSION_HEX < 0x030B00A1
++ Py_TYPE(type) = SbkEnumType_TypeF();
++ #else
++ Py_SET_TYPE(type, SbkEnumType_TypeF());
++ #endif
+
+ auto *enumType = reinterpret_cast<SbkEnumType *>(type);
+ PepType_SETP(enumType)->cppName = cppName;
diff --git a/dev-python/shiboken2/shiboken2-5.15.5.ebuild b/dev-python/shiboken2/shiboken2-5.15.5.ebuild
new file mode 100644
index 000000000000..84ebfd4353d3
--- /dev/null
+++ b/dev-python/shiboken2/shiboken2-5.15.5.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Split the "/usr/bin/shiboken2" binding generator from the
+# "/usr/lib64/libshiboken2-*.so" family of shared libraries. The former
+# requires everything (including Clang) at runtime; the latter only requires
+# Qt and Python at runtime. Note that "pip" separates these two as well. See:
+# https://doc.qt.io/qtforpython/shiboken2/faq.html#is-there-any-runtime-dependency-on-the-generated-binding
+# Once split, the PySide2 ebuild should be revised to require
+# "/usr/bin/shiboken2" at build time and "libshiboken2-*.so" at runtime.
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit cmake llvm python-r1 toolchain-funcs
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="Python binding generator for C++ libraries"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/shiboken2"
+
+# The "sources/shiboken2/libshiboken" directory is triple-licensed under the
+# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3
+# with version 1.0 of a Qt-specific exception enabling shiboken2 output to be
+# arbitrarily relicensed. (TODO)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+docstrings numpy test vulkan"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-2):5"
+
+# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
+RDEPEND="${PYTHON_DEPS}
+ >=dev-qt/qtcore-${QT_PV}
+ sys-devel/clang:=
+ sys-devel/clang-runtime:=
+ docstrings? (
+ >=dev-libs/libxml2-2.6.32
+ >=dev-libs/libxslt-1.1.19
+ >=dev-qt/qtxml-${QT_PV}
+ >=dev-qt/qtxmlpatterns-${QT_PV}
+ )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ vulkan? ( dev-util/vulkan-headers )
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qttest-${QT_PV} )
+"
+
+DOCS=( AUTHORS )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-python311-1.patch
+ "${FILESDIR}"/${P}-python311-2.patch
+ "${FILESDIR}"/${P}-python311-3.patch
+ "${FILESDIR}"/${P}-add-numpy-1.23-compatibility.patch
+)
+
+# Ensure the path returned by get_llvm_prefix() contains clang as well.
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_prepare() {
+ # TODO: File upstream issue requesting a sane way to disable NumPy support.
+ if ! use numpy; then
+ sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \
+ libshiboken/CMakeLists.txt || die
+ fi
+
+ # Shiboken2 assumes Vulkan headers live under either "$VULKAN_SDK/include"
+ # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
+ if use vulkan; then
+ sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+ fi
+
+ # Shiboken2 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
+ # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
+ # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
+ # the largest version specifier that exists under the "/usr/lib/clang/"
+ # subdirectory. This assumption is false in edge cases, including when
+ # users downgrade from newer Clang versions but fail to remove those
+ # versions with "emerge --depclean". See also:
+ # https://github.com/leycec/raiagent/issues/85
+ #
+ # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
+ # eclass are defective, returning nonsensical placeholder strings if the
+ # end user has *NOT* explicitly configured their C++ compiler to be Clang.
+ # PySide2 does *NOT* care whether the end user has done so or not, as
+ # PySide2 unconditionally requires Clang in either case. See also:
+ # https://bugs.gentoo.org/619490
+ sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'$(CPP=clang clang-fullversion)'/include"))~' \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Minimal tests for now, 2 failing with the extended version
+ # FIXME Subscripted generics cannot be used with class and instance checks
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DDISABLE_DOCSTRINGS=$(usex !docstrings)
+ )
+
+ shiboken2_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DUSE_PYTHON_VERSION="${EPYTHON#python}"
+ )
+ # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable.
+ local -x LLVM_INSTALL_DIR="$(get_llvm_prefix)"
+ cmake_src_configure
+ }
+ python_foreach_impl shiboken2_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ python_foreach_impl cmake_src_test
+}
+
+src_install() {
+ shiboken2_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the "shiboken2" executable for the current Python target,
+ # preserving an unversioned "shiboken2" file arbitrarily associated
+ # with the last Python target.
+ cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die
+
+ # Uniquify the Shiboken2 pkgconfig file for the current Python target,
+ # preserving an unversioned "shiboken2.pc" file arbitrarily associated
+ # with the last Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl shiboken2_install
+
+ # CMakeLists.txt installs a "Shiboken2Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., PySide2) to target one "libshiboken2-*.so"
+ # library and one "shiboken2" executable linked to one Python interpreter.
+ # See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i \
+ -e 's~shiboken2-python[[:digit:]]\+\.[[:digit:]]\+~shiboken2${PYTHON_CONFIG_SUFFIX}~g' \
+ -e 's~/bin/shiboken2~/bin/shiboken2${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)"/cmake/Shiboken2-${PV}/Shiboken2Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
+
+ # Remove the broken "shiboken_tool.py" script. By inspection, this script
+ # reduces to a noop. Moreover, this script raises the following exception:
+ # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py'
+ rm "${ED}"/usr/bin/shiboken_tool.py || die
+}
diff --git a/dev-python/sphinx_lv2_theme/Manifest b/dev-python/sphinx_lv2_theme/Manifest
index a5ca5dd47c43..0d0fe81c9664 100644
--- a/dev-python/sphinx_lv2_theme/Manifest
+++ b/dev-python/sphinx_lv2_theme/Manifest
@@ -1,2 +1 @@
-DIST sphinx_lv2_theme-v1.0.0.tar.gz 9795 BLAKE2B 7406d03b53c06a4e814490df65c5dad3bb8299be2808fe89da842c4285ac8798141d7e59713e6bf3b3ea72a7af8650c2b7ead586fdf48004df78350ef789a649 SHA512 e10331f4a979055929b7146b89a4c19b05698e32d0acb2eb3d7734f6e9298d1dbe24dbe5f56697505f9f7488845643011fa1df4ed112b4f016ba21d41a4f91c8
DIST sphinx_lv2_theme-v1.2.0.tar.gz 10724 BLAKE2B f2045ab4ce427ed1d36eea02e6ba9eea426c2fc810ed44a7033296602416629b2b03c73ca8b24b777eaf2434aae69c006ed06d5ac57cc20f4f8268b6bb0f00d7 SHA512 8c6bbdf77acec9c104b000f9c586fcb4ba3c39d64a7895b4445fcde2df401b843794e254b121034af8ffe62be8ed55205c177b9b64369b03c591fcad109f1383
diff --git a/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.0.0-r1.ebuild b/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.0.0-r1.ebuild
deleted file mode 100644
index 6ddcc9999fc3..000000000000
--- a/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9,10} )
-inherit distutils-r1
-
-DESCRIPTION="Minimal pure-CSS Sphinx theme using the LV2 plugin documentation style"
-HOMEPAGE="https://gitlab.com/lv2/sphinx_lv2_theme"
-SRC_URI="https://gitlab.com/lv2/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.gz"
-S="${WORKDIR}/${PN}-v${PV}"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
diff --git a/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.0.ebuild b/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.0.ebuild
index d6a03254cd6e..9f248c4c440f 100644
--- a/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.0.ebuild
+++ b/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.0.ebuild
@@ -18,4 +18,4 @@ S="${WORKDIR}/${PN}-v${PV}"
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
diff --git a/dev-python/xmlschema/Manifest b/dev-python/xmlschema/Manifest
index 6f683c3fd95c..109638a12102 100644
--- a/dev-python/xmlschema/Manifest
+++ b/dev-python/xmlschema/Manifest
@@ -1,2 +1,3 @@
DIST xmlschema-1.11.3.tar.gz 477008 BLAKE2B 30e0802e271bf82a1baa8f38317048f4ccda994e2dd04c2fdbf70e4240c2227e821bd416326347d0817b27635dde2c67f446adde2cdf443301046f15ac84175c SHA512 5920573900f0cfc159e3239883aaada18502ac0d33dc7a9aaaf4ab63b41f6d37ba68989aa931e0e2e3e546d335788cb55b1d350d5856d06f12904549cf3cb723
DIST xmlschema-2.0.1.tar.gz 475999 BLAKE2B 646f839ec8c1e3e7a18250e5e98a2d2503974b331a296c428eeceb5400af792c432851bf4cc7b8a15bfa815a9316f3a243535412344fd968ede7fbbee352bce5 SHA512 2087c3a4dc8517b3a05e852f213c611c6040c9bf41a392b26467a9d4a27140a2ce577a13cb1d0f4074f1d3d8bc33d6e115386cb1d675a6b6ee5ee29c01b20173
+DIST xmlschema-2.0.2.tar.gz 476241 BLAKE2B 56d1708a2139591d4efaa93a448485cef28f6a4dfd602f6919a4d7afaf249c5ec8d4500062a5f959d2d4f7a28819d8e45724830b09e1e66298192af0f8ddd32f SHA512 3ec7a6a8337e1c342e4f4db02fac51a5b31a95f21b4630d8750014c418ecfd12fecd271309bd18235288f373f3e01511998af907adcd444720b6f14d13762123
diff --git a/dev-python/xmlschema/xmlschema-2.0.2.ebuild b/dev-python/xmlschema/xmlschema-2.0.2.ebuild
new file mode 100644
index 000000000000..f62e3deaf5fc
--- /dev/null
+++ b/dev-python/xmlschema/xmlschema-2.0.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2019-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="An XML Schema validator and decoder"
+HOMEPAGE="
+ https://github.com/sissaschool/xmlschema/
+ https://pypi.org/project/xmlschema/
+"
+SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/elementpath-4[${PYTHON_USEDEP}]
+ >=dev-python/elementpath-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" tests/test_all.py -v || die "Tests fail with ${EPYTHON}"
+}