summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-07-01 03:04:33 -0500
committerroot <root@alpha.trunkmasters.com>2026-07-01 03:04:33 -0500
commitab43701157ca1662c9ed2c0da7aa0a795c2e3852 (patch)
treeaed05f12131c6f74ccd8ea4783fa89c8d3127225 /dev-python
parent51d2af41ea07bb960200e1ab10b2c9c8ec489c5a (diff)
downloadbaldeagleos-repo-ab43701157ca1662c9ed2c0da7aa0a795c2e3852.tar.gz
baldeagleos-repo-ab43701157ca1662c9ed2c0da7aa0a795c2e3852.tar.xz
baldeagleos-repo-ab43701157ca1662c9ed2c0da7aa0a795c2e3852.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/ansible-compat/Manifest2
-rw-r--r--dev-python/ansible-compat/ansible-compat-26.6.0.ebuild67
-rw-r--r--dev-python/ast-serialize/Manifest2
-rw-r--r--dev-python/ast-serialize/ast-serialize-0.6.0.ebuild134
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.43.38.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.43.38.ebuild67
-rw-r--r--dev-python/cython/Manifest1
-rw-r--r--dev-python/cython/cython-3.2.8.ebuild128
-rw-r--r--dev-python/dulwich/Manifest4
-rw-r--r--dev-python/dulwich/dulwich-1.2.7.ebuild128
-rw-r--r--dev-python/faker/Manifest1
-rw-r--r--dev-python/faker/faker-40.27.0.ebuild41
-rw-r--r--dev-python/humanize/Manifest2
-rw-r--r--dev-python/humanize/humanize-4.16.0.ebuild34
-rw-r--r--dev-python/librt/Manifest2
-rw-r--r--dev-python/librt/librt-0.12.0.ebuild40
-rw-r--r--dev-python/octave-kernel/Manifest1
-rw-r--r--dev-python/octave-kernel/octave-kernel-1.1.0.ebuild41
-rw-r--r--dev-python/rpds-py/Manifest7
-rw-r--r--dev-python/rpds-py/rpds-py-2026.6.3.ebuild61
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.11.26.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.11.26.ebuild163
-rw-r--r--dev-python/xmlschema/Manifest1
-rw-r--r--dev-python/xmlschema/xmlschema-4.3.2.ebuild38
-rw-r--r--dev-python/xvfbwrapper/Manifest1
-rw-r--r--dev-python/xvfbwrapper/xvfbwrapper-0.2.25.ebuild31
30 files changed, 1154 insertions, 0 deletions
diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest
index 621a40091068..61742ed830e3 100644
--- a/dev-python/ansible-compat/Manifest
+++ b/dev-python/ansible-compat/Manifest
@@ -1,2 +1,4 @@
DIST ansible_compat-26.3.0.tar.gz 216754 BLAKE2B d5dde4ec191b8a9a824b877226927991c94fdd86db33e0b30fb33118566199611323268bc87b0fc436fddffb443270c2277628e3e275addca575a4e3558bb6a0 SHA512 f1dd3703d1eb7dffa5a052ab30099df416278bd13c2c5e41a6628b9bf375de4aaa2e973bae1472a4da721c67301b6b49586ff5939f506103a8bfaae86d234f09
DIST ansible_compat-26.3.0.tar.gz.provenance 9416 BLAKE2B c62f8c279d67a3e8ff2db8b79b8520b07af7d33dba120dc95da2f8e777c74d35597d7e3dbd7cd9e057a558fc76dc0887bdab7790ee5424dde63da5aad77b4f73 SHA512 563a524f3d9014aea9bd6edc0456342417e19241746b5bb194d1d6dd6d6bec557935d10a75a10b0314ccc4623fdc2eb28f54578d0740204d88af50dbb4ebe57f
+DIST ansible_compat-26.6.0.tar.gz 233940 BLAKE2B f3fe1f5652afd74c742fbdab02a39a16fea8322bd4cf633bd1e4d3007ecd95ac280675e8c1f3cca6e2cc7b2fc546bf517102ea742a7e8893b7af2dea3d5d9fdc SHA512 f6c7b17a5832ca6f91fcd0e97d48324f3e7af7f2a50ac5d888824ae5d75ca5e20aa2aac4bb63347e284c3ec1cb2508401db31a3bb097a52322a0f259c830e4d0
+DIST ansible_compat-26.6.0.tar.gz.provenance 9711 BLAKE2B 4a8753db64c293d3e2f61f7f947caaa765f7069edb133669293492d407fde977d6f50bb1e6e95b63b029e22d08724e57d280bebe8634279045a7381cc4cc1750 SHA512 8c874671e04f51015d567cd967105b62af629d0d7685b0f0049f5eb7d6fc18a1412df4898f638ad8ede289cc1ea05b21e6c8ae06a2e5fe6809cea509eba110e4
diff --git a/dev-python/ansible-compat/ansible-compat-26.6.0.ebuild b/dev-python/ansible-compat/ansible-compat-26.6.0.ebuild
new file mode 100644
index 000000000000..c66406c5f349
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-26.6.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517="setuptools"
+PYPI_VERIFY_REPO=https://github.com/ansible/ansible-compat
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Contains functions that facilitate working with various versions of Ansible"
+HOMEPAGE="
+ https://pypi.org/project/ansible-compat/
+ https://github.com/ansible/ansible-compat/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=app-admin/ansible-core-2.18.6[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
+ >=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # remove stupid upstream version block
+ sed -i -e 's:2.20.0dev0:0:' src/ansible_compat/prerun.py || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # All these tests attempt to connect to galaxy.ansible.com
+ test/test_runtime.py::test_install_collection
+ test/test_runtime.py::test_install_collection_dest
+ test/test_runtime.py::test_prepare_environment_with_collections
+ test/test_runtime.py::test_prerun_reqs_v1
+ test/test_runtime.py::test_prerun_reqs_v2
+ test/test_runtime.py::test_require_collection_no_cache_dir
+ test/test_runtime.py::test_require_collection_wrong_version
+ test/test_runtime.py::test_require_collection
+ test/test_runtime.py::test_upgrade_collection
+ test/test_runtime_example.py::test_runtime
+ 'test/test_runtime.py::test_load_plugins[modules]'
+ # pip, failing due to internets
+ test/test_runtime_scan_path.py::test_scan_sys_path
+ test/test_runtime_scan_path.py::test_ro_venv
+ # internets?
+ test/test_runtime.py::test_runtime_has_playbook
+ # TODO
+ test/test_prerun.py::test_get_cache_dir_relative
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/ast-serialize/Manifest b/dev-python/ast-serialize/Manifest
index e519d166ebba..82401574361d 100644
--- a/dev-python/ast-serialize/Manifest
+++ b/dev-python/ast-serialize/Manifest
@@ -4,6 +4,8 @@ DIST ast_serialize-0.3.0.tar.gz 60689 BLAKE2B 2e9a24fac3e93f4fbfae71f43d4c1f0c57
DIST ast_serialize-0.3.0.tar.gz.provenance 9561 BLAKE2B 345dcda6151e9cd50356ee41878ac3711620d22ea9d8dd232d25068cad94e680eaa7c278b5d383e7c168cfb59ef5a7970fa73b3808386eebc13b9bf8301f4b62 SHA512 023110d6b7d86eadd1dedda8ba75358d91ba9269ea96e52d56f758ced0614d7aeaa7602cae4779e1ad625364d0726201bff36d2eb7faf522bf51af403bd15a5e
DIST ast_serialize-0.5.0.tar.gz 61157 BLAKE2B f5f41914edda1f256d5563517326e518ce672c6305cfe4e3dc41719f080b07e2db4534b30d855deaa9086e605eb85ea84d9a756d59ddeca7058faf6be70e0cca SHA512 7f8155e1e443ede04f73f0655bb522aa27aebffcc5a78ab3639fb7ccc215950caaeab5f04a657e2112485eb196db65f170acddbcd14dbd731d5ac232911cbed0
DIST ast_serialize-0.5.0.tar.gz.provenance 9812 BLAKE2B e4be61a606cc9bac3bde8c27424f34c2418312c126245a852a16a583517046041953332b78c9cbfe30045b7f4b76b29dc0b441e3acfd0b625690fe723d1efc19 SHA512 a97ae0b7e8f2e9be0e1672e221282139d18e6380b70f2b86aea31ba8d112387f6a83ff751af67cb9e4016e0f978461d3f2f90868af907c685dd5810656a52f35
+DIST ast_serialize-0.6.0.tar.gz 61489 BLAKE2B 3857e55fd64fddb4b718bed8c03cca5e0732bfa6d1c7a7cb09bc2f999b6d28fe0fa9d84b2af6e8d1178d44ae34b8c862b3389b85ad2f8b9d51c349990069a4c7 SHA512 3710a4eea600e1207bd94610870394be1637d4a649be519a20830b17aaa03d0c18a77863713eec6fc870729631a1c5a3d5c60b0202be5df4ac7cffdb5dd1b9ea
+DIST ast_serialize-0.6.0.tar.gz.provenance 9950 BLAKE2B ca2f29f1ead4150f58704a6bd68619f0ebae2db97995521910e531643c7b56a06e2a64be649241f9af2e5996a525c3c4c596c873dada092798eaa232566cc8d8 SHA512 c7a5a9c94b895774f5b890f1f3d62b4a7acaf668f06f10c3499629b01b7866e4d087215ad85d02c250a1dfbd5bed741f4454593796695f80db48d1c2ce35ab24
DIST attribute-derive-0.10.5.crate 23575 BLAKE2B 6071dc36a01725c57cded0271a609692399c1275180ee75d8279afd70daa9a1263b08f77fe3a9d87cc37a87c08dce2afba149800b1575fc96505ee40f9b6f3d1 SHA512 0c08d98f3ec480e4ac7fa6557726a40823c11164bce351da07cd976acc34b2493a55c9908798a6bdb6a5056223a443f6e2cbd38351493672c8faba8212b645a0
DIST attribute-derive-macro-0.10.5.crate 10058 BLAKE2B 24bea4907594a2e5a82d553ee7db450b68f097dea6cc1e4f85cea854c0a8235514ad22fc62ac85ff3902e39bdbe0dc9a5e5d87fc992134c1c79cbebe03bc4e86 SHA512 19c344bebcc99469deb292c6bb2b8542b3095617498f081ada711406d6acc41d0a4264181e2ccd3489166aebf50895cdc72a06d2a29d6c5dc260f2fecd65aacd
DIST bitflags-2.10.0.crate 48427 BLAKE2B 238a6da813eb2c5541ad470b97b9cf6ad8004095d2a8e865b88eb2301290b7bda22e5b062ba66a04ff0f3108a84d4799af0786b76f785fb5782bd847876549c9 SHA512 6fcdaf250ca6e74b65ecba755d62c3e78f6c02ce1a9562a3b17bb2d6068a0df480ad9c838ce427dc2d2869a9dd1f86f2fb1dc1e50a114def77fd24154b2b86b0
diff --git a/dev-python/ast-serialize/ast-serialize-0.6.0.ebuild b/dev-python/ast-serialize/ast-serialize-0.6.0.ebuild
new file mode 100644
index 000000000000..dccc2c121955
--- /dev/null
+++ b/dev-python/ast-serialize/ast-serialize-0.6.0.ebuild
@@ -0,0 +1,134 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYPI_VERIFY_REPO=https://github.com/mypyc/ast_serialize
+PYTHON_COMPAT=( python3_{13..14} )
+
+RUST_MIN_VER="1.93.0"
+CRATES="
+ aho-corasick@1.1.4
+ anyhow@1.0.100
+ attribute-derive-macro@0.10.5
+ attribute-derive@0.10.5
+ bitflags@2.10.0
+ block-buffer@0.10.4
+ bstr@1.12.1
+ castaway@0.2.4
+ cfg-if@1.0.4
+ collection_literals@1.0.3
+ compact_str@0.9.0
+ cpufeatures@0.2.17
+ crypto-common@0.1.7
+ derive-where@1.6.0
+ digest@0.10.7
+ either@1.15.0
+ equivalent@1.0.2
+ generic-array@0.14.7
+ get-size-derive2@0.8.0
+ get-size2@0.8.0
+ getopts@0.2.24
+ getrandom@0.2.17
+ hashbrown@0.17.1
+ heck@0.5.0
+ indexmap@2.14.0
+ indoc@2.0.7
+ interpolator@0.5.0
+ is-macro@0.3.7
+ itertools@0.14.0
+ itoa@1.0.17
+ libc@0.2.180
+ log@0.4.29
+ manyhow-macros@0.11.4
+ manyhow@0.11.4
+ memchr@2.7.6
+ once_cell@1.21.3
+ ordermap@1.2.0
+ phf@0.11.3
+ phf_codegen@0.11.3
+ phf_generator@0.11.3
+ phf_shared@0.11.3
+ portable-atomic@1.13.0
+ ppv-lite86@0.2.21
+ proc-macro-utils@0.10.0
+ proc-macro2@1.0.106
+ pyo3-build-config@0.28.2
+ pyo3-ffi@0.28.2
+ pyo3-macros-backend@0.28.2
+ pyo3-macros@0.28.2
+ pyo3@0.28.2
+ quote-use-macros@0.8.4
+ quote-use@0.8.4
+ quote@1.0.44
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ regex-automata@0.4.13
+ rustc-hash@2.1.1
+ rustversion@1.0.22
+ ryu@1.0.22
+ serde@1.0.228
+ serde_core@1.0.228
+ serde_derive@1.0.228
+ sha1@0.10.6
+ siphasher@1.0.1
+ smallvec@1.15.1
+ static_assertions@1.1.0
+ syn@2.0.114
+ target-lexicon@0.13.5
+ thiserror-impl@2.0.18
+ thiserror@2.0.18
+ tinyvec@1.10.0
+ tinyvec_macros@0.1.1
+ typenum@1.19.0
+ unicode-ident@1.0.22
+ unicode-normalization@0.1.25
+ unicode-width@0.2.2
+ unicode_names2@1.3.0
+ unicode_names2_generator@1.3.0
+ version_check@0.9.5
+ wasi@0.11.1+wasi-snapshot-preview1
+ zerocopy-derive@0.8.33
+ zerocopy@0.8.33
+"
+
+declare -A GIT_CRATES=(
+ [ruff_python_ast]='https://github.com/astral-sh/ruff;66f93cf7ed4d36325f35a452e4afa28268fbcd28;ruff-%commit%/crates/ruff_python_ast'
+ [ruff_python_parser]='https://github.com/astral-sh/ruff;66f93cf7ed4d36325f35a452e4afa28268fbcd28;ruff-%commit%/crates/ruff_python_parser'
+ [ruff_python_trivia]='https://github.com/astral-sh/ruff;66f93cf7ed4d36325f35a452e4afa28268fbcd28;ruff-%commit%/crates/ruff_python_trivia'
+ [ruff_source_file]='https://github.com/astral-sh/ruff;66f93cf7ed4d36325f35a452e4afa28268fbcd28;ruff-%commit%/crates/ruff_source_file'
+ [ruff_text_size]='https://github.com/astral-sh/ruff;66f93cf7ed4d36325f35a452e4afa28268fbcd28;ruff-%commit%/crates/ruff_text_size'
+)
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python bindings for mypy AST serialization"
+HOMEPAGE="
+ https://github.com/mypyc/ast_serialize/
+ https://pypi.org/project/ast-serialize/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0
+ Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/ast_serialize/ast_serialize.*"
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 42cda70727a4..579f04fcceef 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -6,3 +6,4 @@ DIST boto3-1.43.34.gh.tar.gz 1167805 BLAKE2B d5c01a44a913870dbed56c33372b83aae97
DIST boto3-1.43.35.gh.tar.gz 1169237 BLAKE2B aeaaedfa5adf47d8453511be0c490187427ac5b7fda5a90560631953c5569d77e858fa259ff9935d8db4becd0787e4d39d68225ced6f24760163a6dee7b0d3d7 SHA512 eb7900427fd29dcde27ad99b8c9cc0eae84c6a67c1245f3da6ba9b2dfad79dd0ebdc31233c3622d71a46138c38152492d19310d1521538eb5c4ac1f76c0eb745
DIST boto3-1.43.36.gh.tar.gz 1169288 BLAKE2B c316bf8bc804c7c7a70eed0b01a66d7cf8ffdd0662e3bdb54864a9c78d3baa1d092c99fd43dd2df93314fc4795738a6ad432cad6a333f0a5535e13b9c6765fca SHA512 bd9f623a67508741cd45b239a4e575bf5688146d38bdb4f3af0b294f17898205e23b57d04bf6ed9584b92088515be1fd6f11922fdba5cd19bcf3ea4340d16f55
DIST boto3-1.43.37.gh.tar.gz 1171489 BLAKE2B 55d1a012b3c2aa98591a25c367b18fed3435bb3d02e35a1e97f5a69c79af13fe7e6775e7bc9fa7feff7848854c761ad33e3815aa9d6ac3c98f272852238c6774 SHA512 15e191664a7f1cc275f9d54efa0781a0b362755a4142c7fe51cef0a300dd0ceedd8d1f706c120daa193dc6e29e2909103059bb86e6479a005728696999d3b7e0
+DIST boto3-1.43.38.gh.tar.gz 1173715 BLAKE2B ed41aaf26c81150ac7e8f76b31cba3cfe475aad5e999b5863c01c569197ba6f84bbc81348e3a0b48fb8937a8c5bc3bf10645e3b9d02e358da1749be97814731c SHA512 5bb455bacb8ac867459df7d99805280c222ec59f046f01b74adb25213629f2e020edb0ea55c83d98ec9f29ede82c5258e510a150231c5bc6987d55b1403a4f06
diff --git a/dev-python/boto3/boto3-1.43.38.ebuild b/dev-python/boto3/boto3-1.43.38.ebuild
new file mode 100644
index 000000000000..93fbbe6dd59b
--- /dev/null
+++ b/dev-python/boto3/boto3-1.43.38.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2026 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
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 4d2bb2330f1d..36d291632680 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -6,3 +6,4 @@ DIST botocore-1.43.34.gh.tar.gz 16563578 BLAKE2B 587551dd360e3fa389cf778d110dc1c
DIST botocore-1.43.35.gh.tar.gz 16602288 BLAKE2B b2b61f787a3bf4cbd9100a1825b155fe53e10c83611ebac6189c4335909e1695205b138b6ab5ac657c2c7f0e5331e9037fedae46591692594daeff65e31573d7 SHA512 d721568fbb10e65e458976dda7c4768f75da4618851169d1486f6978b65c5974fee8b5da5a88975455d8b9d7acccfdba0de701b3a41df02441cf2340b79e7bc8
DIST botocore-1.43.36.gh.tar.gz 16601718 BLAKE2B b4643995a2c173c9df865923d6912e2c804da45b3bcfaf2e73e941366df02c23f4cb05408550992e9747aaacf1acaaced06dc497625e5e3dd5d8dc1eafc881b9 SHA512 02754b7766b91b569fa9aa3f83797c4b01834914415b535d690308e373583cafadf0b35846309aabbc0c66413d7adec05db0132e441eae273c4b9b78327570a8
DIST botocore-1.43.37.gh.tar.gz 16625905 BLAKE2B ff085acb7ab6cc50ae0b93e99b45c871110408ccc72b87327a5a85767330947d292175af402a92d61e12154f8efb3d65d08d70e5bd719f4c1a2d13f3be369d6f SHA512 b58ac57522daf0ce17e91b3a3e1f40fa89b689dc98f74575e9a67719a97ddc87b3110797af084ea136b7fc8b5527136c581385a2e8585c7f773cde641bc590ab
+DIST botocore-1.43.38.gh.tar.gz 16607002 BLAKE2B c6317c12154edf92d6a1330bca1a9a2957480d683a7abf41ad6401d3be337a2f980ca8758bb90b3c298256c3250c1cca4345ee27723c92a21ac1fdc098f5afb8 SHA512 8acf6cdeeb96049423be600a178a82f63d1579ed635045c3fd75d32866ff0b86c2e48062666810ebc65cbbdb193760457093d17d87b5bd9a8568fb65e20dd71d
diff --git a/dev-python/botocore/botocore-1.43.38.ebuild b/dev-python/botocore/botocore-1.43.38.ebuild
new file mode 100644
index 000000000000..a3a161f78545
--- /dev/null
+++ b/dev-python/botocore/botocore-1.43.38.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2026 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
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cython/Manifest b/dev-python/cython/Manifest
index 2bf692bd2572..4831e91d42d2 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,3 +1,4 @@
DIST cython-3.2.4.tar.gz 3280291 BLAKE2B f6f4baf07426ba46757a7b12ec05dd6781088e30d402d39dbe7e7e43b711ec11b9ecefd8bdca8e4c6a2920bc1c670e348328dc53ea074879b5e4e87159905d65 SHA512 bea1b21227632aa6d01239779e584e06d462ef76ae284abb36c0a70074260bd4909ee69d94db4e8c8fc9416d6949c3b53411844531a86cdbca75881b97f5d84b
DIST cython-3.2.5.tar.gz 3286381 BLAKE2B c3627213a2e62838b3aae120e0ab9cc33bb8f95a6c4ec9e10c6dc3e3ed00626b93bf3df3265ca601c4379c50598bec14b72de9bee9f8e8c96d125a175775086f SHA512 d11feb71bf2dbbbdffcac3e71e28eaa4d2583431f24e1722df4c0ab3fc33afc763ba4468e3bc7b8620b6d486357b8aa85dee248a195570329648c6b84312657a
DIST cython-3.2.6.tar.gz 3286970 BLAKE2B 6f18f448b3bec5a73f7bb29ef10bf546f887e477e1269431b3b0b73d8c7a160dece08d9ae947f6fbbb94c14cc1c652ca10b2487d55ee7716983e45c6eb0a62be SHA512 85940b6313ceb83c06f2ddb67bfc5dfd7dc7957503cea2b68362eb71a0e594976bf86032b24a4db713c991bb7eae7cd31f6bb90b58449b0b36cff2423f954931
+DIST cython-3.2.8.tar.gz 3290300 BLAKE2B a24c99d93414dcddc3912119253d454b0e60ab98d5e547aa53bedd0910f6b685fa6580e46c8e5dba6ef6882ad07e4a34a4bfc7b713c886308fd82a104b70dd00 SHA512 19807bc7a956325c642206debdd32c8c234aaeb79bb9b9b79adfdea51a65150203e32b3ac2a952371e57600ba06656c2734b2f401f2c986813bc73227069a853
diff --git a/dev-python/cython/cython-3.2.8.ebuild b/dev-python/cython/cython-3.2.8.ebuild
new file mode 100644
index 000000000000..f6543dcd036f
--- /dev/null
+++ b/dev-python/cython/cython-3.2.8.ebuild
@@ -0,0 +1,128 @@
+# 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_FULLY_TESTED=( python3_{12..14} )
+PYTHON_TESTED=( python3_{13..14} )
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 flag-o-matic multiprocessing pypi toolchain-funcs
+
+DESCRIPTION="A Python to C compiler"
+HOMEPAGE="
+ https://cython.org/
+ https://github.com/cython/cython/
+ https://pypi.org/project/Cython/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test test-full"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ test-full? (
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ' "${PYTHON_FULLY_TESTED[@]}")
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
+)
+
+# disabled to workaround pkgcheck performance issue
+# https://github.com/pkgcore/pkgcheck/issues/782
+#distutils_enable_sphinx docs \
+# dev-python/jinja2 \
+# dev-python/sphinx-issues \
+# dev-python/sphinx-tabs
+
+python_configure_all() {
+ # https://gcc.gnu.org/PR125730 (bug #976797)
+ tc-is-gcc && [[ $(gcc-major-version) -ge 16 ]] && append-cflags -fno-ivopts
+}
+
+python_compile() {
+ # Python gets confused when it is in sys.path before build.
+ local -x PYTHONPATH=
+
+ if use elibc_musl ; then
+ # Workaround for bug #925318
+ local -x LDFLAGS="${LDFLAGS} -Wl,-z,stack-size=2097152"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # PYTHON_TESTED controls whether we expect the testsuite to
+ # pass at all, while PYTHON_FULLY_TESTED allows skipping before
+ # numpy is ported (and possibly other deps in future).
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # Needed to avoid confusing cache tests
+ unset CYTHON_FORCE_REGEN
+
+ # uses $(nproc) to additionally parallelize many OpenMP-based jobs,
+ # leading to overcommitting
+ local -x OMP_NUM_THREADS=1
+
+ tc-export CC
+
+ local testargs=(
+ -vv
+ -j "$(makeopts_jobs)"
+ --work-dir "${BUILD_DIR}"/tests
+
+ --no-examples
+ --no-code-style
+
+ # Fails to find embedded.c
+ --exclude 'embedded'
+ # coverage_installed_pkg needs dev-python/pip and doesn't like
+ # 'externally-managed' (bug #927995), but we don't really
+ # want automagic test dependencies at all, so just skip
+ # unimportant-for-us coverage tests entirely.
+ --exclude 'run.coverage*'
+ --exclude 'Cython.Coverage'
+ # Automagic on dev-python/python-tests, could add this in future
+ --exclude 'run.test_exceptions'
+ # TODO: Unpackaged dev-python/interpreters-pep-734 (interpreters_backport)
+ # This only shows up as a failure with >=3.13.
+ --exclude 'subinterpreters_threading_stress_test'
+
+ # The fix for https://github.com/cython/cython/issues/6938
+ # changes these tests s.t. they break with our build layout.
+ --exclude 'build.depfile*'
+ )
+
+ # Keep test-full for numpy as it's large and doesn't pass tests itself
+ # on niche arches.
+ if ! use test-full || ! has "${EPYTHON/./_}" "${PYTHON_FULLY_TESTED[@]}"; then
+ testargs+=(
+ --exclude 'run.numpy*'
+ --exclude 'run.ufunc'
+ --exclude 'numpy*'
+ )
+ fi
+
+ "${PYTHON}" runtests.py "${testargs[@]}" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index 6505992b96e8..31c4c5d1518f 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -1,9 +1,12 @@
DIST bstr-1.12.1.crate 354916 BLAKE2B 07b8e047c7a115d7d722ef57a37c5ac1e7ddba080e35b4eed78c3104cd92f08af5e67609faaa7a480ae15031f54c3f5d88784e23c96e659a7f4800c42dad45c3 SHA512 63a1e62d43c4dce00f287421b1ec76accbbab7f0897c8df26227f533af325896c0c8921a873f4125381e7b89fbb69a4358a96698ec6ee61191955464ff1c84ac
DIST dulwich-1.2.6.tar.gz 1257895 BLAKE2B 73362d94f9d4823ec36fe30e956c96d7de7504cdd4db61fbf43f283d3ae97abe2c2c40ec68693d87e4b06d02717733ac24d6a61b22fa5e577f233df32432459e SHA512 5be90b5fa1d806970e6fd3c5a70749e48c9639d614b199b25afd5f3725d8fe201b43cfd69a8f45840bf883df3f0e4f5db1bf54ebf3b6dab3caf1373e265eab7d
DIST dulwich-1.2.6.tar.gz.provenance 9894 BLAKE2B 0e3dc11b5dd2dd1c7de37b5d19da9927d1fc6ef7dfda8ee2256e3d74871de03c9ead52bbab472833e5f34f50c509df116c4e2c591bc2263363144e8e9839e535 SHA512 f8148280fcc34d2730fe3783043592dd78b710cca3898c13180dea306c81b342e447a1fda5a4a8d360224dbe21f059e622f7c50b39ced72870f34cb1a4fe1323
+DIST dulwich-1.2.7.tar.gz 1284735 BLAKE2B 7799fece3b87c2c53f7bdd28d3854754035fd971e0191302821ad57d572bc89699a66b8b34219834a92f50f120e936e0cb230c7026a945783dd8932e6c7f3bcc SHA512 57ebe0e682b7e01a2ee452f8378be6228ebfa8d35549c7f1d7d2c24263972649def0bf5c57e911ba859f61d7d26df9b6053c7b2222e858076f9a9272d8fed660
+DIST dulwich-1.2.7.tar.gz.provenance 9929 BLAKE2B 2aa62dfea3729d616c3c4fd7bd1b2310e6c84ae592e6ee778188c5f2c38bf6b4d818876c056c6ddeaf5c553df3800b743b8f2c522b9b4f67c9a9b707149b0dbf SHA512 b2d2c0b4d50ab3233220f17b850d54e8a8d1f0f9cbbdfc16acfd3ceba61b43cbd104e24c73d4035836ee9c077eb9365c61d2ee8f935c8e57119b56c9480f4298
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST libc-0.2.185.crate 821775 BLAKE2B e0e93466a29c9d19f7d9ab3581b491908d06873a9c57a96b0cae2eed0f0d1cb184ebe80bc61e36d5ab316ab35dca529a322b29e6895f7f339e72c79cca7f8ca2 SHA512 c8dbcaaf2e5d8377a4d1003af4a7210fbfe4f9b1e8497f07d88a231a8d5c9f67014e650a5e18e913e7b4d6a1835c4cbc9c31ce0cd224ea28acbdbb39034a300e
DIST memchr-2.8.0.crate 97780 BLAKE2B 228ce0b6fe8b168f5c31031690a5eb44466609b64c5c221e0b3f56fe331b4f25c0124d613c94ef030b225000978953641f5b07458d530c1d50eec3e1d54e4274 SHA512 8089238153493a0ff6adf980efd1ea2ba10eeff9f33fff200268692662d24152a8c14a4dac37fbc6a55dca741701fd256174f10a9838ca66f038f08e090de12f
+DIST memchr-2.8.1.crate 98743 BLAKE2B 04182c5492975f5b5f609c1a00e2ce04ec1001a1126143a41084b467e185a02b8f0acd85635ffd8f180c51b97832e7558785dedbe1598b538ce222b9f4603ea0 SHA512 a11ff12e2e2fda7ee6e45dcc39bba289d0c2605e996263782d7039c3922781a51fdbe6e0b0455a0075e126b9ff2369a5935d9162e6d5903110120c12886322e1
DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3
DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
@@ -17,6 +20,7 @@ DIST serde-1.0.228.crate 83652 BLAKE2B d1909d671ea6d5c2eb4ce34ee4493ecaf665d4161
DIST serde_core-1.0.228.crate 63111 BLAKE2B 8a64e4627ad21a3d16dd37d53fb809d11171bf337ec16bb1223075cbf81b6b85cd1c8d19abadf42460d0fbea323e2f351eeb6ef823389d519121b74e68edb215 SHA512 43897e3a7ebdc85d81d1cb30cda8f0a11610f6f551529c8a21462c24fb83110652b462846aa3e1bed5fbf8b5d7927018845a524ee9e079e2c8acf2c687efd6c4
DIST serde_derive-1.0.228.crate 59605 BLAKE2B 166ee2f9ff9f7a0928d0a65a72db3d9226c377bca2a1771956e8ecd9c7faf0544673c9c21be2a5553e621b55c74c7b958052592a1cf6eb6427a2d4f3e3dc6bb8 SHA512 8bfdfeee10ee7ef0670972aa963ef63b13e8eb2c8a09b9e0b717f92551aa89b3dd2a0dcbae6ccf20a1caece07e6adb18f0db56fdac020e4e0281b0d24e376003
DIST similar-3.1.0.crate 78442 BLAKE2B a68f2682af0876871cea3b0978a43285b07ea1050e01f0604e2aa1c016149f2619637ec4c34b9e0c8ee237b08449caa3b79f449cb6161d3f677ad3d25b71b110 SHA512 7c8d5f0a3ba376f1c4dd891772a0c87bed52027b8bcbaadfe30f0c79540e9058e68a706f6388dfc6a55f0970cdc8ef0b887eb924463d49a735e10b01bda0e727
+DIST similar-3.1.1.crate 79833 BLAKE2B 7e8ae0e74b88ce0014cfd924ca6d8b2e807ab4709610dc82363358dc051cb1121e16c41f6a271e67483c0005d3e15e32d66600311393fc69e54872bf8e82b19a SHA512 f197b2dbca2c9a09314042ddd6d413410f952f284cf12b8d86b7a6a2584ba61efb4a29e8d3bc954fdde79265711a97fe1a3e94ef82e8ade9379a5981c7bb793e
DIST syn-2.0.117.crate 306011 BLAKE2B bbaec02c4322f522bdfc87caa4ce6fd1e09bbf8f4a102d9ed8728efacdd843a2750f616dce5b2d3a3e46bbb7d57439fbd10e328bc1d4a01e980986cd815798af SHA512 035c2e63542592b6a4058a2a82d4c2c1f5793f84fb1b04cbd393337a26fcf661a1f3bea439ce98a1fe943b1c4d36d2bda16df3bbc3fa6ca35e1548d530dc8416
DIST target-lexicon-0.13.5.crate 26928 BLAKE2B f8c62cb91f68a635e6ce3fc254df9ce378b5e8f62c1147404c967484b9ed97fb33d7993b4671611db76566063e999d658d201f856f70196ec678d72cc758cf6d SHA512 956df27c01e1186c5356117ffd07810fc0b62fb919d5bfd215955ba85be00ef675212a3c0dc36679986be7b825442fec5c93c7643b7e1e19c04572e6463546fc
DIST unicode-ident-1.0.24.crate 49298 BLAKE2B 34ba2906a3ebc06f52a4ba77dff96a8f3fb977718d260886fa9e051c5830765641b65a63977110f3a79f31fa177b385f81b01d56c80f6a0324d36eae72e2ebf0 SHA512 7be712d8d0075ac9341790180e312f66264d3e0255c91b38df0951baa5e446dec24551bb2125a66a1cb9b6ca2f1ea37c0cc15fa3dd74f398ecf4d5302c7dc259
diff --git a/dev-python/dulwich/dulwich-1.2.7.ebuild b/dev-python/dulwich/dulwich-1.2.7.ebuild
new file mode 100644
index 000000000000..cdc830f61869
--- /dev/null
+++ b/dev-python/dulwich/dulwich-1.2.7.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/jelmer/dulwich
+PYTHON_COMPAT=( python3_{13..14} )
+
+RUST_MIN_VER="1.85.0"
+CRATES="
+ bstr@1.12.1
+ heck@0.5.0
+ libc@0.2.185
+ memchr@2.8.1
+ once_cell@1.21.4
+ portable-atomic@1.13.1
+ proc-macro2@1.0.106
+ pyo3-build-config@0.28.3
+ pyo3-ffi@0.28.3
+ pyo3-macros-backend@0.28.3
+ pyo3-macros@0.28.3
+ pyo3@0.28.3
+ quote@1.0.45
+ serde@1.0.228
+ serde_core@1.0.228
+ serde_derive@1.0.228
+ similar@3.1.1
+ syn@2.0.117
+ target-lexicon@0.13.5
+ unicode-ident@1.0.24
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="
+ https://github.com/jelmer/dulwich/
+ https://pypi.org/project/dulwich/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="GPL-2+ Apache-2.0"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions Unicode-3.0
+ || ( MIT Unlicense )
+"
+LICENSE+=" )"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/urllib3-2.2.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.11)
+"
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${RDEPEND}
+ dev-python/fastimport[${PYTHON_USEDEP}]
+ dev-python/gpgmepy[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6[${PYTHON_USEDEP}]
+ dev-python/merge3[${PYTHON_USEDEP}]
+ dev-python/paramiko[${PYTHON_USEDEP},server(+)]
+ )
+"
+
+distutils_enable_sphinx docs
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/dulwich/_.*.so"
+
+pkg_setup() {
+ # avoid rust_pkg_setup which will die when there's no Rust found
+ if use native-extensions ; then
+ rust_pkg_setup # implicitly inherited through cargo
+ fi
+}
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
+
+python_compile() {
+ # make extension build errors fatal
+ local -x CIBUILDWHEEL=1
+ unset PURE
+ if ! use native-extensions; then
+ local -x PURE=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # remove interference from the tests that do stuff like user.name
+ unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE
+ unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE
+ unset EMAIL
+ # Do not use make check which rebuilds the extension and uses -Werror,
+ # causing unexpected failures.
+ "${EPYTHON}" -m unittest -v tests.test_suite ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/faker/Manifest b/dev-python/faker/Manifest
index 9ee7f12e3a5d..1fb6af480b91 100644
--- a/dev-python/faker/Manifest
+++ b/dev-python/faker/Manifest
@@ -1,3 +1,4 @@
DIST faker-40.19.1.tar.gz 1969318 BLAKE2B b2e7fdda254c8c1c0a4ec2a756ec7b7b31f9c373c9b9492f13f6db7970c9e8f7701c07ee895edf8527d66c6081811a07cba752d14aa208092b03403f7b869b27 SHA512 d650db7ef33b3303ef534af8baa97308ac13b6c77806118f33f4b5e13e886d2cc53e662e392f8966e659905d10ca5d28dc7050a9a502574beb50319d58fc4ec8
DIST faker-40.21.0.tar.gz 1970295 BLAKE2B 7df1c57d91d604e748532351240369d1b08992a3cecf2f60cf472a907e7ad8912befb2a9fc840fc28c1d1b5af96ed539d4083ead4e7005156973f4899677aa19 SHA512 64acde47e79732466efdf65cca8e76640bb2538956b72baafde307b412d7f54ebb9293bf1ec7b1a38e51cbcbc61fbe53c298bef5e4b014295f17043c464bbdb3
DIST faker-40.23.0.tar.gz 1972975 BLAKE2B bd31c81933c72a1cb367e764331295656e5b92f8b2aab19ee15bbf41a5c9cadae504e76068ee3882b90f13be9a323131e4d1b2af224f9462121acdbf9c6b5988 SHA512 734a4e51073596f6ba8b46cea54257e32f5f1567c21c44f15d82e5eff19a8209a07dd130767d57c02626d95e17cd517ee3c0aec3fc4682761b56e10c25058165
+DIST faker-40.27.0.tar.gz 2018361 BLAKE2B 0a2caa035f137738669b57c50a79209f3c3dfedd0fd077992c2290d3cbde4fca3605d797630327cf82afac50f592cb972f10622832483ed45e7d18cd796906a2 SHA512 33734d76f291e6b36b3551201b6055c515d06d943ec1aaeeba739d38d4709849a99af785e1c49a5473ac12fc58d43114a5493a46de52a0d56861dbe5c84c9b0f
diff --git a/dev-python/faker/faker-40.27.0.ebuild b/dev-python/faker/faker-40.27.0.ebuild
new file mode 100644
index 000000000000..125fe3904e57
--- /dev/null
+++ b/dev-python/faker/faker-40.27.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ !dev-ruby/faker
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/validators[${PYTHON_USEDEP}]
+ )
+"
+
+# note: tests are flaky with xdist
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" )
+distutils_enable_tests pytest
+
+python_test() {
+ epytest
+ epytest --exclusive-faker-session tests/pytest/session_overrides
+}
diff --git a/dev-python/humanize/Manifest b/dev-python/humanize/Manifest
index 9ee64d657b9b..c5fee687c6aa 100644
--- a/dev-python/humanize/Manifest
+++ b/dev-python/humanize/Manifest
@@ -1,2 +1,4 @@
DIST humanize-4.15.0.tar.gz 83599 BLAKE2B c07d04da830d31d294d49ed43d2871dd337b80c9655bc868e56d71d61b9c69aa080864bf8a5f4ea6684adbd798aced820bdd202a0a9f4a4a5af5b26a0b9db4ca SHA512 685bb5bd14d013cbec7ad4b815cd6895a486315d88c81a39d00b59f4ffbfc94223352d55105c6e5fbb22a79ca018b8de70b5d82941739dfe0b2d165725bc0744
DIST humanize-4.15.0.tar.gz.provenance 9475 BLAKE2B 2b5ba2b3d23e4efbda84c6ab0a7810d4f4f76f1d26c9c126c2253837dc3209308a84fb5320d67b3d103249919adc725ccdef61cc46c1cded53ffccd36c88653f SHA512 7465a416984d005d51160c78140a8c4ecf23488ac73f599909bbbe6b4f687201039f8ac7965cfd6200f330844ea1adb2424d0aa0b727c5bf1e1ada998300e84b
+DIST humanize-4.16.0.tar.gz 89515 BLAKE2B 754486b2edb83a92f8482ed22f606e35139ce41bebe4ada0f71437fd63e980f89b0976d8df87540d0e82f0f299274c7f7b43cd8b6cf19eb6c9913f24700d4a32 SHA512 ec5588287d7d5547b7fdf44234f4e52b6726a867dfd9f223e942fdb57b37b7a5e7fc44583a6cfd51f8209732f676d2b20e870e2e3b9a772c786c9cbda7fd5adc
+DIST humanize-4.16.0.tar.gz.provenance 10099 BLAKE2B cf9d5be678e65a5ff2d863af97d81272fa037bce9743c48935eaa4a0e7cbb3c0f230b616f8749f185a1d8d5c6a35d5d5622e55af00ede3487df33bfc70f5a9f9 SHA512 064b2499af4e8c6cfa5342159e1b4942bf7a1be0fe26e2908c04af72f4e7fba2f11079d02f2827583ed739bf1ef2138a4dafce51c0a9d2c8862a1a24e67d3bc8
diff --git a/dev-python/humanize/humanize-4.16.0.ebuild b/dev-python/humanize/humanize-4.16.0.ebuild
new file mode 100644
index 000000000000..ac15c4d4d87a
--- /dev/null
+++ b/dev-python/humanize/humanize-4.16.0.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/python-humanize/humanize
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Common humanization utilities"
+HOMEPAGE="
+ https://github.com/python-humanize/humanize/
+ https://pypi.org/project/humanize/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ tests/test_benchmarks.py
+)
diff --git a/dev-python/librt/Manifest b/dev-python/librt/Manifest
index bea0db8af8a4..2fb0c9e89935 100644
--- a/dev-python/librt/Manifest
+++ b/dev-python/librt/Manifest
@@ -1,2 +1,4 @@
DIST librt-0.11.0.tar.gz 200139 BLAKE2B b7e80bfddad285f75337341bb39b3efedc2904a7ded1d178fb9e18d2787d0447c4f42fc416696141cce2a0fdc7d9b2488c829109e749f14a3d12c02c2b66dfe3 SHA512 5575adcdbe88da23eebb771a33597948cc8dd6f7fc36016daf87f89186bdc02cae572f9e46d3fbdba15d77fb2ee4e130ea06d2ff643227dafcacf77184cb7755
DIST librt-0.11.0.tar.gz.provenance 9607 BLAKE2B 1f7f54262eed9212b80eed64ff8b412cc5aead788c8c0745ba375b050f50062ca6f7305298e040b1b0f0d09b56e57d6dd209e1b1468b7c3a0ef5a90fa8cde335 SHA512 3c5d9d0edfadb06db252d313e793d41026c2c0982af34038cea647a4e7bce9ff2fc31857982811d46d191149b97d1d1fe39909573567033b7ed85fdad612d236
+DIST librt-0.12.0.tar.gz 203841 BLAKE2B ecffe50e4d5bb0ecc6e3b040dd22a4229a2ba38b25f92cf5aa8347bb31bbfc2d8230dacc3856830df55e682ee4942e16e2fdf16784c7f226a7461346bc666801 SHA512 c97d222420c445240af08549fa8e27ef68f2144e81e43a5ab1e1423e0c85500257d5d6d0ecef7ecb530a435e6cb584efc43a30f31d2a0483a16593ebfae16c4e
+DIST librt-0.12.0.tar.gz.provenance 9823 BLAKE2B 4285b4401f1b2c47cfb412ad0c9ec35445e215f979fa998cfc1ff86788e22a9da4d5a2107f684064377cdee291f4bbbd8022771de4c949a7481966df7748e23f SHA512 e4a36d16fb9378e499426e74fac3b2cf18af2f8b95aac1bb6182a49b40783d9534095369d2bb827238947c44034334c53a0058de345966df77cccacd1471019d
diff --git a/dev-python/librt/librt-0.12.0.ebuild b/dev-python/librt/librt-0.12.0.ebuild
new file mode 100644
index 000000000000..458c72634e70
--- /dev/null
+++ b/dev-python/librt/librt-0.12.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/mypyc/librt
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Mypyc runtime library"
+HOMEPAGE="
+ https://github.com/mypyc/librt/
+ https://pypi.org/project/librt/
+"
+
+LICENSE="MIT PSF-2.4"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/mypy-extensions[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_compile() {
+ # setuptools is broken for C extensions, bug #907718, bug #967476 etc.
+ distutils-r1_python_compile -j1
+}
+
+python_test() {
+ rm -rf librt || die
+ epytest smoke_tests.py
+}
diff --git a/dev-python/octave-kernel/Manifest b/dev-python/octave-kernel/Manifest
index bd7766b933d4..7ec5d01c0314 100644
--- a/dev-python/octave-kernel/Manifest
+++ b/dev-python/octave-kernel/Manifest
@@ -1 +1,2 @@
DIST octave_kernel-1.0.4.tar.gz 566796 BLAKE2B 6c48ec49e9ff247a8cd6883a4366572a8446e8bd74f2f53c339165504fe00e8e5f9039002eae21c0b5c477e1ce5f04ffc0ab2256b02868e938a8dfac4a1a945e SHA512 b99d45b8ae0916efc45faf5640cdbb3379b9e987fa8143b099c175393faef60b5d44fba1b7621f1a06067092987981c86949d40c41309b5f925cfd6e874e7f2e
+DIST octave_kernel-1.1.0.tar.gz 566943 BLAKE2B d4b446e9e4762d5dc466f37a212920e0fbd58947247883db8d3d325d4f9caa94f94bc7c04a9bf4fc402ee5c91472e71904b6c760b34dcacacb24271c4e6c5a0a SHA512 9c0ad45af9f5df902046134c25fe395d068fa5a2f2da2cf322f67173e046d189e3cc0c8a62e54da64e2acf7034f9a22af5f48170a8a9f97b118f9d0c16b38001
diff --git a/dev-python/octave-kernel/octave-kernel-1.1.0.ebuild b/dev-python/octave-kernel/octave-kernel-1.1.0.ebuild
new file mode 100644
index 000000000000..f88a4e16b652
--- /dev/null
+++ b/dev-python/octave-kernel/octave-kernel-1.1.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+DISTUTILS_USE_PEP517=hatchling
+
+inherit distutils-r1 virtualx pypi
+
+DESCRIPTION="Jupyter kernel for octave"
+HOMEPAGE="
+ https://github.com/Calysto/octave_kernel/
+ https://pypi.org/project/octave-kernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/ipykernel-6.22.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8.1.0[${PYTHON_USEDEP}]
+ >=dev-python/metakernel-1.0[${PYTHON_USEDEP}]
+ >=dev-python/rpds-py-2026.5.1[${PYTHON_USEDEP}]
+ sci-mathematics/octave
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ dev-python/jupyter-kernel-test[${PYTHON_USEDEP}]
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/rpds-py/Manifest b/dev-python/rpds-py/Manifest
index d5284e570d6a..1aed089b9f5e 100644
--- a/dev-python/rpds-py/Manifest
+++ b/dev-python/rpds-py/Manifest
@@ -11,14 +11,19 @@ DIST portable-atomic-1.11.1.crate 185506 BLAKE2B 953bb1f2059dc1d891305eb89945f1f
DIST proc-macro2-1.0.103.crate 60024 BLAKE2B e5ce5f77838fd063b5615b1555db02175621135132de6aa7479d67fd0a34c15e8235290112a728f3251cf913a835bf0aafaf6930880511427143b63152047259 SHA512 9a6964a2ad24dbb1108b7018882ddb48cb6e6f652d1c5eed1cac94602539fc71f011a0a276765778df161edbd6387bf03a8505d93565e0c106f09e98d7d6efce
DIST pyo3-0.27.2.crate 1171342 BLAKE2B 421039fe650e01546661ab98593288f8058694d513261fe0025851a68b665bdfc001692c60a5a34ede92d13a6003e8f261e4bcdc17f67518a156f52916d2ff76 SHA512 b20f502bda6cc6d283012acbb2e0225219ccd77af09990872c76b0088947050d886eb47ed88e9e0dcb327d08ab4bf09119f7cab527dfde358e01df5a32bb64c2
DIST pyo3-0.28.3.crate 1204476 BLAKE2B 8540a1c51bac4fbe04ea34d5ce38471c13d5a3f0759e60cf21d67e846b00feb8316e70f32cb8dc6b74d09f0901ffc83d5f41b1a06da6d34790ef13e4cefcad45 SHA512 f955957eec4b95cc9337d331bba3bba52b4754b301cf86cd974601e64eb20c2424023b19be89a224661fe2e185de646cd3d0d00705b6b5cbd139856c9443a247
+DIST pyo3-0.29.0.crate 1241253 BLAKE2B 29deb7fa70010bf3d7e9e93bbcd87c0b56c4ee7ef0c2e5956181d2fb5f06f4c9b3f28bd1ad280126c26c048808b91b847e1fb69ddd617ef9e9e5e004cf4e48ae SHA512 e6822400de53ebcef4a14c899dc065abae621a126483873139f5eb850877c94f4bccee3a183d4e2a69eadcd3c3b82b0a6f3e1053d926b103be572329607f2f67
DIST pyo3-build-config-0.27.2.crate 35564 BLAKE2B 8786478e559613cc258e2d0153d549f65c13a24a3fe612da7ac96e5f4038a1714dbc6a01b2d3e3d99b3de3af9658ad220647fbba4a33305bef81c07100426ada SHA512 dc7cee79ce7febddeec9e70dd5de3b59696a5cf38afeccdfeda00307cc22166d0e9649d5e34e9801b7f495b31c104fa78dac2241248787daae8b9ea1f4551ce5
DIST pyo3-build-config-0.28.3.crate 35961 BLAKE2B 61a0101913c6d563721049ca99256c2aefd89b017a7e18c82f4a6aceca0aefeaa71fd559cd43adfb5034ce076c904e5188f8f73961ea217287fbfd12caab9401 SHA512 78f85696901b16540d42187d10e888bd929b9f23415faeb73f9798abda1af3506a308145dd4113b070521271c72624d7930fb4b19bad25aa1afd3082030c9126
+DIST pyo3-build-config-0.29.0.crate 39616 BLAKE2B 7b62a5976b890db84e5256f3136185c2a9c3b7110782b5b0cdc314a5231fde30a853ddcd17af63b53488b3e8d5e310b01002b6f3c32cfeb1e5c3e168cd6460d7 SHA512 df77e8d7d5fe173749437ff6b90fa1703083377d515ab8a85dc77d9cac9c3fc331ede4b040f7e3694311ddb5adff577cf90c181a27c196ab93a4569e918fdea8
DIST pyo3-ffi-0.27.2.crate 78552 BLAKE2B cdd6fb74a49615c42e6c6979e28c1d56e0061ae9e9897a20032d6be27c635433e9fa459847bf3c88de3be7503d045ef78d4ea3e028403c1ed00da96930ed73dd SHA512 29936c7a0fa524304ca8b017ac912e2c3e9237a86ac8510c17b96b75c7e83948599884f064428640456cd5fb256246d536da432d096f924e78360efd973cee0b
DIST pyo3-ffi-0.28.3.crate 80881 BLAKE2B 4ac7066c911e2aec18aa9245efed00585d063f81d69910e6a146f8efbf2939ab5de519bbf2a3dde78b40c264e97c62490db80e9b2e84aaf080d63659a6676459 SHA512 ec49b5cc67d19f46c9daea76b37b4988af0f63b9ed67c71190f015a0aa9691d4a8ffd4128413de430928428e1e8e26d44c3103f561e6b71b7e8c4597ab602d9f
+DIST pyo3-ffi-0.29.0.crate 88184 BLAKE2B 5891af92a3bcba764c4701dcc0a99edbced010a5ac46df3217d004f5c3a368f18331733c6723bd49e522c6f7105455df13e2be0f07695ed5ce6ae71c15dec438 SHA512 baaf01d13ddc09316ba16b22e9ca15a67e5bda5b861ed7961c3393fd4692fc1c96952f81465d1dcb6531b9083f96c5630981b3d7802cb1ac2af67aafaffbec76
DIST pyo3-macros-0.27.2.crate 8913 BLAKE2B 99a9cf37cb05261fa75d0ede4ed8ad75bbe29b941a4c6a0907d1c1baa887d0777dcb5970c7fbe1337c1b127b6318d077e2d8374629485572f3f7997a3e3825b8 SHA512 b05f6b61c5b320e83e879384691cdb9ad57ade3ce5a9fdfb587ccd13ea1c92d2b210e2d7ca242c3d1a5f5173076a25578d3d81f5a8c3935a43f010bfa8452153
DIST pyo3-macros-0.28.3.crate 8963 BLAKE2B ca9967cfba565b873ed77565ff6eb8408473c227d191797e9db8c6b5cbc89abc17ffd57ae71e28877088fe19373da2f503cdefeae6b0a47796f6abcf62044f08 SHA512 57d178bd9b53dd98916e60c89bc26c34f9949829dc17bf7d6cc15b704bba7c874d85d6bd3c827d401268660a79230a6e32711048da939ec4e22342f3e08046d1
+DIST pyo3-macros-0.29.0.crate 8915 BLAKE2B c12d23753d5aba7333183d4b41f16c8da1d4297a3ff86b3b150e9185c1978fc184ac198e566a41833292a8a78ab59446eafd5ef7169e5cb41493e7cbeaa68280 SHA512 fb6633ac76229d2e0ad88d51136a9318f03823b27c700a62cfbc957b4c834985e2f4c0cdaf5ea5e9993ec9e8ce3d63cd6b3fb823f2a042e65186adbed78da7c2
DIST pyo3-macros-backend-0.27.2.crate 82513 BLAKE2B 9154f0275ac031fb456c313176490b7f98e033a9ff43caf32ca717e6dedc2c32435af5e7d9d2e784690fe2a379c033f0dc036b18c630fa7cb3c3365e335e3a12 SHA512 811fa48ceb5a87d23312b968efa9d8464653289cefc8a1e27838f03285eef67092652ba89eba655d243fa435edd97674a981267870d208e0b11390db32d1ad9f
DIST pyo3-macros-backend-0.28.3.crate 88063 BLAKE2B a484b12bbab3031838f61149ab9f08b9e460a2bd02089e08e58dac2cb747afbc0cdfe64018ed4c8cb0bbbd1d22e3eb05a6a72b020da6b71a584ec51ca8d24292 SHA512 45ce31ed64ee4fd0249736d480c9840a756bc45934d6803ae11e0680057ecf4cc74c71b47ccf9241fc3ab5c1e0b9c758426f08bd523d1ace92fc308302ea3c84
+DIST pyo3-macros-backend-0.29.0.crate 91943 BLAKE2B 7c2977dd9c80f3dd1f5375b0c65492b46048ca02e6355ad746bc8430cf92eaf25c701f416469eb69724fde5220651b1095c09eb9e3ff860176f862d7c7287407 SHA512 13a7af3958c09969637827d97ab9bbc664c407dda9e4283afaf495757798cf6f84932468bc092160fa75211ce0aafe6efc657f3a390234d77a67362cfb31fe0f
DIST python3-dll-a-0.2.14.crate 103489 BLAKE2B a2868aa62d9b5f33ba0ab3be85f486e7b0594b8e535749e251ae9c829eabf9f0211f928c729b0f5b847a89be978c4b5648d333ac657a82acaa3c39520dfe0b8c SHA512 fde53bac2b7009d409d5dfab991b431aea7c16c5e0227a7bb143e73a043cd0490cec2647f73cfc34f73a192e9b365a70fd5b42d969beb2e3251dff44230a2040
DIST quote-1.0.42.crate 31504 BLAKE2B a8106c0fe3953bcc2aa421516dfbaad6d6cb2ea839b2ce1447a45b8732dad40a921c2008b477bc0fa029dc0e0357a339db543b1f90bb9da77a5a3681fc16bed0 SHA512 6d55047312de6bab660459750c54213e986f0a80b4458fdb706c2fb3bab83b8239cd230dd9291662076d395c818a391142af1228ae3158cfa4960d6c74d531ba
DIST rpds-1.2.0.crate 72664 BLAKE2B a5719593d003f54f9d5b1a4e6020b2908f46cdca239a1c3cc0f02bfd5bf6bcd102bf87aedb958cb113543467c0cb724eccd420552e806d37b17ef6048c88bd5f SHA512 2149622473b2a684b023e71811f3552a7f70e27a24831539554422389162631dae2c538c1c2569d8d268debde0ce1d5efc6dd002a9033dad78e0c46652b277e0
@@ -27,6 +32,8 @@ DIST rpds_py-0.30.0.tar.gz 69469 BLAKE2B 3b41669ac62b051672afdf7d83c6dafe8a741cb
DIST rpds_py-0.30.0.tar.gz.provenance 9097 BLAKE2B c21811f749568b7f0beceaa84f7b91e6edf7b6c8cfdbebb57e5e25917f4bff468de0ff601dbd663d82295b04f9bdcde33e61028168ae692ca946c894b100e081 SHA512 4320202970a9c4e2ae692169292b3d45f83665c1bb2a42e227ac93c53052effddad06b54e7efe39412825ac9f82db12ea3dd62af612d8db29591871d4a2034e9
DIST rpds_py-2026.5.1.tar.gz 64459 BLAKE2B c7a919de25ecd22f1336e1ab0743d9fd23ef5470d23ca3b6e2bc11fcf531b958ee20cbc2ced2a16b207c28ad8c4ffce1a1327342332494ef5f828d7b7044060d SHA512 0819dde9d6f18b1436efedd2fcfe7e16745f1c38914781abab051ff5b3cd6aa008e9564f5736f860a3fe908340eecf2890150f395f4b5d83125ccc604dfd8f9a
DIST rpds_py-2026.5.1.tar.gz.provenance 9470 BLAKE2B 7c53ff548a5cbe504a87aa29c9b3d7c91c18beb7e3d5b71a633c30ece7eb42cd3bd9f0eedae6226a4f925e205399964c0967d0266180de928452f65840eac36f SHA512 ccf1655c5feb93f36c67afb00fef0e174fbda3bd63e49981e61fa2f1831cfa2870d0588d0d3788642d3024ef3043aa1181362abdae310ae4b75e4bb9c9d7102e
+DIST rpds_py-2026.6.3.tar.gz 64051 BLAKE2B 84219ec9808786f9611051f36472d5bbb6bd895b56627b5df1ed50e77ced873cf1c287e325c6083c1bbcc52aef6ba49c50bf2e4c7e4a864243dba9a944d19b69 SHA512 e3b2874d3f430f805fa4ea2f2fe4e22f02b4491a68aa068644c43aa5949423496cd80a1e6a9f0bd7aec3dafccdac0b177334f53eb077d077e0e56a2e43710d09
+DIST rpds_py-2026.6.3.tar.gz.provenance 9615 BLAKE2B 03e918b518033aaae2693ca46570c3b70d18c2b88f56f5849052a98a597a4496113ee50a54dbd717d8fc170282b55aff4e29aaa2e6cde74946bd348e09d33691 SHA512 4f6a36b3c1c7556f7abd6764179f2cbc7e5991e09208b70f61788aa1e534b1efea93842e4ab3ec47c8876aa5050d5a1fbca7787588a0a9dc1549c39bbfbb6f23
DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
DIST smallvec-1.15.1.crate 38116 BLAKE2B 8dd779d7726694672945e928399e0459f4973d284a6c2d664c2fc757ebb1177658f47c812d9800e982479cbd7413fd4283c64a4d248ba5cff6397f96b758676e SHA512 c26b097a063353beedfcc921129cd0fb838c1c9420218993a05b2655b47b6ec16f11e0054312018658b4abd893beee140c5d2739401a5e5aea2e64575f237047
diff --git a/dev-python/rpds-py/rpds-py-2026.6.3.ebuild b/dev-python/rpds-py/rpds-py-2026.6.3.ebuild
new file mode 100644
index 000000000000..940699f7d1e7
--- /dev/null
+++ b/dev-python/rpds-py/rpds-py-2026.6.3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYPI_VERIFY_REPO=https://github.com/crate-py/rpds
+PYTHON_COMPAT=( python3_{13..14} )
+
+CRATES="
+ archery@1.2.2
+ heck@0.5.0
+ libc@0.2.177
+ once_cell@1.21.3
+ portable-atomic@1.11.1
+ proc-macro2@1.0.103
+ pyo3-build-config@0.29.0
+ pyo3-ffi@0.29.0
+ pyo3-macros-backend@0.29.0
+ pyo3-macros@0.29.0
+ pyo3@0.29.0
+ quote@1.0.42
+ rpds@1.2.1
+ smallvec@1.15.1
+ syn@2.0.111
+ target-lexicon@0.13.3
+ triomphe@0.1.15
+ unicode-ident@1.0.22
+"
+
+RUST_MIN_VER="1.85.0"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
+HOMEPAGE="
+ https://github.com/crate-py/rpds/
+ https://pypi.org/project/rpds-py/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 0c2d0b164ae2..5babaff8237e 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -4,3 +4,4 @@ DIST uv_build-0.11.21.tar.gz 400102 BLAKE2B 17766a7ebbfb0ec01b2f0ef76332c30b4bb9
DIST uv_build-0.11.23.tar.gz 402105 BLAKE2B af9b72353cf82896795545201e911ed7a26f690bce392597bf8ba602594637cdd0562bccbac56d34ca0b2bee274cd533af1c8b79a73e5177711ef8b62e0b7a53 SHA512 730ceaad2e1ea092dfc37ac46ba631cf9e549415240e223e93d56afa1738b1bcdaa79427336ca13d273645ac8e5e9adb8ea6edbefa62c76b1380c7f663f8c77d
DIST uv_build-0.11.24.tar.gz 401361 BLAKE2B cdafaca66f3a6dd5db0f9e7520428790b1ebaf98d2adc8fe5a4f4b7754649cc50559066343bc2d95ff2634ceedf69f4f19bc33d88da3a2212f8c06531c5fb917 SHA512 3dfb1a9af61ce8f666c161f63a77f609c68f0578e1bd6eadc8bf9f681dabfc7427418e99e134334aea8f96bc6ea9537b62f162200050078fcfc187fd8c0eb0f1
DIST uv_build-0.11.25.tar.gz 404894 BLAKE2B 6922a5e91c5c657ca5ed90edb0250cbd7192d208cdc135d8c5de74c04de8b91c10d7c0d52d58224a6cb60c7114ecbdcbc2181ac18b0b69cf41d88fd007329a36 SHA512 9315f67c76004b6b45e08d8cad53e5ac4f04a2342e18768523e71f9dc2f7e81aec599f968983df3237d1ad3dc9b87b088f99d2ea79994543fa3623ab21ae5730
+DIST uv_build-0.11.26.tar.gz 405178 BLAKE2B c59258a222a8346543ab8bde8d425600c9a575a1da4b5c96b7470cb5b8f3830168d513e1d6337d00e79e94766a6604b0946e5bf2fce192800a8f1aa5576b2e5a SHA512 3331e4195fc72543fb546f4a86e2eeb036277ceebba37151a3faaefb921c8508d99e8bc25dacd57eb26a8744b1b76f2b90df4dff97450e97518fcd5ca80fe287
diff --git a/dev-python/uv-build/uv-build-0.11.26.ebuild b/dev-python/uv-build/uv-build-0.11.26.ebuild
new file mode 100644
index 000000000000..d66584ed2ede
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.11.26.ebuild
@@ -0,0 +1,99 @@
+# 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}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+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 582c85d3cd16..aba3d008a219 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -10,3 +10,5 @@ DIST uv-0.11.24-crates.tar.xz 43622872 BLAKE2B 42ae58c7be399b917935d18840aea0a37
DIST uv-0.11.24.gh.tar.gz 5503210 BLAKE2B b73f436de8b937c05c7d54edeef28ee658784c99df2bbd6ece638f799083b51b5d59fc57913c9a5daa58b5d44f69a3f5a3c0c0f1987cda35aa110326923fcb35 SHA512 4927f0280b4041293180db6efed8c31facbb23cb4349a2383ef0488c26b21a3fc6ab98f94e7ff41bf4411f65d158208345632e130a6fae9f2bc85d40deddefec
DIST uv-0.11.25-crates.tar.xz 43779192 BLAKE2B ae9d16ba3f8a5a719b6f52980c3b8ce6f874494f861cdad065ead5f3a19b80794bc4dda451710f061b45bdaa05a5587aacb5a583d01dd7cb74d800be4d5e3293 SHA512 0dc611e6aef1fa0861fbc63eba94e588022cb3974aa788c3e595cea04adf0c4165316e6cacb8cf073acc22db84bc61da7de0218ac51665b0e6aa215b6a1cc1e8
DIST uv-0.11.25.gh.tar.gz 5538598 BLAKE2B 47198e379339a963a90b394b29271e2b276ced739f4320daf279eabc53cd0bab1698a57f336ed3270a4b8f40fa4f6a8f8b201603ed3952d282d220b0e290418a SHA512 9b993ae026d55ee8dfe13101e0fdbe026d81b77ff42b20ad42ff72c9708f2d767cde94010e69cd4f65fa8821c43958bc665893761119770deba70823d895298c
+DIST uv-0.11.26-crates.tar.xz 43804076 BLAKE2B c1248a5327bf7aa1b747d55651a37b680412821699c37b7e6ae81e7c9036e724873f433ea8ecef462238bbd8e1fb4fe6cf49e7b8fe11a37651ee9ab11a5017d4 SHA512 246e43a716b9d365267bbe767491dcae76677589b0606138c784342968b41c81477a1274c5391da647b3a01febbba08b74e9e61b1897270ce718da34a00642d8
+DIST uv-0.11.26.gh.tar.gz 5540694 BLAKE2B 2623b2f23ff802875a1cc349e32e38fee0f7a1e5f4191265ea8760ada80e3295f2b8507d4f794e6f2d38d7c2bb668e0779531221f17c683b9dc0141ee74668f8 SHA512 8be3842d1a534765a99a130a857c860a2b6ec2dd517cbdff7f697db55500d1092b4f323459625d433635f3559a058eef98140eb65b1082394994d72c5d329ee1
diff --git a/dev-python/uv/uv-0.11.26.ebuild b/dev-python/uv/uv-0.11.26.ebuild
new file mode 100644
index 000000000000..e5931b30ed3e
--- /dev/null
+++ b/dev-python/uv/uv-0.11.26.ebuild
@@ -0,0 +1,163 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.94.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+="
+ 0BSD 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 libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+
+ # uv is now forcing bundled liblzma, sigh
+ sed -i -e '/xz/s:"static"::' Cargo.toml || die
+}
+
+src_configure() {
+ local myfeatures=(
+ test-git
+ test-pypi
+ test-python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+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/xmlschema/Manifest b/dev-python/xmlschema/Manifest
index 1a94670f6fc2..04fe505818a0 100644
--- a/dev-python/xmlschema/Manifest
+++ b/dev-python/xmlschema/Manifest
@@ -1 +1,2 @@
DIST xmlschema-4.3.1.tar.gz 646611 BLAKE2B 2c887b7f0bbab474130c549d258de7167288cbfbf33e38548eb31d17cf34cce878c9d9c0582ef6a00ab4b0524703eb8d5e9a37acf4d5572144fa61ad6dd6f532 SHA512 5aacc89de8c895ebbc3f7fbc45e187332211c93ceff452642b43fb953a9ed872b2e514f918c3ea30798cd15ddd71e615422a384eea1e9524efcb50ad4889564a
+DIST xmlschema-4.3.2.tar.gz 682724 BLAKE2B 6deeeec755ee2c71a8b6a200727093bfd677d6fefe0d21f02d6f4262d5c572f1ea5b682e90ec9566fb0d1d4fb1cec8d036fe43ff828fe3f2735afd48825000f1 SHA512 fe85d46a371a7014a6e9f39d77f686801a601455da1cfb8ac719cab8da639dbc77338d22d0a687d1219f9863df79afffbeb12c2100529e731e443e347668e584
diff --git a/dev-python/xmlschema/xmlschema-4.3.2.ebuild b/dev-python/xmlschema/xmlschema-4.3.2.ebuild
new file mode 100644
index 000000000000..c96a86bf18a1
--- /dev/null
+++ b/dev-python/xmlschema/xmlschema-4.3.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2019-2026 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="An XML Schema validator and decoder"
+HOMEPAGE="
+ https://github.com/sissaschool/xmlschema/
+ https://pypi.org/project/xmlschema/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/elementpath-6[${PYTHON_USEDEP}]
+ >=dev-python/elementpath-5.1.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-77[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" tests/run_all_tests.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/xvfbwrapper/Manifest b/dev-python/xvfbwrapper/Manifest
index 2cea84b27ecc..a931e7f03420 100644
--- a/dev-python/xvfbwrapper/Manifest
+++ b/dev-python/xvfbwrapper/Manifest
@@ -1 +1,2 @@
DIST xvfbwrapper-0.2.23.tar.gz 13130 BLAKE2B 77556dafbaec6a74db9d6033424cf4d51225ca98645e077aa3e57798c74dc9dcc0f2dcada6dc1114bd2b0ecbda27dfe0d70a62b608fbaf0f8406d9f6784acd36 SHA512 92c1887f8a16b2df12f410b26abc919f59c3e3e50517edcbed26f31d9602f23c0e284f1eada99c3b0a30f374fd2df1dba29422cf3b15446ca2404aa4797f80b4
+DIST xvfbwrapper-0.2.25.tar.gz 12711 BLAKE2B dc063eab0316f10797926f59714317cfe58a7692234ad451b160641e1561ff3eb51a5fb15c3803b54507e42dc4be4e87ffc9723dc901b29221fd910f0adf01ae SHA512 8fd1d33282c18f4e98a399b3ef8fb640ca8acf8b323b90e732c23a5c1168b6eff7a89314ad9508ec7d1c2ac8a0c72b723199629a6dcfc2df353113df37012127
diff --git a/dev-python/xvfbwrapper/xvfbwrapper-0.2.25.ebuild b/dev-python/xvfbwrapper/xvfbwrapper-0.2.25.ebuild
new file mode 100644
index 000000000000..787856574075
--- /dev/null
+++ b/dev-python/xvfbwrapper/xvfbwrapper-0.2.25.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2026 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="Python wrapper for running a display inside X virtual framebuffer"
+HOMEPAGE="
+ https://github.com/cgoldberg/xvfbwrapper/
+ https://pypi.org/project/xvfbwrapper/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ x11-base/xorg-server[xvfb]
+"
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest