summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-08-29 19:07:30 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-08-29 19:07:30 +0000
commit3cadcf2b09e54ab27ff13e1686bd530f53932b25 (patch)
tree19e1351835d14c0dbdd2e19f45320e20045ddd7e /dev-python
parent3559ae4998565f024820244061ee01c5512b32b7 (diff)
downloadbaldeagleos-repo-3cadcf2b09e54ab27ff13e1686bd530f53932b25.tar.gz
baldeagleos-repo-3cadcf2b09e54ab27ff13e1686bd530f53932b25.tar.xz
baldeagleos-repo-3cadcf2b09e54ab27ff13e1686bd530f53932b25.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiodns/aiodns-3.2.0.ebuild2
-rw-r--r--dev-python/aiohttp/aiohttp-3.10.5.ebuild2
-rw-r--r--dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild2
-rw-r--r--dev-python/atpublic/atpublic-5.0.ebuild2
-rw-r--r--dev-python/cattrs/Manifest1
-rw-r--r--dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild9
-rw-r--r--dev-python/cattrs/cattrs-24.1.0.ebuild106
-rw-r--r--dev-python/click-option-group/click-option-group-0.5.6.ebuild2
-rw-r--r--dev-python/deepdiff/Manifest1
-rw-r--r--dev-python/deepdiff/deepdiff-8.0.1.ebuild68
-rw-r--r--dev-python/dj-database-url/dj-database-url-2.2.0.ebuild2
-rw-r--r--dev-python/dj-email-url/dj-email-url-1.0.6.ebuild2
-rw-r--r--dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild2
-rw-r--r--dev-python/django-cache-url/django-cache-url-3.4.5.ebuild2
-rw-r--r--dev-python/django-configurations/django-configurations-2.5.1.ebuild2
-rw-r--r--dev-python/django/django-5.0.8.ebuild2
-rw-r--r--dev-python/gmpy/gmpy-2.2.1.ebuild2
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/mpmath/mpmath-1.3.0-r1.ebuild2
-rw-r--r--dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild2
-rw-r--r--dev-python/orderly-set/Manifest1
-rw-r--r--dev-python/orderly-set/metadata.xml10
-rw-r--r--dev-python/orderly-set/orderly-set-5.2.2.ebuild35
-rw-r--r--dev-python/pikepdf/Manifest6
-rw-r--r--dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch26
-rw-r--r--dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild67
-rw-r--r--dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild67
-rw-r--r--dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild71
-rw-r--r--dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild61
-rw-r--r--dev-python/pikepdf/pikepdf-9.0.0.ebuild79
-rw-r--r--dev-python/pikepdf/pikepdf-9.1.0.ebuild74
-rw-r--r--dev-python/pikepdf/pikepdf-9.1.1.ebuild2
-rw-r--r--dev-python/pycares/pycares-4.4.0.ebuild2
-rw-r--r--dev-python/pypy-exe-bin/Manifest8
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.17.ebuild82
-rw-r--r--dev-python/pypy-exe/Manifest2
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.17.ebuild181
-rw-r--r--dev-python/pypy3/pypy3-7.3.17.ebuild26
-rw-r--r--dev-python/pypy3_10-exe-bin/Manifest8
-rw-r--r--dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.17.ebuild85
-rw-r--r--dev-python/pypy3_10-exe/Manifest2
-rw-r--r--dev-python/pypy3_10-exe/pypy3_10-exe-7.3.17.ebuild136
-rw-r--r--dev-python/pypy3_10/Manifest2
-rw-r--r--dev-python/pypy3_10/pypy3_10-7.3.17.ebuild212
-rw-r--r--dev-python/pysubs2/pysubs2-1.7.2.ebuild2
-rw-r--r--dev-python/pytest-django/pytest-django-4.8.0.ebuild2
-rw-r--r--dev-python/seedir/seedir-0.5.0.ebuild2
-rw-r--r--dev-python/srt/srt-3.5.3.ebuild2
-rw-r--r--dev-python/sybil/sybil-6.1.1.ebuild2
-rw-r--r--dev-python/tblib/tblib-3.0.0.ebuild2
-rw-r--r--dev-python/testfixtures/testfixtures-8.3.0.ebuild2
-rw-r--r--dev-python/zenlib/Manifest2
-rw-r--r--dev-python/zenlib/zenlib-2.2.4.ebuild (renamed from dev-python/zenlib/zenlib-2.2.2.ebuild)0
56 files changed, 1019 insertions, 484 deletions
diff --git a/dev-python/aiodns/aiodns-3.2.0.ebuild b/dev-python/aiodns/aiodns-3.2.0.ebuild
index 4779c94c984c..5a54b7089889 100644
--- a/dev-python/aiodns/aiodns-3.2.0.ebuild
+++ b/dev-python/aiodns/aiodns-3.2.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
# Tests fail with network-sandbox, since they try to resolve google.com
PROPERTIES="test_network"
diff --git a/dev-python/aiohttp/aiohttp-3.10.5.ebuild b/dev-python/aiohttp/aiohttp-3.10.5.ebuild
index d23d110c71a7..0cb3bc353fa3 100644
--- a/dev-python/aiohttp/aiohttp-3.10.5.ebuild
+++ b/dev-python/aiohttp/aiohttp-3.10.5.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="test-rust"
RDEPEND="
diff --git a/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild b/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild
index 8b9be835e5ef..7065b5c8c015 100644
--- a/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild
+++ b/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
>=dev-python/atpublic-4.0[${PYTHON_USEDEP}]
diff --git a/dev-python/atpublic/atpublic-5.0.ebuild b/dev-python/atpublic/atpublic-5.0.ebuild
index 5ad7aff4e0cc..6bd14c5e9242 100644
--- a/dev-python/atpublic/atpublic-5.0.ebuild
+++ b/dev-python/atpublic/atpublic-5.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest
index a1333f1e47f1..773c0f2a9dad 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1,2 +1,3 @@
DIST cattrs-23.2.3.gh.tar.gz 612120 BLAKE2B a227cc50cb23a76931562f17444fcfb4a5532cac74f80b478a8abb6d113cbb0a06c471c3ca7ee256f74640486464762f4a13387ccfc1cd144cfd1a9bfecddd8e SHA512 76a75ea0893bb1549dd5178436c4823ae5b918c16f0d8195203c48e894438ec792cee77698d783f7e43c07445c46a6041a309c3d3bbcadcff95d9c4079e3d622
+DIST cattrs-24.1.0.gh.tar.gz 428347 BLAKE2B 21bb94de02b6fce1c456e0d66dbd38defdd1171d4eb815e92ddc9777b12a108e099a5ce0dce4e51c1175cc1771d517ae0d201ac7ff537fbddf2329dce6f88f51 SHA512 879fd9edef39ad325237439915aa2d92c346c9896d463a4c3835335c3b9fb8bc572834a7d7731ccf6b805e59dec481cfdfed50ae8d4899fa31118b6ac6926c1a
DIST cattrs-6290cacdb7f9d195b4f96ce0ab036c8eebf35d94.gh.tar.gz 426769 BLAKE2B 61851be04434e55d627aac6fd73d72d9d4d8a150bedb6110f4b99068dd58ed29fd23ff083c595eb508b144546d8e4d1e926831dc51985775773ab86a86d98815 SHA512 f1034ae0c57a0618c6568ebac0696928e125121431e965c0ceeda82070a21b448630e3188cc03a8d7a44447126a4a2623b8604ef856a89268e1c0802761d89b9
diff --git a/dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild b/dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild
index 470445cdc811..10822880b554 100644
--- a/dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild
+++ b/dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild
@@ -73,6 +73,15 @@ python_test() {
tests/test_preconf.py::test_msgspec_json_unstruct_collection_overrides
tests/test_preconf.py::test_msgspec_json_unions
tests/test_preconf.py::test_msgspec_json_converter
+
+ # tests need updating for attrs-24*
+ # https://github.com/python-attrs/cattrs/issues/575
+ tests/test_baseconverter.py
+ tests/test_converter.py
+ tests/test_gen_dict.py::test_individual_overrides
+ tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl
+ tests/test_gen_dict.py::test_unmodified_generated_structuring
+ tests/test_structure_attrs.py::test_structure_simple_from_dict_default
)
if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
diff --git a/dev-python/cattrs/cattrs-24.1.0.ebuild b/dev-python/cattrs/cattrs-24.1.0.ebuild
new file mode 100644
index 000000000000..4c6956aade43
--- /dev/null
+++ b/dev-python/cattrs/cattrs-24.1.0.ebuild
@@ -0,0 +1,106 @@
+# Copyright 2022-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
+
+DESCRIPTION="Composable complex class support for attrs and dataclasses"
+HOMEPAGE="
+ https://pypi.org/project/cattrs/
+ https://github.com/python-attrs/cattrs/
+"
+SRC_URI="
+ https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
+ >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
+ test-rust? (
+ $(python_gen_cond_dep '
+ >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-attrs/cattrs/pull/543
+ "${FILESDIR}/${PN}-23.2.4_pre20240627-py313.patch"
+)
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # requires msgspec
+ tests/preconf/test_msgspec_cpython.py
+ )
+ local EPYTEST_DESELECT=(
+ # these require msgspec
+ tests/test_preconf.py::test_msgspec_json_unstruct_collection_overrides
+ tests/test_preconf.py::test_msgspec_json_unions
+ tests/test_preconf.py::test_msgspec_json_converter
+
+ # tests need updating for attrs-24*
+ # https://github.com/python-attrs/cattrs/issues/575
+ tests/test_baseconverter.py
+ tests/test_converter.py
+ tests/test_gen_dict.py::test_individual_overrides
+ tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl
+ tests/test_gen_dict.py::test_unmodified_generated_structuring
+ tests/test_structure_attrs.py::test_structure_simple_from_dict_default
+ )
+
+ if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_preconf.py::test_orjson
+ tests/test_preconf.py::test_orjson_converter
+ tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ tests/preconf/test_pyyaml.py::test_pyyaml
+ tests/preconf/test_pyyaml.py::test_pyyaml_converter
+ tests/test_converter.py::test_simple_roundtrip
+ tests/test_gen_dict.py::test_unmodified_generated_structuring
+ tests/test_generics.py::test_unstructure_deeply_nested_generics_list
+ tests/test_unstructure_collections.py::test_collection_unstructure_override_mapping
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= tests
+}
diff --git a/dev-python/click-option-group/click-option-group-0.5.6.ebuild b/dev-python/click-option-group/click-option-group-0.5.6.ebuild
index ef0f23647de5..5c853ae4dcbf 100644
--- a/dev-python/click-option-group/click-option-group-0.5.6.ebuild
+++ b/dev-python/click-option-group/click-option-group-0.5.6.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
RDEPEND="
dev-python/click[${PYTHON_USEDEP}]
diff --git a/dev-python/deepdiff/Manifest b/dev-python/deepdiff/Manifest
index 3a6e7680a331..8e3f48391611 100644
--- a/dev-python/deepdiff/Manifest
+++ b/dev-python/deepdiff/Manifest
@@ -1 +1,2 @@
DIST deepdiff-7.0.1.tar.gz 421718 BLAKE2B b6441b9c035db0cc6e4fa83811999e8a83b3faed2ea95bcbdad158486e583ea9d707595d2342f83d0c25f6a5c086a8070c714253e2db09fcaf43de1616d46cda SHA512 facc15beb82744a1b8baf29e0d8f06625e8d4ee4ed7ab5f1b131ad9d44134215651d1c6b19493c83532f612d81752df14aec2dbccc73cb5b994e0bafcaf5bbc2
+DIST deepdiff-8.0.1.tar.gz 427721 BLAKE2B 0725a87ef17f9e1984594ccca7d954d608cfa0a6ea2c17b03d679bf5cd67135a1c5e3f21d749c18f1f91a5537e9ddaf179fb5b0a5ea135776415f5c0d82be274 SHA512 240662fb3e2408383fae4f6d4e5707357285e0058828d754dd09a94d1ccc29b854381a542dc2042842c79a57307b02d9ad009cc3106b35b0058612fabc0bcf96
diff --git a/dev-python/deepdiff/deepdiff-8.0.1.ebuild b/dev-python/deepdiff/deepdiff-8.0.1.ebuild
new file mode 100644
index 000000000000..aca139af526e
--- /dev/null
+++ b/dev-python/deepdiff/deepdiff-8.0.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2023-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 pypi
+
+DESCRIPTION="A library for comparing dictionaries, iterables, strings and other objects"
+HOMEPAGE="
+ https://github.com/seperman/deepdiff/
+ https://pypi.org/project/deepdiff/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
+ >=dev-python/orderly-set-5.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+"
+
+DEPEND="
+ test? (
+ >=dev-python/jsonpickle-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23.5[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:==:>=:' requirements.txt || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # benchmarks
+ tests/test_lfucache.py::TestLFUcache::test_lfu
+ # requires polars
+ tests/test_hash.py::TestDeepHashPrep::test_polars
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # changed exception message
+ "tests/test_command.py::TestCommands::test_diff_command[t1_corrupt.json-t2.json-Expecting property name enclosed in double quotes-1]"
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/dj-database-url/dj-database-url-2.2.0.ebuild b/dev-python/dj-database-url/dj-database-url-2.2.0.ebuild
index f18cfa5667a8..c3366e984261 100644
--- a/dev-python/dj-database-url/dj-database-url-2.2.0.ebuild
+++ b/dev-python/dj-database-url/dj-database-url-2.2.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/django[${PYTHON_USEDEP}]
diff --git a/dev-python/dj-email-url/dj-email-url-1.0.6.ebuild b/dev-python/dj-email-url/dj-email-url-1.0.6.ebuild
index b440747650b6..1646671b7b0e 100644
--- a/dev-python/dj-email-url/dj-email-url-1.0.6.ebuild
+++ b/dev-python/dj-email-url/dj-email-url-1.0.6.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
DOCS=( CHANGELOG.rst README.rst )
diff --git a/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild b/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild
index 44e8f583cbc6..e46550d02120 100644
--- a/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild
+++ b/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild
@@ -17,4 +17,4 @@ HOMEPAGE="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
diff --git a/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild b/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild
index 756c2ed59a9b..f074b389f45a 100644
--- a/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild
+++ b/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
dev-python/django[${PYTHON_USEDEP}]
diff --git a/dev-python/django-configurations/django-configurations-2.5.1.ebuild b/dev-python/django-configurations/django-configurations-2.5.1.ebuild
index 418587e5d1b1..73cc20cd1381 100644
--- a/dev-python/django-configurations/django-configurations-2.5.1.ebuild
+++ b/dev-python/django-configurations/django-configurations-2.5.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/django/django-5.0.8.ebuild b/dev-python/django/django-5.0.8.ebuild
index 4a9ff84cb7fb..d4166479ac49 100644
--- a/dev-python/django/django-5.0.8.ebuild
+++ b/dev-python/django/django-5.0.8.ebuild
@@ -28,7 +28,7 @@ LICENSE+=" Apache-2.0"
# admin icons, jquery, xregexp.js
LICENSE+=" MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86 ~x64-macos"
IUSE="doc sqlite test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/gmpy/gmpy-2.2.1.ebuild b/dev-python/gmpy/gmpy-2.2.1.ebuild
index dd82e2bdda1d..13d1c6ecdd20 100644
--- a/dev-python/gmpy/gmpy-2.2.1.ebuild
+++ b/dev-python/gmpy/gmpy-2.2.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="LGPL-3+"
SLOT="2"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
DEPEND="
>=dev-libs/mpc-1.0.2:=
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index 37a64204a00a..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
-EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9b3521c5721afa49a58e0c35267f7d82bb56bd7e1d6d3152be0d36cd220180a526cb20b90b1113fbf0fff4a512137570f0b3bcf864498b7b7cc00403cb61ca27 SHA512 16d311400bf84a5f04e15f3da4b68b2810e4b005009f4d03dc8a487176dfc294403c976c412c83dcfa8084a49ef7b7d5389b43fb2ba446ce107ce4595e3558c6
-MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,7 +18,7 @@ setup(
+ author_email='michal.danilak@gmail.com',
+ url='https://github.com/Mimino666/langdetect',
+ keywords='language detection library',
+- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
+ include_package_data=True,
+ install_requires=['six'],
+ license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index c09b7356f549..630fe63c6f53 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,4 +19,6 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
+
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 020e07f2a3dd..c0f74ac187e2 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,11 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/mpmath/mpmath-1.3.0-r1.ebuild b/dev-python/mpmath/mpmath-1.3.0-r1.ebuild
index 2ba7853df5d4..63622e15e3fe 100644
--- a/dev-python/mpmath/mpmath-1.3.0-r1.ebuild
+++ b/dev-python/mpmath/mpmath-1.3.0-r1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
index e5cccf963785..b5bfa9ece088 100644
--- a/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
+++ b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
diff --git a/dev-python/orderly-set/Manifest b/dev-python/orderly-set/Manifest
new file mode 100644
index 000000000000..358b3bb944d6
--- /dev/null
+++ b/dev-python/orderly-set/Manifest
@@ -0,0 +1 @@
+DIST orderly-set-5.2.2.gh.tar.gz 21460 BLAKE2B 5660d7550d5c79351fcc66e611ba776d6340d0fc1f3a5344f308cbc00a7b2c47045a1cfe8c6ac76c7976a65b17953362e91d60d87a7fbb02f36a5d67f074dfe9 SHA512 d480677c04f32e69cc9361dff383765fe2c9df971ad77cdcbab3b650a0bad27b9bd99144cd406d5185440d674bc838acb1c2ba3a4b115fcff2eba34c19589637
diff --git a/dev-python/orderly-set/metadata.xml b/dev-python/orderly-set/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/orderly-set/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/orderly-set/orderly-set-5.2.2.ebuild b/dev-python/orderly-set/orderly-set-5.2.2.ebuild
new file mode 100644
index 000000000000..b5fb657934ef
--- /dev/null
+++ b/dev-python/orderly-set/orderly-set-5.2.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 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
+
+DESCRIPTION="A package containing multiple implementations of Ordered Set"
+HOMEPAGE="
+ https://github.com/seperman/orderly-set/
+ https://pypi.org/project/orderly-set/
+"
+# incomplete test directory
+# https://github.com/seperman/orderly-set/pull/3
+SRC_URI="
+ https://github.com/seperman/orderly-set/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unconditional mypy dep for a test that is not even run
+ # https://github.com/seperman/orderly-set/pull/5
+ sed -i -e '/mypy\.api/d' tests/*.py || die
+}
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index 848cef598828..98260c7018be 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -1,9 +1,3 @@
-DIST pikepdf-8.11.2.tar.gz 2870263 BLAKE2B 6cf3666baca5d20b125efc3f6d8cfe7f96b9334b8a39da67fe3f4185f41232d8a18bf902f21bfe33e4259b7fb61e7dc462a247c76bf4564a3bdf0ea987119d91 SHA512 57bf5d16aaf9367eef9407f7f406a5ee74f2060d276ab861379c74c2193d02b2e3cca0925ee29813791bb36fae8dbbba4a9b16a7f4c2d19c67c21bbe7bb3f80f
-DIST pikepdf-8.14.0.tar.gz 2870612 BLAKE2B be0fd5a8d48fccc7695c45acc28cbda8252529d0687197c261e077e8c3a63e3597e504bf2aae2ab09648c0f127228d517bfa630ed77ea90bc28c8f3463854779 SHA512 f0e073df952cd850e0529fa798743a09f249a998450be1393b109b21850cf86b80c8813b55db778dc4e265df48af7619fccfac30ec9195c3ac724b8c7724e858
-DIST pikepdf-8.15.1.tar.gz 2870723 BLAKE2B 958bb2a417e2f1c9e5e4448b47cdadffb10e82841cc8173503881a86e92e85c05f800a8ad6936f32ee53e6f7a8cd62ee9e28e251de1f32a7cdce055139ec5fa3 SHA512 ae6b0b8bdf7e395943caf503f1d498861bd2719185e6382a522b8c0d4e38413a1b070e912367852bc5735d29b8453d05c57ff384ede825830722470445a534f6
-DIST pikepdf-8.4.1.tar.gz 2853305 BLAKE2B 2298514159db17ba49b8e2fa2407d60de50273bea111ece704251d99193bdc4c8ed77f624237a49c3f4f129e3b14ac4ddd1006cf3024bcbf822bc5523e0fee35 SHA512 6989e8a3888f612e453ec1ea8425c0ca35ccfee19ae5e8c32df136ebc3fbb7728d9fe5beaacb4e392a20c9037a1009fc8f8d53d73634427fb0df9103626e34fa
-DIST pikepdf-9.0.0.tar.gz 2868331 BLAKE2B 6735938fd2c0e8bb6a5fb40896350a2caa2ee20f8982010574a4e682c8ff19d01bc6773d30f78e2d4a5d58496de9dfa8fe9584f1c954205ed4832753addbd373 SHA512 15248d523cebdfbfcd7a5f8b6144b7dc8371612bd77ba3847af1ce626b5d87780911346d3c61bfe7cef545a19f1863c1a4048b35ace56f2cb62dcb962272829d
-DIST pikepdf-9.1.0.tar.gz 2869103 BLAKE2B 39750e280caa2393b69a5c3c841afa9cbb0d5701a20ae9ca4e9a57088cae47e2dd33ca8b605b0b096df131b578a4cdc71eb8696d12b2817426b35a8b13668460 SHA512 0fbf1ca151b6a234cd23a5148c9e8e4e033c5da5c935b4786fe6167555da7016c55b124dd2f9e8dc414c9782829f38412227820229a8459cc9dbe03220620fae
DIST pikepdf-9.1.1.tar.gz 2869514 BLAKE2B b196a61d599db1355695d40ac69e09ea7a020cb10c246685792b7f6f7854b5dce63dd2f675a542fa256ac713c7a7ce49ba7ddd248fbe901fe267641df399ca74 SHA512 0b3c2c89d9226212806791e00470c2c64147f0738d26bfe9c5288414cf515760213e3cdc70a62ef3f53a0ee43b7d8e2cc0076f14fe22bdbac2ff50e0a8984164
DIST pikepdf-9.1.2.tar.gz 2869865 BLAKE2B 74b64d628f12a5335a9dfbe2e15fbbd0a39e266100bcc8b33e94c954aab91150f46649b181bf049cd1084a6d2412ea9485cc57d4d6a23a4678a5ea55ebbb7357 SHA512 676d68f05a506b6aa69e1b01d03164de6731d17b48d2cd4b123221ebe27aef04a75d458c897c53d504a0b3aa7d0bc3e78aaf707a3cfdcdf8d31ee5e537188bd3
DIST pikepdf-9.2.0.tar.gz 2905389 BLAKE2B f38335075db489007eba582d57a72fd5fa268f89105dc528131c14d53547673cbffa96b376ba27e9b04dac3bab6770e80bb0ac865e7549eb1c00e4ea4eb3ba27 SHA512 0e2c5e647ccb24691c11eeb41569a8f7250fb8ca55a5c76aa1ae250c9fc49cd2bfe73db6f599928b14d46a678ef71b6e6f430e134d9891139176b90a2f853e17
diff --git a/dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch b/dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch
deleted file mode 100644
index d0415daec69c..000000000000
--- a/dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 6831e87bb94322b7ca53964a57ba575861b5916c Mon Sep 17 00:00:00 2001
-From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
-Date: Wed, 19 Jun 2024 18:35:06 -0400
-Subject: [PATCH] Fix tests with Python 3.13
-
-The exception message changed to:
-```
-property '' of 'Page' object has no deleter
-```
----
- tests/test_page.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/test_page.py b/tests/test_page.py
-index 3e5cc345..05455a93 100644
---- a/tests/test_page.py
-+++ b/tests/test_page.py
-@@ -293,7 +293,7 @@ def test_page_attrs(graph):
-
- del graph.pages[0].Resources
- with pytest.raises(
-- AttributeError, match=r"can't delete|property of 'Page' object has no deleter"
-+ AttributeError, match=r"can't delete|property( '')? of 'Page' object has no deleter"
- ):
- del graph.pages[0].obj
- del graph.pages[0]['/Contents']
diff --git a/dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild b/dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild
deleted file mode 100644
index aa8afbc8b078..000000000000
--- a/dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# 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
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.7.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- media-libs/tiff[zlib]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
-}
diff --git a/dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild b/dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild
deleted file mode 100644
index 97cb7b962e28..000000000000
--- a/dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# 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
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- media-libs/tiff[zlib]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
-}
diff --git a/dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild b/dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild
deleted file mode 100644
index 60ff54cb6bd1..000000000000
--- a/dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# 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
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="big-endian"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- !big-endian? (
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- )
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- media-libs/tiff[zlib]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
-}
diff --git a/dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild b/dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild
deleted file mode 100644
index a81c08a2941d..000000000000
--- a/dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# 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
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecation[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-9.0[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10})
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-9.0.0.ebuild b/dev-python/pikepdf/pikepdf-9.0.0.ebuild
deleted file mode 100644
index 105b9feea5a9..000000000000
--- a/dev-python/pikepdf/pikepdf-9.0.0.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_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="big-endian"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- !big-endian? (
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- )
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- media-libs/tiff[zlib]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
- tests/test_image_access.py::test_image_save_compare
- tests/test_image_access.py::test_palette_nonrgb
-)
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/pikepdf/pikepdf/commit/6831e87bb94322b7ca53964a57ba575861b5916c
- "${FILESDIR}/${P}-py313.patch"
- )
-
- distutils-r1_src_prepare
-
- sed -e '/-n auto/d' -i pyproject.toml || die
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
-}
diff --git a/dev-python/pikepdf/pikepdf-9.1.0.ebuild b/dev-python/pikepdf/pikepdf-9.1.0.ebuild
deleted file mode 100644
index c7127610dbe9..000000000000
--- a/dev-python/pikepdf/pikepdf-9.1.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# 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
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="big-endian"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- !big-endian? (
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- )
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- media-libs/tiff[zlib]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed -e '/-n auto/d' -i pyproject.toml || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
- tests/test_image_access.py::test_image_save_compare
- tests/test_image_access.py::test_palette_nonrgb
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
-}
diff --git a/dev-python/pikepdf/pikepdf-9.1.1.ebuild b/dev-python/pikepdf/pikepdf-9.1.1.ebuild
index f299ad7bebe0..ce574db9e30c 100644
--- a/dev-python/pikepdf/pikepdf-9.1.1.ebuild
+++ b/dev-python/pikepdf/pikepdf-9.1.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MPL-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="big-endian"
# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
diff --git a/dev-python/pycares/pycares-4.4.0.ebuild b/dev-python/pycares/pycares-4.4.0.ebuild
index f0b146656a3c..7f89a8af5679 100644
--- a/dev-python/pycares/pycares-4.4.0.ebuild
+++ b/dev-python/pycares/pycares-4.4.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="test"
# Tests fail with network-sandbox, since they try to resolve google.com
PROPERTIES="test_network"
diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest
index 99f05463c4e2..cfb7f821ecac 100644
--- a/dev-python/pypy-exe-bin/Manifest
+++ b/dev-python/pypy-exe-bin/Manifest
@@ -6,3 +6,11 @@ DIST pypy-exe-7.3.16-1.ppc64le-musl.gpkg.tar 6707200 BLAKE2B 3d3a3d0c0fef3a69c6c
DIST pypy-exe-7.3.16-1.ppc64le.gpkg.tar 11038720 BLAKE2B 1a7aa31d9ec59a3aeb57c254d2b9efde9d02aba1663683999f1ebae95b2ad0c68a2fc8e4806420b1ad9f45ce4767f8e048b9607d1f124291770a99b423ae799f SHA512 5659cdb5a4a001d9c878670b0f5e7d06e6aa55d8fab403ab80a98e6b362bb8185b01fe4af092cc9042a1762ca52cc0ce81937c84240d08ebb84071cd860559e2
DIST pypy-exe-7.3.16-1.x86-musl.gpkg.tar 9912320 BLAKE2B c6a42ce64cfda1a148af49e0876b640fb3ecaa7e70b5d5b22e58b9796c11b0e4d9fb5536927b7b20b05b9eaa2210333cb1b1be81581483a21a7a3699e5721e01 SHA512 8964ece7482218e06ab65b790f8f1fcf15a94c270daa9a2381b35ae335717a02f0b32947578fa03f0905a0783cb5fcf3ef03cb87a7ceaa7110c8593e483a971e
DIST pypy-exe-7.3.16-1.x86.gpkg.tar 9861120 BLAKE2B b83fa9e3c3bbbd7c49ea2fdceabd7125e0db36ee20c2b71969833512f69070e07a1485ab830261f34e2571dbd48b9b65ffb580e9f8ae4b667626ca81b560c493 SHA512 eb2be6886126c675fc85458d34a0bcdd1da1415c843448e39d413b80d363698cb48b3b68bf8869b5ef898f0543966ab501bd4db545d7659705c279bf4de29ae6
+DIST pypy-exe-7.3.17-1.amd64-musl.gpkg.tar 12974080 BLAKE2B 965c086bb660e50c8c58a2c4ffdb9d762d7d99a4c2bc619af4c7b5916dce263170809f75af24f34f7ea8d60f4c1aea8dace5102493363e0fc4d55bd994234cf5 SHA512 731c5f4f9680466e848ee08e3e459773fef5d36622092b4479852aed3ef069a0a544a7711312b65b2c40e3cb96e56037301d09b51ec775842d67e8416ea0200c
+DIST pypy-exe-7.3.17-1.amd64.gpkg.tar 12881920 BLAKE2B ade52bb94ef78629ca6154b8e149e4cb1af72efae3c1f30217659532b68aac50e083c378d029c25f9ec5c6d7323467fcba91af1c1d1d9f6ba375669b2df9099a SHA512 4d4861858daa9046fb036cd489dd6a13e5490034aadc60bdc49e05a3edee4b95578a41b635bc3b95a7eb5ff59375585a44956914a9003765fab2585750118848
+DIST pypy-exe-7.3.17-1.arm64-musl.gpkg.tar 10977280 BLAKE2B fc56e03dc73a2c1881f6adcfa30eee3069a3ffc7b7efc77e85703bb831f2b183f794104f39934e78b29f4e1fea42f520200e456fe9902fe13efdfcaaba5dba67 SHA512 28af13342a8f0d9c435106b0f7c991ddaecdd995ff1f3c84cdc85ae78d69e6d7088e488776eb10f933aec20b0ce0522a2c4b2ef6efddff6fdab5a5e6c3e80d63
+DIST pypy-exe-7.3.17-1.arm64.gpkg.tar 10905600 BLAKE2B f6eafea6599d466f7acf8296ef59b3b2e8ca55b9dee69088dcd13067b3b0ceeca7baeff9ebf1b316b8db8f041046f9989c37b3ce26b194cce76e702fd4957872 SHA512 e44012949a4ac94b5d5b70577de531e0c52faed280c5c4666d2fb398f24458241117fa4844b323446e4df3801e2fa16fa252f729d25e5cd4ca5adc32a995dd21
+DIST pypy-exe-7.3.17-1.ppc64le-musl.gpkg.tar 6696960 BLAKE2B 805d8fb087b8123437fc1bda16c6686d36cf51a574e3a5dd2d245a42f5bc3574315875f84bf4cb88c9c388d1cd8879332d76913228619900643b4beb592efe87 SHA512 cb886d1f14cd01f53deb5a6f80d7ee0f0298722fd43c897970179165c8aecede86526f77ad185558e9bb2fe8384d88f16d1a75d45e50f1a4f35448c545fb4dac
+DIST pypy-exe-7.3.17-1.ppc64le.gpkg.tar 11110400 BLAKE2B b8e3f503f448226c7d59942281cb64fe4bd648a5777ec483de0f549221ddcf71f347f88b9c11070f8875657851e07cfdf4e9ef634e811c0a3dda664cd04543ca SHA512 e4e2f16e2eed8946a1ad07ba3d4ba8677beeda3731b46838a5284e6309b3966ddf8fa9992c4519b19797f633d2288d4f231fc41e992e83683de0ad7b239c5d22
+DIST pypy-exe-7.3.17-1.x86-musl.gpkg.tar 9891840 BLAKE2B 3391ad3558baa88741a38549e12666ee669d5949f234e104e5687001928aaf7836573192ded6342fd690337589da10d4f45389c02d15cf3bc10ebc4a7de2d12c SHA512 cf30b7c8f779317126ced75d84b383644a4d90cc65a9d2e75019dd68bb29079fdb0e96312c26ee3f7185f6c64e3a7a0c21d66fdcf18a5c68ce87936dd49d6043
+DIST pypy-exe-7.3.17-1.x86.gpkg.tar 9850880 BLAKE2B 08487e276cf616c5c9191a0a29cc6a297f9eab5ce8382d591b01e7da3239b4bef482bba1566b17ca85f3729b4d5ae6bef6d13940b5e7b1dcd9a7b03d7eaec2ac SHA512 70f6660321483361a1de6e5ccf2854daf892282858d2a0a00ce3055103d7f90f1788cea4b5b18913f11c17ce0f6c999551ee5374f897717d33eb06e913310960
diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.17.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.17.ebuild
new file mode 100644
index 000000000000..c45dc2f35843
--- /dev/null
+++ b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.17.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+MY_P=pypy-exe-${PV}-1
+DESCRIPTION="PyPy executable (pre-built version)"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy-exe:${SLOT}
+"
+
+QA_PREBUILT="
+ usr/lib/pypy2.7/pypy-c-${SLOT}
+"
+
+src_install() {
+ insinto /
+ doins -r */image/usr
+ fperms +x "/usr/lib/pypy2.7/pypy-c-${SLOT}"
+ pax-mark m "${ED}/usr/lib/pypy2.7/pypy-c-${SLOT}"
+}
diff --git a/dev-python/pypy-exe/Manifest b/dev-python/pypy-exe/Manifest
index 07bbe9c11ef5..70f1cb0dfe14 100644
--- a/dev-python/pypy-exe/Manifest
+++ b/dev-python/pypy-exe/Manifest
@@ -1,2 +1,4 @@
DIST pypy2.7-gentoo-patches-7.3.16.tar.xz 5312 BLAKE2B b265dd7afee097ad66bacd9df01514eed6bb30afe19410b2594ee7c2d61ababc67e11c0dd0392a0b1f81e0bc609963cde044834ab24e67d007d101b8aa8052cb SHA512 0d0309f3ed7314f6d310b0e34eedbbfdcc5a75d9bbd59b9071e567968bb10925549435776fab5bc7ec97e2b3422921dc282619427f930d89df6c7bc98ea701c1
+DIST pypy2.7-gentoo-patches-7.3.17.tar.xz 5324 BLAKE2B 866f172a6df6f0e94a98c611b37ae58635623e33a47619a5e44658d3908337a3f9029ff7de6997f760c3f1679fc83bfc6ddfb66852c492a581b3336b5eec3ed2 SHA512 6ce5266d0748f3c18a5546aa2bd8479ecb45923eb7df8a140a195e7f7b44999b9167ffdd44f7fd789ddd3a62cd77cb917863b0144180a1127befce1f290e650a
DIST pypy2.7-v7.3.16-src.tar.bz2 19843601 BLAKE2B 9c37a03561fcdf742eccde760f6cadcbc2e1b140dd6d3e67856cc072e0c3db85759c398f590ed44fb4e4ed2f5f7745d5589cb9a95cefcbec79f3b1be6c4956e1 SHA512 131635433e53d4d86730a3daf1ad81799a7dd1117511618cc2607ac7234ce3aa5c833400df09cbd3376a391e125d6d2ec3471f120f81a6d53700f5c3d087793c
+DIST pypy2.7-v7.3.17-src.tar.bz2 19907140 BLAKE2B de62ebc4e8102867effdecddca64c19c40458b112a6a56ac0c95247047b9f5437a5da68dffb51c14c21bce463c2ca489c6e6a4f86e8cc597b57df2eca707081e SHA512 82b2b9dbf0ea32c405ddc53d98a3a7a153f494d286e8719a0c40960168aadc0f49c3b313416488338f7f51c8fdb58120de41b1d47a8c8eda7db6d4ec4273b4eb
diff --git a/dev-python/pypy-exe/pypy-exe-7.3.17.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.17.ebuild
new file mode 100644
index 000000000000..1d0e028d87c8
--- /dev/null
+++ b/dev-python/pypy-exe/pypy-exe-7.3.17.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+MY_P=pypy2.7-v${PYPY_PV/_}
+PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
+
+DESCRIPTION="PyPy executable (build from source)"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
+
+DEPEND="
+ >=sys-libs/zlib-1.1.3:0=
+ dev-libs/libffi:0=
+ virtual/libintl:0=
+ dev-libs/expat:0=
+ bzip2? ( app-arch/bzip2:0= )
+ ncurses? ( sys-libs/ncurses:0= )
+"
+RDEPEND="
+ ${DEPEND}
+ !dev-python/pypy-exe-bin:${PYPY_PV}
+"
+# don't enforce the dep on dev-python/pypy with USE=low-memory
+# since it's going to cause circular dep with unhelpful error message
+BDEPEND="
+ !low-memory? (
+ || (
+ dev-python/pypy
+ dev-lang/python:2.7
+ )
+ )
+"
+
+check_env() {
+ if ! has_version -b dev-python/pypy; then
+ if use low-memory; then
+ eerror "USE=low-memory requires (a prior version of) dev-python/pypy"
+ eerror "installed."
+ else
+ ewarn "CPython 2.7 will be used to perform the translation. Upstream"
+ ewarn "recommends using (a prior version of) dev-python/pypy instead."
+ fi
+ elog "You can install a prebuilt version of PyPy first using e.g.:"
+ elog " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
+
+ if use low-memory; then
+ die "dev-python/pypy needs to be installed for USE=low-memory"
+ fi
+ fi
+
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ )
+
+ # Avoid linking against libraries disabled by use flags
+ local opts=(
+ bzip2:bz2
+ ncurses:_minimal_curses
+ )
+
+ local opt
+ for opt in "${opts[@]}"; do
+ local flag=${opt%:*}
+ local mod=${opt#*:}
+
+ args+=(
+ $(usex ${flag} --withmod --withoutmod)-${mod}
+ )
+ done
+
+ local interp
+ if use low-memory || has_version -b dev-python/pypy; then
+ einfo "Using already-installed PyPy to perform the translation."
+ interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+ else
+ einfo "Using CPython 2.7 to perform the translation."
+ interp=( python2.7 )
+
+ # reuse bundled pycparser to avoid external dep
+ mkdir -p "${T}"/pymod/cffi || die
+ : > "${T}"/pymod/cffi/__init__.py || die
+ cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
+ local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ local dest=/usr/lib/pypy2.7
+ exeinto "${dest}"
+ newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV}
+ insinto "${dest}"/include/${PYPY_PV}
+ doins include/pypy_*
+ pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3/pypy3-7.3.17.ebuild b/dev-python/pypy3/pypy3-7.3.17.ebuild
new file mode 100644
index 000000000000..4aa3928c48c5
--- /dev/null
+++ b/dev-python/pypy3/pypy3-7.3.17.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYVER=3.10
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://pypy.org/
+ https://foss.heptapod.net/pypy/pypy/
+"
+S=${WORKDIR}
+
+LICENSE="MIT"
+SLOT="0/pypy310-pp73-384"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+gdbm ncurses sqlite tk"
+
+RDEPEND="
+ =dev-python/pypy3_10-${PV}*:${SLOT}[gdbm?,ncurses?,sqlite?,tk?]
+"
+
+src_install() {
+ dodir /usr/bin
+ dosym pypy${PYVER} /usr/bin/pypy3
+}
diff --git a/dev-python/pypy3_10-exe-bin/Manifest b/dev-python/pypy3_10-exe-bin/Manifest
index ed0d59b28191..79545ff9e64a 100644
--- a/dev-python/pypy3_10-exe-bin/Manifest
+++ b/dev-python/pypy3_10-exe-bin/Manifest
@@ -6,3 +6,11 @@ DIST pypy3_10-exe-7.3.16-1.ppc64le-musl.gpkg.tar 6819840 BLAKE2B a3ae523a26a187b
DIST pypy3_10-exe-7.3.16-1.ppc64le.gpkg.tar 10352640 BLAKE2B 53d2804ef1a95de1edf4765261deb4c53accf59b8b2d827b2dec24a279424629322a701bd3942d05e4e13f52e796c119c237d32bf334287daad8664e1e76e67a SHA512 8016ed28f076936e3477d75d47e20af79fb97d138f924c514fcd32a02ad4b9bf3eb0d09a82d08f99843b102b4a048b78a694963e223a936b029ab903a5c60a21
DIST pypy3_10-exe-7.3.16-1.x86-musl.gpkg.tar 9093120 BLAKE2B 56a349615ce67c3e581da65ac3b52cdc412760aea689d4b8bf6b9f5d2a4285ac67557ee6791363a0faaa1ba10f20b9d761529f278f3737b304e79682353bf1fc SHA512 cf9a8e4475c2d3c8d7c3756c7b4a61fd4effde3010b33f67aa40354658952dcf2ee7d05f6db7912bf8015dd76cf7bb08bfc7d9aea2f168bec23acab9a9068239
DIST pypy3_10-exe-7.3.16-1.x86.gpkg.tar 9093120 BLAKE2B ef908156f0dd9376495330fe0278aa2565c5428bfe46aaeb9f11dabee2ee998969028296cef3e5b71e6d8963bd7573ddded8583e3410f4c66b7b1f17a9cb52aa SHA512 d65132d4a89f7f0764095fee1a3f10d4b7821ba45745a3576179ff2e74f24f38538fe5df6812e654cecc71fe7feecec4e2b9518c8b51aea9b66d43dca935949e
+DIST pypy3_10-exe-7.3.17-1.amd64-musl.gpkg.tar 12103680 BLAKE2B 4b542d95bf6a3bc214b4e8adcde98d49b717676f7e22f1347b976570cc852fc70a832224fdae8093cb5b2c47b2aa3075c65dc6bba93720fd2146c6670cf97eea SHA512 b0782c86646f24856c9868a493b19fc9af3596bc703504f09c153f1d11938a6dcded68664459d4043b86638b0e30440ac272bf13b85fd91021112dc663b56c9a
+DIST pypy3_10-exe-7.3.17-1.amd64.gpkg.tar 12134400 BLAKE2B e7ddd040e6f7d0b76aeb6dce53e86924e5e72d5ea7928aba103613dd40cd7c8e4d6fb3837437b3ffd2467b117c4851a84db2e4f5eeda36c26a6450d26e7ef20c SHA512 674be340c85e23a18c5b2a7af05093949606a314042fa282b4ea2b8c8c0c99d57a511ea8623a9d2eab23be711db8fdcd3ff5dc71a71b8c59288a861e6e43aae1
+DIST pypy3_10-exe-7.3.17-1.arm64-musl.gpkg.tar 10229760 BLAKE2B c25bd05035b225b09c59ecac3c24e4c770f254b2286be4967a2e7f674c0d524e55fe66fad76ae18d1a8b2297c0d06d9757590e69900028bdbf299037327f83f1 SHA512 0f5be025d421dc822235ff0ad9c317f22671d6b20fb3ea2bdd860ca48306a854e94469f7aeaf4ca395e6ea01e6ef1969b7cae6ae311db1823b4fae1616a8c2c0
+DIST pypy3_10-exe-7.3.17-1.arm64.gpkg.tar 10229760 BLAKE2B a670d2328d248fe3c897c59af4f5b5b4e2ab86966332232053bba1585377a824a1b69b7f4608e4ac96effb17edffe00c54d00a4aada74301cb720cde7cf9ce51 SHA512 590bae38189f42a708573a6194bd074d54f2b8794d5ba0fb9139130e285528e1cf922e4f3969b17d5aff7e4f5b56809622ea145a8eb32d6fa6e1740deb00dc99
+DIST pypy3_10-exe-7.3.17-1.ppc64le-musl.gpkg.tar 6819840 BLAKE2B 1cc0c5c2c82f831526480b78dc8230305b531908c7ddb7590e07769de602b8aaa3448bc221fa8b824e6dd6a0af7d2d0be5583451004150476f71730d42462251 SHA512 65d85f8c2c4c3997dc15723b7c857fb9f781e6fb992ab18f53e49f812dea63b7e70695364abda7a866d3304e84a5c59797881b9ec5159eb86acb7e44ad31bf9a
+DIST pypy3_10-exe-7.3.17-1.ppc64le.gpkg.tar 10393600 BLAKE2B da4c97f4d5ee546d776ba937d3736033ded7f5cc0a17e39fd657952b834fe6c002d3c33cfc7b16572f07dd0421040d4bb82e897a101ac129a6082961d0d02c7d SHA512 c49c67eee76f604146aadfcc600312e028bb9f6a24560eefd1dec7e9e0c7304e0a1ce89fdf6229b50b51cd17fb50b89815d937ccac3ef5fcc1ef8ff99af5f237
+DIST pypy3_10-exe-7.3.17-1.x86-musl.gpkg.tar 9103360 BLAKE2B 80202a4f66bec51176c29f2506a28ac296e63dd89102c68f62cfb868f455ac51a1e49557962c271e2a99b41001ad21b56790bb05aead361d59b7bea2c526721f SHA512 d7345e886c0ab4c8de987f5daaaddaa9983864e6343f3f64e85607ed897530f19fae653d412eb076b232ff6e7d52fdda4da0b05b4b4767ac1ac669a512e6fe6c
+DIST pypy3_10-exe-7.3.17-1.x86.gpkg.tar 9154560 BLAKE2B c388c0bed60fafddf5edc2f0bae19e04e643cc1ca44bd99f2b7b84c8b71d1a685faa48886aab3b5b2137b90ae3ebfa7b41fc6f98bcd99203f7997299ec52f274 SHA512 5c2ab169b5ece9c7c8fb9972ac74cf2aa8c5f385fd805800183ed8c0845540185065aff388b2d0ad56d901365454979c9051e70ec5ff2a9f7059b2812555f8ff
diff --git a/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.17.ebuild b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.17.ebuild
new file mode 100644
index 000000000000..19930957bb48
--- /dev/null
+++ b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.17.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+PYVER=3.10
+MY_P=pypy3_10-exe-${PV}-1
+
+DESCRIPTION="PyPy3.10 executable (pre-built version)"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy3_10-exe:${SLOT}
+"
+
+PYPY_PV=${PV%_p*}
+QA_PREBUILT="
+ usr/bin/pypy${PYVER}-c-${PYPY_PV}
+"
+
+src_install() {
+ insinto /
+ doins -r image/usr
+ fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_10-exe/Manifest b/dev-python/pypy3_10-exe/Manifest
index 98534aa04e78..5a7987243a23 100644
--- a/dev-python/pypy3_10-exe/Manifest
+++ b/dev-python/pypy3_10-exe/Manifest
@@ -1,2 +1,4 @@
DIST pypy3.10-gentoo-patches-7.3.16.tar.xz 4752 BLAKE2B a5cd87f30c0b20bf5d49c3b5c979c12231d6b67750e777d4488093094d5998e6f0d9adba51c04704eb31d621089aeb12ee5a6b0a58dad0ecda0d60d2ecbdab6d SHA512 e2779841a3e56e384134416ce2a10e1e00a11d7c720023506370fb9f54363da6b7300b4019c121aa1874152b62d9679ebcd3dd679fd0dbd2bf524520990b6f38
+DIST pypy3.10-gentoo-patches-7.3.17.tar.xz 10340 BLAKE2B a9d7dc6a578dc50339574b2fcfff19e390293adfc8412592e4683fdd3ff415ed8da3ff809b00037659a6e218dc0b26efead7a2ae3c54b2c3487222144d5d9633 SHA512 b192685cc100cfb723492d29e89a522bb4ff041c78cbdfd170414e19713cf2a21c39ab8d4e1e9ca47da2559b2fed6df14f1122f96bc50dd117550c357046889a
DIST pypy3.10-v7.3.16-src.tar.bz2 23358556 BLAKE2B 4eddae47dea1005b9450b9d3d23bd90782dffecdc252eff4fd3195a61e0e7ebbdafaf4c4b5d318c88534f152c1110c3bc4f76f43a7e711a859dd4330841a0e0b SHA512 5b941e3b5c7b0c7a50413e16122bad3e167dcc4ee159ce53e9716e9d5af79d600823f3d7442b7562bb568ff027723e22904fc0840dc06bd26e3da38c93cc5b94
+DIST pypy3.10-v7.3.17-src.tar.bz2 23350562 BLAKE2B 0a7a091976b352de61057f238fa386f767dd4d2fbcdcc0b4376066c20c2ad35d3818fa6e9e163ab5fd341856802e8ad1e2891decf5948c13cdb26726cd42019e SHA512 46e30845bbc73cf56f5033a24d3583253ce198522f3a28ae4e789884063ba167d401fc08ae7fc8c7769feed9cd942a8ab38961c8b8794d7fae8f9955479faa96
diff --git a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.17.ebuild b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.17.ebuild
new file mode 100644
index 000000000000..4f66473fa95e
--- /dev/null
+++ b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.17.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs flag-o-matic pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV}"
+
+DESCRIPTION="PyPy3.10 executable (build from source)"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/expat:0=
+ dev-libs/libffi:0=
+ >=sys-libs/zlib-1.1.3:0=
+ virtual/libintl:0=
+ ncurses? ( sys-libs/ncurses:0= )
+ !dev-python/pypy3_10-exe-bin:${SLOT}
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/pypy
+ virtual/pkgconfig
+"
+
+check_env() {
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ # Yes, yuck, but it's being worked on upstream (bug #918971).
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4042
+ append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ --withmod-bz2
+ $(usex ncurses --with{,out}mod-_minimal_curses)
+ )
+
+ local interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ cd "${T}"/usession*-0 || die
+ newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
+ insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
+ doins *.h
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_10/Manifest b/dev-python/pypy3_10/Manifest
index dee49a4201ab..76070e5711a4 100644
--- a/dev-python/pypy3_10/Manifest
+++ b/dev-python/pypy3_10/Manifest
@@ -1,4 +1,6 @@
DIST pypy3.10-gentoo-patches-7.3.16.tar.xz 4752 BLAKE2B a5cd87f30c0b20bf5d49c3b5c979c12231d6b67750e777d4488093094d5998e6f0d9adba51c04704eb31d621089aeb12ee5a6b0a58dad0ecda0d60d2ecbdab6d SHA512 e2779841a3e56e384134416ce2a10e1e00a11d7c720023506370fb9f54363da6b7300b4019c121aa1874152b62d9679ebcd3dd679fd0dbd2bf524520990b6f38
DIST pypy3.10-gentoo-patches-7.3.16_p1.tar.xz 7696 BLAKE2B d51dd45ec0fd2fd2d8e8f6afb6fdb227268d86ca03885991c085aa3b374bdbe01c909cd9c25981a89955c3fcfaf258f09470b5a5649b9235a74f37dadb9a891e SHA512 b71168518a103cccff4740efb51dfad4eaaf647d81aff727805f5ee9e2fdc6971749b69c17c72e7fd04c97bbf37777180870eb17077fb742f20130b4b00ed712
DIST pypy3.10-gentoo-patches-7.3.16_p2.tar.xz 10348 BLAKE2B 93b2672e935e4a23e9fff70848f377211b4a0aff55384ffac59ba3b376af9d1ab1d1b3529a5148490dd6e8da55cc038390efa7e4120c60c7ea77d158da88b5bf SHA512 0bff294d8a0ed576204c00ef7befec0c960cef50eaf1130056aaed2a5dac63a8045db977c5fb4ff9c5eb1863e8df2cb9f4d608ab88cd6ffcc8bd4ab13f5d6ab2
+DIST pypy3.10-gentoo-patches-7.3.17.tar.xz 10340 BLAKE2B a9d7dc6a578dc50339574b2fcfff19e390293adfc8412592e4683fdd3ff415ed8da3ff809b00037659a6e218dc0b26efead7a2ae3c54b2c3487222144d5d9633 SHA512 b192685cc100cfb723492d29e89a522bb4ff041c78cbdfd170414e19713cf2a21c39ab8d4e1e9ca47da2559b2fed6df14f1122f96bc50dd117550c357046889a
DIST pypy3.10-v7.3.16-src.tar.bz2 23358556 BLAKE2B 4eddae47dea1005b9450b9d3d23bd90782dffecdc252eff4fd3195a61e0e7ebbdafaf4c4b5d318c88534f152c1110c3bc4f76f43a7e711a859dd4330841a0e0b SHA512 5b941e3b5c7b0c7a50413e16122bad3e167dcc4ee159ce53e9716e9d5af79d600823f3d7442b7562bb568ff027723e22904fc0840dc06bd26e3da38c93cc5b94
+DIST pypy3.10-v7.3.17-src.tar.bz2 23350562 BLAKE2B 0a7a091976b352de61057f238fa386f767dd4d2fbcdcc0b4376066c20c2ad35d3818fa6e9e163ab5fd341856802e8ad1e2891decf5948c13cdb26726cd42019e SHA512 46e30845bbc73cf56f5033a24d3583253ce198522f3a28ae4e789884063ba167d401fc08ae7fc8c7769feed9cd942a8ab38961c8b8794d7fae8f9955479faa96
diff --git a/dev-python/pypy3_10/pypy3_10-7.3.17.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.17.ebuild
new file mode 100644
index 000000000000..8b160362ba6a
--- /dev/null
+++ b/dev-python/pypy3_10/pypy3_10-7.3.17.ebuild
@@ -0,0 +1,212 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
+# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
+SLOT="0/pypy310-pp73-384"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ensurepip gdbm +jit ncurses sqlite tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py${PYVER}
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
+ >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV}
+ )
+ dev-lang/python-exec[python_targets_pypy3(-)]
+ dev-libs/openssl:0=
+ dev-python/gentoo-common
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ mkdir bin || die
+ # switch to the layout expected for cffi module builds
+ mkdir include/pypy${PYVER} || die
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/bin/pypy${PYVER}-c-${PYPY_PV} pypy${PYVER}-c || die
+ cp -p "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/* include/pypy${PYVER}/ || die
+ # (not installed by pypy-exe)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/pypy${PYVER}/ || die
+ mv pypy/module/cpyext/parse/*.h include/pypy${PYVER}/ || die
+ pax-mark m pypy${PYVER}-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy${PYVER}-c - <<-EOF
+ import importlib.util
+ import sysconfig
+ soabi = sysconfig.get_config_var("SOABI")
+ magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
+ print(f"{soabi}-{magic}")
+ EOF
+ )
+ [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ # Add epython.py to the distribution
+ echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
+
+ einfo "Generating caches and CFFI modules ..."
+
+ # Generate sysconfig data
+ local host_gnu_type=$(sh pypy/tool/release/config.guess)
+ local overrides=(
+ HOST_GNU_TYPE "${host_gnu_type:-unknown}"
+ INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
+ LIBDIR "${EPREFIX}/usr/$(get_libdir)"
+ TZPATH "${EPREFIX}/usr/share/zoneinfo"
+ WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
+ )
+ ./pypy${PYVER}-c -m sysconfig --generate-posix-vars "${overrides[@]}" || die
+ local outdir
+ outdir=$(<pybuilddir.txt) || die
+ cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
+
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy${PYVER}-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ # Generate cffi modules
+ # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py!
+ # (NB: we build CFFI modules first to avoid error log when importing
+ # build_cffi_imports).
+ cffi_targets=(
+ pypy_util blake2/_blake2 sha3/_sha3 ssl
+ audioop syslog pwdgrp resource lzma posixshmem
+ ctypes_test testmultiphase
+ )
+ use gdbm && cffi_targets+=( gdbm )
+ use ncurses && cffi_targets+=( curses )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ ../pypy${PYVER}-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+ # testcapi does not have a "build" script
+ ../pypy${PYVER}-c -c "import _testcapi" || die
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=a4138e48
+ local local_cksum=$(
+ ../pypy${PYVER}-c - <<-EOF
+ import binascii
+ import json
+ from pypy_tools.build_cffi_imports import cffi_build_scripts as x
+ print("%08x" % (binascii.crc32(json.dumps(x).encode()),))
+ EOF
+ )
+ if [[ ${local_cksum} != ${expected_cksum} ]]; then
+ die "Please verify cffi_targets and update checksum to ${local_cksum}"
+ fi
+
+ # Cleanup temporary objects
+ find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die
+ find -type d -empty -delete || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER}
+ insinto /usr/lib/pypy${PYVER}
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ doins -r lib-python/3/. lib_pypy/.
+ insinto /usr/include
+ doins -r include/pypy${PYVER}
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
+ done
+
+ dodoc README.rst
+
+ local dest=/usr/lib/pypy${PYVER}
+ rm -r "${ED}${dest}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${ED}${dest}"/ensurepip || die
+ fi
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/_gdbm* || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/sqlite3 \
+ "${ED}${dest}"/_sqlite3* \
+ "${ED}${dest}"/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/{idlelib,tkinter} \
+ "${ED}${dest}"/_tkinter \
+ "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
+
+ local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ # exclude list from CPython Makefile.pre.in
+ "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}
diff --git a/dev-python/pysubs2/pysubs2-1.7.2.ebuild b/dev-python/pysubs2/pysubs2-1.7.2.ebuild
index a4163481c7ac..79e44a5c9e9a 100644
--- a/dev-python/pysubs2/pysubs2-1.7.2.ebuild
+++ b/dev-python/pysubs2/pysubs2-1.7.2.ebuild
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/pytest-django/pytest-django-4.8.0.ebuild b/dev-python/pytest-django/pytest-django-4.8.0.ebuild
index 8a146afa81a1..2832b30169bc 100644
--- a/dev-python/pytest-django/pytest-django-4.8.0.ebuild
+++ b/dev-python/pytest-django/pytest-django-4.8.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
>=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/seedir/seedir-0.5.0.ebuild b/dev-python/seedir/seedir-0.5.0.ebuild
index 8e5105c136e9..815dd180b606 100644
--- a/dev-python/seedir/seedir-0.5.0.ebuild
+++ b/dev-python/seedir/seedir-0.5.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
dev-python/natsort[${PYTHON_USEDEP}]
diff --git a/dev-python/srt/srt-3.5.3.ebuild b/dev-python/srt/srt-3.5.3.ebuild
index 3f56650f3ca7..8335a2bce0ba 100644
--- a/dev-python/srt/srt-3.5.3.ebuild
+++ b/dev-python/srt/srt-3.5.3.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
RDEPEND="!dev-python/pysrt"
BDEPEND="
diff --git a/dev-python/sybil/sybil-6.1.1.ebuild b/dev-python/sybil/sybil-6.1.1.ebuild
index 4209485166a7..11acb0b4ed2d 100644
--- a/dev-python/sybil/sybil-6.1.1.ebuild
+++ b/dev-python/sybil/sybil-6.1.1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/tblib/tblib-3.0.0.ebuild b/dev-python/tblib/tblib-3.0.0.ebuild
index 94255cae7c3c..c4aa4f7df036 100644
--- a/dev-python/tblib/tblib-3.0.0.ebuild
+++ b/dev-python/tblib/tblib-3.0.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
diff --git a/dev-python/testfixtures/testfixtures-8.3.0.ebuild b/dev-python/testfixtures/testfixtures-8.3.0.ebuild
index 42c692c42cc3..e1479820b630 100644
--- a/dev-python/testfixtures/testfixtures-8.3.0.ebuild
+++ b/dev-python/testfixtures/testfixtures-8.3.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
BDEPEND="
test? (
diff --git a/dev-python/zenlib/Manifest b/dev-python/zenlib/Manifest
index 2e332f312337..5cb7f0bf7ced 100644
--- a/dev-python/zenlib/Manifest
+++ b/dev-python/zenlib/Manifest
@@ -1,3 +1,3 @@
DIST zenlib-2.1.2.tar.gz 17293 BLAKE2B 3d5067b9796f31d28d0ca04c842b4ef1807e0557a77c5b6ec5798cfa2aa04ee5e7eafa3549df6add4228e7c3014ca33eb1584c0aee6db9c0acc882f170972b36 SHA512 a0a53ed63a3efe83dc8f49fd512685b82ed383494f404072a47734c02a1955e0a4c9a6c9df48503419c82cb7479783669b6de8deef174a597ab73cad61da5c3e
DIST zenlib-2.2.0.tar.gz 17727 BLAKE2B 073bbaa252ab000a30602e0a603a8293b8c3a322374ad4172758a6c95d52483b03cc84d4b72aa868168bde03796defb3efca85682ca8f7b7fce6243d8112198f SHA512 4b324e1b56d757536a80d4d5fe31d4087ee8e1a0aa1ff8a19a43252033ea6e5115c55c5c6d69bcae8594bc36c84625b75df2ce93a2f49f7b885179aa05b45d80
-DIST zenlib-2.2.2.tar.gz 17766 BLAKE2B 14f797f8c8779e4a29c2bd36af179823d8c569ca9af6562514601a37c201e5a3204736206f4dab93555b0092231e8af8954d6be31f250f7ca9bb5538987ceefa SHA512 a95d169bc56ae22b6e4dc4c994adb179a53912cdcd1dba70c09be348245badd75ab1d11c6e1095f846d298a46bc9581b14902dd8f29cb7fce22bece410f91c69
+DIST zenlib-2.2.4.tar.gz 17734 BLAKE2B 9c054eafaa8a70231f9ffca241aad0fdd49257f77de02d47ca0fed7636c06a95923b1398ce8b11de7e690aa7be6762e4e0576b82edae15977f6f0b20a7c31c10 SHA512 ad1be96b6cd4f46e342e012cbd93b76fd051b7cd2d03d23b0065978b1d0a15a751ad5866322fd69b70890ed18f154355556b9b8402e6f19d17175340c1b5a0d3
diff --git a/dev-python/zenlib/zenlib-2.2.2.ebuild b/dev-python/zenlib/zenlib-2.2.4.ebuild
index a16dfbf995bf..a16dfbf995bf 100644
--- a/dev-python/zenlib/zenlib-2.2.2.ebuild
+++ b/dev-python/zenlib/zenlib-2.2.4.ebuild