summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-08-17 18:07:55 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-08-17 18:07:55 +0000
commit9b2d467a9842fe188cf8124d237b45553147c89a (patch)
tree1cd7bff5134d952daa857a8a560d1b17be2c3a28 /dev-python
parent9ed1eb77a9f19ed26543def27062b3c657391753 (diff)
downloadbaldeagleos-repo-9b2d467a9842fe188cf8124d237b45553147c89a.tar.gz
baldeagleos-repo-9b2d467a9842fe188cf8124d237b45553147c89a.tar.xz
baldeagleos-repo-9b2d467a9842fe188cf8124d237b45553147c89a.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Faker/Faker-19.3.0.ebuild2
-rw-r--r--dev-python/alembic/Manifest1
-rw-r--r--dev-python/alembic/alembic-1.11.3.ebuild41
-rw-r--r--dev-python/annotated-types/annotated-types-0.5.0.ebuild2
-rw-r--r--dev-python/ansible-compat/Manifest1
-rw-r--r--dev-python/ansible-compat/ansible-compat-4.1.6.ebuild52
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.28.28.ebuild66
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.31.28.ebuild72
-rw-r--r--dev-python/cattrs/cattrs-23.1.2.ebuild2
-rw-r--r--dev-python/cbor2/cbor2-5.4.6.ebuild2
-rw-r--r--dev-python/cleo/cleo-2.0.1-r1.ebuild2
-rw-r--r--dev-python/crashtest/crashtest-0.4.1.ebuild2
-rw-r--r--dev-python/emoji/Manifest1
-rw-r--r--dev-python/emoji/emoji-2.8.0.ebuild25
-rw-r--r--dev-python/flasgger/flasgger-0.9.7.1.ebuild2
-rw-r--r--dev-python/griffe/Manifest1
-rw-r--r--dev-python/griffe/griffe-0.33.0.ebuild45
-rw-r--r--dev-python/httpbin/httpbin-0.10.0.ebuild2
-rw-r--r--dev-python/humanize/Manifest1
-rw-r--r--dev-python/humanize/humanize-4.8.0.ebuild28
-rw-r--r--dev-python/jsonschema-spec/Manifest1
-rw-r--r--dev-python/jsonschema-spec/jsonschema-spec-0.2.4.ebuild44
-rw-r--r--dev-python/jupyter-console/jupyter-console-6.6.3.ebuild2
-rw-r--r--dev-python/kerberos/kerberos-1.3.1-r2.ebuild2
-rw-r--r--dev-python/line_profiler/Manifest1
-rw-r--r--dev-python/line_profiler/line_profiler-4.1.0.ebuild45
-rw-r--r--dev-python/mypy/Manifest1
-rw-r--r--dev-python/mypy/mypy-1.5.1.ebuild63
-rw-r--r--dev-python/nbconvert/Manifest1
-rw-r--r--dev-python/nbconvert/nbconvert-7.7.4.ebuild93
-rw-r--r--dev-python/orjson/Manifest4
-rw-r--r--dev-python/orjson/orjson-3.9.5.ebuild84
-rw-r--r--dev-python/pendulum/pendulum-2.1.2-r2.ebuild2
-rw-r--r--dev-python/plotly/Manifest1
-rw-r--r--dev-python/plotly/plotly-5.16.1.ebuild116
-rw-r--r--dev-python/pydantic-core/Manifest2
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.4.0-r1.ebuild2
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.5.0-r1.ebuild2
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.6.0.ebuild145
-rw-r--r--dev-python/pydantic/pydantic-2.1.1.ebuild2
-rw-r--r--dev-python/pymongo/pymongo-4.4.1.ebuild2
-rw-r--r--dev-python/pyside2-tools/Manifest1
-rw-r--r--dev-python/pyside2/Manifest1
-rw-r--r--dev-python/pyside2/pyside2-5.15.9.ebuild226
-rw-r--r--dev-python/pyside6-tools/Manifest1
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.5.2.ebuild (renamed from dev-python/pyside2-tools/pyside2-tools-5.15.9.ebuild)33
-rw-r--r--dev-python/pyside6/Manifest1
-rw-r--r--dev-python/pyside6/pyside6-6.5.2.ebuild223
-rw-r--r--dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild2
-rw-r--r--dev-python/pytzdata/pytzdata-2020.1-r2.ebuild2
-rw-r--r--dev-python/sabctools/Manifest1
-rw-r--r--dev-python/sabctools/sabctools-7.1.1.ebuild39
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.4.8.ebuild2
-rw-r--r--dev-python/shiboken6/Manifest1
-rw-r--r--dev-python/shiboken6/shiboken6-6.5.2.ebuild169
-rw-r--r--dev-python/sphinx/Manifest1
-rw-r--r--dev-python/sphinx/sphinx-7.2.0.ebuild128
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-6.0.0.ebuild71
-rw-r--r--dev-python/tox/Manifest1
-rw-r--r--dev-python/tox/tox-4.9.0.ebuild84
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.20.0.3.ebuild17
-rw-r--r--dev-python/validators/validators-0.21.2.ebuild2
66 files changed, 1705 insertions, 270 deletions
diff --git a/dev-python/Faker/Faker-19.3.0.ebuild b/dev-python/Faker/Faker-19.3.0.ebuild
index e025c35343c2..668d566e047e 100644
--- a/dev-python/Faker/Faker-19.3.0.ebuild
+++ b/dev-python/Faker/Faker-19.3.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
RDEPEND="
>=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
diff --git a/dev-python/alembic/Manifest b/dev-python/alembic/Manifest
index 14f432b04706..41d8e24f2a32 100644
--- a/dev-python/alembic/Manifest
+++ b/dev-python/alembic/Manifest
@@ -1,2 +1,3 @@
DIST alembic-1.11.1.tar.gz 1176522 BLAKE2B 5a4185cb59b48301d350db3c44487408ca6c8d88b47ddd22e4c19fad57d0961cb3968652ba15986cf42adb9bb38542a79b11ddd980c9841a071844d26fed56fd SHA512 d068d581df952c2d304534218bd8f948407e288005514501816e60600b186bf03bcc60f485c4c6d5c80caf718210c2bf619f1758327bc592663f160c3bd21e65
DIST alembic-1.11.2.tar.gz 1192900 BLAKE2B 47919a02bfabc51caf13b70d7598bd54c63e2f3deea0a6547677433cb4dfab2fea7b199ad5288109c970386a3f318bf29ac2d931d2299dfed63883c3c4dde179 SHA512 7a3c2c723134d7d3048596dc7a98993edf737e09cea0b7df5cf5a05fbc37b9c7eb7fa28e4f1ce2adbb9c4683f838227b760feae148fbc617bc9fdd8e52c667c1
+DIST alembic-1.11.3.tar.gz 1192079 BLAKE2B 40608e1a98aee47128ddebfbb05527cebe8d7799c65da84333bfccb92c0cf314f12646b5be61bd489fe7084197e7918cc992a6edde57baf2afaa741452110135 SHA512 66939932ab0e07595a0d97ae1591c73b90d193e9a392489e2e6059e702c7471c12ac6408e6425413a89dccd5f54ba00f1a50cede0fadbbd808caca864c5101fa
diff --git a/dev-python/alembic/alembic-1.11.3.ebuild b/dev-python/alembic/alembic-1.11.3.ebuild
new file mode 100644
index 000000000000..b6a2493e61be
--- /dev/null
+++ b/dev-python/alembic/alembic-1.11.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 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,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy"
+HOMEPAGE="
+ https://github.com/sqlalchemy/alembic/
+ https://pypi.org/project/alembic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/python-editor-0.3[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # setup.cfg contains -p no:warnings in addopts which triggers
+ # datetime.utcfromtimestamp() deprecation warning as an error in py3.12
+ epytest -o addopts=
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/annotated-types/annotated-types-0.5.0.ebuild b/dev-python/annotated-types/annotated-types-0.5.0.ebuild
index 1a0480143bd6..c28d681a895e 100644
--- a/dev-python/annotated-types/annotated-types-0.5.0.ebuild
+++ b/dev-python/annotated-types/annotated-types-0.5.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
BDEPEND="
test? (
diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest
index 7557474f3aa9..b20e2f982461 100644
--- a/dev-python/ansible-compat/Manifest
+++ b/dev-python/ansible-compat/Manifest
@@ -1,2 +1,3 @@
DIST ansible-compat-4.1.2.tar.gz 66934 BLAKE2B 08d17ce6f83b2ac2fc08fab1b3ef54742e75eb0236792fdcf2791a521bc154184d92f6d1f25b241ac6c524352f9cd39be8d3c74d414625a315a468aeb8ce09a8 SHA512 ef6ad4daf7c565de5b1ef1a5ad204e2b8c938f81ef0a736a1af660836ee557d5c88fc06eced2a8a9fb0c6ac5b48cda243052d5ae0b0f634653c9d41211739e64
DIST ansible-compat-4.1.5.tar.gz 68562 BLAKE2B b28b6e5185b29a55d452e9c72636b31a1a35c68f207cc07376fafd0a70335966d06f927a803582b715b29c090a80aa5aa2663cba54221cb4d2dbcd9a11ec5a7a SHA512 6da0bab56237a6447462ed9ef528711eb4c998de2732ec021e8257d2baf6cbb1e1435707440b4c0d122fb4f938c855693bcd555e147613f230105e3af74c00a6
+DIST ansible-compat-4.1.6.tar.gz 69258 BLAKE2B 6dbea06a9a41451978a115614b87a880b7fb572251163345a8576ecefb5a5147919af202b0161e5b263fc94f593fa3daea9f5af0196c25ce2f14db9a64ba89a7 SHA512 fb3105827fecbd93e0a618a7a667c90afe0576e218f4dcfe6679df746ba56fcead4e6c56ce69a9b3e614b2d814141366f77ebb339fc9d5e6297d21b512588110
diff --git a/dev-python/ansible-compat/ansible-compat-4.1.6.ebuild b/dev-python/ansible-compat/ansible-compat-4.1.6.ebuild
new file mode 100644
index 000000000000..2219daa996b3
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-4.1.6.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Contains functions that facilitate working with various versions of Ansible"
+HOMEPAGE="
+ https://pypi.org/project/ansible-compat/
+ https://github.com/ansible/ansible-compat/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=app-admin/ansible-core-2.12[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.6.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-plus[${PYTHON_USEDEP}]
+ )
+"
+
+# All these tests attempt to connect to galaxy.ansible.com
+EPYTEST_DESELECT=(
+ test/test_runtime.py::test_install_collection
+ test/test_runtime.py::test_install_collection_dest
+ test/test_runtime.py::test_prepare_environment_with_collections
+ test/test_runtime.py::test_prerun_reqs_v1
+ test/test_runtime.py::test_prerun_reqs_v2
+ test/test_runtime.py::test_require_collection_no_cache_dir
+ test/test_runtime.py::test_require_collection_wrong_version
+ test/test_runtime.py::test_require_collection
+ test/test_runtime.py::test_upgrade_collection
+ test/test_runtime_example.py::test_runtime
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 11a20209dfdb..b780c496e85e 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -3,3 +3,4 @@ DIST boto3-1.28.20.gh.tar.gz 684832 BLAKE2B dc8dee3e001e26fa5e9f1355ef40cb03a860
DIST boto3-1.28.25.gh.tar.gz 687791 BLAKE2B 641dacd5076e51e64991c0bb97fda6f5b8d705b253ab902a5598daf23eca65ad586348f38e6dce0dfd90526a49ff56320dc99972d375e61d5fab3692f5948674 SHA512 2e47027c035338a9d70027b32c93db04ac859a8cfe6c9f962df33c1139df5ba1562e9e0bb32670825a93c29fa2b231779221c6b54c5b2bb498c5e19667763306
DIST boto3-1.28.26.gh.tar.gz 687954 BLAKE2B 04e87223eac560264ef55c80d5d258b028b9fb99a52a9ee03feda818909aafb43dfe16e887593e3dfb51525c78c8cd92a1e6e97b96136795b51a69839bb84580 SHA512 1cf5c2cc795a7712abff17aa075d30054973bf2cb583bdf4ad5e3057309cc76dd6a50b2ad806cb720c7528b4e3087f6b84b5b7a8d3d365df14e582e626168768
DIST boto3-1.28.27.gh.tar.gz 689084 BLAKE2B 5e6c824aedd92f429a5e932a8839d2f855624d4e821a3b9e8e434d6d47c9dfbc44fd5f93df451fe19be089513dad56f5291186f734b696914ce867f5e4a436e2 SHA512 6233f4da3fcb84b24bdc5c3aa3914de0cdd31212b1927eafb82972a4c751556699cd653be014d7d838836a92a5a35368d6874e19f6fb04a730606868a656c53e
+DIST boto3-1.28.28.gh.tar.gz 689176 BLAKE2B 21a951604fb2c5f6435d6c27dfbab5a4d16071fc9a4260374529902dd3715bd9ae8b724e75ad1c550696b8f781b54fc31f8ede6e489f950c263be44fbb387dcf SHA512 3b6a736de618ef094203c04b8c5408b20d3ca006514266423c20d3716269bad70532a90fec66a2a8bc168830ceb128b4dd314d23132656ab8c45d19bdaca345f
diff --git a/dev-python/boto3/boto3-1.28.28.ebuild b/dev-python/boto3/boto3-1.28.28.ebuild
new file mode 100644
index 000000000000..03c610b184f7
--- /dev/null
+++ b/dev-python/boto3/boto3-1.28.28.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2023 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,11} )
+
+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_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 f59634b0c274..2429b75ad1de 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -3,3 +3,4 @@ DIST botocore-1.31.20.gh.tar.gz 11852972 BLAKE2B f4c4cf244de902fa4debeeb69c1981d
DIST botocore-1.31.25.gh.tar.gz 11863108 BLAKE2B 2fb9bfc01ec93e1dff3459e89f7b20984efe39572320c437af3eae8becc2a871651528fd732f26524c978c5cb032f3675b313ba9b9c6e5acf76f5c5ab07fba9e SHA512 ff360e15051c958b8f9b6e04bb27e2f728bd210c6c7bfc07525d91d54b1ba8be5738e3434c651b61c5774c0b9b4252abaac788274bd56ff10e782efea32b6dd6
DIST botocore-1.31.26.gh.tar.gz 11865968 BLAKE2B ead40328750793f1cb6e4b533d3cced2eb5a33a6ee7fd81f96853b8ccbf7f3b15977eb2b6c8e218e898d06b0ed087ab1a1919860e45c7afa1b93989b01992b71 SHA512 a0949446d371a34552134903aa5d3ecb8d2fd77a128610c28152d365ffd882cccf8ae419c87b649d48fe732c6b3de04620f4ab7915199f014d9368f0a446abd5
DIST botocore-1.31.27.gh.tar.gz 11871182 BLAKE2B 818464a312ebf32eb38956fe6d58a1c784e9f2c746e8a03070ceaba89f3a3aee6fd5ff190f6001d32c46a92c12958c5655b5f07c9545b7f8ab6c8b060f1f3656 SHA512 9a175150ada4b21c3c2992671c69bea8717a934009fbf1fa30955735bf732285301e1a7013c631d6422c911b5e62f2980c191e41b9af4479bbe3a0ee8c44e71a
+DIST botocore-1.31.28.gh.tar.gz 11872151 BLAKE2B 97541606ddc488cc1b07f02a1ab55939596f6fcf8515b19579e7c836b4b5fb7cb41c04b1b15e4836b8bf33982044db93694371a8c966682ad4f22ab973041f30 SHA512 88956b9537e6db15c0a5976b25a63d01a0fbe12f8220a5ee3028b6ab6118a3384db3749a8cd2ff2ad32393a419145f9c8027842d290e7bf655b063adf50fd984
diff --git a/dev-python/botocore/botocore-1.31.28.ebuild b/dev-python/botocore/botocore-1.31.28.ebuild
new file mode 100644
index 000000000000..4bc7f657ecb8
--- /dev/null
+++ b/dev-python/botocore/botocore-1.31.28.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 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,11} )
+
+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_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
+ # fails on unrelated warnings
+ tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
+ tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
+ # TODO
+ tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
+ )
+
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/cattrs/cattrs-23.1.2.ebuild b/dev-python/cattrs/cattrs-23.1.2.ebuild
index ffc27dd9e7d1..fce2781c1719 100644
--- a/dev-python/cattrs/cattrs-23.1.2.ebuild
+++ b/dev-python/cattrs/cattrs-23.1.2.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
IUSE="test-rust"
RDEPEND="
diff --git a/dev-python/cbor2/cbor2-5.4.6.ebuild b/dev-python/cbor2/cbor2-5.4.6.ebuild
index ed78c4dad171..e60f8faccdf6 100644
--- a/dev-python/cbor2/cbor2-5.4.6.ebuild
+++ b/dev-python/cbor2/cbor2-5.4.6.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
BDEPEND="
>=dev-python/setuptools-61[${PYTHON_USEDEP}]
diff --git a/dev-python/cleo/cleo-2.0.1-r1.ebuild b/dev-python/cleo/cleo-2.0.1-r1.ebuild
index 71b6fbd4e07d..098f74f95d80 100644
--- a/dev-python/cleo/cleo-2.0.1-r1.ebuild
+++ b/dev-python/cleo/cleo-2.0.1-r1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
dev-python/crashtest[${PYTHON_USEDEP}]
diff --git a/dev-python/crashtest/crashtest-0.4.1.ebuild b/dev-python/crashtest/crashtest-0.4.1.ebuild
index c41f22aeebfb..d5196f474168 100644
--- a/dev-python/crashtest/crashtest-0.4.1.ebuild
+++ b/dev-python/crashtest/crashtest-0.4.1.ebuild
@@ -20,6 +20,6 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
distutils_enable_tests pytest
diff --git a/dev-python/emoji/Manifest b/dev-python/emoji/Manifest
index f0c10e87760d..4339a427670b 100644
--- a/dev-python/emoji/Manifest
+++ b/dev-python/emoji/Manifest
@@ -1,2 +1,3 @@
DIST emoji-2.6.0.gh.tar.gz 417829 BLAKE2B f7633a3e1eeb007eb69dede86c24115d196112765424e8808c8a461e06c6eff681437fd170146f96f1892ef62d3b7b064a1b9a09ee940ac4bd624ad9b59f169c SHA512 5b4131708284f80ba6019a9eb7b4e1ad9e2d6212bdf8e112c93098a65b60535303c3545b6f556bbb63da957f74d757afeb9f189110b10fd5733fcd0febac0cb4
DIST emoji-2.7.0.gh.tar.gz 424600 BLAKE2B 3d882651fd4796895db70aa1ef0fa2bd5e56f846e53b5043418678a4f0edf381512b248f3765ab69d99dd09166aa0c989b5eb4a9d6b490a0773d598240c1cfe0 SHA512 a44565e515d3a6279a9bd7ffcc31314b8d612aeedd8e02427a446e63b899b96ec63d934c29033c48d70ddc883215b92697b98d4ec0ab9437f9555e87ecfccfbf
+DIST emoji-2.8.0.gh.tar.gz 426886 BLAKE2B 14aa31cb08eb28d013992b518bb70804707ceff83a759a871b819d283e8f7da0697ede2ed0cccf6e0994e96ed830933e244aae7d5b4a8e8158f58ec1626915bb SHA512 d2a7db9628d2aed7374976376d7d38065bba7166c30f692495808c37ed39fc529c97deba8070ee5954661594c1afbbed85c5e9717de8032ad27e0465b3839638
diff --git a/dev-python/emoji/emoji-2.8.0.ebuild b/dev-python/emoji/emoji-2.8.0.ebuild
new file mode 100644
index 000000000000..7bd518f5e675
--- /dev/null
+++ b/dev-python/emoji/emoji-2.8.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 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,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Emoji for Python"
+HOMEPAGE="
+ https://github.com/carpedm20/emoji/
+ https://pypi.org/project/emoji/
+"
+SRC_URI="
+ https://github.com/carpedm20/emoji/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/flasgger/flasgger-0.9.7.1.ebuild b/dev-python/flasgger/flasgger-0.9.7.1.ebuild
index 5b1aea6dd733..b714b8f85aaf 100644
--- a/dev-python/flasgger/flasgger-0.9.7.1.ebuild
+++ b/dev-python/flasgger/flasgger-0.9.7.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~riscv ~s390 ~sparc"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~riscv ~s390 ~sparc"
RDEPEND="
>=dev-python/flask-0.10[${PYTHON_USEDEP}]
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index e6f2e527cd93..e6ce4af11656 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1 +1,2 @@
DIST griffe-0.32.3.gh.tar.gz 176939 BLAKE2B 291878054cac7d2fd4daea922c0439dd839611af7c425e838414d01fab76b4799adeff5fe14ed078172a38180d49c93ea4238b3256f1668d4daa2c74f68007a8 SHA512 cf163c9f873eff04d5c932a197a4768c14813d8e4aa5e0c5223544f7eb8c34b0b5eb3838c669a034c71b25c909b2857d88ddf40431b5604f86613c6b3c871aa5
+DIST griffe-0.33.0.gh.tar.gz 178095 BLAKE2B 003b1eee693742e15635e685042540d94d9fe789c7462b3a43caff222e64216a25b5477022a18d60e867ae4fe7d909d3d8a68b1607655bdb99430c9c45e83bf6 SHA512 dd40dfc5bfa7bc63673f96b6d8e32b104fcf64959dd08ea60847a6ae351a3cb67848bc515e796802c3c0c1cc0958f9853779bbb24bb5be668ccf14d540b084aa
diff --git a/dev-python/griffe/griffe-0.33.0.ebuild b/dev-python/griffe/griffe-0.33.0.ebuild
new file mode 100644
index 000000000000..e171a586e519
--- /dev/null
+++ b/dev-python/griffe/griffe-0.33.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Signature generator for Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe/
+ https://github.com/mkdocstrings/griffe/
+ https://pypi.org/project/griffe/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jsonschema-4.17.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
+
+EPYTEST_DESELECT=(
+ # fragile to installed packages
+ # (failed on PySide2 for me)
+ tests/test_stdlib.py::test_fuzzing_on_stdlib
+)
diff --git a/dev-python/httpbin/httpbin-0.10.0.ebuild b/dev-python/httpbin/httpbin-0.10.0.ebuild
index 3ef377bd0d95..cff46c4aff0e 100644
--- a/dev-python/httpbin/httpbin-0.10.0.ebuild
+++ b/dev-python/httpbin/httpbin-0.10.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~riscv ~s390 ~sparc"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~riscv ~s390 ~sparc"
RDEPEND="
dev-python/brotlicffi[${PYTHON_USEDEP}]
diff --git a/dev-python/humanize/Manifest b/dev-python/humanize/Manifest
index 60ecfdfe7c65..d8f39ed2cfc0 100644
--- a/dev-python/humanize/Manifest
+++ b/dev-python/humanize/Manifest
@@ -1 +1,2 @@
DIST humanize-4.7.0.tar.gz 72028 BLAKE2B 86926d24ca20168cd1f5dc37aad38a53be59ab786bd02c25ba54930854b4459949bfa988f3135c97f15cc51b2b9fcdcb32f85a668ddbb4af2b571d974523cc12 SHA512 2454c4b7dec6868a1626af560e4f87d7bfb8eac6a919c7d7c03254723ec58494f104f7fa365c64cb4cecf50cd6d498b4201f9fda6ac1f6d2980e9e54eebde738
+DIST humanize-4.8.0.tar.gz 72894 BLAKE2B 905c9499c9e57959cda3c66d98f4ddb1ddd04278ad53e1d139ca5ff65cf84d526ec7ba5766a6fffecda7e4f31ce9a6b1e59c377b7f37bad3c929ea3bcc77d44f SHA512 2372b9518c6037bbd6bda341cce7f04e6acd0f68c1fe7218e3201477ce12324f6b98efca2bc7024222bfcc222840cd5a6a04649269c86ded7bb81b30d1602cc9
diff --git a/dev-python/humanize/humanize-4.8.0.ebuild b/dev-python/humanize/humanize-4.8.0.ebuild
new file mode 100644
index 000000000000..71962e3603c6
--- /dev/null
+++ b/dev-python/humanize/humanize-4.8.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Common humanization utilities"
+HOMEPAGE="
+ https://github.com/python-humanize/humanize/
+ https://pypi.org/project/humanize/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jsonschema-spec/Manifest b/dev-python/jsonschema-spec/Manifest
index ab6e522adeda..2766980438f4 100644
--- a/dev-python/jsonschema-spec/Manifest
+++ b/dev-python/jsonschema-spec/Manifest
@@ -1,2 +1,3 @@
DIST jsonschema-spec-0.1.6.gh.tar.gz 36043 BLAKE2B e85cad336d6b5ed11d6a51c8fab2c28826f6a9836ad50d2423b23bef047c338307d3e9430f1d151dbaf7a92574c9899dbfd016c570456996250e8d7634373313 SHA512 78ea06a78fd25006d270e2c5033645133ee79b0f45cbfc54e250d4225a36beac59cf9aa92f15fd51bd101fac20fee990d693ab91d8343cd6a298d71735c80884
DIST jsonschema-spec-0.2.3.gh.tar.gz 37245 BLAKE2B e487b9e22d502dc1dbfa2957a28b8ea39b5809f7dcfc4d7f787d46727025528bf946d0576e0a1c530c56d8f80d09401c7bd565dee5af74838db5df0da3f9de11 SHA512 6de68cfa9aeda77cb68ad0d15cb87dd6298bf178424ea40e3009d78a9a5a5ee66443560a0d99521d02e2fbfcecbd081b24d1dd7dee216eaea1fffbd8f7a71e8a
+DIST jsonschema-spec-0.2.4.gh.tar.gz 38882 BLAKE2B 0c7d1179003ef5cd8eb0a164e9e13473df233fc72dbe3d8f75e967bb238de7267a0ef154ac3a40d8ef1ee3bd34568bfd16baae33b6ecc88077fabf0bdf22c299 SHA512 87f0a227e5d12badaab30a6b512f735db968ecd25856d9005e7c7f265187a3092e12ee9c900b035c5f927f250cc9743547dab1bba5195dc7534cab256b1800c2
diff --git a/dev-python/jsonschema-spec/jsonschema-spec-0.2.4.ebuild b/dev-python/jsonschema-spec/jsonschema-spec-0.2.4.ebuild
new file mode 100644
index 000000000000..674f414b6335
--- /dev/null
+++ b/dev-python/jsonschema-spec/jsonschema-spec-0.2.4.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2022-2023 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,11} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="JSONSchema Spec with object-oriented paths"
+HOMEPAGE="
+ https://pypi.org/project/jsonschema-spec/
+ https://github.com/p1c2u/jsonschema-spec/
+"
+SRC_URI="
+ https://github.com/p1c2u/jsonschema-spec/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pathable-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/referencing-0.28.1[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/--cov/d' pyproject.toml || die
+ # remove random pins due to caret operator
+ sed -i -e 's:\^:>=:' -e 's:,<[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild b/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
index 625f50a84e8a..466eb059c82d 100644
--- a/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
+++ b/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 x86"
RDEPEND="
>=dev-python/ipykernel-6.14[${PYTHON_USEDEP}]
diff --git a/dev-python/kerberos/kerberos-1.3.1-r2.ebuild b/dev-python/kerberos/kerberos-1.3.1-r2.ebuild
index e97d40676a9c..531b46d3f1de 100644
--- a/dev-python/kerberos/kerberos-1.3.1-r2.ebuild
+++ b/dev-python/kerberos/kerberos-1.3.1-r2.ebuild
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
# test environment is non-trivial to set up, so just use docker
# (see python_test below)
# also for alpha/beta Python releases support:
diff --git a/dev-python/line_profiler/Manifest b/dev-python/line_profiler/Manifest
index 200330e53f5f..6f5d26fab9b3 100644
--- a/dev-python/line_profiler/Manifest
+++ b/dev-python/line_profiler/Manifest
@@ -1 +1,2 @@
DIST line_profiler-4.0.3.gh.tar.gz 63873 BLAKE2B b34baa89d6625e0887823a44b89fc1b5c3a069ba5d160b959fd435080cfa64e68f693a03e3ed2741efc6d7ca71a60ac0b0e43bd8ba3101089a4e3d0d6c88303e SHA512 3f7734e3651588b1d40df0836d8c93384541b6a010e70becc419101377ac90374fc8f202b927b42ca4aec3e030d9ed52f4955f9fcae3c8d0396f96e21a29eeac
+DIST line_profiler-4.1.0.gh.tar.gz 99250 BLAKE2B aa875dfb8cdbaaa701a03d10fd904504825d58e551dddabddbe0abca777a584bae5c37f4b3ab80d10dc869138106d70c3ff243a7d28e570983427520dd4ee569 SHA512 08e0395b80f8c111725227abea7e8b2d6864da840a0a6f4de5eb71a2df2ae78871c930897b49d75a184973c1ce21d61106817bd0b8d4556462f0505bbbc21fe1
diff --git a/dev-python/line_profiler/line_profiler-4.1.0.ebuild b/dev-python/line_profiler/line_profiler-4.1.0.ebuild
new file mode 100644
index 000000000000..cb7264de11af
--- /dev/null
+++ b/dev-python/line_profiler/line_profiler-4.1.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Line-by-line profiler"
+HOMEPAGE="
+ https://github.com/pyutils/line_profiler/
+ https://pypi.org/project/line-profiler/
+"
+SRC_URI="
+ https://github.com/pyutils/line_profiler/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/ipython[${PYTHON_USEDEP}]
+"
+# <cython-3: https://bugs.gentoo.org/911735
+BDEPEND="
+ <dev-python/cython-3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/ubelt[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export LINE_PROFILER_BUILD_METHOD=cython
+
+python_test() {
+ cd tests || die
+ epytest
+}
diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
index dedb38212b52..5e584e657b83 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1,2 +1,3 @@
DIST mypy-1.4.1.gh.tar.gz 2864808 BLAKE2B 7dfda945cf554e170d048fc4b2689aa25a57e058857e17dd052090089a7880da74a3dd552fb1b8f8fa9bd9e84f1c97e49b36075d10957c6ee12c2507fb775668 SHA512 8a20ded76d9d3f323dc607c6cfdd4814c2ab798620a0b38198c7ff79bd1fb93aef7f8d60afa6e568957fcd8d9bfdf42308da07b4b0dd6260f192131377ee6951
DIST mypy-1.5.0.gh.tar.gz 2901221 BLAKE2B c23e0a5a5fc91a107fd11c9b0d97b0c19c671eb3aec718f216e53074bb4cdca96884611cdfdefd91189b9860ad54d84fecb468448f2819f4432f93594b2ffbae SHA512 2b82be7948d44ef8ec6592fc5756dee66df1ee363e2607796f69f76e3db96e421dab8ba2aea4db9e976f2b05314d97a031f1d197633df34a5667f4d1dabbd70f
+DIST mypy-1.5.1.gh.tar.gz 2901212 BLAKE2B b136cf061162bc50a48f1556763d7a1258b5a29b63a77db9190f89c56d3e85375a2b0e826d75472a0dc37df4d3391f2d85bb5f1f29c2907055a978e3c8d75906 SHA512 2c81322c0e7d9621e6d189f4d9d25d77c5fd6decbb563c8d0015e0f94ff1ff8206e5b7a38884edd3eedb99e839c03283ebfa7d86577c9f8e0d707c0cc4eb8fed
diff --git a/dev-python/mypy/mypy-1.5.1.ebuild b/dev-python/mypy/mypy-1.5.1.ebuild
new file mode 100644
index 000000000000..c922e4b5db4c
--- /dev/null
+++ b/dev-python/mypy/mypy-1.5.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 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,11} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Optional static typing for Python"
+HOMEPAGE="
+ https://www.mypy-lang.org/
+ https://github.com/python/mypy/
+ https://pypi.org/project/mypy/
+"
+SRC_URI="
+ https://github.com/python/mypy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# stubgen collides with this package: https://bugs.gentoo.org/585594
+RDEPEND="
+ !dev-util/stubgen
+ >=dev-python/psutil-4[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/mypy_extensions-1.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-18.0[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-1.18[${PYTHON_USEDEP}]
+ >=dev-python/py-1.5.2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-16.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+# this requires packaging a lot of type stubs
+export MYPY_USE_MYPYC=0
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # the majority of them require Internet (via pip)
+ mypy/test/testpep561.py
+ )
+ # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
+ # fail with high COLUMNS values
+ local -x COLUMNS=80
+ epytest -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index dc880022501d..1ec1fee08063 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1,3 +1,4 @@
DIST nbconvert-7.6.0.tar.gz 886726 BLAKE2B 9623b10adf08f06921c7b162018a747ef02e47a99c9663261247af2ee895ca66d310c42bcfb8717009b8fd9e8da4a088c5d8369f0ebe5a570a1439d3ea0db37e SHA512 70870b875c0045796004ada5ea3ec5402339392419919c11f2713f07cb0f35605f8902a1e965706c13b972fa4d7785d4941834bd9565e3b3c8afde2a9d2868c9
DIST nbconvert-7.7.2.tar.gz 849694 BLAKE2B 20fb4f9385e5c0d7288974b1c2fb76529b48ac32a21a786e06844d001dfda94643250e54d484809d02c056378429b352ef17559790197305fdeffbe27722d1b2 SHA512 9a92efa3522eb38f975db82a5ea4559833cf30bb65c03f1a2895bc7e4f95c691aca3a8f8e48b0105e44e8428062ee82883480655442ca5fb215b48df45937a09
DIST nbconvert-7.7.3.tar.gz 849762 BLAKE2B a887fc2bbb7978fdcabbaa46ea391a9b42ba904609ee0a67fc59f1d66373ee2d4cc6328b4c39a7deb77f5bb87c503dc61f7c3a5ce04e36a8149fe7ece42fab46 SHA512 8b6f5b05c89e4931716ecd7de1d16be54284a0c5699439f896f9c08bf3d88f930e6e6cf2fa688132a6c7b93ccd11be9526cc08732d4c28ccf3854f402e21fe82
+DIST nbconvert-7.7.4.tar.gz 849858 BLAKE2B e7260b7cd6d315fc7ca70ef272a72b2b85557813caadc5c89964a21cf85c5cda186921d16685f2abc8f0a34b1b78a9c5c03b8bbb5308a31363f6af3ecbd4c721 SHA512 4af508cabfcff9c3bfd56fcb7e002f3af0a3edb1209ffb6dd48ab79f8ce24d0d7abe87398117fe41dd8d704bb8bf292a785826f1bb6e8be124a761a317fcb015
diff --git a/dev-python/nbconvert/nbconvert-7.7.4.ebuild b/dev-python/nbconvert/nbconvert-7.7.4.ebuild
new file mode 100644
index 000000000000..deded8faf5ac
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.7.4.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 multiprocessing pypi virtualx
+
+DESCRIPTION="Converting Jupyter Notebooks"
+HOMEPAGE="
+ https://nbconvert.readthedocs.io/
+ https://github.com/jupyter/nbconvert/
+ https://pypi.org/project/nbconvert/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.7[${PYTHON_USEDEP}]
+ dev-python/jupyterlab-pygments[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+ <dev-python/mistune-4[${PYTHON_USEDEP}]
+ >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.7[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.1[${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ >=dev-python/ipywidgets-7[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ mkdir -p share/templates/classic/static || die
+ # tries to refetch stuff even if it's already present
+ sed -e 's:css = .*:raise PermissionError("You shall not fetch!"):' \
+ -i hatch_build.py || die
+ distutils-r1_src_prepare
+}
+
+src_test() {
+ virtx 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'
+ # TODO
+ nbconvert/exporters/tests/test_qtpng.py::TestQtPNGExporter::test_export
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
+ # latex failing, might be too new pandoc
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_filename_spaces
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_pdf
+ # too new pandoc but we don't have old anymore
+ nbconvert/utils/tests/test_pandoc.py::TestPandoc::test_minimal_version
+ nbconvert/utils/tests/test_pandoc.py::TestPandoc::test_pandoc_available
+ # crazy qtweb* stuff, perhaps permissions
+ nbconvert/exporters/tests/test_qtpdf.py::TestQtPDFExporter::test_export
+ )
+
+ # virtx implies nonfatal, make it explicit to avoid confusion
+ nonfatal epytest -n "$(makeopts_jobs)" --pyargs nbconvert || die
+}
+
+pkg_postinst() {
+ if ! has_version virtual/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 or app-text/pandoc-bin."
+ fi
+}
diff --git a/dev-python/orjson/Manifest b/dev-python/orjson/Manifest
index 031664db6ebc..90777396fbe1 100644
--- a/dev-python/orjson/Manifest
+++ b/dev-python/orjson/Manifest
@@ -8,6 +8,7 @@ DIST bytecount-0.6.3.crate 12416 BLAKE2B 462e41d5a4ee23a6c9ff2bf350171e309cbc32f
DIST castaway-0.2.2.crate 11091 BLAKE2B 3445e68aaf533caa1df958fb371622ef61c7778d515fd1efe39a12588e24fe07480738daba008e414a95e72af10d5ea29702425e5b91ebb277fe346ff74bc43b SHA512 dbce2a61a429eda7a8f21b4a35dced729267298be9793310afaff58843211a7177a9bb932a4bd9dfcedaaf1a2570b90261d4c1047c62474450ea835dcfc325a4
DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
DIST cc-1.0.81.crate 66857 BLAKE2B 1f20aa7fe1e41b7d043242ed2e6b840ef7e764fcd844d82441d20dede2bac7386c8089e7dffee5bc22a49bfab2cf9f2c82757bb5068fdfc82610eae7cb2b188e SHA512 00878fcc5e344571cd8756fcd7e0a8e11325cf504eed09ea2ac890368c4d69978fc0de9ef99757cbacdadbf50faadc486d20640b529ac9a4963b3afd71caca6a
+DIST cc-1.0.82.crate 67879 BLAKE2B 3b06cbe1516d4fe8291e1543b09d32d39a135c2352e545b64bc69fc82a40128a9b1291f20bd4cac6a3c37d9466093f8b63cae20663ad517bd7dbc380bfa87ee7 SHA512 27810ea12401635b0122e5b3a71367a52ca7040f196cb30f709e0b8ec0e717aeb8a89ef4e891b1c7c88f7cc8a1c35e55db132b728b0c499e0b683d5b803a671f
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST chrono-0.4.26.crate 191501 BLAKE2B eae49ee247607995c28463b8c3e2119497141e69d19a756c408f2b72d94bea39397ea2d0d3cd2ccbf1348ef973dd8bae6d29a0d0590e8dd34633f365a9170adb SHA512 2b66faf4d8374cfb0485710ceb2c9c1ce63aa6f9670e405a0810af4aca01c57d8dcd198a1f4cad498d5efd89e00003ba1b4f0bab599422af4f9bd6fb74494c47
DIST compact_str-0.7.1.crate 57246 BLAKE2B 2da5cfdc91d417294ca87ce834e8006d3426aff4cb22945e6744ace7d22c940f0181a75f25e6acc41efb5d83bf6ba4ee0876db3ce5cc05b9524a9868dcb8c7c9 SHA512 29ed591024f8f1b478722384664f5700fbde97b44af82fa32a8d1ccdedca9dc425555f9e5a4431a6c954d58cd90d60a25a9ed7f18773ede13edfc68094a23275
@@ -23,6 +24,7 @@ DIST num-traits-0.2.16.crate 50130 BLAKE2B 1101d28cb4dce477657684a068792b94c7008
DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
DIST orjson-3.9.2.tar.gz 4207405 BLAKE2B d4c157b7e60a00ce48773b3befe9b3ed312b38423aaf4048f667207a8ec4f10c330b45864da6a79531e6cc182e2196bf23d97713a50454e9da6b3575128efd9b SHA512 5ac8713c8f921f876e1c6d61daacde5d5b7a738d00f1a0c3f51df2fcb10815de0d73cc980bca43139ddd7fbfca5e800a6d31a35cc833ddb1fac7cdb181a1116f
DIST orjson-3.9.4.tar.gz 4601888 BLAKE2B 77ee0fccad4e04408700d78f23a5cac0d8bac9df94419809dccb03406c7fcb83185d282715e727da0ea351b6c97f33c70f6bf0b451377fcd885bdeccfe7ddbfb SHA512 75192e144ee54edfdbfe83cd069cb3e2da80b7ec379235832508010dd6c45f1a993906c48a992b93b5802cdf7472340129c5a27c91190e6fb4dc818254d0a194
+DIST orjson-3.9.5.tar.gz 4604499 BLAKE2B 24ba14b5d3bf499045be299bb731869cae07e9e2c1990be8d6ceac86919781cce34eab8c5d84cdb546c4a334041012b8ff0e3977d0fcef3f5c776207f45bd23e SHA512 d3a5726a4bd10a2d6ad2ec7f7a6d358c65c2270bbc42a00f8d1b2a6ef538b87920f8b2b10cd8cc0e1bbb66fc070b6f836ea62f4d7d84b99cb8341bbbe50aaa5c
DIST packed_simd_2-0.3.8.crate 97388 BLAKE2B 89d2a1401efef8e0a665d883b41a587601cd4704a6acf80c542f3e6e274a6fa9c975a03799857c409c8764bf6698784cf85f1fb73b4fab2c4f98b368326760c4 SHA512 de1ff7cc43f6d0f6e2a94073ab80bd178864d375d334c4d8aaf30f8ae3320b6aa470f14b25babc264d9032af0c4fa7663e442321fc91acbd7adc7550b5177984
DIST proc-macro2-1.0.66.crate 43575 BLAKE2B 9eb3e816b00fcf625c280ba14ad269f5893d0523473a24de07c21945f6f932fbd08efb3c339b35d903245510e3f065e1478439b024a325f2bb9f97bc7bcbb18d SHA512 85f5a762f9411142e5ac28144bd380f07f0633ed2e44d8a2545be9fb8f42abaca6b5d45631b4be83b8e8b9beca7438bc52f25615c3a410a3a1249474b1aca407
DIST pyo3-build-config-0.19.1.crate 29205 BLAKE2B f88cbf9763fd68f7b30d109ae608efc29e0d4bf6672ee5f31b77342b5f37baa4f981916124af6897ccea3d93990ff889815fc3abbe9ce3fdbd860b6d5698b7da SHA512 311fef01ac2c3ce12485849cb99eba038a36260206308c5af4621fc5393f942e03aae4f6a5fe24ef3005eb781d2161453667ad552d6a371ddd96460b05a2e710
@@ -36,8 +38,10 @@ DIST ryu-1.0.14.crate 46861 BLAKE2B 208fa87e54e3c6831193ddefcdfa7e9731a3b72de6ea
DIST ryu-1.0.15.crate 46906 BLAKE2B 6d6949e43aaa27fba0ec6002fa11ba859af8d867f87c90d88413267186abbf6302b817985bca3d577ab3fab2e319e11756f144473a16330dfd8fc7b604cdc4b3 SHA512 4655b5647f919082a9b84b889539ae7fb23a1201057cf280efe79c58cb5f040864efb7812cda5021bf6d34838a15d173ac8bdb0fb9fa2dba85173d3efa5a826b
DIST serde-1.0.167.crate 77395 BLAKE2B ce8c8473292e83e77b5a9fe768d6eb1984682a269098087af71ab490dbc8dd24ef0fec064e8b7b9e94e9dbf2a8d11f0ae85da923d6de091b6bed91d8c44cb706 SHA512 c58689fd0d5235e2a5cdbb0ed0f4100c9473c6c22b516409121138e4ede0f8932a1cc59b6f85843185260d5e373e1682f5266c27b7de29f52855ad103e4fb6cf
DIST serde-1.0.180.crate 76950 BLAKE2B 9508b77f0d050f3abc18246b0380f6e8ece40b02d3eb97d887f1349b001b560328f0bcb8e4f651de6d7848eb8bbde27f76e07f1e2c22fcc6bbcda443981dfe99 SHA512 daf3c40363c113c568dd150b75d7874ec06f346ca0fc130e29d9148fe6c0817e0474e13d7fef91e3a18f09c066cafe816ee1c0318900fad81e75da97e1f4d185
+DIST serde-1.0.183.crate 77210 BLAKE2B 280e3d253a29b664b4e2d17f41397b17fe22af64417facca42d6ca0c839f1def745380a5402d7a87345bb16f4fdacf9a8c01966579b8c08fb06c05f097a87e68 SHA512 3a27efdff92cb1f6b50449a761efde781af91584b8410fbf5ce37b20005e7d46dc4c750fd1730e15468ea22aac7799421c4e60c74243c65ef7916d3cbadd0ef8
DIST serde_json-1.0.100.crate 145170 BLAKE2B 0a15476563643e2b9fa3a2416bf21ce0be62f05d7f483b566eff806c01e19ff82016ecbc970a636252798316f2fec40465ca85c74759cc83b23d147e05016f4e SHA512 182b0a2c77a7c06d0c88e629acd56b16e50bdecac2a066d2b6a3a2a41b50dd6bb147e943df7eb3e26c2b7a99f656f1af98e8c2a83d991c5356b46f3573b94b88
DIST serde_json-1.0.104.crate 146130 BLAKE2B 62a613eba9c39bc3f007404995528ac101df3e74d90049e9aca699029f55ce4cee54a1bbfdd9e69cda9ab3e7ba9893fc66f3f9bbbc1eb358d570dd292ae77216 SHA512 06b2f3c818fa5819ff936d2f456fccded743ccc336359bfd1371aecebae9ca2d4f77879f61d1cda510b7a1aaa47b0010688b8e8c656388950e79fa5d007c7f6f
+DIST serde_json-1.0.105.crate 146316 BLAKE2B a40b99ac4b5e9aa31a61c4f49f9f4dd9fad94946267a47ac4ba7c1bf3af7122dc410c8984235281b19a917b1fea088615c8e95b4f1aead0957c9e31f2b222599 SHA512 d4203d93ee6e8ffa0d88c21d347196b8d1496d506841273e992c9996019175ed9a965e9401ba63d48589133b13ad9cac6246b7e0143545778b5a090a48a31452
DIST simdutf8-0.1.4.crate 28621 BLAKE2B 94ab48bc899e603acf3805dd45ae8489d565aa39ff79606e80a1731b59d11f429d71bb6c65becf3ceab123767f2d20612cb9f86410fd1aad00d0a796091ad045 SHA512 9f821035e147c035707910227b51e01d3f761ab8b578d95a86a776b2a4da01bc4d8ef28df7ea2c16ca125a2699d8903b826ad07a5937728e33dd58753ebd704c
DIST smallvec-1.11.0.crate 34680 BLAKE2B e54d56f6bbffbfa7ce5fe5f04e325b2e5cf19d290e4be278bc00a136e26284625b9c18c7c2b10b7fb8fad0ea7e3770f3cdbcfbaa913f5ac08d0a2f8b4e0de188 SHA512 41bfbecbc2c244497568a41724d65791ec3fd6d8057813d521367cca316c09c2b28fb3973826236b01c1f5d2f905d8d22b0c3c47f957a9ff5d7685591f15ccd7
DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee
diff --git a/dev-python/orjson/orjson-3.9.5.ebuild b/dev-python/orjson/orjson-3.9.5.ebuild
new file mode 100644
index 000000000000..cebc2587e6ba
--- /dev/null
+++ b/dev-python/orjson/orjson-3.9.5.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.6.1
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+CRATES="
+ ahash@0.8.3
+ android-tzdata@0.1.1
+ arrayvec@0.7.4
+ associative-cache@1.0.1
+ autocfg@1.1.0
+ beef@0.5.2
+ bytecount@0.6.3
+ castaway@0.2.2
+ cc@1.0.82
+ cfg-if@1.0.0
+ chrono@0.4.26
+ compact_str@0.7.1
+ encoding_rs@0.8.32
+ itoa@1.0.9
+ itoap@1.0.1
+ libc@0.2.147
+ libm@0.1.4
+ no-panic@0.1.26
+ num-traits@0.2.16
+ once_cell@1.18.0
+ packed_simd_2@0.3.8
+ proc-macro2@1.0.66
+ pyo3-build-config@0.19.2
+ pyo3-ffi@0.19.2
+ quote@1.0.32
+ rustversion@1.0.14
+ ryu@1.0.15
+ serde@1.0.183
+ serde_json@1.0.105
+ simdutf8@0.1.4
+ smallvec@1.11.0
+ static_assertions@1.1.0
+ syn@2.0.28
+ target-lexicon@0.12.11
+ unicode-ident@1.0.11
+ version_check@0.9.4
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
+HOMEPAGE="
+ https://github.com/ijl/orjson/
+ https://pypi.org/project/orjson/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/arrow[${PYTHON_USEDEP}]
+ dev-python/pendulum[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ' 'python3*')
+ )
+"
+
+QA_FLAGS_IGNORED=".*"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pendulum/pendulum-2.1.2-r2.ebuild b/dev-python/pendulum/pendulum-2.1.2-r2.ebuild
index 17f598cf6001..a05d5610e98f 100644
--- a/dev-python/pendulum/pendulum-2.1.2-r2.ebuild
+++ b/dev-python/pendulum/pendulum-2.1.2-r2.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
DEPEND="
dev-python/python-dateutil[${PYTHON_USEDEP}]
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index b9fc19eb51f4..dc60ecdf0cae 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1,2 +1,3 @@
DIST plotly.py-5.15.0.gh.tar.gz 30801940 BLAKE2B bb95df7402a308c1a32817dc12d519a446f63cfe34f6a6c492949465734132a2d86078849790ee51d6cb99fbaf434251c48204e0b2b36af422fdf7efbc446a6a SHA512 418f05fd6eb17de3619c647ba83817144d8b9f7eec766cae492fb9987ad1e5ff169cfe045d163997916bdf0df75dafba94fb55c68a5dfb45c8aa87cb3e0e4658
DIST plotly.py-5.16.0.gh.tar.gz 30846584 BLAKE2B 08071fbece2ac6ce69ae7466a001902867883127e7bfab397d5701eee0afc032fdc001157b4e38d4cbe9bfe361e18f7c33cc0e80b21d8deba5219821849848ab SHA512 2cbdc04a62de803d06d4085180caeaea9a7c429d525e841472a6b4a447dd53ab108e159a9b28ddcbcf86a47453ed028ad6d3d47001e3d68286aded4b10b1511b
+DIST plotly.py-5.16.1.gh.tar.gz 30846702 BLAKE2B 75985b37e56b4612f8c0bcd249d1a27e43d2f531715802f1d80c9f83b7536f4a124ffb0355cdee3db64e02feede2a37bcfca58b20e5fdad50e31c66291eb0181 SHA512 dabbbfe0da26b675fc30a8e3a9e105b13589a9906df11cbcae2f8fbaadf59e694ae1864de329665acebeabcb8821f1425d7b3cb3ffd96522d376e8d3b7704afa
diff --git a/dev-python/plotly/plotly-5.16.1.ebuild b/dev-python/plotly/plotly-5.16.1.ebuild
new file mode 100644
index 000000000000..8c5390afbbe4
--- /dev/null
+++ b/dev-python/plotly/plotly-5.16.1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+MY_P=plotly.py-${PV}
+DESCRIPTION="Browser-based graphing library for Python"
+HOMEPAGE="
+ https://plotly.com/python/
+ https://github.com/plotly/plotly.py/
+ https://pypi.org/project/plotly/
+"
+SRC_URI="
+ https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/packages/python/plotly"
+# The tests are not included in the PyPI tarball, to use the GitHub tarball
+# we have to skip npm, which means that the resulting install will
+# unfortunately lack the jupyterlab extension.
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/jupyter[${PYTHON_USEDEP}]
+ dev-python/jupyterlab[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${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/scikit-image[${PYTHON_USEDEP}]
+ )
+"
+
+# README ends up a broken symlink
+DOCS=()
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
+)
+
+EPYTEST_IGNORE=(
+ # Needs porting to newer numpy
+ _plotly_utils/tests/validators/test_integer_validator.py
+
+ # kaleido not packaged
+ plotly/tests/test_optional/test_kaleido
+
+ # plotly-orca not packaged
+ plotly/tests/test_orca
+)
+
+EPYTEST_DESELECT=(
+ # Also needs porting to newer numpy
+ plotly/tests/test_io/test_to_from_plotly_json.py::test_object_numpy_encoding
+
+ # kaleido not packaged
+ plotly/tests/test_orca/test_to_image.py::test_bytesio
+
+ # Fails if not already installed
+ test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
+ test_init/test_lazy_imports.py::test_lazy_imports
+
+ # Minor matplotlib incompatibility
+ plotly/matplotlylib/mplexporter/tests/test_basic.py::test_path_collection
+ plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
+ plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
+
+ # In python 3.11 the produced error is slightly different
+ plotly/tests/test_core/test_errors/test_dict_path_errors.py::test_described_subscript_error_on_type_error
+
+ # TODO
+ plotly/tests/test_io/test_to_from_plotly_json.py
+
+ # two subtests that require 'vaex' and 'polars' respectively
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
+)
+
+# There are sphinx docs but we are missing a bunch of dependencies.
+# distutils_enable_sphinx ../../../doc/apidoc
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Do not try to fetch stuff with npm
+ export SKIP_NPM=1
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ mv "${ED}"/{usr/etc,etc} || die
+}
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index 280df0f84dd5..2ab77d849f76 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -35,6 +35,7 @@ DIST pydantic_core-2.3.0.tar.gz 308473 BLAKE2B 2bdd96989b93bfd00d1db23d30171a315
DIST pydantic_core-2.3.1.tar.gz 313680 BLAKE2B 90b7ed134e6dd891dd184f651b4907292aac6050ba67b66260885f69026b572b802cdb5436a7cc504b969fcac2499ed557f22c5e0178d4f1eada22b74cab1882 SHA512 a8de5b9b5201d72796851e27e9f6ae5a248e65ca214d5f971d1cd4323033cf8d573640e80b25255cbf548b506d31b8078b2ac9e484193de820a8a7a924b816f2
DIST pydantic_core-2.4.0.tar.gz 322367 BLAKE2B 199f023cb789f742c47f494c02a30a61f2a5d2c50dd557ce21e2ee8c9c4701461b659bebcc7787cb007cda79c56bc8079badd062e23175233c3f2d70b5657f59 SHA512 cb4c8cee8ebc897133600176da3863158d1f7bee4842283a3f793a435860c136519cd9b457080128e8c8cebe9ca3775f6acc918d27e418ab80c76d1960ac21ea
DIST pydantic_core-2.5.0.tar.gz 329533 BLAKE2B 54881511a5b84b22d7df5be6f7835361810daa7be4d5b73539b20ffc13825026ba5faef03e222fa12a584fa942141d833a3074c1676e1b9113c3aa0adf9aa66f SHA512 02eae124626d55b16b335a2364ae5b23dc9ee28e0dc84b201a01d9c8b7becdaf0d2fdb3f753e48deb11836c500e2a5a3b3a47df1e3f289d17df2b5613269029c
+DIST pydantic_core-2.6.0.tar.gz 334615 BLAKE2B 749ac2213f13c460460ebc45284e1356809907081ade1a3d8178769e4e83adb8ccf47a16f82b8df1fe169113a06154acbd5e604a9df0da9d9070e1c052f5b220 SHA512 9828dc8923c96e3c7716186106467483621e3bab8e5869401476e655edbf6beac4a5f43093b05b2d00054cd92827c2fffe905068d52bf9bcd4d1846fd8d9e626
DIST pyo3-0.19.1.crate 418297 BLAKE2B 19ad6aa4fba175961b7fe97ae0bc45050f930859972b1b25cf0139bb3436c050ba76b63894f0df26174f141a52ac6abf10fd84c03c056af5a0665e723ae24195 SHA512 b27500cf49f1c6f217d21344d24ac96c07b82c157dd36fa4550b94059da5715ba7d0e085ec07dd5f8a8ac9de4d7e9239c1cceac4337294eb0dc9f6102049d5ff
DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
DIST pyo3-build-config-0.19.1.crate 29205 BLAKE2B f88cbf9763fd68f7b30d109ae608efc29e0d4bf6672ee5f31b77342b5f37baa4f981916124af6897ccea3d93990ff889815fc3abbe9ce3fdbd860b6d5698b7da SHA512 311fef01ac2c3ce12485849cb99eba038a36260206308c5af4621fc5393f942e03aae4f6a5fe24ef3005eb781d2161453667ad552d6a371ddd96460b05a2e710
@@ -67,6 +68,7 @@ DIST serde_json-1.0.103.crate 146095 BLAKE2B c10ccaef03dc4b0dfdc238e3d3b738faf43
DIST serde_json-1.0.104.crate 146130 BLAKE2B 62a613eba9c39bc3f007404995528ac101df3e74d90049e9aca699029f55ce4cee54a1bbfdd9e69cda9ab3e7ba9893fc66f3f9bbbc1eb358d570dd292ae77216 SHA512 06b2f3c818fa5819ff936d2f456fccded743ccc336359bfd1371aecebae9ca2d4f77879f61d1cda510b7a1aaa47b0010688b8e8c656388950e79fa5d007c7f6f
DIST smallvec-1.11.0.crate 34680 BLAKE2B e54d56f6bbffbfa7ce5fe5f04e325b2e5cf19d290e4be278bc00a136e26284625b9c18c7c2b10b7fb8fad0ea7e3770f3cdbcfbaa913f5ac08d0a2f8b4e0de188 SHA512 41bfbecbc2c244497568a41724d65791ec3fd6d8057813d521367cca316c09c2b28fb3973826236b01c1f5d2f905d8d22b0c3c47f957a9ff5d7685591f15ccd7
DIST speedate-0.11.0.crate 30352 BLAKE2B c46e288116b98045206007a9f457fd9cbe93e8a51fc0a33a4cc0b47a05e25f0ab5ea7782c2c80f902a46fecc1d58dc4a642b1db8c6c2df7ac065c245fcd42039 SHA512 ce8654c3eda8565bd251aa6a2366a6c3a824ea07b3fc810d8df0bb3c66ec499ae9bb44fa240737ab09fde09ce92e1f81eafa006d41f4a7a324c60447b6faa813
+DIST speedate-0.12.0.crate 30792 BLAKE2B 2280dcc9396546b8c46a13451cbc290c38bed9d77ea8ef9e0b24b1cdc5d52c55dcbcc2ab7768b96854d47a9ceda6e1e119139c9b03df9018abfa16656ba481f3 SHA512 f9f75b9e8111a39922d8e2a525c559f1ae04620cce6c56e64e70f0458ada23d57ecc074ce6f510948cf88515e8bb34cc9b9ca8dcf941968fc1a666dfc9c384f7
DIST strum-0.25.0.crate 5539 BLAKE2B 9c031e5ce19e2ecaa63e63118197c740ae9295b8881f6280ad92847b99fca6fb08b0d395ab1b2a66e25c8374cd18866d8436540538e3c0f1f047fd2235971b40 SHA512 a3522df79547e94518f25a0e29248f67f1d7e2586a7a424d7d996cb6bfe5d98fcc4fc44da7ddcd4e35a1127b2816bee55107f30cb2a559f5b9bbb1346139544a
DIST strum_macros-0.24.3.crate 20696 BLAKE2B fa86022cd1f701d8755fbf3e6356a38d46f4f168a1abd19d1d8fa63cbecf41746165791955c8cf1fba86cadf85ddb427ffd17bb360567187b55dfb9a899503c1 SHA512 8276343808afe71d68d7984d5a223a4fc630df0adb5a547cbcc6912fbffcf7e4ad38f115888a2dd3a8443d6fa7b9c7726318d4f5d1ab43f463dd97ec20df9134
DIST strum_macros-0.25.1.crate 21700 BLAKE2B 0850a6f0d8bd5a2559f97b6c2497e6a4d85af23f35cc74d535be320cd2774dae9c591f957390d9f087a0dd0ca42922f8114e3d57d2f16d9730c4596ab9ee8dac SHA512 eda3cfc481fb16f2463cef31a63654b74d5bced3685c30b3843a36b43c3858f0ab23f64088263f79ff7fc5032af08547300aaf39c5b1ec375561f09c17d87a31
diff --git a/dev-python/pydantic-core/pydantic-core-2.4.0-r1.ebuild b/dev-python/pydantic-core/pydantic-core-2.4.0-r1.ebuild
index 6c93fe45a938..9af2498ea798 100644
--- a/dev-python/pydantic-core/pydantic-core-2.4.0-r1.ebuild
+++ b/dev-python/pydantic-core/pydantic-core-2.4.0-r1.ebuild
@@ -101,7 +101,7 @@ LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
RDEPEND="
>=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
diff --git a/dev-python/pydantic-core/pydantic-core-2.5.0-r1.ebuild b/dev-python/pydantic-core/pydantic-core-2.5.0-r1.ebuild
index fe97f6c98d10..f9e3f3a1c15b 100644
--- a/dev-python/pydantic-core/pydantic-core-2.5.0-r1.ebuild
+++ b/dev-python/pydantic-core/pydantic-core-2.5.0-r1.ebuild
@@ -101,7 +101,7 @@ LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
RDEPEND="
>=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
diff --git a/dev-python/pydantic-core/pydantic-core-2.6.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.6.0.ebuild
new file mode 100644
index 000000000000..8c197b193291
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.6.0.ebuild
@@ -0,0 +1,145 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+# pypy3 is waiting for new pyo3 release
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+CRATES="
+ ahash@0.8.3
+ aho-corasick@1.0.2
+ autocfg@1.1.0
+ base64@0.21.2
+ bitflags@1.3.2
+ cc@1.0.79
+ cfg-if@1.0.0
+ enum_dispatch@0.3.12
+ equivalent@1.0.1
+ form_urlencoded@1.2.0
+ getrandom@0.2.10
+ hashbrown@0.14.0
+ heck@0.4.1
+ idna@0.4.0
+ indexmap@2.0.0
+ indoc@1.0.9
+ itoa@1.0.8
+ libc@0.2.147
+ libmimalloc-sys@0.1.33
+ lock_api@0.4.10
+ memchr@2.5.0
+ memoffset@0.9.0
+ mimalloc@0.1.37
+ num-bigint@0.4.3
+ num-integer@0.1.45
+ num-traits@0.2.15
+ once_cell@1.18.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.8
+ percent-encoding@2.3.0
+ proc-macro2@1.0.64
+ pyo3-build-config@0.19.2
+ pyo3-ffi@0.19.2
+ pyo3-macros-backend@0.19.2
+ pyo3-macros@0.19.2
+ pyo3@0.19.2
+ python3-dll-a@0.2.9
+ quote@1.0.29
+ redox_syscall@0.3.5
+ regex-automata@0.3.6
+ regex-syntax@0.7.4
+ regex@1.9.3
+ rustversion@1.0.13
+ ryu@1.0.14
+ scopeguard@1.1.0
+ serde@1.0.183
+ serde_derive@1.0.183
+ serde_json@1.0.104
+ smallvec@1.11.0
+ speedate@0.12.0
+ strum@0.25.0
+ strum_macros@0.25.2
+ syn@1.0.109
+ syn@2.0.28
+ target-lexicon@0.12.9
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.13
+ unicode-ident@1.0.10
+ unicode-normalization@0.1.22
+ unindent@0.1.11
+ url@2.4.0
+ uuid@1.4.1
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic-core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=virtual/rust-1.70.0
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2022.7.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+DISTUTILS_ARGS=(
+ # disable mimalloc since it fails due to -latomic underlinking on some
+ # platforms, https://bugs.gentoo.org/912341
+ --no-default-features
+)
+
+src_prepare() {
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ epytest -p pytest_mock -p timeout
+}
diff --git a/dev-python/pydantic/pydantic-2.1.1.ebuild b/dev-python/pydantic/pydantic-2.1.1.ebuild
index 6e9bb1f2d6ba..df32e63c3378 100644
--- a/dev-python/pydantic/pydantic-2.1.1.ebuild
+++ b/dev-python/pydantic/pydantic-2.1.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
RDEPEND="
>=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pymongo/pymongo-4.4.1.ebuild b/dev-python/pymongo/pymongo-4.4.1.ebuild
index f821e7f592de..012533768878 100644
--- a/dev-python/pymongo/pymongo-4.4.1.ebuild
+++ b/dev-python/pymongo/pymongo-4.4.1.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
IUSE="doc kerberos +test-full"
RDEPEND="
diff --git a/dev-python/pyside2-tools/Manifest b/dev-python/pyside2-tools/Manifest
index 44289e185b45..5ec5cb3e888e 100644
--- a/dev-python/pyside2-tools/Manifest
+++ b/dev-python/pyside2-tools/Manifest
@@ -1,2 +1 @@
DIST pyside-setup-opensource-src-5.15.10.tar.xz 3583764 BLAKE2B 7e19e8f8460582012d3fec09ac99f826298cbfcd0887339c2adababb7a21bfc67a2918e91858888e89eca0a6f780929b2a7fa70c28d72ece24b7ea939ca76f56 SHA512 dc548ab870fcc5cc637de1bcb2f428527c650287fdb3720a3ade4638cc0bb12bc4a1ed87e7f6a4ec730a26742e08ceec806bcac6af91c7a01ddc0ce7980a79d2
-DIST pyside-setup-opensource-src-5.15.9.tar.xz 3581660 BLAKE2B 65d5317f9ea55385bbe093cf43c214655effd877feed6409acc4f6f65768dcde8c94c4f29157f8d7dcb36d442c649290764706834885b08ecf9934b383b3e2a4 SHA512 cc63d64b909f1fd98b64a0bba61b278b1a5b60059168287546ee36204ede2df4317eb4ce5638a268d387e6db40fec203631fc4a48e4116a6b4a30d675bf876d3
diff --git a/dev-python/pyside2/Manifest b/dev-python/pyside2/Manifest
index 44289e185b45..5ec5cb3e888e 100644
--- a/dev-python/pyside2/Manifest
+++ b/dev-python/pyside2/Manifest
@@ -1,2 +1 @@
DIST pyside-setup-opensource-src-5.15.10.tar.xz 3583764 BLAKE2B 7e19e8f8460582012d3fec09ac99f826298cbfcd0887339c2adababb7a21bfc67a2918e91858888e89eca0a6f780929b2a7fa70c28d72ece24b7ea939ca76f56 SHA512 dc548ab870fcc5cc637de1bcb2f428527c650287fdb3720a3ade4638cc0bb12bc4a1ed87e7f6a4ec730a26742e08ceec806bcac6af91c7a01ddc0ce7980a79d2
-DIST pyside-setup-opensource-src-5.15.9.tar.xz 3581660 BLAKE2B 65d5317f9ea55385bbe093cf43c214655effd877feed6409acc4f6f65768dcde8c94c4f29157f8d7dcb36d442c649290764706834885b08ecf9934b383b3e2a4 SHA512 cc63d64b909f1fd98b64a0bba61b278b1a5b60059168287546ee36204ede2df4317eb4ce5638a268d387e6db40fec203631fc4a48e4116a6b4a30d675bf876d3
diff --git a/dev-python/pyside2/pyside2-5.15.9.ebuild b/dev-python/pyside2/pyside2-5.15.9.ebuild
deleted file mode 100644
index aca96f94a513..000000000000
--- a/dev-python/pyside2/pyside2-5.15.9.ebuild
+++ /dev/null
@@ -1,226 +0,0 @@
-# Copyright 1999-2023 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,11} )
-
-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-liners from within "${S}":
-# $ grep 'set.*_deps' PySide2/Qt*/CMakeLists.txt
-# $ cat /lib64/cmake/Qt5*/Qt5*.cmake | grep -i DEPENDENCIES
-# 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? ( gui widgets xml )
- gles2-only? ( gui )
- help? ( gui sql widgets )
- location? ( gui network positioning quick )
- multimedia? ( gui network widgets )
- printsupport? ( gui widgets )
- qml? ( gui network )
- quick? ( gui network qml widgets network )
- scripttools? ( gui script widgets )
- speech? ( multimedia )
- sql? ( widgets )
- svg? ( widgets )
- testlib? ( widgets )
- webchannel? ( qml )
- webengine? (
- gui network positioning quick qml
- widgets? ( printsupport network 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-${QT_PV}
- =dev-qt/qtopengl-${QT_PV}[gles2-only=]
- =dev-qt/qtserialport-${QT_PV}
- 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}[alsa,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*/PySide2Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
-}
diff --git a/dev-python/pyside6-tools/Manifest b/dev-python/pyside6-tools/Manifest
index 28b38f9a7892..4e27687b1364 100644
--- a/dev-python/pyside6-tools/Manifest
+++ b/dev-python/pyside6-tools/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-everywhere-src-6.5.1.1.tar.xz 13565304 BLAKE2B 55b221142f5e112a39c0b5df7f7b200f65cfd30da2884340b9bef5e7cb1bcfe2e8ed7aeb0cf7ef5f894f43f6ad582b35e649b7c6430bdba8719e70cca3c29c2d SHA512 fe99ad09b4e0b238175594bbff94453a84c56f21b004477fdab2a2435b4b4148b0b99b26e1b1e1671b71656f4cfb03c3913aa6d85084e3eb8200ff906535a5eb
+DIST pyside-setup-everywhere-src-6.5.2.tar.xz 13576204 BLAKE2B 3e1d62e6d877140137896552184c8fe56fd62056a1ea506ab474256ee0e2f16d3e10ddb84965602650bb466f3563555c3c344698b6877a45f9130d1e919aba21 SHA512 ca677645579fc6b82285dd6c294909ca5e91a8c8efbc53bd103aff64e3ef89eff67820bfc9100cf50f043015d41c49d4ff86b3008f02505941a09bd54621f403
diff --git a/dev-python/pyside2-tools/pyside2-tools-5.15.9.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.5.2.ebuild
index 73525dd027ef..1baf656cf131 100644
--- a/dev-python/pyside2-tools/pyside2-tools-5.15.9.ebuild
+++ b/dev-python/pyside6-tools/pyside6-tools-6.5.2.ebuild
@@ -10,30 +10,23 @@ CMAKE_IN_SOURCE_BUILD=1
inherit cmake python-r1
-MY_P=pyside-setup-opensource-src-${PV}
+MY_PN="pyside-setup-everywhere-src"
-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}"
+DESCRIPTION="PySide development tools (pyside6-lupdate with support for Python)"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
+S="${WORKDIR}/${MY_PN}-$(ver_cut 1-3)/sources/pyside-tools"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 arm64 x86"
+KEYWORDS="~amd64"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
- ~dev-python/pyside2-${PV}[${PYTHON_USEDEP}]
+ ~dev-python/pyside6-${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
@@ -41,15 +34,10 @@ src_prepare() {
}
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}"
+ # the tools conflict with tools from Qt
+ -DNO_QT_TOOLS=yes
)
CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_configure
}
@@ -67,11 +55,10 @@ src_compile() {
src_install() {
pyside-tools_install() {
- python_doexe "${BUILD_DIR}/pylupdate/pyside2-lupdate"
+ python_doexe "${BUILD_DIR}/"*.py
}
python_foreach_impl pyside-tools_install
- doman pylupdate/pyside2-lupdate.1
einstalldocs
}
diff --git a/dev-python/pyside6/Manifest b/dev-python/pyside6/Manifest
index 28b38f9a7892..4e27687b1364 100644
--- a/dev-python/pyside6/Manifest
+++ b/dev-python/pyside6/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-everywhere-src-6.5.1.1.tar.xz 13565304 BLAKE2B 55b221142f5e112a39c0b5df7f7b200f65cfd30da2884340b9bef5e7cb1bcfe2e8ed7aeb0cf7ef5f894f43f6ad582b35e649b7c6430bdba8719e70cca3c29c2d SHA512 fe99ad09b4e0b238175594bbff94453a84c56f21b004477fdab2a2435b4b4148b0b99b26e1b1e1671b71656f4cfb03c3913aa6d85084e3eb8200ff906535a5eb
+DIST pyside-setup-everywhere-src-6.5.2.tar.xz 13576204 BLAKE2B 3e1d62e6d877140137896552184c8fe56fd62056a1ea506ab474256ee0e2f16d3e10ddb84965602650bb466f3563555c3c344698b6877a45f9130d1e919aba21 SHA512 ca677645579fc6b82285dd6c294909ca5e91a8c8efbc53bd103aff64e3ef89eff67820bfc9100cf50f043015d41c49d4ff86b3008f02505941a09bd54621f403
diff --git a/dev-python/pyside6/pyside6-6.5.2.ebuild b/dev-python/pyside6/pyside6-6.5.2.ebuild
new file mode 100644
index 000000000000..8a03f8c657d4
--- /dev/null
+++ b/dev-python/pyside6/pyside6-6.5.2.ebuild
@@ -0,0 +1,223 @@
+# Copyright 1999-2023 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,11} )
+
+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 "PySide6/QtGui/CMakeLists.txt" and
+# "PySide6/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_PN="pyside-setup-everywhere-src"
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
+S="${WORKDIR}/${MY_PN}-$(ver_cut 1-3)/sources/pyside6"
+
+# See "sources/pyside6/PySide6/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"
+IUSE="
+ +dbus charts +concurrent designer gles2-only +gui help multimedia
+ +network network-auth +opengl positioning +printsupport qml quick
+ quick3d serialport +sql svg test +testlib webchannel webengine
+ websockets +widgets +xml
+"
+
+# Manually reextract these requirements on version bumps by running the
+# following one-liner from within "${S}":
+# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt
+# Note that the "designer" USE flag corresponds to the "Qt6UiTools" module.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ charts? ( gui widgets )
+ designer? ( widgets )
+ gles2-only? ( gui )
+ gui? ( dbus opengl )
+ help? ( network sql widgets )
+ multimedia? ( gui network )
+ network-auth? ( network )
+ opengl? ( gui )
+ printsupport? ( widgets )
+ qml? ( network )
+ quick? ( gui network opengl qml )
+ quick3d? ( gui network opengl qml quick )
+ sql? ( widgets )
+ svg? ( gui )
+ testlib? ( widgets )
+ webchannel? ( qml )
+ webengine? ( network gui printsupport quick webchannel )
+ websockets? ( network )
+ widgets? ( 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)*:6"
+
+RDEPEND="${PYTHON_DEPS}
+ ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP}]
+ =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?]
+ charts? ( =dev-qt/qtcharts-${QT_PV} )
+ designer? ( =dev-qt/qttools-${QT_PV}[designer] )
+ gui? (
+ =dev-qt/qtbase-${QT_PV}[gui,jpeg]
+ x11-libs/libxkbcommon
+ )
+ help? ( =dev-qt/qttools-${QT_PV}[assistant] )
+ multimedia? ( =dev-qt/qtmultimedia-${QT_PV} )
+ network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} )
+ positioning? ( =dev-qt/qtpositioning-${QT_PV} )
+ printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] )
+ qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick3d? ( =dev-qt/qtquick3d-${QT_PV} )
+ serialport? ( =dev-qt/qtserialport-${QT_PV} )
+ svg? ( =dev-qt/qtsvg-${QT_PV} )
+ testlib? ( =dev-qt/qtbase-${QT_PV}[gui] )
+ webchannel? ( =dev-qt/qtwebchannel-${QT_PV} )
+ webengine? ( =dev-qt/qtwebengine-${QT_PV}[widgets?] )
+ websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
+"
+DEPEND="${RDEPEND}
+ test? ( =dev-qt/qtbase-${QT_PV}[gui] )
+"
+# testlib is toggled by the gui flag on qtbase
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
+ "${FILESDIR}/${PN}-6.3.1-fix-designer-plugin-install-location.patch"
+)
+
+src_configure() {
+ # See collect_module_if_found macros in PySideHelpers.cmake
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DAnimation=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DCore=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DExtras=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DInput=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DLogic=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DRender=yes
+ #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Bluetooth=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Charts=$(usex !charts)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Concurrent=$(usex !concurrent)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DataVisualization=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DBus=$(usex !dbus)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Designer=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Gui=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Help=$(usex !help)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6HttpServer=yes
+ #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6Location=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Multimedia=$(usex !multimedia)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6NetworkAuth=$(usex !network-auth)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Network=$(usex !network)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Nfc=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGL=$(usex !opengl)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGLWidgets=$(usex !opengl yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Pdf=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PdfWidgets=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning=$(usex !positioning)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PrintSupport=$(usex !printsupport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Qml=$(usex !qml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick3D=$(usex !quick3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickControls2=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=$(usex !quick yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6RemoteObjects=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Scxml=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sensors=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort=$(usex !serialport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SpatialAudio=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sql=$(usex !sql)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6StateMachine=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Svg=$(usex !svg)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SvgWidgets=$(usex !svg yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Test=$(usex !testlib)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6TextToSpeech=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6UiTools=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel=$(usex !webchannel)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineCore=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick=$(usex !webengine yes $(usex !quick))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebSockets=$(usex !websockets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets=$(usex !widgets)
+ #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6WinExtras=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Xml=$(usex !xml)
+ # try to avoid pre-stripping
+ -DQFP_NO_OVERRIDE_OPTIMIZATION_FLAGS=yes
+ -DQFP_NO_STRIP=yes
+
+ )
+
+ pyside6_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 pyside6_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ local -x PYTHONDONTWRITEBYTECODE
+ python_foreach_impl virtx cmake_src_test
+}
+
+src_install() {
+ pyside6_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the shiboken6 pkgconfig dependency in the PySide6 pkgconfig
+ # file for the current Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \
+ "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
+
+ # Uniquify the PySide6 pkgconfig file for the current Python target,
+ # preserving an unversioned "pyside6.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 pyside6_install
+
+ # CMakeLists.txt installs a "PySide6Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., pyside6-tools) to target one
+ # "libpyside6-*.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~pyside6-python[[:digit:]]\+\.[[:digit:]]\+~pyside6${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)/cmake/PySide6/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
+}
diff --git a/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild b/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
index 3dfd9c1a073f..aa7af8d37c1c 100644
--- a/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
+++ b/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~s390 ~sparc ~x86"
RDEPEND="
>=dev-python/pytest-4.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild b/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild
index 7941d1b896e3..493f0ecfe618 100644
--- a/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild
+++ b/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
dev-python/cleo[${PYTHON_USEDEP}]
diff --git a/dev-python/sabctools/Manifest b/dev-python/sabctools/Manifest
index e99727f97b61..e2bac5d5af7a 100644
--- a/dev-python/sabctools/Manifest
+++ b/dev-python/sabctools/Manifest
@@ -1,2 +1,3 @@
DIST sabctools-7.0.2.gh.tar.gz 8539819 BLAKE2B 38212656c745238f106fbc9334f6dccb02bb9e05153bc73a21a783a25a0c5a63cae2893a01fcceefe37e6f5f187fc6d762fcc632f1228410e951740c808e0e9e SHA512 05968a29afb7a041549bae9e9a4303160820da4cd10ea33ab4475fe48fd0b4cf46023c6254715161265f3e1bdf2b66ae7e62007789fbc288aa229d3a218a3df8
DIST sabctools-7.1.0.gh.tar.gz 8539861 BLAKE2B d19f46dc9d92ebd59f74b74f21129c11d425e690d9b43278cc691c41a2f85bf307775969f6bc0716ac74cd4f630971caa0896ac7c6af129bb9c58383e5afdba3 SHA512 bba1c441111aafd8b028a34637d1f9b855b7d232545bc6e56f7cc650bc22a7ee6a1ad6258aa963ef338a061adb5cd9692e1d6ea215ca7bd9fa7bf06b90079e5b
+DIST sabctools-7.1.1.gh.tar.gz 8963314 BLAKE2B 583ac11ba8f4ef9d0f9d04a1697bb7e09644f2edfa851e175bf6454600e2d78bfb593c2fd3696ee077f3243084c90faa276eddd21578122233090be905367d55 SHA512 461f554d4e0032b4a4b0eaa4801d45cd014be00b5cd2f2c13ed7686d20994bb111c80fe8486a50af5622b3977056bd12d2465922f7daccd04a92af7101e52e0f
diff --git a/dev-python/sabctools/sabctools-7.1.1.ebuild b/dev-python/sabctools/sabctools-7.1.1.ebuild
new file mode 100644
index 000000000000..d516e880d77f
--- /dev/null
+++ b/dev-python/sabctools/sabctools-7.1.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+MY_PN="sabctools"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
+HOMEPAGE="
+ https://github.com/sabnzbd/sabctools/
+ https://pypi.org/project/sabctools/
+"
+SRC_URI="
+ https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.md doc/yenc-draft.1.3.txt )
+
+distutils_enable_tests pytest
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.4.8.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.4.8.ebuild
index f1a13ca1dc30..9d5a9a96c246 100644
--- a/dev-python/scikit-build-core/scikit-build-core-0.4.8.ebuild
+++ b/dev-python/scikit-build-core/scikit-build-core-0.4.8.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~s390 ~sparc ~x86"
# we always want [pyproject] extra
RDEPEND="
diff --git a/dev-python/shiboken6/Manifest b/dev-python/shiboken6/Manifest
index 28b38f9a7892..4e27687b1364 100644
--- a/dev-python/shiboken6/Manifest
+++ b/dev-python/shiboken6/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-everywhere-src-6.5.1.1.tar.xz 13565304 BLAKE2B 55b221142f5e112a39c0b5df7f7b200f65cfd30da2884340b9bef5e7cb1bcfe2e8ed7aeb0cf7ef5f894f43f6ad582b35e649b7c6430bdba8719e70cca3c29c2d SHA512 fe99ad09b4e0b238175594bbff94453a84c56f21b004477fdab2a2435b4b4148b0b99b26e1b1e1671b71656f4cfb03c3913aa6d85084e3eb8200ff906535a5eb
+DIST pyside-setup-everywhere-src-6.5.2.tar.xz 13576204 BLAKE2B 3e1d62e6d877140137896552184c8fe56fd62056a1ea506ab474256ee0e2f16d3e10ddb84965602650bb466f3563555c3c344698b6877a45f9130d1e919aba21 SHA512 ca677645579fc6b82285dd6c294909ca5e91a8c8efbc53bd103aff64e3ef89eff67820bfc9100cf50f043015d41c49d4ff86b3008f02505941a09bd54621f403
diff --git a/dev-python/shiboken6/shiboken6-6.5.2.ebuild b/dev-python/shiboken6/shiboken6-6.5.2.ebuild
new file mode 100644
index 000000000000..fc69ddb7529f
--- /dev/null
+++ b/dev-python/shiboken6/shiboken6-6.5.2.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Split the "/usr/bin/shiboken6" binding generator from the
+# "/usr/lib64/libshiboken6-*.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/shiboken6/faq.html#is-there-any-runtime-dependency-on-the-generated-binding
+# Once split, the PySide6 ebuild should be revised to require
+# "/usr/bin/shiboken6" at build time and "libshiboken6-*.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,11} )
+
+inherit cmake llvm python-r1 toolchain-funcs
+
+MY_PN="pyside-setup-everywhere-src"
+
+DESCRIPTION="Python binding generator for C++ libraries"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
+S="${WORKDIR}/${MY_PN}-$(ver_cut 1-3)/sources/shiboken6"
+
+# The "sources/shiboken6/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 shiboken6 output to be
+# arbitrarily relicensed. (TODO)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+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)*:6"
+
+# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
+LLVM_MAX_SLOT=15
+RDEPEND="${PYTHON_DEPS}
+ =dev-qt/qtbase-${QT_PV}
+ <sys-devel/clang-16:=
+ <sys-devel/clang-runtime-16:=
+ docstrings? (
+ >=dev-libs/libxml2-2.6.32
+ >=dev-libs/libxslt-1.1.19
+ )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ vulkan? ( dev-util/vulkan-headers )
+"
+DEPEND="${RDEPEND}
+ test? ( =dev-qt/qtbase-${QT_PV}[gui] )
+"
+# testlib is toggled by the gui flag on qtbase
+
+DOCS=( AUTHORS )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.1-no-strip.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
+
+ # Shiboken6 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
+
+ # Shiboken6 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.
+ # PySide6 does *NOT* care whether the end user has done so or not, as
+ # PySide6 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)
+ )
+
+ shiboken6_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 "${LLVM_MAX_SLOT}")"
+ cmake_src_configure
+ }
+ python_foreach_impl shiboken6_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ python_foreach_impl cmake_src_test
+}
+
+src_install() {
+ shiboken6_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the "shiboken6" executable for the current Python target,
+ # preserving an unversioned "shiboken6" file arbitrarily associated
+ # with the last Python target.
+ cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die
+
+ # Uniquify the Shiboken6 pkgconfig file for the current Python target,
+ # preserving an unversioned "shiboken6.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 shiboken6_install
+
+ # CMakeLists.txt installs a "Shiboken6Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., PySide6) to target one "libshiboken6-*.so"
+ # library and one "shiboken6" 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~shiboken6-python[[:digit:]]\+\.[[:digit:]]\+~shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
+ -e 's~/bin/shiboken6~/bin/shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)"/cmake/Shiboken6/Shiboken6Targets-${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/Manifest b/dev-python/sphinx/Manifest
index 93860cf2e010..bd53ed89d358 100644
--- a/dev-python/sphinx/Manifest
+++ b/dev-python/sphinx/Manifest
@@ -4,3 +4,4 @@ DIST sphinx-7.0.1.gh.tar.gz 6712916 BLAKE2B 7e30804eb5c24559c8ca30e5d8943ad78b42
DIST sphinx-7.1.0.gh.tar.gz 6882321 BLAKE2B dfa644b33e0dc97acb04470da452f184cdc377e0c07a58e2e504b425becbc114eac503559ceb7dc81b54d31e89587a8f8f3ecb11df073a949f08d0281ca21a3c SHA512 707a9f36e7c8f0dd0f0f6c3d81dff67e3c996fb8b9daac0eec240200828347ddfde3d374ca45286cd41bdc6a88d89012b606b217304f41b71661ee0d4acc9bbe
DIST sphinx-7.1.1.gh.tar.gz 6881907 BLAKE2B 4c73fbcd14c962ead0b15de5f36f6101ce1958aae26dffe055e7d9546eea4f998e53b97f3d27f55521d689e13b8524a03443858151968f33fcab1704cbb1319c SHA512 43fb78dbd51b25d50ce2f22b40c6e784200a0195e5a00b793b577bf2b2e8db28dd73f031dd6991e835a997de22781541e8239c73ddd36a6b5b8c1c367dcac3d1
DIST sphinx-7.1.2.gh.tar.gz 6882028 BLAKE2B 3ceabcb688824d929a5258978433b46a31666f423941dbed7641c7017745c4beb8b215714e1aa9c8a8b251bc4be1f5a7e80680a498ed808ed07178219dc31b65 SHA512 26827a6fa955665bc3b26ab882933eadcadf9a055bad9e8c98ca80a79a062ea8102950bbd4974b168c2bda62ae437976cf787401816c0804aa533f65a91efc24
+DIST sphinx-7.2.0.gh.tar.gz 7060825 BLAKE2B c911e49903b3682a08271871ec79b907f41a581b21eeef26dfdeccdd3acbf9744ac25233095f3036f3061231407e29653dc3dfbbb0b1ba3fa4f5db44dda7d8c2 SHA512 282c53a2fc8533a99455aca49ab0ebc75b5fdfe5fea9c72bbf1d85d67843bce7cd14ee375a1f1bcd16863bd9f8a072a13364720ae8e84adbaecae1dbec6bfae9
diff --git a/dev-python/sphinx/sphinx-7.2.0.ebuild b/dev-python/sphinx/sphinx-7.2.0.ebuild
new file mode 100644
index 000000000000..7a616c3c3545
--- /dev/null
+++ b/dev-python/sphinx/sphinx-7.2.0.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinx/
+ https://pypi.org/project/Sphinx/
+"
+SRC_URI="
+ https://github.com/sphinx-doc/sphinx/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+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"
+IUSE="doc latex"
+
+RDEPEND="
+ <dev-python/alabaster-0.8[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.9[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.21[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.18.1[${PYTHON_USEDEP}]
+ >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.25.0[${PYTHON_USEDEP}]
+ >=dev-python/snowballstemmer-2.0[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-devhelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-jsmath[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-htmlhelp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-serializinghtml-1.1.5[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.0[${PYTHON_USEDEP}]
+ latex? (
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ app-text/dvipng
+ )
+ !dev-python/namespace-sphinxcontrib
+"
+BDEPEND="
+ doc? (
+ dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ app-text/dvipng
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ virtual/imagemagick-tools[jpeg,png,svg]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/sphinx-3.2.1-doc-link.patch"
+ "${FILESDIR}/sphinx-4.3.2-doc-link.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # disable internet access
+ sed -i -e 's:^intersphinx_mapping:disabled_&:' \
+ doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # we can't use distutils_enable_sphinx because it would
+ # introduce a dep on itself
+ use doc && build_sphinx doc
+}
+
+python_test() {
+ mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
+ local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
+
+ local EPYTEST_DESELECT=(
+ # these tests require Internet access
+ tests/test_build_latex.py::test_latex_images
+ # TODO
+ tests/test_ext_autodoc.py::test_cython
+ tests/test_ext_autodoc_autoclass.py::test_classes
+ tests/test_ext_autodoc_autofunction.py::test_classes
+ # looks like a bug in lualatex
+ "tests/test_build_latex.py::test_build_latex_doc[lualatex-howto-None]"
+ "tests/test_build_latex.py::test_build_latex_doc[lualatex-manual-None]"
+ # doesn't like paths?
+ tests/test_directive_other.py::test_include_source_read_event
+ )
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ tests/test_ext_autodoc.py::test_autodoc_inherited_members_None
+ tests/test_ext_autodoc.py::test_automethod_for_builtin
+ tests/test_ext_autodoc.py::test_partialfunction
+# tests/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
+# tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
+# tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
+ tests/test_ext_autodoc_autofunction.py::test_builtin_function
+ tests/test_ext_autodoc_autofunction.py::test_methoddescriptor
+# tests/test_ext_autodoc_automodule.py::test_automodule_inherited_members
+ tests/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
+ tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module
+ tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
+ tests/test_util_inspect.py::test_isattributedescriptor
+ tests/test_util_typing.py::test_is_invalid_builtin_class
+# tests/test_util_typing.py::test_stringify_type_hints_pep_585
+ )
+
+ # note: pytest-xdist causes random test failures
+ epytest
+}
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index a1e9910ac341..e2b4f7dab740 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,2 +1,3 @@
DIST stripe-5.4.0.tar.gz 268711 BLAKE2B 2417174ceed571a7b8483992ac15ef9d19a037e5745118c2eec3094f8e848ec49b384f62bd4a136ed046b695bd753efc6064109c30a50aca539a1085b1e056fe SHA512 55351171184672ab55f38ed483078dbbb85216bf80d07726d1bb8848d24ff829a3d464d543182afafedfcaabdb516a5868bc4ac7d16f64f2dc2dc7c1ab2e152a
DIST stripe-5.5.0.tar.gz 270144 BLAKE2B aab1f824f0b9e27b80e23ecc9267c4cfc9e4b952b14fa30e642587935d6a60076cb913e06d43ee5ee981e3d9603d73050ee92a8dd4dce7f0014839409cad1b7d SHA512 3023574e6b7e3037cb10ff20bf22e6b689f4fdf2f4ad04102b80e8dbe530a4d3f1c179dd9af1dab77f8a7d9da03573665ee22628b8ed35dbd655148b5621fc19
+DIST stripe-6.0.0.tar.gz 262261 BLAKE2B e91fbbda137cdaa78042b8914a85dcd3d75e04568f0d4ad72659d638aaa302f0b404f7893146a1affa7c8249f4f3965f674d6849378f9f89075b48df17c201a0 SHA512 dd0ca09faa605259ac4cf02887cfa7c51583e7d9b560cc98ad91ba161d101daeae7f27adf0650e701dc2fc8094315715125a79389d4765bd4bea74054ed6967b
diff --git a/dev-python/stripe/stripe-6.0.0.ebuild b/dev-python/stripe/stripe-6.0.0.ebuild
new file mode 100644
index 000000000000..229a65144b78
--- /dev/null
+++ b/dev-python/stripe/stripe-6.0.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2023 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,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.169.0
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+python_test() {
+ epytest tests
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index 74742b83c3a4..9f1669b2786c 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -8,3 +8,4 @@ DIST tox-4.6.3.tar.gz 172585 BLAKE2B 14d895a516fdb1b767c922633185b31904149e7fea9
DIST tox-4.6.4.tar.gz 172650 BLAKE2B 84164dbb02002d398e779b0c5e4617213fbfc711ded95faddde93711549eab9e69675f0a459ce60ba8357baf4e7d361f86b4cb85818972e5d018a61db179ba1a SHA512 b6a4673ea58e21b5e8b3d1330244d46ac7a36563a089b2e03cfcd7039386ab6afc437ebf4c516bbe373133a7beb54ebb380d39ab126be69f3601226f2273f3c2
DIST tox-4.7.0.tar.gz 172893 BLAKE2B 9611cbff7937e859ad923d40978804eede6eb372868c7af85597644a3568e775627361faa64587aa44c9e1e3bcf565fb4c6956d73fe973c258c90f005f5e5b14 SHA512 17c010af1dd402dd1dff86dca9154be16212bdbdafa4d83f6337e5c4ebd6f7256b7cf813ac8bb22d755873c89179caeecbaeed05c7e6dd6903251c3548fa8042
DIST tox-4.8.0.tar.gz 173370 BLAKE2B 85dafc76b2dd6fb012112020c12e570904bc7d587ebaded729cabf752e14f1f04ed4f7672e52012f5abaff9a68480a2710483b0f5e0a16fbde64f009c30f0df4 SHA512 e7d4b33df31574fb5b35100e79a9a620a967aa8c4a2add474a21fffa52129429cb54485aaddb44957d75b9875afc332f69afdf8c0c598096572e2c8f83756154
+DIST tox-4.9.0.tar.gz 173479 BLAKE2B 00fc440bbcafa6e0d521ce745af0fa7b9a33196fec4f29f2dcad10079d494e3703fa06558ceb26762162687f71f7c77b386f64bdff6b4ac0a78706d2b7fd0743 SHA512 62f0cdb4d425d935315babf90ab331fb772352e68b6c67cf96f1d13007245427e67968a08073cc07a4adf850a991bbbcbff742567808ca22bc231acc1e3692e2
diff --git a/dev-python/tox/tox-4.9.0.ebuild b/dev-python/tox/tox-4.9.0.ebuild
new file mode 100644
index 000000000000..b1c9dc71b86b
--- /dev/null
+++ b/dev-python/tox/tox-4.9.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/cachetools-5.3.1[${PYTHON_USEDEP}]
+ >=dev-python/chardet-5.2[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.10[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.2[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-api-1.5.3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+ >=dev-python/virtualenv-20.24.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/build-0.10[${PYTHON_USEDEP}]
+ >=dev-python/distlib-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/flaky-3.7[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.9.5[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.11.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-3.3.1[${PYTHON_USEDEP}]
+ >=dev-python/re-assert-1.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/time-machine-2.10[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[constraints-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit+requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_indirect-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_constraints_indirect-True-True]'
+ )
+
+ epytest
+
+ # tox leaves a *humonogous* tempdir which easily leads to ENOSPC
+ # when running in parallel with other packages
+ rm -r "${T}"/pytest* || die
+}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 5f94274a2869..6eec3654d980 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1,2 +1,3 @@
DIST types-docutils-0.20.0.1.tar.gz 9796 BLAKE2B 0d7d6b3af0b7c6bf604f7f366f6dc18b0326140b24c86265470eb3f80ececb90b22ec326f621400ebaf53bcafac123f4eee94432e12325d5134a90339c3fa2f9 SHA512 7a6d56ad4222cb8361f8755fc1bb9793b2ffa9aa01996566ccb360eddc5a154104e5ce0bfee64f8ee4770f0cdf9d6209ee4286a067d99a5f05ba40d13b44c1c2
DIST types-docutils-0.20.0.2.tar.gz 10168 BLAKE2B 444a915964b80dd3c92de3371e27639402ded89562ac633ebec0f580c7e4ead34aad3630b514c0ac0ea93beef3162e8c715b6e3b422981438dc35c552821e744 SHA512 172889c8f34ef8416aede3c7b401a6bfaf5a9e26570d5677c42faa43e04f3ec2a9e46b0cd8f98e92f366a1f6352bab0387cf0d566a7d654c8a38c5e3cdb2c8de
+DIST types-docutils-0.20.0.3.tar.gz 10207 BLAKE2B ea672c6eab14a29644e4a4ae0183484cc7af1a71b4adea7afb70c5c9b70e7f9cb563058f6492929da45409ec4153d03568951b9c79692e53e5daba8321fc7c7d SHA512 95b2ae79486a1d4aac1be85a67b04ebce399d6c7e862f14f7cb97d578db97980ab45c343ae4deafce8cf616e7368dddd58c0457a1f5ac092548b2068a2c50e0e
diff --git a/dev-python/types-docutils/types-docutils-0.20.0.3.ebuild b/dev-python/types-docutils/types-docutils-0.20.0.3.ebuild
new file mode 100644
index 000000000000..da179c373709
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.20.0.3.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/validators/validators-0.21.2.ebuild b/dev-python/validators/validators-0.21.2.ebuild
index e02c9e00f88b..6359cde51c7a 100644
--- a/dev-python/validators/validators-0.21.2.ebuild
+++ b/dev-python/validators/validators-0.21.2.ebuild
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
distutils_enable_tests pytest