summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-04-13 12:30:33 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-04-13 12:30:33 +0000
commitf5c7c3661eea489ba9e751c764a098a097ab895d (patch)
tree1c7d3881cbd1c037ed1ff9a51b4633896d3e0b31 /dev-python
parent8de686c6b1172e50892db47c6f2e2e8241182135 (diff)
downloadbaldeagleos-repo-f5c7c3661eea489ba9e751c764a098a097ab895d.tar.gz
baldeagleos-repo-f5c7c3661eea489ba9e751c764a098a097ab895d.tar.xz
baldeagleos-repo-f5c7c3661eea489ba9e751c764a098a097ab895d.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Faker/Faker-24.9.0.ebuild40
-rw-r--r--dev-python/Faker/Manifest1
-rw-r--r--dev-python/aiohttp-cors/aiohttp-cors-0.7.0-r2.ebuild23
-rw-r--r--dev-python/black/Manifest4
-rw-r--r--dev-python/black/black-24.1.0.ebuild55
-rw-r--r--dev-python/black/black-24.1.1.ebuild55
-rw-r--r--dev-python/black/black-24.4.0.ebuild (renamed from dev-python/black/black-24.2.0.ebuild)2
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.84.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.84.ebuild67
-rw-r--r--dev-python/docutils/Manifest1
-rw-r--r--dev-python/docutils/docutils-0.21.1.ebuild86
-rw-r--r--dev-python/docutils/files/docutils-0.21.1-test.patch42
-rw-r--r--dev-python/h5py/h5py-3.10.0-r1.ebuild4
-rw-r--r--dev-python/jaraco-collections/Manifest1
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild35
-rw-r--r--dev-python/json5/Manifest1
-rw-r--r--dev-python/json5/json5-0.9.25.ebuild21
-rw-r--r--dev-python/mypy/mypy-1.9.0.ebuild2
-rw-r--r--dev-python/pdm/Manifest1
-rw-r--r--dev-python/pdm/pdm-2.14.0.ebuild117
-rw-r--r--dev-python/pyglet/Manifest1
-rw-r--r--dev-python/pyglet/pyglet-2.0.12.ebuild79
-rw-r--r--dev-python/pyglet/pyglet-2.0.14.ebuild2
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild2
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.4.ebuild4
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-23.10.0.ebuild121
-rw-r--r--dev-python/svgelements/Manifest1
-rw-r--r--dev-python/svgelements/files/fix_tests.patch20
-rw-r--r--dev-python/svgelements/svgelements-1.9.3.ebuild43
-rw-r--r--dev-python/svgelements/svgelements-1.9.6-r1.ebuild (renamed from dev-python/svgelements/svgelements-1.9.6.ebuild)6
-rw-r--r--dev-python/xkbcommon/Manifest1
-rw-r--r--dev-python/xkbcommon/xkbcommon-1.0.ebuild43
-rw-r--r--dev-python/zeroconf/Manifest1
-rw-r--r--dev-python/zeroconf/zeroconf-0.132.2.ebuild56
-rw-r--r--dev-python/zope-interface/Manifest1
-rw-r--r--dev-python/zope-interface/zope-interface-6.3.ebuild51
39 files changed, 792 insertions, 254 deletions
diff --git a/dev-python/Faker/Faker-24.9.0.ebuild b/dev-python/Faker/Faker-24.9.0.ebuild
new file mode 100644
index 000000000000..b726995539a4
--- /dev/null
+++ b/dev-python/Faker/Faker-24.9.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
+ !dev-ruby/faker
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/validators[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
+ epytest
+}
diff --git a/dev-python/Faker/Manifest b/dev-python/Faker/Manifest
index d01aacb3cd13..068670fb5187 100644
--- a/dev-python/Faker/Manifest
+++ b/dev-python/Faker/Manifest
@@ -1,2 +1,3 @@
DIST Faker-24.4.0.tar.gz 1724351 BLAKE2B 2eeb2d660462b0f0b55aadd32768c9a5eaaf22a8036ae203dab7538b8c24f0e6fcdf08533c7737fe597dbe395a00a39c8c2d5e3a823133638a90a9ffa8d32f08 SHA512 5ea18faa39cf8506f007557b9a8c84bf2cc21d806a99991bf2fcced3d350f96daf3dd6a0a42dfdb7021b72156eb12ad84a930c669df011f39a17f4c290d08675
DIST Faker-24.8.0.tar.gz 1725365 BLAKE2B b2646766b993d946bf7965133b7484408370a2e8bed9091b713ffd427d545bb708027066b6787a78cd675659b4d342ac86c9f611aecfb7df3d0565a8066925f0 SHA512 d8fe7e411052bec485b40540317c88ff5aeae8a32ef2e53214816b190d4730c9f5af9157ac2c66aba5fbc887e995d0238f71deefdcf67300e49586c7995b60ff
+DIST Faker-24.9.0.tar.gz 1725521 BLAKE2B 30486824e1e9a33cb9bf018ebbe9845c65c5fbb797fd75c0798f854c487b5e02b30fad83dd1f94ef4650e5e6ec981ef3318e1b3ec7cc64169e2b3fb7f90a42d8 SHA512 18fb6970c90c1048fcfcc9bb3f557eb21374b9e0f128833ac32ad281019059d8a8a3a05a276b72d38bd9bd6315cf0846d7f8111f054191dae1149cdcaf08187d
diff --git a/dev-python/aiohttp-cors/aiohttp-cors-0.7.0-r2.ebuild b/dev-python/aiohttp-cors/aiohttp-cors-0.7.0-r2.ebuild
index 323e67ab4ba0..c631b72e7867 100644
--- a/dev-python/aiohttp-cors/aiohttp-cors-0.7.0-r2.ebuild
+++ b/dev-python/aiohttp-cors/aiohttp-cors-0.7.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -34,13 +34,20 @@ BDEPEND="
distutils_enable_tests pytest
-PATCHES=(
- # https://github.com/aio-libs/aiohttp-cors/pull/278
- "${FILESDIR}/${P}-tests.patch"
- "${FILESDIR}/${P}-py3_7.patch"
- # https://github.com/aio-libs/aiohttp-cors/pull/412
- "${FILESDIR}/${P}-py3_11.patch"
-)
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/aio-libs/aiohttp-cors/pull/278
+ "${FILESDIR}/${P}-tests.patch"
+ "${FILESDIR}/${P}-py3_7.patch"
+ # https://github.com/aio-libs/aiohttp-cors/pull/412
+ "${FILESDIR}/${P}-py3_11.patch"
+ )
+
+ # doesn't do anything, except for breaking pytest-8
+ rm conftest.py || die
+
+ distutils-r1_src_prepare
+}
python_test() {
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
diff --git a/dev-python/black/Manifest b/dev-python/black/Manifest
index a86b25069c71..dea8dcaaa157 100644
--- a/dev-python/black/Manifest
+++ b/dev-python/black/Manifest
@@ -1,5 +1,3 @@
DIST black-23.12.1.tar.gz 620809 BLAKE2B 8522183d8004dd094f87fc8efcbbbafede9f94ded2f67d4815059534da91c969067c5c508636c2654894109f91d8fb5b26f23351b5ffff451aeac8ed5d146da4 SHA512 1a90eadbb7ccf1dd6c4c7d858b3360b7c62c04bf1826dd4817ddb8d542c3155fc72a80d53aa3be34375bd7006ab65432e006572bc5d1eeb6ff23cfa460072e93
-DIST black-24.1.0.tar.gz 622911 BLAKE2B 371a334df390f758fe482dac42345ab0cd7058c2dcbb49f5ce4337fedfe5b330308ab2644438a447ae76413fc95b65ba0fb0ab68a3a294e12f2fe147cebdfc25 SHA512 f9d2315743b91dcc563f8e57d4bfb3d80aff2b6a8f426d348c84d23cbcc1fe85107b4b3d78f396959d10240b75586e29bb26d7e767d382cc9d977703f2fa8d09
-DIST black-24.1.1.tar.gz 623755 BLAKE2B 32e12a3c1b0ad7cb94970b8d887444e0ff05c8044ce7b843710ad4494b6c1d8d4e74a76ce79178bb468fc1ed813bd4e17d3b1ba24f4fe6a6c3aeaf4bf2afe499 SHA512 507555c330a4ef5869b11d9b3ad19b6234c035bb2a28fa497aac911303bbc2d546601c1d587c8a824403c346eb5b940aaec2989c20dffead6fa881e496be5672
-DIST black-24.2.0.tar.gz 631598 BLAKE2B 4533768f508408dbdcca72db4600ddf244cddadd985e960cd7292809ebc0e2ed7f89aeab1f9af84e17a58d232f19b146980b79804f9cf3036bf757464737022a SHA512 23a40d7b2463d657c849bc54745036a253c67df6c58cef210fa4ee3c820cd83f687e3661f765939a5da23f7b75b10bb59e8b233731f37f21dd0301129e3fb5ea
DIST black-24.3.0.tar.gz 634292 BLAKE2B 9a853a0943ba081ecb7a4c22913b060607ac47fb90b70a9645358d681f3eab55707ad6fe9ad9928ba0d39a8adf5dfde0168598a8abcc24b823b407287cefaf82 SHA512 57e3b651009578f1d15b6e9ffb49d24be80885b2cf7ad48a68407862778ac2099d119e7ba6d58ddea4fc7fc21345435a7572a970baf882f763d9347868d5504b
+DIST black-24.4.0.tar.gz 635902 BLAKE2B 2821c0f4674524d3457fb8cbf1f1224d9c7e76abdbb1e47bcd4d488ff560a417b3ad57223318b28951c92c59d13c4a2894a323865a2be2859e7b7e891c54064c SHA512 3f9150faa36413ffff3a65f9f55b33a6b69b3abec5bf649bfc0662a92faa41edc76e90151e27a74f04bc3defc0687c898d54b2f137d16d13ea46e86670aa7a98
diff --git a/dev-python/black/black-24.1.0.ebuild b/dev-python/black/black-24.1.0.ebuild
deleted file mode 100644
index 62cdfb3bf756..000000000000
--- a/dev-python/black/black-24.1.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="The uncompromising Python code formatter"
-HOMEPAGE="
- https://black.readthedocs.io/en/stable/
- https://github.com/psf/black/
- https://pypi.org/project/black/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
- >=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/aiohttp-3.7.4[${PYTHON_USEDEP}]
- dev-python/aiohttp-cors[${PYTHON_USEDEP}]
- dev-python/colorama[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # incompatible with xdist
- tests/test_black.py::TestCaching::test_output_locking_when_writeback_diff
- tests/test_black.py::TestCaching::test_failed_formatting_does_not_get_cached
-)
-
-pkg_postinst() {
- optfeature "blackd - HTTP API for black" \
- "dev-python/aiohttp dev-python/aiohttp-cors"
-}
diff --git a/dev-python/black/black-24.1.1.ebuild b/dev-python/black/black-24.1.1.ebuild
deleted file mode 100644
index 0ff16b6b34a4..000000000000
--- a/dev-python/black/black-24.1.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="The uncompromising Python code formatter"
-HOMEPAGE="
- https://black.readthedocs.io/en/stable/
- https://github.com/psf/black/
- https://pypi.org/project/black/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
- >=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/aiohttp-3.7.4[${PYTHON_USEDEP}]
- dev-python/aiohttp-cors[${PYTHON_USEDEP}]
- dev-python/colorama[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # incompatible with xdist
- tests/test_black.py::TestCaching::test_output_locking_when_writeback_diff
- tests/test_black.py::TestCaching::test_failed_formatting_does_not_get_cached
-)
-
-pkg_postinst() {
- optfeature "blackd - HTTP API for black" \
- "dev-python/aiohttp dev-python/aiohttp-cors"
-}
diff --git a/dev-python/black/black-24.2.0.ebuild b/dev-python/black/black-24.4.0.ebuild
index db16f124b7de..2150f4c5d194 100644
--- a/dev-python/black/black-24.2.0.ebuild
+++ b/dev-python/black/black-24.4.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
RDEPEND="
>=dev-python/click-8.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index dfc6f11c7efd..443cea51921c 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -5,3 +5,4 @@ DIST boto3-1.34.80.gh.tar.gz 793186 BLAKE2B aa45147344c21291f413580473bdd358d25e
DIST boto3-1.34.81.gh.tar.gz 793676 BLAKE2B 40e8eccfc1a619c5d542233faa13aa099fad43c6eddf669914cdbcd58c44bb13433ccad44d6aa2ef5162ba4f7725269b60e82d9093b2119b029eb884b0fdb4ef SHA512 a1823dd568f3e46bdea0830cd1a56aecd949d7e5f1e3558f759a672ed10f754faf546a69c8f1489dc203f04dc173de644689b6bdb53c4446f3cf81adbabc9211
DIST boto3-1.34.82.gh.tar.gz 794338 BLAKE2B ea4053423ed712e7ecbaeb749eb1f6a8bc4a2302f71662d10fb9014a2c95a7539943bbffb8175a1fbda9631c931aea2a756f337ccc2f59cd4bf4ae4b5063049b SHA512 d21b91f4f3fee6e91414ce75a39622a09ea7c570c5877fa140e88ea3ab04ce98a34167a973802766c5c654b9a038c536199cc330c1687af9b917ebf4767223a5
DIST boto3-1.34.83.gh.tar.gz 795426 BLAKE2B 22e43acbea7d09c4b5c682b4783acf6ca136e2b62f826928b91e17a495cc8ab6123aa9518c53bd31f029db792f1436e6d358eae35250de944236629924e6260f SHA512 d194d01c8b73c26e0f7c23f2c5f4eb863777eae59390f4824cb3e316f0ea8efee055584f8d8aa7718833a354ab5a96f8714e5fd9d8ec76dac2b268c92fe464fa
+DIST boto3-1.34.84.gh.tar.gz 796658 BLAKE2B 76ad7997f92167f1ed2f14a0a780a1a58b4a853ea132ca38797a228382ad8f55264dfaee99ebf6f8e2bea1848ec918f7b3b0943d0bb6a81b3b858e729b2e74c4 SHA512 55988d7ba69a46b986ed2cffd46b37a154baaa3a73ce62d9ee5b4b8b6f8987f714034ae4f3e59ed9907920216eaf8b18edea4c0fbac99037979b8b30e3b71133
diff --git a/dev-python/boto3/boto3-1.34.84.ebuild b/dev-python/boto3/boto3-1.34.84.ebuild
new file mode 100644
index 000000000000..509842b2699d
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.84.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+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() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 3729b31cf4d9..b0cca3b8810d 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -5,3 +5,4 @@ DIST botocore-1.34.80.gh.tar.gz 12886772 BLAKE2B a77200c5fa28ec9f1a8d65aae081309
DIST botocore-1.34.81.gh.tar.gz 12888862 BLAKE2B 75394b63e4617da9e41801de96b4fa2e590add49e7697771e018ab0ca161dbc3eab95b4af98a1886e8d41419b9e3508727912082708e0197f676437cd19091ef SHA512 dba689f4fe6b32eeb4ef32b49217849a5b6624f8ce3bfeb0857f88b98f84c38d4f04b3ef4c5d3e613ed96117f433cb16562984f6d826149dbbed80230d54386b
DIST botocore-1.34.82.gh.tar.gz 12892302 BLAKE2B d536197d6cd93e85d6e67bdf854a337c4fbf3702b699caf9b3d11553fd41b8de9f4cd10e410a1bcf27f20d2b83e19891afad1eebb064ba71d8779b1db7ee1de3 SHA512 5de261d295ad482ec13878fefc5775764345624eaf43fd0dc38d4419aa05a9d3a5f81ab1d1f09eeefaa70b5c87795dd8168105360005f2592ba7b6919bccfdb4
DIST botocore-1.34.83.gh.tar.gz 12904330 BLAKE2B f088d973612c94548b7c32d2254ff9e69dc6c1a700074757db286c9e185140bb4e9619bd548f84da71390028af4352c5431925b32036dd20ffbc7754ade9977f SHA512 0c2ca2fea142f7b44b58ae6b55c0393f7650b4a689a4d8f1dd62f1bd6b3b2a3fec87a4a837c2f748527e7e221ef4ff8c90353cd245677bbcf844eb59d9ddb966
+DIST botocore-1.34.84.gh.tar.gz 12910232 BLAKE2B 3a9f9073e34d203f05ae44f9dc437f4d325084dbe858e59008a7b0c826c53d6e9a1911f6e9203aa476787878de88a1d8a9c1e26cedc3c34bebf6739c9bb10fce SHA512 247578e628e5ea57cfb956a10c0975d7a2caa24617e8572f90ca2a0286c75077a732328cb2dde34c937113d288c4a8a346adc074aae14dcebfa16c309d801a31
diff --git a/dev-python/botocore/botocore-1.34.84.ebuild b/dev-python/botocore/botocore-1.34.84.ebuild
new file mode 100644
index 000000000000..857224b496b7
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.84.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/docutils/Manifest b/dev-python/docutils/Manifest
index 1b240bf273a9..520c7d2dd766 100644
--- a/dev-python/docutils/Manifest
+++ b/dev-python/docutils/Manifest
@@ -1,2 +1,3 @@
DIST docutils-0.19.tar.gz 2056383 BLAKE2B 9983a905642de4e81ca118578671b503ddfda4bef1afcc0524de40543e1f9617fd8d768ef467da49d2f01076683400bad6a0fe15f6b5a3a1e202c42b2e34ab1b SHA512 fb904a899f2b6f3c07c5079577bd7c52a3182cb85f6a4149391e523498df15bfa317f0c04095b890beeb3f89c2b444875a2a609d880ac4d7fbc3125e46b37ea5
DIST docutils-0.20.1.tar.gz 2058365 BLAKE2B 73fb8302599ffe57b0840c898b0b2e3ccd39ff9ea6eec2b5d345d02c950e1a8357bd821e62733b0484e82bc30e71d30fab381390b0edaef4375b02bcd9eeeb40 SHA512 a0ddca315d03677003036d6a8052ac96fbd3fcc4508564938ea684d79bedb4d322d83449c7b26e55b19b0aadd6e46ca9ac409bb16279a20f06c70e9c15ef5eb0
+DIST docutils-0.21.1.tar.gz 2201080 BLAKE2B a89792a69a7faa0eda7b2470e5e3a3d3cf8250a3577553a8f8f8d3d86d2693394e97dca6c75c1b4815748d2ce126ccd3f71dead5763ec8b70aee7be183165473 SHA512 2816fe074b12d7f15fb6730339f3af5f459f50af0cd2a4922194887f48bfd9931c2f2054a17a5418585b586502b96e05ed18600d31c523084537dc72707ab0ee
diff --git a/dev-python/docutils/docutils-0.21.1.ebuild b/dev-python/docutils/docutils-0.21.1.ebuild
new file mode 100644
index 000000000000..c2bb8e99c9c7
--- /dev/null
+++ b/dev-python/docutils/docutils-0.21.1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python Documentation Utilities (reference reStructuredText impl.)"
+HOMEPAGE="
+ https://docutils.sourceforge.io/
+ https://pypi.org/project/docutils/
+"
+
+# GPL-3+ only for emacs/rst.el
+LICENSE="BSD BSD-2 GPL-3+ PSF-2.4 public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=(
+ # minimal backport of upstream r9637, r9641
+ "${FILESDIR}/${P}-test.patch"
+)
+
+python_compile_all() {
+ # Generate html docs from reStructured text sources.
+
+ # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
+ cp docutils/writers/html4css1/html4css1.css . || die
+
+ cd tools || die
+ "${EPYTHON}" buildhtml.py --input-encoding=utf-8 --no-datestamp \
+ --stylesheet-path=../html4css1.css, --traceback ../docs || die
+}
+
+src_test() {
+ cd test || die
+ mkdir functional/output || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ "${EPYTHON}" alltests.py -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Install tools.
+ python_doscript tools/buildhtml.py
+}
+
+install_txt_doc() {
+ local doc="${1}"
+ local dir="txt/$(dirname ${doc})"
+ docinto "${dir}"
+ dodoc "${doc}"
+}
+
+python_install_all() {
+ local DOCS=( *.txt )
+ local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
+
+ distutils-r1_python_install_all
+
+ local doc
+ while IFS= read -r -d '' doc; do
+ install_txt_doc "${doc}"
+ done < <(find docs tools -name '*.txt' -print0)
+}
+
+pkg_postinst() {
+ optfeature \
+ "auto-detecting the image dimensions when using the 'scale' option" \
+ dev-python/pillow
+}
diff --git a/dev-python/docutils/files/docutils-0.21.1-test.patch b/dev-python/docutils/files/docutils-0.21.1-test.patch
new file mode 100644
index 000000000000..507fd239c166
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.21.1-test.patch
@@ -0,0 +1,42 @@
+diff --git a/test/test_writers/test_html5_polyglot_parts.py b/test/test_writers/test_html5_polyglot_parts.py
+index fb2792ee7..cb03fea2f 100644
+--- a/test/test_writers/test_html5_polyglot_parts.py
++++ b/test/test_writers/test_html5_polyglot_parts.py
+@@ -24,11 +24,20 @@ if __name__ == '__main__':
+
+ import docutils
+ import docutils.core
++from docutils.parsers.rst.directives.images import PIL
+ from docutils.utils.code_analyzer import with_pygments
+
+ ROOT_PREFIX = (Path(__file__).parent.parent/'functional'/'input').as_posix()
+ DATA_ROOT = os.path.abspath(os.path.join(__file__, '..', '..', 'data'))
+
++with_pygments = False
++PIL_NOT_FOUND_PATH = 'dummy.png'
++try:
++ if PIL and (tuple(int(i) for i in PIL.__version__.split('.')) >= (10, 3)):
++ PIL_NOT_FOUND_PATH = Path('dummy.png').resolve()
++except:
++ PIL = None
++
+
+ class Html5WriterPublishPartsTestCase(unittest.TestCase):
+ """Test case for HTML writer via the publish_parts interface."""
+@@ -642,14 +651,14 @@ totest['system_messages'] = ({'stylesheet_path': '',
+ .. image:: dummy.mp4
+ :scale: 100%
+ """,
+-{'fragment': """\
++{'fragment': f"""\
+ <img alt="dummy.png" src="dummy.png" />
+ <aside class="system-message">
+ <p class="system-message-title">System Message: WARNING/2 \
+ (<span class="docutils literal">&lt;string&gt;</span>, line 1)</p>
+ <p>Cannot scale image!
+ Could not get size from &quot;dummy.png&quot;:
+- [Errno 2] No such file or directory: 'dummy.png'</p>
++ [Errno 2] No such file or directory: '{PIL_NOT_FOUND_PATH}'</p>
+ </aside>
+ <aside class="system-message">
+ <p class="system-message-title">System Message: ERROR/3 \
diff --git a/dev-python/h5py/h5py-3.10.0-r1.ebuild b/dev-python/h5py/h5py-3.10.0-r1.ebuild
index c0936897f556..958237ddfbcb 100644
--- a/dev-python/h5py/h5py-3.10.0-r1.ebuild
+++ b/dev-python/h5py/h5py-3.10.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.10.0-
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="examples"
DEPEND="
diff --git a/dev-python/jaraco-collections/Manifest b/dev-python/jaraco-collections/Manifest
index e6f6b001a4b2..bd384cecbf1b 100644
--- a/dev-python/jaraco-collections/Manifest
+++ b/dev-python/jaraco-collections/Manifest
@@ -1 +1,2 @@
DIST jaraco.collections-5.0.0.tar.gz 17852 BLAKE2B 2ba362417835faea2f3ebfb24c8eeac2b302c64d2f653cf820f16218b5ae92aff270a14680ecee82847f65338d1dafbf9951e92f5874e7df79fd27918d9a2456 SHA512 bc4bf9159c3f2878fb3ed57e311c894986fa106af96423a612f25dbefb51f8dfc77fa1468612a224fbe26c64270745ff1c1db7d05d7c3f5d51040a8773298a73
+DIST jaraco.collections-5.0.1.tar.gz 17990 BLAKE2B a78de1a3222492dde34271edd8032dc5b8737dc428c1aa6b55ebda799ef4ff986cb0cf495bdbc35f9c776e1d576c2970ae6736ba8d8aa7f2fcc2e6766aefbbc3 SHA512 88b0f261acd91d585e643b810818762af7165eaf505099701b99ee3be6955eebcfd1c95690faa3ecb56b25f6982a8cee242e687e50ead56a557a5b2b72ec6dfe
diff --git a/dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild b/dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild
new file mode 100644
index 000000000000..90dc3aaef892
--- /dev/null
+++ b/dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Models and classes to supplement the stdlib collections module"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.collections/
+ https://pypi.org/project/jaraco.collections/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-1.15.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/json5/Manifest b/dev-python/json5/Manifest
index 4ea908a7c1a1..fe65b21d9761 100644
--- a/dev-python/json5/Manifest
+++ b/dev-python/json5/Manifest
@@ -1 +1,2 @@
DIST json5-0.9.24.tar.gz 40085 BLAKE2B 6e2823eb9aa982837111d587fc775fe6da11a5071a677d50ede6124cac7133faf99f8c73eeb61820eda2efe798d8ed8b30d3fb4601728a66cde294adcadd1b21 SHA512 ccc9fdc129a8857ca507601a7e52c119648550ecd9d256caf5bf558c7338998712b0e1d9294eb0fc62f630f53897f6993a56a352a5b7bcb49e21c4b989ac4ef3
+DIST json5-0.9.25.tar.gz 40332 BLAKE2B 4b24a2f3047c04ce80b0415340ce2d957d319bd45e804147710eb7c1eb0da97b083220839a6e11b852d8c9df5036e2a401060cdec93442245e220fc816d7811f SHA512 0ce3943af45e22415b30a3d43497236a1437adb67b739b97db7bb25b156bb254d0daf613f1f0ba5fafc5904708db81c8a786237ade757267f767afa88d5aa2f2
diff --git a/dev-python/json5/json5-0.9.25.ebuild b/dev-python/json5/json5-0.9.25.ebuild
new file mode 100644
index 000000000000..b753b823a262
--- /dev/null
+++ b/dev-python/json5/json5-0.9.25.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python implementation of the JSON5 data format"
+HOMEPAGE="
+ https://github.com/dpranke/pyjson5/
+ https://pypi.org/project/json5/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mypy/mypy-1.9.0.ebuild b/dev-python/mypy/mypy-1.9.0.ebuild
index 2d7ae7901aab..d2648556ff11 100644
--- a/dev-python/mypy/mypy-1.9.0.ebuild
+++ b/dev-python/mypy/mypy-1.9.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions"
# stubgen collides with this package: https://bugs.gentoo.org/585594
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index 3779c538aadd..170c9a23073f 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1,2 +1,3 @@
DIST pdm-2.12.4.tar.gz 2598160 BLAKE2B 9eecae679a577c9d6172a07ad633be8b840ac5d972ad0e468b368dabc716203d10c5f0c78e87b815aa30af3be37f6370bcb6623fc5d272a52b6c3e4490112455 SHA512 12cabaff90f962ac195a484ea2bafa8a5ec9debdaf90b59b81d28eee51f854b9ac6d894e22a16c5ad8b69740c5df6a6573942a82c4ea5482819e60bc903c8358
DIST pdm-2.13.3.tar.gz 2609678 BLAKE2B 58eb9fda4bc30fc37ef43b38fa140252242c22a062c4ddef49e90c0ece102cb36ea2186b02fb995a895c6eb80c0da9e602c42c15e83158b3e19fa5d0f55e8d6a SHA512 ea4b0e51d13effe8749a95237799de304047dcec8efc22a41d0985c97ff39447065a9fc84f4510b18055527dd64695bcee4129abcf34221573b2b9d39c2a3c92
+DIST pdm-2.14.0.tar.gz 2610646 BLAKE2B d0b6c6fc576315b1bcc81c2555731cc0945c0482d912dab9d26edae3bf24dc2c933afc8f9bfb72c482e40540892d1c53fc01d164578dad9245d3c54b72109849 SHA512 07f3b7840dc577d3884e1149c15c33e8618c4ab922ac7c5b69f0b32f8481c3532ca77a5a650cf33d32bdb4437610727894b55fa622b002d54144bbbf5e66483f
diff --git a/dev-python/pdm/pdm-2.14.0.ebuild b/dev-python/pdm/pdm-2.14.0.ebuild
new file mode 100644
index 000000000000..bca07476e981
--- /dev/null
+++ b/dev-python/pdm/pdm-2.14.0.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/blinker[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.2.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/truststore[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/hishel[${PYTHON_USEDEP}]
+ dev-python/pbs-installer[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.15.0[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.6.0[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/cli/test_build.py::test_build_with_no_isolation[False]'
+ tests/test_project.py::test_access_index_with_auth
+ "tests/test_project.py::test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[True]"
+ tests/cli/test_others.py::test_build_distributions
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo]'
+ tests/models/test_candidates.py::test_find_candidates_from_find_links
+ tests/cli/test_build.py::test_build_single_module
+ tests/cli/test_build.py::test_build_single_module_with_readme
+ tests/cli/test_build.py::test_build_package
+ tests/cli/test_build.py::test_build_src_package
+ tests/cli/test_build.py::test_build_package_include
+ tests/cli/test_build.py::test_build_src_package_by_include
+ tests/cli/test_build.py::test_build_with_config_settings
+ tests/cli/test_build.py::test_cli_build_with_config_settings
+ tests/cli/test_build.py::test_build_ignoring_pip_environment
+ tests/cli/test_others.py::test_show_self_package
+ tests/cli/test_publish.py::test_publish_and_build_in_one_run
+ "tests/cli/test_hooks.py::test_hooks[build]"
+ "tests/cli/test_hooks.py::test_hooks[publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-publish]"
+ "tests/cli/test_venv.py::test_conda_backend_create[True]"
+ "tests/cli/test_venv.py::test_conda_backend_create[False]"
+ tests/cli/test_lock.py::test_lock_all_with_excluded_groups
+ # hangs on interactive keyring prompts
+ tests/cli/test_config.py::test_repository_overwrite_default
+ tests/cli/test_config.py::test_hide_password_in_output_repository
+ tests/cli/test_config.py::test_hide_password_in_output_pypi
+ # junk output, sigh
+ tests/cli/test_others.py::test_info_command_json
+ # why does it try to use python 2.7?!
+ tests/cli/test_run.py::test_import_another_sitecustomize
+ # fails in tinderbox (bug #928964)
+ tests/test_project.py::test_project_packages_path
+ )
+ [[ ${EPYTHON} != python3.10 ]] && EPYTEST_DESELECT+=(
+ # test seems hardcoded to 3.10
+ tests/test_project.py::test_project_packages_path
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network and not integration and not path" \
+ -p pytest_mock
+}
diff --git a/dev-python/pyglet/Manifest b/dev-python/pyglet/Manifest
index 83ca1a016ab6..459a5368daf0 100644
--- a/dev-python/pyglet/Manifest
+++ b/dev-python/pyglet/Manifest
@@ -1,3 +1,2 @@
-DIST pyglet-2.0.12.gh.tar.gz 6415028 BLAKE2B ba1a697fe4e75b77da2b4ed7c1fa7b95269eb6f67502103fba158ec9fca636fe6027c6ece10c517ed4f7bbaae063b62d947cf9963bb4ed31b842eb7fddf793cb SHA512 e94009f002b295df891367f7e2b30f692606b0a35c1475e9ddf7f463ef5286691f8755f804b24c382fbea97ab2d58dfd51422110be9994a520dce6d365b90df0
DIST pyglet-2.0.14.gh.tar.gz 6420548 BLAKE2B af4d354f49b6d413c35eb9f455a580a0981156b597590a5430f2e380940e815b9a0e9067b0fe47965ad4e88ae7771158fca39d52fd83fea3539cb9252500a7fa SHA512 ffbe2ab0847cd2635970c919fca3c9c190949c8843d5c7e6b7b702e32cf6e09dd4a6f9e7f2ea55134abd7f0ec9ecff347a64aa5771e0e64e67c169d3c60944ec
DIST pyglet-2.0.15.gh.tar.gz 6426555 BLAKE2B 8066ac7c3acd613a6fe02403ec5c88822744d6f7ab5e0043ca01443ab94249be7e542bc97f5354286bd3f5675c1c2e4d108ab474d659efe2905b9892e44ece0c SHA512 8b85264a9f13505f86cef694ebdf1e1ff707980b6ec9d205a1c1ef639b2de0c837926476f8a26b33b7ad8a0cd7d9acfefdd0707bace1734db4185a48f01305d4
diff --git a/dev-python/pyglet/pyglet-2.0.12.ebuild b/dev-python/pyglet/pyglet-2.0.12.ebuild
deleted file mode 100644
index d3bec72bb04d..000000000000
--- a/dev-python/pyglet/pyglet-2.0.12.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 virtualx xdg-utils
-
-DESCRIPTION="Cross-platform windowing and multimedia library for Python"
-HOMEPAGE="
- https://pyglet.org/
- https://github.com/pyglet/pyglet/
- https://pypi.org/project/pyglet/
-"
-SRC_URI="https://github.com/pyglet/pyglet/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE="examples image +sound"
-
-RDEPEND="
- virtual/glu
- virtual/opengl
- image? (
- || (
- dev-python/pillow[${PYTHON_USEDEP}]
- x11-libs/gtk+:2
- )
- )
- sound? (
- || (
- media-libs/libpulse
- media-libs/openal
- )
- )
-"
-# ffmpeg? ( media-libs/avbin-bin )
-BDEPEND="
- test? (
- dev-python/pillow[${PYTHON_USEDEP}]
- media-libs/fontconfig
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- xdg_environment_reset
-
- local EPYTEST_DESELECT=(
- # lacking device/server permissions
- tests/unit/media/test_listener.py::test_openal_listener
- tests/unit/media/test_listener.py::test_pulse_listener
- # fragile to system load
- tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume
- tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
- )
-
- # Specify path to avoid running interactive tests
- # We could add in integration tests, but they're slow
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest tests/unit || die "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyglet/pyglet-2.0.14.ebuild b/dev-python/pyglet/pyglet-2.0.14.ebuild
index 915b3bd7a0c7..d3bec72bb04d 100644
--- a/dev-python/pyglet/pyglet-2.0.14.ebuild
+++ b/dev-python/pyglet/pyglet-2.0.14.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/pyglet/pyglet/archive/v${PV}.tar.gz -> ${P}.gh.tar.g
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86 ~amd64-linux ~x86-linux"
IUSE="examples image +sound"
RDEPEND="
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild
index f0f075b3a815..5a83eabca4be 100644
--- a/dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild
+++ b/dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${PN}-${P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv ~x86"
IUSE="opengl svg"
REQUIRED_USE="test? ( opengl svg )"
diff --git a/dev-python/python-ldap/python-ldap-3.4.4.ebuild b/dev-python/python-ldap/python-ldap-3.4.4.ebuild
index f5155da7d772..4ef0e7aeae23 100644
--- a/dev-python/python-ldap/python-ldap-3.4.4.ebuild
+++ b/dev-python/python-ldap/python-ldap-3.4.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ S=${WORKDIR}/${PN}-${P}
LICENSE="MIT PSF-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~riscv sparc x86"
IUSE="examples sasl ssl"
RDEPEND="
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 9dce0edb90ad..8248ca3d5a84 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -19,6 +19,7 @@ DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d7
DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
+DIST sqlglot-23.10.0.tar.gz 12967869 BLAKE2B da7f6bb47c359d564de40e5a13d1fc77526602e62a8a1f8952fbe01b56f9c1e6ec3163660b5b811ed79c5b79b4743bbedfa9b54da35365d7a72f906908c07387 SHA512 84b6fa716e129dfb304c98e8b72fb418f86d90e653f5b9986b82ccc750d9dcc71df419c69a67c95401afb0a0a1a46ea1659b5717f66ba63e6a1586ccffc539aa
DIST sqlglot-23.7.0.tar.gz 12930040 BLAKE2B 2edd122e351286948f7adeaea6ead40a4c4ffbe9ff141f8fb0ded2ba8153ff90d051b4c6e5335f0ebb07c816956cb39164918bddc7ab2ef6c805e8713338243e SHA512 31d7eba56a74943cbff4275280c527a1ceeaa69b26fc992b7b227e9bcb836487ce57dfb1f562df1b6780128b1479d2c7f65a8497cb237e6618d8be9ad972130d
DIST sqlglot-23.8.0.tar.gz 12933026 BLAKE2B 4f29458d6fc4e45b81e37882a3722dcc82a3cc5e3103234f81629c01fb14ff5aa157d6faf006ed10be15d275b0e5a5575b320aa54d673ddd7be08135c67b5d55 SHA512 dd69eb0fe28cbfb6b928c1e2cfe020469da759e75fa73912160e743ae3285cef816b898f3668dd4da87f9f37649310ff67d0f02ee0787c32eff09a15b4ed7138
DIST sqlglot-23.8.1.tar.gz 12945839 BLAKE2B f9b182c0d1a5929ea9cc2b508d681fdef2b22c8c89f81eeb428bd94760a548446fd113573d466b87d51f71688c3ed2605c1626987dfdd4e834aa34b686e3b092 SHA512 8ad53f29bd99cb55db8cad09f17b301eb56a0add53b81e322acb997d822be075c4f28324643b3f5740be1bf69f58c03f163ab3506852e038381d6148502ebc47
diff --git a/dev-python/sqlglot/sqlglot-23.10.0.ebuild b/dev-python/sqlglot/sqlglot-23.10.0.ebuild
new file mode 100644
index 000000000000..c040bab3734b
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-23.10.0.ebuild
@@ -0,0 +1,121 @@
+# Copyright 2023-2024 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_{8,9,10,11,12} )
+
+CARGO_OPTIONAL=1
+CRATES="
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ heck@0.4.1
+ indoc@2.0.4
+ libc@0.2.150
+ lock_api@0.4.11
+ memoffset@0.9.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ proc-macro2@1.0.70
+ pyo3-build-config@0.20.0
+ pyo3-ffi@0.20.0
+ pyo3-macros-backend@0.20.0
+ pyo3-macros@0.20.0
+ pyo3@0.20.0
+ quote@1.0.33
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ smallvec@1.11.2
+ syn@2.0.41
+ target-lexicon@0.12.12
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ # remove fragile timing check
+ sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/svgelements/Manifest b/dev-python/svgelements/Manifest
index d6f172c7eb5e..ed721653ef43 100644
--- a/dev-python/svgelements/Manifest
+++ b/dev-python/svgelements/Manifest
@@ -1,2 +1 @@
-DIST svgelements-1.9.3.gh.tar.gz 132345 BLAKE2B 63e433f99fd0adc3f9512fd1457ace8c12d7f922960ae4cbc1b84ffda27ba1bf00e3dd12e88dabb70235227969298e4e6bedad450f29dda20afcaf9a342f0441 SHA512 9a3bc3c665566662859996ba06ac4c5bb5ee425b008b9312a44d07aaca64fb7bd6e3f7d614cdfd709944efdf74fb7da3cc0ab8ecd0c812dff3dcf16305ae8f22
DIST svgelements-1.9.6.gh.tar.gz 134884 BLAKE2B c6b5c3e3b7a27b0972c78e8ad290c2880b7418d11cded3769d3c591ddcefa85d5e4ddcd5df186e181178cc6ca2054d1a48ea4a715f3506fcd16d53d5baed206f SHA512 c92004a103cb0073f91e0d4f2710a841855ba5079924d106db33df8994c482656a7c3358336c3fcae3127f2b6e668595b2339913e7c8f8364277fedbe0b854c3
diff --git a/dev-python/svgelements/files/fix_tests.patch b/dev-python/svgelements/files/fix_tests.patch
new file mode 100644
index 000000000000..413e29914bb9
--- /dev/null
+++ b/dev-python/svgelements/files/fix_tests.patch
@@ -0,0 +1,20 @@
+Fix https://bugs.gentoo.org/927876
+--- a/test/test_cubic_bezier.py
++++ b/test/test_cubic_bezier.py
+@@ -79,4 +79,4 @@ class TestElementCubicBezierPoint(unittest.TestCase):
+ p = Path(transform=Matrix(682.657124793113, 0.000000000003, -0.000000000003, 682.657124793113, 257913.248909660178, -507946.354527872754))
+ p += CubicBezier(start=Point(-117.139521365,1480.99923469), control1=Point(-41.342266634,1505.62725567), control2=Point(40.3422666342,1505.62725567), end=Point(116.139521365,1480.99923469))
+ bounds = p.bbox()
+- self.assertNotAlmostEquals(bounds[1], bounds[3], delta=100)
++ self.assertNotAlmostEqual(bounds[1], bounds[3], delta=100)
+--- a/test/test_write.py
++++ b/test/test_write.py
+@@ -24,7 +24,7 @@ class TestElementWrite(unittest.TestCase):
+
+ def test_write_group(self):
+ g = Group()
+- self.assertEquals(g.string_xml(), "<g />")
++ self.assertEqual(g.string_xml(), "<g />")
+
+ def test_write_rect(self):
+ r = Rect("1in", "1in", "3in", "3in", rx="5%")
diff --git a/dev-python/svgelements/svgelements-1.9.3.ebuild b/dev-python/svgelements/svgelements-1.9.3.ebuild
deleted file mode 100644
index babc629f874c..000000000000
--- a/dev-python/svgelements/svgelements-1.9.3.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="SVG Parsing for Elements, Paths, and other SVG Objects."
-HOMEPAGE="https://github.com/meerk40t/svgelements https://pypi.org/project/svgelements"
-SRC_URI="https://github.com/meerk40t/svgelements/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-DEPEND="${BDEPEND}"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- default
- mv "${S}/test" "${S}_tests"
-}
-
-python_test() {
- cd "${T}" || die
- epytest "${S}_tests"
-}
-
-pkg_postinst() {
- optfeature "getting exact value for arc lenght computation" dev-python/scipy
- optfeature "loading images" dev-python/pillow
- optfeature "speeding up linearization for Shapes" dev-python/numpy
-}
diff --git a/dev-python/svgelements/svgelements-1.9.6.ebuild b/dev-python/svgelements/svgelements-1.9.6-r1.ebuild
index babc629f874c..13562bd8cf1c 100644
--- a/dev-python/svgelements/svgelements-1.9.6.ebuild
+++ b/dev-python/svgelements/svgelements-1.9.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,6 +16,10 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
+PATCHES=(
+ "${FILESDIR}/fix_tests.patch"
+)
+
BDEPEND="
test? (
dev-python/numpy[${PYTHON_USEDEP}]
diff --git a/dev-python/xkbcommon/Manifest b/dev-python/xkbcommon/Manifest
index e2afa5bebb5b..91101265c16c 100644
--- a/dev-python/xkbcommon/Manifest
+++ b/dev-python/xkbcommon/Manifest
@@ -1 +1,2 @@
DIST python-xkbcommon-0.8.gh.tar.gz 26951 BLAKE2B 0d2a649e3fee8baa9345ddca97dc7c77b5d9e10d7ca90cbb29bcc3531f4bba3deee39e610e147054e956310506fb79ebb43c85955b787e55046d67c12b851026 SHA512 ae2640ef89e7ace0468e970762c7be4d3f608701f1abea10174f274c622db28a6e6323cdc5bbbbaaa1065d4c4ddf9f67b75d4c34bb2e9a0bb6260778b15a330a
+DIST python-xkbcommon-1.0.gh.tar.gz 27258 BLAKE2B 3106877f8e87f50453a358eec4e6431642b00a6a2bc23d3088ef22379984869ec84cd042a1ac53dd72783f3005dad1efddf3f87410204b88bfde4f9da0044c97 SHA512 c7793d6f5517771006ff5a9c01deb9a37717157d7171af49ff459dc96b3b16a1d2d4c0f1272b5a8f683390de1e8e6a6ff92472f18828c7e38e0f2a1ee6f34f07
diff --git a/dev-python/xkbcommon/xkbcommon-1.0.ebuild b/dev-python/xkbcommon/xkbcommon-1.0.ebuild
new file mode 100644
index 000000000000..7d4d4266d6dd
--- /dev/null
+++ b/dev-python/xkbcommon/xkbcommon-1.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2023-2024 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+MY_P=python-xkbcommon-${PV}
+DESCRIPTION="Python bindings for libxkbcommon using cffi"
+HOMEPAGE="
+ https://github.com/sde1000/python-xkbcommon/
+ https://pypi.org/project/xkbcommon/
+"
+SRC_URI="
+ https://github.com/sde1000/python-xkbcommon/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+# x11-libs/libxkbcommon dep per README
+RDEPEND="
+ >=x11-libs/libxkbcommon-${PV}
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf xkbcommon || die
+
+ epytest
+}
diff --git a/dev-python/zeroconf/Manifest b/dev-python/zeroconf/Manifest
index 6afd524da9d6..95e2af190e39 100644
--- a/dev-python/zeroconf/Manifest
+++ b/dev-python/zeroconf/Manifest
@@ -1,2 +1,3 @@
DIST zeroconf-0.131.0.tar.gz 169253 BLAKE2B 64247bdca5f8a226e73078b0395fa273649d3baea54fe52c350bf5117527e4290974843385f5b23568a6350bb41fa0af13a6999ef4e880fc42952dde21126296 SHA512 7b7f5494a589306c458dc4fedd940aab86918e9979d5b9f0a466d28b74795c83351f82fdf501a983e9df3e32a8be9a88af3486e79ade23ab73d889610331d89a
DIST zeroconf-0.132.0.tar.gz 170270 BLAKE2B 2ef40ab7d3aafb21f3b82b2e47598034ab821218f80082f26be3e41ac1197ea52a57657e45f38b41a8113164fbde2a8839264c9284c82b64327c443afad1726e SHA512 b8ccbb6f196db9404361e4ec85bc2a9f9801335a188ba6e4f1090afe1f042d82b69545f5db9b8c5d99720f1a7fbc77029ff0f624b8d17837b3dc8b41029e56a7
+DIST zeroconf-0.132.2.tar.gz 170698 BLAKE2B 7c76e2a00571a19b23f288dc1183da6ce274ebdf3f64f323e282f444011f7cbf90a63e02a991936a2cfa2d227568b31444b8f61f1110588638d4e888dd8749a6 SHA512 686cdfd2f32c6bad03fb5fd287b1e22f2f0b5099a8971dcff1d9fca7e63bc8069b195feb97be710c20fae8c524ab92143e395cdfec26ede103295d1aa4d32a8f
diff --git a/dev-python/zeroconf/zeroconf-0.132.2.ebuild b/dev-python/zeroconf/zeroconf-0.132.2.ebuild
new file mode 100644
index 000000000000..4068af29f913
--- /dev/null
+++ b/dev-python/zeroconf/zeroconf-0.132.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
+HOMEPAGE="
+ https://github.com/python-zeroconf/python-zeroconf/
+ https://pypi.org/project/zeroconf/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# the build system uses custom build script that uses distutils to build
+# C extensions, sigh
+BDEPEND="
+ >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export REQUIRE_CYTHON=1
+
+python_test() {
+ local -x SKIP_IPV6=1
+ local EPYTEST_DESELECT=(
+ # network
+ tests/test_core.py::Framework::test_close_multiple_times
+ tests/test_core.py::Framework::test_launch_and_close
+ tests/test_core.py::Framework::test_launch_and_close_context_manager
+
+ # fragile to timeouts (?)
+ tests/services/test_browser.py::test_service_browser_expire_callbacks
+ tests/utils/test_asyncio.py::test_run_coro_with_timeout
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/zope-interface/Manifest b/dev-python/zope-interface/Manifest
index d19d60e2a73b..9c747136d0ae 100644
--- a/dev-python/zope-interface/Manifest
+++ b/dev-python/zope-interface/Manifest
@@ -1 +1,2 @@
DIST zope.interface-6.2.tar.gz 247528 BLAKE2B 4112579da95e763bb5feca7fc8845896178afd5e3fb181a5945de80cf579d0c66373e9ee9cbff97964f79750908b5e4650316b3df1cef16a267c3625268cec46 SHA512 42c169ba88e0e4fe7895f0956250ddb5f3e9aef3e73a801ef71b0e94f906e9f597008de16955a7a8a5ca59551b800e6f000c70ffb3f486a7cbb7bf9caa00059d
+DIST zope.interface-6.3.tar.gz 294679 BLAKE2B e70c0581213776a685ff8e208a418f82adc5df2d53cc00316e38621dfa05559836416a897366cf7df76784405490c3cb137ff48d35287812f503a4685e2e75be SHA512 fcc318fd098ca91a4617f2a15123cb727c4ebcdeb56b4e0c59475a55d67afdfeb2f2e2d0fdef462e22236c8733ba2c5982ba72c8e75648be6bf55116f5d39139
diff --git a/dev-python/zope-interface/zope-interface-6.3.ebuild b/dev-python/zope-interface/zope-interface-6.3.ebuild
new file mode 100644
index 000000000000..e7ac2640a571
--- /dev/null
+++ b/dev-python/zope-interface/zope-interface-6.3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Interfaces for Python"
+HOMEPAGE="
+ https://github.com/zopefoundation/zope.interface/
+ https://pypi.org/project/zope.interface/
+"
+
+LICENSE="ZPL"
+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"
+
+RDEPEND="
+ !dev-python/namespace-zope
+"
+BDEPEND="
+ test? (
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # strip rdep specific to namespaces
+ sed -e "/'setuptools'/d" -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ distutils_write_namespace zope
+ eunittest
+}