summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorCrucible <crucible@localhost>2026-10-15 17:23:01 -0500
committerCrucible <crucible@localhost>2026-10-15 17:23:01 -0500
commit5087f37a4d9063896fce9cf625aa2479bc540b94 (patch)
treeba40439cb50c33940edaf2c7ea4801889a838fed /dev-python
parent12d66102ecbcb4a4eef51d1b7f06abe9080be243 (diff)
downloadsrcux-5087f37a4d9063896fce9cf625aa2479bc540b94.tar.gz
srcux-5087f37a4d9063896fce9cf625aa2479bc540b94.tar.xz
srcux-5087f37a4d9063896fce9cf625aa2479bc540b94.zip
Publish srcux candidate 0000000660-20261015-172104
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/argparse-manpage/Manifest1
-rw-r--r--dev-python/argparse-manpage/argparse-manpage-4.8.ebuild (renamed from dev-python/argparse-manpage/argparse-manpage-4.7.ebuild)2
-rw-r--r--dev-python/entrypoints/Manifest1
-rw-r--r--dev-python/entrypoints/entrypoints-0.4.2.ebuild22
-rw-r--r--dev-python/lsdetect/Manifest6
-rw-r--r--dev-python/lsdetect/lsdetect-0.4.0.ebuild69
-rw-r--r--dev-python/ndjson/ndjson-0.3.1.ebuild6
-rw-r--r--dev-python/patiencediff/Manifest5
-rw-r--r--dev-python/patiencediff/patiencediff-1.0.1.ebuild (renamed from dev-python/patiencediff/patiencediff-0.2.19.ebuild)2
-rw-r--r--dev-python/pbs-installer/pbs-installer-2026.10.3.ebuild2
-rw-r--r--dev-python/pycares/Manifest1
-rw-r--r--dev-python/pycares/pycares-5.2.0.ebuild48
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-12.3.ebuild34
-rw-r--r--dev-python/pyproject-api/Manifest2
-rw-r--r--dev-python/pyproject-api/pyproject-api-1.11.6.ebuild34
-rw-r--r--dev-python/pypy-exe-bin/Manifest8
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-8.0.1.ebuild74
-rw-r--r--dev-python/pypy-exe/Manifest2
-rw-r--r--dev-python/pypy-exe/pypy-exe-8.0.1.ebuild187
-rw-r--r--dev-python/python-magnumclient/Manifest1
-rw-r--r--dev-python/python-magnumclient/python-magnumclient-4.10.0.ebuild48
-rw-r--r--dev-python/rawji/Manifest2
-rw-r--r--dev-python/rawji/rawji-0.1.0_p20260920.ebuild (renamed from dev-python/rawji/rawji-0.1.0_p20260901.ebuild)2
-rw-r--r--dev-python/sphinxcontrib-httpdomain/Manifest1
-rw-r--r--dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-2.2.1.ebuild43
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.13.1.ebuild100
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.13.1.ebuild151
-rw-r--r--dev-python/zope-interface/Manifest4
-rw-r--r--dev-python/zope-interface/zope-interface-8.7.ebuild (renamed from dev-python/zope-interface/zope-interface-8.5.ebuild)2
31 files changed, 804 insertions, 59 deletions
diff --git a/dev-python/argparse-manpage/Manifest b/dev-python/argparse-manpage/Manifest
index f9300fcda20f..8feccebfc3eb 100644
--- a/dev-python/argparse-manpage/Manifest
+++ b/dev-python/argparse-manpage/Manifest
@@ -1 +1,2 @@
DIST argparse-manpage-4.7.gh.tar.gz 55685 BLAKE2B 815642af3120b14f5ed6c04ac06ea23cad555bbad6582d52b77119fc10286d263dd11877557ed59a2cc9fe01c362d37f855d36622f72213dcbe94e72336993b0 SHA512 bc5d8bdca97e5632e37a0b5be04990174c7a48a88b729543a8c86ab60109252b2bde5b50989bd635a33a8bd51483f0e6990e0f3c5dde293fd3164bec2b61f2b9
+DIST argparse-manpage-4.8.gh.tar.gz 56557 BLAKE2B cd684c4b732a3453bb8518a168d1e44987b10dfa7bf748ae60737fee864a9ed42384b61d1b7f04fa428b377e73c43d4e4a8bcf637be6c60b44d0733861a68c60 SHA512 3311fcd4dc796bb81e688b0cef216c0884224febf20a767bf5e1223a098d4dc6a03cc9458ff17e4a38d153c707dabe2accbf589674328929b374a45f002d4fa5
diff --git a/dev-python/argparse-manpage/argparse-manpage-4.7.ebuild b/dev-python/argparse-manpage/argparse-manpage-4.8.ebuild
index 0b3703476776..a94564f8c665 100644
--- a/dev-python/argparse-manpage/argparse-manpage-4.7.ebuild
+++ b/dev-python/argparse-manpage/argparse-manpage-4.8.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
BDEPEND="
test? (
diff --git a/dev-python/entrypoints/Manifest b/dev-python/entrypoints/Manifest
index df221e2e1d75..7ecb235134cb 100644
--- a/dev-python/entrypoints/Manifest
+++ b/dev-python/entrypoints/Manifest
@@ -1 +1,2 @@
+DIST entrypoints-0.4.2.tar.gz 14203 BLAKE2B d91782dbd33e3f406a76a1e00302a6063dcb14e26f5a4e8b7e1e55aee6f9519cef83fd106997b1108b9379edfc02e66037dfc77ded9e79d2e42ff107f6f1ef4a SHA512 d721a11be1cc7154471150502ac2a233ea9f75048d44f55033b51b9945de2ab441e0301f338164beea25b547922f970d3c63ba5bd5f86dde57ccc6311dc67ba0
DIST entrypoints-0.4.tar.gz 13974 BLAKE2B 95bfe3deeee183f000722be63114e7eafe12ce9994e3ad02fccde7ee8dca3d10cc491e438bc9330fe9e16dbe1664d7a9fd9ef5712ebca989e3304e1dee7a55ce SHA512 874858c240199b9a209e00bde609b33335d199d21a959e51bb875240e2a35ada036380097218e9cd50d5d1dbf9de52638a069cb605ea8e8952db4a5afa3ffd42
diff --git a/dev-python/entrypoints/entrypoints-0.4.2.ebuild b/dev-python/entrypoints/entrypoints-0.4.2.ebuild
new file mode 100644
index 000000000000..0ee21a698bed
--- /dev/null
+++ b/dev-python/entrypoints/entrypoints-0.4.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit-core
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Discover and load entry points from installed packages"
+HOMEPAGE="
+ https://github.com/takluyver/entrypoints/
+ https://pypi.org/project/entrypoints/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/lsdetect/Manifest b/dev-python/lsdetect/Manifest
index be766c9b862e..eab82f7b5c85 100644
--- a/dev-python/lsdetect/Manifest
+++ b/dev-python/lsdetect/Manifest
@@ -6,6 +6,7 @@ DIST either-1.18.0.crate 22357 BLAKE2B cef6eabc788d34cf10ee2dc7f18b220e485dd3875
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST libc-0.2.189.crate 851502 BLAKE2B 05155a249c6880ca96a19bbb7569d4ca7530f544504e4ccb48db1ebca0b70d84e99c6b9532adb9dfbb3d4d1187eca22698a6b2ba6ae40bebf5d6eafdae86c71d SHA512 0cf621171ed4e6bbfeb71fb582ebf037d62ab481bc406ca2fb766bd4a8416f220a189325a0d3cb3e3cb39d80e09312516ca6335fad71b329c5fccddabedf4110
DIST lsdetect-0.3.0.gh.tar.gz 25195 BLAKE2B cfdec4f93b3e2b7f2d2bf13ac150e5645cf2a40a16132086692738d64d16c73149116ec536415e821935607507dada2110bd372b329fa20dace816260647a228 SHA512 a9bc3e17893d6b2b7ac424517777997460fa55de9b50488273efaef31f44a5daf483c75eb5907fded855ee73040c2156629ecc4f5a3e64991356e425748d6636
+DIST lsdetect-0.4.0.gh.tar.gz 27515 BLAKE2B 4cc449c0bac3eb9f271f8a290e0e21eae9335ea7de25c50db7bef464aee7a27997afa4dfa9c08b573c2185b63fa91842b6a7d5ef87bd2c134237edb9ba0e5bc9 SHA512 489deeb3af4cef13f4e57878b7406f5b3ac6a088f438cb5210889c3c9af001f2bdbad17053c0bb05285b7b0efa1eb5e97738c324e5deee7b44b8282a142c2c27
DIST matrixmultiply-0.3.11.crate 51167 BLAKE2B a2415bc9e13fdd19252a7001b3952c38f400f55320ef7170e6f57a5816546bae17aeefe910a64bdc7a41a7fc587864da651b584aa3e35536779be4cf4edbf16a SHA512 f07040577d0e8af7ab197249fb6bcef71cea874111c9ca36cddae162c33c6053e4a5b53cc6c59cc28c7e781a4f56dc3647e567bb1b420a71c6477a1131d87dcf
DIST ndarray-0.17.2.crate 243631 BLAKE2B edd883d493ee17000eef895b554ce1663a4c3d806710113f387d1ee9be61fded11c5990541925dbc63a9aff86d5a238b2ff4ae9c1a5fce334eba6b8f1e1e5fc7 SHA512 2f0ac40314965d9da1a60a450e1dad7610f323a4c1393b2f6f493504996dd05683552c5455c3d942d4f52bc272762bacdce44706112c0de4000f0963e7e66733
DIST num-complex-0.4.6.crate 30352 BLAKE2B b9f0465d53e8e16edc44187f8efa40681377e75fc4bbaec2c9fd8b8f5384044c3a989106ed3cdb740cb86e19659b34e4b38e7cfd7bb01904e137ddeda3d0b6b5 SHA512 11ca2c28ffbd15aacb7e184b7f3e09cbec9c955738568c1e0760c256c72b230cae7152403d834c8ed9358e42b724269e99313dde9a23027a6963ca176ca45615
@@ -17,10 +18,15 @@ DIST portable-atomic-1.15.0.crate 202705 BLAKE2B bf956c2bf08953b0ae1384d5c1703ed
DIST portable-atomic-util-0.2.8.crate 53874 BLAKE2B 835a61db79a2302fa16135e9a1397d76962070389704cad42715324d8fa83ca6dadfec2587aa7d13e75a270ff09f0291f70528940142c8e70599289ea1c899b2 SHA512 fb1b3b8cbc06fa4ad966cb8809e28924c86e30dad9c53c151e304d3cc6a9f73ede054ee9ba7e27c5fad8ec904a6573a38502c694cbcc4950f52fb8bd85fdf70e
DIST proc-macro2-1.0.107.crate 59588 BLAKE2B 91df0c573e3e1f09c1aeedcad0381cf18186d72c3d50b077b1d232fbb67d1c87ed09f3c6dc515140041c2dab5ce7706042c8235b93099df7d1c962d4a3a99160 SHA512 c109d5509624a57156e0eae22a3aec89a1a163623e8b4e376a13d872a46e4bf6855ee3cd4428c07cdf5c22f2284b6ce755f9cc7e075480e4587ce4f2d40fa903
DIST pyo3-0.29.2.crate 1255741 BLAKE2B 5187b7dc0f0b2b1441b451850f442a9cf7b8e65baab3c94996be80e39543350ce8739baccb2df0caae1049a4cf744274e4ca9a9d752887d09df5c03e380d42b0 SHA512 85326462a932fd49441f320a879192306a7a6f3a66468ca468fefdb3dff9a530b7895010f156c8c3b125279b94dd304b72825fd4bbdcaeba8e3a58bd8cdcc929
+DIST pyo3-0.29.3.crate 1261077 BLAKE2B a30b106b26b20a65dd2b58d26c817fd9d86f78d3b4f72ef5d73b3bcfc99b909ad021b722a2aa5795f0edf84e5f9077a53caf2686be8cf157a7bdfefd883dbef8 SHA512 809d8f84a08bc5f997f76a429edd53a8b500faa3aaa70846a174134d42f76352f3b023e2d235a9795c2fde6e52a088c5e20ac39fa97f370c50775906ae1f7f06
DIST pyo3-build-config-0.29.2.crate 41104 BLAKE2B b4a78b704ae7c6cd8393abd436fc5d4e9f984ad6f4c95f1fd069888865a516f1a65eaebeecc7bb61e6a0d62d637ff4312a8d6a31f2dabb262d0f3c5177abdf39 SHA512 ecae961c373a87eb13ed3881ac4954112bbf54b3e02eb287d818e44e5ab46cd4700220da5072dd1fb22d68435d012a413a3680b54505c700ee059f1472833b6a
+DIST pyo3-build-config-0.29.3.crate 41138 BLAKE2B dc1d0616ae9ac411ae8d4e8c44b0bc3eeb81e2584aabd89f49bcd15875ed9031eb9c92469081cf6ad7f723d5331d549de53008406f2fff432e0d8f509ca603c2 SHA512 d87177fc23ef7b625e78d10811cb160c68be79526c574ff05c42e8f5f96c7e3918558971f8459d9930a1fd5bdba46e482dbe59d03c25ec000f75a0a4073253dd
DIST pyo3-ffi-0.29.2.crate 90029 BLAKE2B f20803f6866a99767ce814984cc624783c2207ab54909deaba0a674c3c8f3e98c56bac80e1ea0e13b295634b0c6a713bd961b6c58aacbbc3be5fa9e224ff86e3 SHA512 a5b1db7e856af10f32ba3ce6a4dddc48a11f48431b82cbc1e40be88370836902afc9ab2918eb953d7fbed1ad7daaebefdf70489c7c798e591782e7dd6e2d0ddd
+DIST pyo3-ffi-0.29.3.crate 91291 BLAKE2B 1f7819e3925cc3898d91244fe7d0b22e2551640b2169e7fff68086e208aeff0caeac5927b68fb1bd638b53a8488e9e821ec9a371d2a9e0a64130c8a535e03dd8 SHA512 05ce591fa67a9768d6ec70bfa181007d9b7591b2a607edbe4eec26b243d52e1e75098057a7a533746ca80e70893eb0b16c0f4ccb8911776ba13057ba42dfaa92
DIST pyo3-macros-0.29.2.crate 9044 BLAKE2B f7caebd70dc9f54914d1d87e4c800f7bddc5d1e09835b0afd96e1f98320127660aa38f58b634ca196d823c926e279bf87c17506161a61bbae0908c51fc3b7eef SHA512 32281797e849ccb23c0ba03f8bea13ffcd86acfc3d5df65543c13befc03c142e88bfaf45f0cf5489cfe9e6acf9170ca6c24ced5d3f3f72be37bc7d2ce2bdb935
+DIST pyo3-macros-0.29.3.crate 9050 BLAKE2B 831954de983b2e805f89c1b280304ac068f056c9bb7c61837cf00db94470ddf7a06ccc004edbdd022e13aade5b46674c64b97bd175d3c03825ac38e6d8b9ba6f SHA512 3aebb40bc75fa1bb539dcf3d41034366bba721f0e12aa656dcf8b67f0b2043d5da2b19338b67f47529dea16a6fb7592d866b7224f477b9fc26bb682cf9d24bbd
DIST pyo3-macros-backend-0.29.2.crate 93749 BLAKE2B dce6aeef93fc8483dfffd5b514d21530ff499f241ac157e2ea304c8cd050e9fc1343d356a5a85dacb8a73d4d4405b89b4eab128f85fac54aa00f53298ab409a5 SHA512 944b8482e2a6fd0dce82eabe50f915d82b066cf11944e413ab81c01fc917dfe1877748cb8eb92f23d8acee43a9d1fb35f8690203ec440e7db7c66b03c7f27358
+DIST pyo3-macros-backend-0.29.3.crate 95162 BLAKE2B 1591b244bd601ca103ee59e0dadfa0b69f9b3372a93c9584a0881afb501922ed444f977d6f94cd08327c01367d225c75695a4761b577cd77116526b7cdc0e511 SHA512 ee8fc2ae0e5ef5a7328edbf50dcc972669248034889eea25790d901478c384865f2242b8f66778a016e84fb8c56d5f75bf08d02cf7bb7c7078a5c25b1bbf7c43
DIST quote-1.0.47.crate 31622 BLAKE2B d912f17bdb5f2db29f5349e976e12da52db9d2197dd9900cb00e907d1e9b06ab177e9b020c1d53f6a6cd087e3a973aed5af63eac282da77792b2a6d6e1b35b07 SHA512 544f4324d425ae011905e0d1b52e367d4660bc34457b2f802af94e1def1e6c4e39ffba3beeb40d75753967d15b6dccce18fea273e7f3d46b63d5c89898d19441
DIST rawpointer-0.2.1.crate 7490 BLAKE2B ee4542886347f2bfc7cb32cf4f7d025d35c78cb763e6d6acf2a8f85ae8d0261a2a20f86903952bd33b886dcaff789bd30c507b4e5d53c0debd2e6696291a825b SHA512 bff9ba7b69e7754e89ca6d42bd3b7a547f450404de999e35c10e4002fe03ee1f563b9799673c5010aa4c2f80885ca9e45b5560c5093e117be3b75d86affcb62f
DIST rayon-1.12.0.crate 183391 BLAKE2B 97807936988b73fcd72574a9677ce0364e67f5932cab13e137bb3d285a14c366d767bcb7d1fad9733be7b022c2bfef7eb8131555966470d53f41b85414915557 SHA512 adad1851620e8f4652449aeb110c62741d454818910cb6aebc2bdf71672b8b3e1371a0045b1e2d8faf2a1a638558220fd2b7e3dd3a7b8178441dacf2d0bce2cb
diff --git a/dev-python/lsdetect/lsdetect-0.4.0.ebuild b/dev-python/lsdetect/lsdetect-0.4.0.ebuild
new file mode 100644
index 000000000000..873ce92b9352
--- /dev/null
+++ b/dev-python/lsdetect/lsdetect-0.4.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ autocfg@1.5.1
+ crossbeam-deque@0.8.8
+ crossbeam-epoch@0.9.21
+ crossbeam-utils@0.8.23
+ either@1.18.0
+ heck@0.5.0
+ libc@0.2.189
+ matrixmultiply@0.3.11
+ ndarray@0.17.2
+ num-complex@0.4.6
+ num-integer@0.1.47
+ num-traits@0.2.19
+ numpy@0.29.0
+ once_cell@1.21.4
+ portable-atomic@1.15.0
+ portable-atomic-util@0.2.8
+ proc-macro2@1.0.107
+ pyo3@0.29.3
+ pyo3-build-config@0.29.3
+ pyo3-ffi@0.29.3
+ pyo3-macros@0.29.3
+ pyo3-macros-backend@0.29.3
+ quote@1.0.47
+ rawpointer@0.2.1
+ rayon@1.12.0
+ rayon-core@1.13.0
+ rustc-hash@2.1.3
+ syn@2.0.119
+ target-lexicon@0.13.5
+ unicode-ident@1.0.26
+"
+RUST_MIN_VER="1.88.0"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Line segment detector (LSD) in pure Rust, with Python bindings"
+HOMEPAGE="
+ https://github.com/p5k369/lsdetect
+ https://pypi.org/project/lsdetect/
+"
+SRC_URI="
+ https://github.com/p5k369/lsdetect/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT Unicode-3.0
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+
+QA_FLAGS_IGNORED="usr/lib/python.*/site-packages/lsdetect/.*\.so"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/ndjson/ndjson-0.3.1.ebuild b/dev-python/ndjson/ndjson-0.3.1.ebuild
index 8a29c72afe54..3e1d66e179db 100644
--- a/dev-python/ndjson/ndjson-0.3.1.ebuild
+++ b/dev-python/ndjson/ndjson-0.3.1.ebuild
@@ -16,4 +16,10 @@ LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~amd64"
+BDEPEND="
+ test? ( dev-python/six[${PYTHON_USEDEP}] )
+"
+
+EPYTEST_PLUGINS=()
+
distutils_enable_tests pytest
diff --git a/dev-python/patiencediff/Manifest b/dev-python/patiencediff/Manifest
index a018b393d089..789aac4b6919 100644
--- a/dev-python/patiencediff/Manifest
+++ b/dev-python/patiencediff/Manifest
@@ -2,10 +2,11 @@ DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a
DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690
DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
DIST patiencediff-0.2.1.crate 21717 BLAKE2B 839dab29b4a5f830df1edc2eb9b46373e8adf6a2f2474b3cb7622899e5cad4de9d19d2b6ace3e6b44d3772a934c3469c85cdd9d2bb31d138f8a28edcd52e7ab3 SHA512 500b3f42a6fd936a3a2fa6b65f5ea0f6b8e37f50be5f002dd2ae76d2138765e45547a6aac68586ded2d5970609e5c2238ce0f5b2fb5b7396e7ca8914f0c1c2c1
-DIST patiencediff-0.2.19.tar.gz 24536 BLAKE2B 7df2f59d1de7fb3b4d0c0a8f2a1acb08c7d43dc96fc23a2cd788641eae0079fa869c82a79a18a820419bc0db352f0de99f19d7e7270e51f1588baa22578045c4 SHA512 714dd4f1107d75070233ff545d026c075e3afafb91e86571ef8a1a27fe938a678716b660bbac1caaa708144e52de76414d36dd1987d5f09dfcf6d8ee7a8820ed
-DIST patiencediff-0.2.19.tar.gz.provenance 10070 BLAKE2B 3093fc309254ad05b3b33304aac4217b11f6d152d4e07e906748b684a730003f415c31b33b037d7438337dcfe6f3cc1b0d4ab62a8d2025ef10ecbec763702288 SHA512 b45c71dbc773d3e3c381324f37511dbdc48219cccfd6909c8c162e40b35290d515f0ad4001dffeca786968126c816b038cbf4d1bddb4d8f5636ec4104857fe3e
+DIST patiencediff-0.3.0.crate 21921 BLAKE2B c0e705774dffcec9cb23996a164694c2d833afcc654816d16e6911eabb1db5d3a3f11f61f9cd72fdf1549341227923e9fd5a62b673ef16be2e80f053a14a4ecc SHA512 3ce6cc95c4eea6b84bb0618126f3234edd75090bcfc1bdf13e7e2e26d1a7478c03d82a0fe247d14febec9316e565d9525a161fab6448643d2411c30a85817e8d
DIST patiencediff-1.0.0.tar.gz 24575 BLAKE2B 0dc4c27fbc4302e3f1b8eb4c09633b0dc877a4322f361fe71e8c728355bd7536b1f9efcabea3534a6ca690eae9811594e7e3b96bcb98a1fe20578612dd0ccdb4 SHA512 f1a5da1fc2d133e0168749ee4199a27e70912544fc3441015915b1979611e588ea910f9a44f76b17205b7136cf863261fa10a82ec29d93f7a102a743c61aed81
DIST patiencediff-1.0.0.tar.gz.provenance 9909 BLAKE2B 0eb43459b98a91bdfc999328c7cacff200a3b9f552239df466faf82c1d5b9dab4dd5e006887ea8e104a6ef90afcec3a9316b00ba5c4afbba7c0ec2ae1bddd197 SHA512 168bd4d76461db66f504fc0c4dfa62ad2b5e52d46348fb5d0cd303e56c54260662c739b99f5f94d89ad3618a81787dad626d3dde07b75abae1e22507a8de3e50
+DIST patiencediff-1.0.1.tar.gz 24596 BLAKE2B 0016918d0cf5deeb9c4623e9c1f18c2d8831262aa9ea6dbebee2ea038d773e262687c83a31b536627d5b8450073de023040f7f99705478cfad72b9f7b3b0a7ce SHA512 c054f9a586121337b2a0e3f7f940b7700cadc7417d44f57d6ddcc55994738113260b581860699c9b42d6befae81868a7f392b73b246bb57bddda568899dc2d50
+DIST patiencediff-1.0.1.tar.gz.provenance 10081 BLAKE2B b533956fe6566fed23ba45c22cbf44a369707a583da7ef0d9ba0a1248eef08cdcb237af1fba042b23f375ed38681e40aa08054d0d66ed4cf55c9f661384b534f SHA512 b3ca1caa0bc547dbde6ccc060461abfa71dee8f3217d56ebe58e35bfbb58edfb221a5949e57c29a160b23857be886d196c19d8887fe4fde42d8e5d402aca48aa
DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3
DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
DIST pyo3-0.29.0.crate 1241253 BLAKE2B 29deb7fa70010bf3d7e9e93bbcd87c0b56c4ee7ef0c2e5956181d2fb5f06f4c9b3f28bd1ad280126c26c048808b91b847e1fb69ddd617ef9e9e5e004cf4e48ae SHA512 e6822400de53ebcef4a14c899dc065abae621a126483873139f5eb850877c94f4bccee3a183d4e2a69eadcd3c3b82b0a6f3e1053d926b103be572329607f2f67
diff --git a/dev-python/patiencediff/patiencediff-0.2.19.ebuild b/dev-python/patiencediff/patiencediff-1.0.1.ebuild
index 852641dae8a1..4bebbde60231 100644
--- a/dev-python/patiencediff/patiencediff-0.2.19.ebuild
+++ b/dev-python/patiencediff/patiencediff-1.0.1.ebuild
@@ -13,7 +13,7 @@ CRATES="
heck@0.5.0
libc@0.2.186
once_cell@1.21.4
- patiencediff@0.2.1
+ patiencediff@0.3.0
portable-atomic@1.13.1
proc-macro2@1.0.106
pyo3-build-config@0.29.0
diff --git a/dev-python/pbs-installer/pbs-installer-2026.10.3.ebuild b/dev-python/pbs-installer/pbs-installer-2026.10.3.ebuild
index ad138f3a6f5d..6d8f79ea02ba 100644
--- a/dev-python/pbs-installer/pbs-installer-2026.10.3.ebuild
+++ b/dev-python/pbs-installer/pbs-installer-2026.10.3.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
# httpx is needed to download builds
# zstandard is needed to install them
diff --git a/dev-python/pycares/Manifest b/dev-python/pycares/Manifest
index 156ad7b4ff8b..f3c51e8ae3ca 100644
--- a/dev-python/pycares/Manifest
+++ b/dev-python/pycares/Manifest
@@ -1,2 +1,3 @@
DIST pycares-5.0.1.tar.gz 652222 BLAKE2B 29680da5ce1bfef6bd3fa6ad0d03cbbd4948cccf7d7d4deaa44960ccb33085b2ac3f8de7411239062e829cd8920fee84e7a5ce41e1e2d1da974aba10e1e60b33 SHA512 3cb23e36e9526b44398b1ffdf9223f0eec5f6e085b6276188329239d1e9a9ee173239691e39cbc9d7a4854a54e181bd200e2011bb3bf6741f79be81b46665348
DIST pycares-5.1.0.tar.gz 674882 BLAKE2B 670de260fe4d6a34d8fa20ffdf6ef21f6753adb0d2e37aacb04dfe1984a0f4112af4dd7f3eee1341c7b82d907ce123db5a892e4d095cc11e3f8aee9993ef2ad0 SHA512 858d50f4620d12fb9ad4a7c8dc6d150da8a7ac39c4618672c995e8a4fe685a30ad1723f419a99b8c2a71d915b3f7af54b0726819907c4a343239c2f5d754a642
+DIST pycares-5.2.0.tar.gz 675045 BLAKE2B f03794a3dd6aad9e903d686529c8c846174a0f61056cd25df36fd15d6d9ebd2e289e966c1f99baab33d201f0c1f71bd15e4071366d07642dfecad50154ee3ac3 SHA512 4e7a7981c3c7c5c86fde5c8d8547a361beca1615626b5ad97f707b6b1a94f63e0bb07745232d13f4f4de9961b6ab06007c5bbc789ded8910fcf3bd333ac47728
diff --git a/dev-python/pycares/pycares-5.2.0.ebuild b/dev-python/pycares/pycares-5.2.0.ebuild
new file mode 100644
index 000000000000..372158830647
--- /dev/null
+++ b/dev-python/pycares/pycares-5.2.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2026 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_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python interface for c-ares"
+HOMEPAGE="
+ https://github.com/saghul/pycares/
+ https://pypi.org/project/pycares/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+# Tests fail with network-sandbox, since they try to resolve google.com
+PROPERTIES="test_network"
+RESTRICT="test"
+
+DEPEND="
+ net-dns/c-ares:=
+"
+BDEPEND="
+ dev-python/cffi[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ dev-python/idna[${PYTHON_USEDEP}]
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+export PYCARES_USE_SYSTEM_LIB=1
+
+EPYTEST_DESELECT=(
+ # https://github.com/saghul/pycares/issues/287
+ # looks like forgotten to update the expected class
+ tests/test_all.py::DNSTest::test_idna2008_encoding
+)
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-12.3.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-12.3.ebuild
new file mode 100644
index 000000000000..1c6dfb8c42e4
--- /dev/null
+++ b/dev-python/pymdown-extensions/pymdown-extensions-12.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/facelessuser/pymdown-extensions
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extensions for Python Markdown"
+HOMEPAGE="
+ https://github.com/facelessuser/pymdown-extensions/
+ https://pypi.org/project/pymdown-extensions/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/markdown-3.6[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pygments-2.19.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/pyproject-api/Manifest b/dev-python/pyproject-api/Manifest
index e87fcb009d53..4cfb3b47d7e9 100644
--- a/dev-python/pyproject-api/Manifest
+++ b/dev-python/pyproject-api/Manifest
@@ -10,3 +10,5 @@ DIST pyproject_api-1.11.4.tar.gz 25169 BLAKE2B 63a575c9479eada172ccd8b0d0c6c314b
DIST pyproject_api-1.11.4.tar.gz.provenance 9996 BLAKE2B de6e9239594f62de4727261689c77a490d13e255d989404ec846e6ae7c0584fa9a25a66cffce2f92efe9662fbba6e0527b4d6aa881ea9cab1527bbb5abee0c0d SHA512 5b4d3a7ec13a4b932ee35fc2727e81ee4b410ccfc347a82faf88ebf7f04375995998459df253025f93925bda9aea2d4afbcf90a8b4b848742efa8e8e6f5c4728
DIST pyproject_api-1.11.5.tar.gz 25745 BLAKE2B 5b6c28de1052a399d228faa4914ec35d13532235fa8ee45f4a9f12e8b12805913048c96793ee8575211d94d03dbb4aa2ab03aee28ae588aaf7525e4fcd45f6e6 SHA512 89fab8c160b4ce4829f8e59931ff4e28d9df79f2d9ae906b869f04e618a584f77a147b6c24324a58a253a1799f0d8a33e871f41ab345cbedd7d059aa38162e99
DIST pyproject_api-1.11.5.tar.gz.provenance 9851 BLAKE2B 34be212a597d98768857f2d3093a15c3ba7b083b033fd0d1b28ba170c09ac4eea52c9d550f97487df407391839c66a06f2bafcc509a4b5fef9749192f89ed054 SHA512 129667f5b5394c6ee459c861092816d9776bec7110a98f3c8dde2208e2478705966e9485c1ea04c0f29cd12bd5dfbc9858464df611dc782688b11771c8efbf96
+DIST pyproject_api-1.11.6.tar.gz 25938 BLAKE2B a0e3f1bcca4ef589b0ef9efe94a3d05bff2673cad5cc36d84f26421053ac55a7ba2830af14c28e87296e2d45406d9c47c10a0d132b033228a19dd0c5258fd255 SHA512 31b05e7b409a2f0a7ea99c7ce42d26f1b894fff9e0f66e7785f67c2d776568a0f2b37774f0b29f7e52240e8be2dfbbf59bb201e53548709e540872921a051e1c
+DIST pyproject_api-1.11.6.tar.gz.provenance 9800 BLAKE2B 125cde76594ae785e5a57762b740e73464f4400feb63902bec492f14ff999bee83642af8481cb6bfc5252e738a45a89cc8b3014d327bcc107be2dbea253e8c35 SHA512 a635f25221b2fab55361913e3b94fed8348e0fed1b92f3e1dcd863c549864340071e671acad1aa36fc9d0954d004abb94a5287d0eb750dd5e3d5c6136bfff1b8
diff --git a/dev-python/pyproject-api/pyproject-api-1.11.6.ebuild b/dev-python/pyproject-api/pyproject-api-1.11.6.ebuild
new file mode 100644
index 000000000000..0fbc85990c81
--- /dev/null
+++ b/dev-python/pyproject-api/pyproject-api-1.11.6.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/tox-dev/pyproject-api
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="API to interact with the python pyproject.toml based projects"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-api/
+ https://pypi.org/project/pyproject-api/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-26.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/setuptools-70.1.0[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.40.2[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest
index e1e0ed41edcc..a1426cc39bec 100644
--- a/dev-python/pypy-exe-bin/Manifest
+++ b/dev-python/pypy-exe-bin/Manifest
@@ -14,3 +14,11 @@ DIST pypy-exe-8.0.0-1.ppc64le-musl.gpkg.tar 5672960 BLAKE2B c9f57455f9aea57ae8ef
DIST pypy-exe-8.0.0-1.ppc64le.gpkg.tar 9615360 BLAKE2B 3282b7304d54f01de993b14e78c9d20c8954a78e6b8bdf4d2468d4b0c4e090a26e692de331af26911b0a3bb84e86420c7fb15e1e66fc52fd59f03a9d79deea40 SHA512 cb6cbc871e7797f75acb3b21e5ec7bd4e1a5e1cef20630b7b84d7ff74fcf6c4d647ec1981dd34a0600c2da93c2337cc6fd3d2479f837f500403f1e6dee11e877
DIST pypy-exe-8.0.0-1.x86-musl.gpkg.tar 8478720 BLAKE2B 533e88066fbf8c76622d0c612f947707503a22f24026999615f656421007a287b1e28c4da1d225554fcfeac14727db9566768c1f5b1ed584a6355a356fe957e2 SHA512 fe414ed9064fe4af9fa7429aad32b08ce453b37d736f77702559ad9e92f51c300f99b958ecd8ea1ecbd665197c180d80dfcb0df35ea7704ccfb127fa958e0a58
DIST pypy-exe-8.0.0-1.x86.gpkg.tar 8437760 BLAKE2B 197025df8005cb665234b10dbe0e3fdb25d14f94932449cb7e0dbd31b1ef31f89a537e8a96ea2a1d85b4674c6a12db383b401dc8005052360cd142b3caf390b3 SHA512 d9fde9053828fd68581c1d198a735c2eaea599ed0fbbf87e2e1aa8cd00eb01963f375cd55cf1589a2cafd335e43a0a325c0568b4c543e9df2554d24f3a010587
+DIST pypy-exe-8.0.1-1.amd64-musl.gpkg.tar 10782720 BLAKE2B 5cd08274fa4d99f13f4862400db8adefed0a1a9299e8c87c6879f14a2faa34302369b9e48b3913dd6d1d951f67b22af021aac85c253a22ec474639557f556d00 SHA512 2f07206859907e48d9a3c816f0443afdf66477d7711d124b2d94b7c8616f20c0b5a835d9fb1fae533e601baba9c7ad1025dd7e9627156245dbf3f9b025f6f46d
+DIST pypy-exe-8.0.1-1.amd64.gpkg.tar 11171840 BLAKE2B a2454d840db8bddff2ac05d906c08028ecadc0aad1a53b53e4b914053adba54b7fa196ad3a99b5b6d0ebb88dbb759a5b4d183e9ff6d3c3d339f643288004790a SHA512 f7aba73ae6713c098f59d5e50bb61a31b4e6563c3f992bf9c0c6a9f11289eaf729ef372f3c9e1fa66ef46f163e9c2ecd0ec46cf9e5af6ef4ade5d751ae08d8c7
+DIST pypy-exe-8.0.1-1.arm64-musl.gpkg.tar 9328640 BLAKE2B 48fe031fb1881aa8b59f97a615ad82782685f8c7d8338fae65dff2d20e33c9cc12208f2c5393ad689b3328370985f8872c234da37fd030a5234ea744e1bf11ad SHA512 5191ff845f5ba28bb14e6cf23dd865f6ed0e3580ba0ef710de7eb0a1e4f8925b957b79f18c1cf850b0dac373fe60800848a84aa5dd905fedbf5756a68111cb48
+DIST pypy-exe-8.0.1-1.arm64.gpkg.tar 9492480 BLAKE2B e6c155bcded0ad4cf45d0d531b999988da50172d1020d7d5427e007af0e5076728d50b62a46158997dc0726f76df50901234f9ff766d302033720cd69e8e4d64 SHA512 00a3662b88d282059b72ac7df8886bcd4cf34413d9ad1f14c7ac1844236f7e078a321425d84dc51dfe0423de24eae8390a7e13e7c301f465c69dd028d2c4fb0a
+DIST pypy-exe-8.0.1-1.ppc64le-musl.gpkg.tar 5703680 BLAKE2B b81ec17c630514c3f068987dea8bc449a21f2fad9c6e6f39862b536a0b0b54c4a16acf88f3f70e76b3518eb48d30074d0a1589e1181eacacb3d8646e3faa76a1 SHA512 03e781383e6146a785847cab641c15c9fced6e4c2196c9a1d3f6e2c35f07e25d4b9102a166fe733e1f8486e46c02db46c2593fac8f08c8069906b639dde4109a
+DIST pypy-exe-8.0.1-1.ppc64le.gpkg.tar 9656320 BLAKE2B 932b07dad2de5ea9ceb67dc0de22f949ccbe925acf27311893e1fac52f5d069248b4407af80736de739c69fdd41fdb1657a2971972c604c38c824196706630cc SHA512 250fce5025a789529ac89dc51ba8d81044f85692608540db84d3bd9ceccee45f4d979643a99d47990af2fa0b20a7e1b1706fede57c59782d4fc5b5f6c9b0a703
+DIST pypy-exe-8.0.1-1.x86-musl.gpkg.tar 8376320 BLAKE2B 6b310bf229a90494ea9a3d8e0b18930ec83214938aa02fbbac832aceab2bed577898771c8a35665facc71dcd45131208e93f0348f9e2f771986f8183a5071ce3 SHA512 245dc0a57d336aa13c0182dd2e18c546e4b6f3bc6fd8e6e46d8f160285a66f8e9440ddf1298981c9fda0e81baded88dca05d328f14490c21a915adfd8a179c74
+DIST pypy-exe-8.0.1-1.x86.gpkg.tar 8704000 BLAKE2B 89eafcabc56214d2021a302a9ee4fbf071199becb369a17a5e4ea7edc85b9c01d8db00287e4903e0231f6daaf5bb81ecd8ea756324f337a5d67181af1ab52bdd SHA512 e313fe7913857022e256ce286f6024b25e59ec6ba05872f9121e155356116d464e99dbda50c2cd4eba80cb918c003e3e50f757bbd137673b87619a6ea1ce381a
diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-8.0.1.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-8.0.1.ebuild
new file mode 100644
index 000000000000..3efe4577874e
--- /dev/null
+++ b/dev-python/pypy-exe-bin/pypy-exe-bin-8.0.1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2026 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://distfiles.gentoo.org/pub/proj/python/binpkg/amd64/pypy-exe/${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://distfiles.gentoo.org/pub/proj/python/binpkg/arm64/pypy-exe/${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://distfiles.gentoo.org/pub/proj/python/binpkg/ppc64le/pypy-exe/${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://distfiles.gentoo.org/pub/proj/python/binpkg/x86/pypy-exe/${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://distfiles.gentoo.org/pub/proj/python/binpkg/amd64-musl/pypy-exe/${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://distfiles.gentoo.org/pub/proj/python/binpkg/arm64-musl/pypy-exe/${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://distfiles.gentoo.org/pub/proj/python/binpkg/ppc64le-musl/pypy-exe/${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://distfiles.gentoo.org/pub/proj/python/binpkg/x86-musl/pypy-exe/${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
+ >=virtual/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 d7b6e227312e..d29e99e7b129 100644
--- a/dev-python/pypy-exe/Manifest
+++ b/dev-python/pypy-exe/Manifest
@@ -1,4 +1,6 @@
DIST pypy2.7-gentoo-patches-7.3.23.tar.xz 5316 BLAKE2B 923494c49ef09b1929ba1986891a08f23e4343c44eac792a688ac88b48d21770101ca50fcdf3986c686adefb24fbf58aef674ec608feea775984ab8a16385cb6 SHA512 c1d07caef19b77cb4950d56c1de8079900fc21728061f8620210932d2cd85f701407ce7b9947d2ef044211d1ffe8b77ce445da3c5aef69321b45e7ab8550dee3
DIST pypy2.7-gentoo-patches-8.0.0.tar.xz 988 BLAKE2B 6bd236da38a45c50891758f6446fa70c81358141b8904062d2d1e27a7a938ee970c592108a081c8e9c83c869415b235e0202eae93ccf8d050866567976ed1fcd SHA512 a365d070448374777e7b2a7f5f7226e7ade89fd427c44b01f1cd8acaa215095de91a85321f9ca8283d04ed1d9aeaa5d191f5b2e33e44a831e38912d56a7a970e
+DIST pypy2.7-gentoo-patches-8.0.1.tar.xz 2208 BLAKE2B 2251d777ac4b454fcbf8b179a2b14d172946986df5cb33de85fb0faec73756e93c7727f3f70e3f3b62b3219110ce34027ac38dfb31c216937e5f1c36e28d1b99 SHA512 d50c17ab3d3cb1207f2556229f592d66a0f6d6f7c61a8bdd2b7690303dd2fdc7ec5b9e7fbd0637ab93e6793b057b155d1b428d6663ee07ede78aa942159fbc42
DIST pypy2.7-v7.3.23-src.tar.bz2 21023543 BLAKE2B 7638e5aecd30d9c2c9ab22b1ab9a43331685885ee90ebfda8d2a88da34e4b0b998bd967eed30b309110b9d40b14df75f24a7e9219c7383b542602869ee1a12d9 SHA512 3750fc9c5309baa7627d00a77b4b2b1e0d755b75841acd0fcee484bc332f1e9ed9c1f33d2f4800777f20ea8849356f39c84167f96b9ebfdd7e479798d62eac06
DIST pypy2.7-v8.0.0-src.tar.gz 21312909 BLAKE2B 5ee9800c5399b1af82fde2f729fc63f6523e345b070176c4c13c9bd2cc0537baa6d04875042d4bd96ecec0c3bc5e8e79c08add1443b9c99ae40d396b91178ef7 SHA512 e0ae52034b5e03d413c47e1ddd9a7bde3549c70b4519c1630367c314ebce58638af78d5936c89943de1907477eb4bec8c149d850836991af14a50c9e643dfa63
+DIST pypy2.7-v8.0.1-src.tar.gz 21696939 BLAKE2B 48fd3769a7d7ebfd851b2b577aa99b7bdfd0023bdec4e1168d184a2df9f43f96d4dd3ed2e08931c2a9c2ac3054725e3db65a3e41ffac3df13018349d648c32b5 SHA512 18455b0509117e742ee29dfe3b8ae4fbde6fa5ed9f8271c7220995775a4f570134809b62a1ff25402d1275aae67b8ec3bfc5bd80a83e95f0058ca18d0eb6f994
diff --git a/dev-python/pypy-exe/pypy-exe-8.0.1.ebuild b/dev-python/pypy-exe/pypy-exe-8.0.1.ebuild
new file mode 100644
index 000000000000..1e6c14dc6af4
--- /dev/null
+++ b/dev-python/pypy-exe/pypy-exe-8.0.1.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs pax-utils toolchain-funcs
+
+PYVER=2.7
+PYPY_PV=${PV%_p*}
+
+MY_P=pypy${PYVER}-v${PYPY_PV/_}
+PATCHSET="pypy${PYVER}-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.gz
+ https://distfiles.gentoo.org/pub/proj/python/patchsets/pypy${PYVER}/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
+
+DEPEND="
+ >=virtual/zlib-1.1.3:=
+ 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-lang/pypy-2.7.8.0.0-r1:2.7
+ dev-lang/python:2.7
+ )
+ )
+"
+
+check_env() {
+ if ! has_version -b dev-lang/pypy:2.7 &&
+ ! 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-lang/pypy:2.7 ||
+ 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/pypy${PYVER}
+ 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/python-magnumclient/Manifest b/dev-python/python-magnumclient/Manifest
index 8fe3e6d5bc82..5e2b66e4760b 100644
--- a/dev-python/python-magnumclient/Manifest
+++ b/dev-python/python-magnumclient/Manifest
@@ -1,3 +1,2 @@
-DIST python_magnumclient-4.10.0.tar.gz 108415 BLAKE2B 4515c94b480122160de3f0c4420f25c2e96707add9e29091c769864f1774d7d2d97ed96dff90cac78f0f74c7b0e35f9ca18d792cfa5c1d563f3c5469e23f07cb SHA512 2490ad97e1f2b9895f847a01c0d746a99ba62db5b2376ced386e4bcdaf85e98d652ca573b416cb92c5c9b8fa81c2c4e16f8fd29ec5b804c3569c743907abcb1f
DIST python_magnumclient-4.11.0.tar.gz 108847 BLAKE2B d198f1875acbabcc54eb156464b4235218c95ce2fc60d53e05d37a4f3657377222cbfc814c3aeb2eb0ec6e4ba0fb1626e226d3108710184e62cc531e8fddda34 SHA512 b92132a02ee9a15919d34360769a25a4ad4a373eedd271ffd9129dc86baa454e129b3f677ff71d887d402c562211a5a509fac05eb35649e7f9443c33f2634548
DIST python_magnumclient-5.0.0.tar.gz 89476 BLAKE2B f5afbec9b818493791205bda73025dbc9d8ac89cc78c9da2433199c257df693ab0b0b96421cc1d56b350311e05ae0859986eb44aaa420f08bafaa6ef21319e33 SHA512 e05e1313f0fc44d6cbd6a80fa77063151c87338014758c12ef1e5eb411934c51ff2bfb19b27bc09940cd2d7ca09e6a3063d692a23e12215e9e351c93ed6554ff
diff --git a/dev-python/python-magnumclient/python-magnumclient-4.10.0.ebuild b/dev-python/python-magnumclient/python-magnumclient-4.10.0.ebuild
deleted file mode 100644
index 36b8f168dd64..000000000000
--- a/dev-python/python-magnumclient/python-magnumclient-4.10.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# 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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A client for the OpenStack Magnum API"
-HOMEPAGE="
- https://opendev.org/openstack/python-magnumclient
- https://github.com/openstack/python-magnumclient/
- https://pypi.org/project/python-magnumclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/pbr-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.5.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
- >dev-python/oslo-serialization-2.19.1-r9999[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-4.6.0[${PYTHON_USEDEP}]
- >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
- >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-
-distutils_enable_tests pytest
diff --git a/dev-python/rawji/Manifest b/dev-python/rawji/Manifest
index 32d680f8c797..d101e02db554 100644
--- a/dev-python/rawji/Manifest
+++ b/dev-python/rawji/Manifest
@@ -1 +1 @@
-DIST rawji-0.1.0_p20260901.gh.tar.gz 45840624 BLAKE2B 3b8e765c29467c09922887f81790d940c84a52d1252acbc5d5f03a8aa793aa3a23c539590815105996b6beec313223959becc9be58dd46e1b80eaffc8203e21a SHA512 7b53e0fa246dfc1a30985a57d510666cc1458bd51b70ae1131ff106d1afd580f0457f0aab06d563552d0ae8279b1e02733a3f35ac9d3d237f6ba24e48203c1c1
+DIST rawji-0.1.0_p20260920.gh.tar.gz 45841447 BLAKE2B fe95e5a413dcfdaec5a4d78a953a9462262a4e5f55cff90fb0df569918d1975192254ffc0984508543945f8f32b91278e5283f591a85b805ebcc5020fc185b9d SHA512 e3f5febfd759ecf6a312a4848705f7f2d0a1345af084c7c849d942af56f303580c1aefbd764d9fbca74b3712ffbad0df2f3c4656524e6d2f6e801f672ff4a74c
diff --git a/dev-python/rawji/rawji-0.1.0_p20260901.ebuild b/dev-python/rawji/rawji-0.1.0_p20260920.ebuild
index e8534b24785a..45f30a563755 100644
--- a/dev-python/rawji/rawji-0.1.0_p20260901.ebuild
+++ b/dev-python/rawji/rawji-0.1.0_p20260920.ebuild
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1
-EGIT_COMMIT="a702dc8254378974b86785e2654fe57d590fafe4"
+EGIT_COMMIT="02cb559bb1555b3f77e4b246cad06c44cff56c8e"
DESCRIPTION="Fujifilm RAF conversion using the camera's own engine over USB"
HOMEPAGE="https://github.com/pinpox/rawji"
SRC_URI="https://github.com/pinpox/rawji/archive/${EGIT_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
diff --git a/dev-python/sphinxcontrib-httpdomain/Manifest b/dev-python/sphinxcontrib-httpdomain/Manifest
index baf1e7cc32f4..6f7603902abf 100644
--- a/dev-python/sphinxcontrib-httpdomain/Manifest
+++ b/dev-python/sphinxcontrib-httpdomain/Manifest
@@ -1,3 +1,4 @@
DIST sphinxcontrib-httpdomain-2.0.0.gh.tar.gz 94266 BLAKE2B c41a58d108b0f86200b371b05b52e13ee9c7ad9f8e3ce6b67aa02cf884ff92c8a5e739e5072c316eebef8814f40ee0bae8045d9fa79f475b407716aba0c77418 SHA512 1dcc4b7cc072953ec8fd82b32370815b15a9a9f4da7db2b0ef499e325a85acf181fe232429c2b296155d1da74d11a1b128abbab505bec4640d690635aa8e1889
DIST sphinxcontrib-httpdomain-2.1.0.gh.tar.gz 123627 BLAKE2B 6b9982d200b359e41775ea7dbc7f99eb5b6031dcbf7def55bf91963568ae32421f6349609aeea957da88c08f4ed6dcec31d5c88f1fc6afe81fbf1de8347ddb9a SHA512 30503c70b876bec89bc5fd022b682b01f5f591ec2912ce9dec80300590d134eeab867e27ad98d89c3889532760a6b87de0260457e359ef79a218c713e3e2d80f
DIST sphinxcontrib-httpdomain-2.2.0.gh.tar.gz 123703 BLAKE2B 7bbf2bcaf0684f2aab57893e7bb5f61b84e991466c40f0475ddf6df2ce73a5a9cf8fcfc07ba73182a4e0ff9de687a77fd7c3979b6bc77dd95e2034afb57b10e5 SHA512 e8f3b3258134feeaaaec0765f3dc9450d147ea2b6d4ff471284e274db9ccde4c961a100a9c37d90e48ae790818cce887d3289b1f502ec7bd55715fede95412a4
+DIST sphinxcontrib-httpdomain-2.2.1.gh.tar.gz 123718 BLAKE2B e853d99b9cf784ac8b6753356a97380c41ae182400212ee12be0c6ac3deaf414fc1b92372bf6f75513c046e6e3073cd2f8113ea7774ac31ba30a07c82e382050 SHA512 664ca9341815d52cc08fc62e442ce61ea3c473afe9c921d35903421eafbdc49a84557bcc1ea0ef9645a58cda28e8534286daa8c2a61414473b73fc11a5fbc31f
diff --git a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-2.2.1.ebuild b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-2.2.1.ebuild
new file mode 100644
index 000000000000..557a28a4cc7f
--- /dev/null
+++ b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-2.2.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx domain for documenting HTTP APIs"
+HOMEPAGE="
+ https://pypi.org/project/sphinxcontrib-httpdomain/
+ https://github.com/sphinx-contrib/httpdomain/
+"
+SRC_URI="
+ https://github.com/sphinx-contrib/httpdomain/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/httpdomain-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/sphinx-6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/bottle-0.13.4[${PYTHON_USEDEP}]
+ >=dev-python/flask-3.1.2[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.5.4[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${T}" || die
+ epytest "${S}"/tests
+}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index d6c62a24e18b..d7d14370ebad 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -5,3 +5,4 @@ DIST uv_build-0.12.19.tar.gz 435379 BLAKE2B 4ded7941c9277d571757d9f49fcb124c9312
DIST uv_build-0.12.23.tar.gz 437241 BLAKE2B 05e4750d1d540a81b36cefc7043b95ec188bdfb1096c20a9b446abb61e50ca5397bee8d121ca5aff06b3173abefdcfcb198dc1603a5878eccf9ed8bf1368546f SHA512 f9b1b74f89572fec3a36e6dab979ee64c7209c0483e531981908aeab18bf20618e441a8f150b4a0a5e6c2ad5cda39e34a604a40c1f2c39005c6f8185044fe401
DIST uv_build-0.12.7.tar.gz 418759 BLAKE2B 94aa33b2644f849a686d80d7f7d365ca8433615d93f27209fca5b21747363cd349d11e887d090420102f06a49977ce963b8f19c24a4280bf82a09943ba08885b SHA512 135f845b3ee6d1925f740917f83f94ec1a7e95aab5ed2db0aa70516c712ab0a143a0e427d3c172fac0bb1fabaa9103718bb2a26c31c9a287e3af65ac0175a245
DIST uv_build-0.12.9.tar.gz 423446 BLAKE2B 8f32f7527633f5853a11a0f798a2aa075f9e96c2b34144f986a639dbd042bac7c5e33853287ef43273352a3ee84da852062c42daead1f188281295b635694177 SHA512 3aa6ea5b4e60218e7cbc3c5ed8ff7fbeeace36eb0d2c75627fb7a0ce7c060e8d6405378e9713f7164319cce55dc96b1a335ccb3032cfc7e9e60e99862295e79e
+DIST uv_build-0.13.1.tar.gz 446632 BLAKE2B 543350d4a3d6ba53ea5d52f0f840245a6865f029a48f4f095d4d191b0ca502960526660f9255d60bb8e15b00c6daba9afbe7a8c19e61ca841fa5524a9b63c10b SHA512 42f4739a21e068af66b884a22f7fd57f278ebfe37a5561d5fdf95dc0c443456e5436a3ce49b26b96c70b7431c0422af37a33b529a0f6ab09e3ad108a9982350d
diff --git a/dev-python/uv-build/uv-build-0.13.1.ebuild b/dev-python/uv-build/uv-build-0.13.1.ebuild
new file mode 100644
index 000000000000..65d94f2051ae
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.13.1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/pyproject.toml.orig
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 845dfe14e41a..758a573de0ef 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -12,3 +12,5 @@ DIST uv-0.12.7-crates.tar.xz 44143088 BLAKE2B 075113e8cbafd99a1c70c4ce53678f2ceb
DIST uv-0.12.7.gh.tar.gz 8659716 BLAKE2B ab7d74e16821dbbefeb247cf80926ae23f75b5f309a8864070b3a01344044a966f772685cb864470b4c30877f8e03715ec675b658862bd04906e740866ebffd1 SHA512 7f9bd1aef6c285aedd3fe588a5f70e0458f85f6db14f0368ea24c5524fd66990510e0d5624a7faf48091a3dc73ff66ac52ab9a6ed571a10cca272b9588fb1aff
DIST uv-0.12.9-crates.tar.xz 44161200 BLAKE2B ef5f654005a5c074a2c251471bfe91db9e172b5733ede5e9b5f48a3464194f50e288aeb8afdbd2f0923106380812490bb800506c3c10dca916e994c2c6548a6c SHA512 26676348002e1c3ddfdc772ce6a429ab0d69fe7641a539dba2694a0e946c2f23789e5c8d6ceeaef407efbd20ec4b0fe889463d94c498514462bc19f0d85fff7d
DIST uv-0.12.9.gh.tar.gz 8688302 BLAKE2B 0ec1ded90f77ad7b9eb0e0a5c8001b26e10b7485ffa6e709638130173ded90d92969a54f10a455e8a0c032d5872881a3f527a6d4b612d378f283349dea816cab SHA512 18d35675a3e15531a9542c951b265866da4b762e0f2ba91f66dcc8b55ba5352ec97638ee2dc7fd3a908639201b27a442112a75c67053f9d861840c041e0b5290
+DIST uv-0.13.1-crates.tar.xz 44234800 BLAKE2B 78e734286467404e4289cff568565e1ef16bf7b97eef5b01180dabca62bc8fd21bbd39b24f0fa40213b97c8a1e2a2733801c382bb271f8377f4688102c623da9 SHA512 a736dc50e05b52fed9379570415d1a18e32a3a1f23c8630af625677df73b7916ecf2f66d8b7c9d9281d1c37264e442bc16c382e0c5ea21b8be68f33a9d26e3f2
+DIST uv-0.13.1.gh.tar.gz 8877918 BLAKE2B 43c1726bf6b277b57d154a0bba917cd6762c5dd3e4fbc5293c49372725e12b6980ef34fc44013c68a0956fa9bde368d3a6f45c4e658f27fe98506f22c987a7f2 SHA512 de0bf17d6ddc081e2b3904ed04aeb6ab7e9745880dd2cf78fd9f70e01241d28701246bb2db2b524c76549a0a53af899ad291dec7e957c6a96a344c285c1c4e29
diff --git a/dev-python/uv/uv-0.13.1.ebuild b/dev-python/uv/uv-0.13.1.ebuild
new file mode 100644
index 000000000000..a8418c9a55d5
--- /dev/null
+++ b/dev-python/uv/uv-0.13.1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.97.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MIT-0 MPL-2.0 Unicode-3.0
+ Unicode-DFS-2016 ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/zstd-sys-*/ -name '*.c' -delete || die
+}
+
+src_configure() {
+ local myfeatures=(
+ test-git
+ test-pypi
+ test-python
+ )
+
+ cargo_src_configure --no-default-features
+ # otherwise, rustc/llvm runs out of address space
+ use arm && export RUSTFLAGS="${RUSTFLAGS} -Copt-level=0"
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ dobin "$(cargo_target_dir)"/{uv,uvx}
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}
diff --git a/dev-python/zope-interface/Manifest b/dev-python/zope-interface/Manifest
index bc77664dbb3e..62c3e02c113e 100644
--- a/dev-python/zope-interface/Manifest
+++ b/dev-python/zope-interface/Manifest
@@ -1,4 +1,4 @@
-DIST zope_interface-8.5.tar.gz 257957 BLAKE2B 15f142fe8636def9cab24d91394b7d69e2ef5a420635830b9da35c75846ff323d7b4463cd00d9bd866916322ad1c18a3d4cb1e2f2210955e8772fc3b48906048 SHA512 099f88e47cc29312ff79f3efd904710fc4cfe4c81cacacc1f3cf40471a6b46e9d82646e42c539b14d8f0619beba74b1d0cec90a3a22897949f59dd26750dba7e
-DIST zope_interface-8.5.tar.gz.provenance 9454 BLAKE2B 56d347195516e86ff0c56092d92acd8c5c00aa376c9149d14ae5b7e7d2a2b1872975fc85436c37d013e8f16e4ec366f7ee28b76683b9dfd02ef028a16bab699d SHA512 31d39871d4bf74c1aca8c11aad96cab3e0ab4848b7c846022455f5f733877e0902684cb128c0d13a3f3d036d8fffe307c622ec91710c11e9c391f7e176a2594a
DIST zope_interface-8.6.tar.gz 257973 BLAKE2B 7c453f9dff3f9f423a6dbbc59ebbefd5d5788e7ed0fe92f1eddc9712f7b2dde1f4b7ed02f93bd6b8829133c5fb68ad437bc147c959c5c62e830c08177b64e6f2 SHA512 c1945572f90ef552098a2f941ea05d02438715d4af51a93bdee16fd69f823bd3beadd953c39a37e4d77a68cdbebe71d1f52f9ec1d09695e97c4320a14d5c7dac
DIST zope_interface-8.6.tar.gz.provenance 10045 BLAKE2B e6bceca5e9d5d8b70ac3eb25c82472d1aeef2ae34f2b9d1348f757ffcf3ae69fcb7ffbc758a853e50959034820b43fc6d5629a50e1a15bca61d56f60dde26513 SHA512 3b2779c644a8405d902591ea306c7da7b3640519cec60c2d11a590468070313b4ce2c106b2f1f2f32dabfe46f879487fdba6dde7e2324a16d8df3ada5477a6c4
+DIST zope_interface-8.7.tar.gz 266343 BLAKE2B d20fa3b52f89cb12e58811bb70e535fb6104c81f580964354dc0fa79fe9a1aaf75d2227215143519f5400d76bc7b6140ac54e7d00ef43b6a83c6ae40395882c9 SHA512 a299c6d7a057eeed620dbc5314c0358d704d3edd7c23ccb60e6daac1f26ccbd0b9fcfb6e870e9a58e550de2354c17c61281607450b8acb7630bbccfbf3fbe516
+DIST zope_interface-8.7.tar.gz.provenance 9686 BLAKE2B 0007a2080d4aac76de0dca13ca68d2ee516c60dda183904512b5fe27a048258bfe80b6c7dd17b5686ecc5786e13d43a7e77efb8332ec7f661f9def17bb48ed28 SHA512 ed60ecb903db5ce6b009a665d28032ac6ac7f86c323126c8b2572308269aebbd497f4b4e5beeca895b0431050b890df15e723533fea25717dfacbc7374a804ad
diff --git a/dev-python/zope-interface/zope-interface-8.5.ebuild b/dev-python/zope-interface/zope-interface-8.7.ebuild
index e817db8928b1..b3b5480ac141 100644
--- a/dev-python/zope-interface/zope-interface-8.5.ebuild
+++ b/dev-python/zope-interface/zope-interface-8.7.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="ZPL"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
IUSE="+native-extensions test"
RESTRICT="!test? ( test )"