summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-09-23 19:52:37 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-09-23 19:52:37 +0000
commitdd5fc10bbfe3b3f3f3511eac9b9eafd996f35093 (patch)
tree7925165a4d5d6642db22cfd0fff016d884f03822 /dev-python
parent0767edf4b89c5d6a75875047d674b07a1ed7516b (diff)
downloadbaldeagleos-repo-dd5fc10bbfe3b3f3f3511eac9b9eafd996f35093.tar.gz
baldeagleos-repo-dd5fc10bbfe3b3f3f3511eac9b9eafd996f35093.tar.xz
baldeagleos-repo-dd5fc10bbfe3b3f3f3511eac9b9eafd996f35093.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/apispec/Manifest3
-rw-r--r--dev-python/apispec/apispec-6.8.4.ebuild (renamed from dev-python/apispec/apispec-6.8.2.ebuild)17
-rw-r--r--dev-python/astroid/Manifest1
-rw-r--r--dev-python/astroid/astroid-4.0.0_beta3.ebuild73
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.40.36.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.40.36.ebuild67
-rw-r--r--dev-python/cryptography/cryptography-46.0.1-r1.ebuild132
-rw-r--r--dev-python/fakeredis/Manifest1
-rw-r--r--dev-python/fakeredis/fakeredis-2.31.3.ebuild93
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.140.2.ebuild125
-rw-r--r--dev-python/josepy/josepy-2.1.0.ebuild11
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild6
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/lark/Manifest1
-rw-r--r--dev-python/lark/lark-1.3.0.ebuild37
-rw-r--r--dev-python/pycurl-requests/Manifest1
-rw-r--r--dev-python/pycurl-requests/pycurl-requests-0.5.1.ebuild39
-rw-r--r--dev-python/pyzmq/pyzmq-27.0.2.ebuild2
-rw-r--r--dev-python/qiskit-aer/Manifest1
-rw-r--r--dev-python/qiskit-aer/qiskit-aer-0.17.1.ebuild120
-rw-r--r--dev-python/qiskit/Manifest4
-rw-r--r--dev-python/qiskit/qiskit-2.1.2.ebuild109
-rw-r--r--dev-python/qiskit/qiskit-2.2.0_rc1.ebuild109
-rw-r--r--dev-python/ruamel-yaml-clib/Manifest1
-rw-r--r--dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.14.ebuild37
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.22.1.20250923.ebuild16
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.8.20.ebuild99
-rw-r--r--dev-python/uv/Manifest3
-rw-r--r--dev-python/uv/uv-0.8.20.ebuild183
-rw-r--r--dev-python/wcwidth/Manifest1
-rw-r--r--dev-python/wcwidth/wcwidth-0.2.14.ebuild32
38 files changed, 1034 insertions, 373 deletions
diff --git a/dev-python/apispec/Manifest b/dev-python/apispec/Manifest
index 6b4f0c55663c..81c1296a8aa5 100644
--- a/dev-python/apispec/Manifest
+++ b/dev-python/apispec/Manifest
@@ -1,3 +1,4 @@
-DIST apispec-6.8.2.tar.gz 77148 BLAKE2B 20c2463c62e3faf2d893983845bd60370acc64abc8411cd7632f24f096eaa8586be14bfe0e312ee4cf9cc68b0e11991ddf261473851e75099a41b8dfd391579c SHA512 0422c20cacf55d909e965be29b0d61fe9e184f9e8331420a8b64a7337555097a0ff9e51f03ac84123565ac6594bd3fdf446ddf9786fcd790525961ce17ba60de
DIST apispec-6.8.3.tar.gz 77480 BLAKE2B 401e314a62780c961f41368374ff4e679baf417fe8461ea28fb7c5006aaa73094ed8bd09487d6f31ac1c4d4b6d0551b3ef7a7b1b07ec396bbf9fc23bc4938819 SHA512 b4f453abcb5e973065c10d9e23412005aa05a663c6804b1fe989a98d03f173bcc5a67a9b96979faf4ae27b1c4fe02950ea9a793728ff6eec17421902958c304a
DIST apispec-6.8.3.tar.gz.provenance 9393 BLAKE2B 4a503bfa60d11e59b26668166e2666f16f963b63bfd34e0a3fc9418b64a62c4f06f44af652244abea4ebc0ec1ff23f21fd5d10ac9042cebe8a0561effca44e68 SHA512 ef3df939016ac652e2ead36f802d27b85a7e1a3de58ce627c7e5c09dfb79a6cb0927df1b59e8ed6a0f2ac42576041206c8efd9064eca23f8f7eec261afe1242f
+DIST apispec-6.8.4.tar.gz 77737 BLAKE2B 8b09b2f1dcfb415d6e91951474a3cb13862465a7afb16511cd5783b4b67c10d8878f832d9a61f1dea9dedce77d14d028752e7c3fe27ecb0be0c7fb0fe2fc1f38 SHA512 9ce3890d335ea8ff1f3ed01ef5f7c2cedbf89c1a337c1d018d71e00e8e3451556d61d248a5138153ef4acabe0296c77d290aa3fdaedada32faced0e48076af6e
+DIST apispec-6.8.4.tar.gz.provenance 9577 BLAKE2B 4268b78efe584f24ea2af6ed1eb9034e077c1eaa626126782443aa7e5e175ca98af666d2f7a9bcc1ab7ac9566ccda9f13a7f41a5830012db6dbf491c32953904 SHA512 a854e61678521465747aa0d8c5308eb72f420037011db6774dd8514242ceed46cdeba404d39f88cb6f876a7391af4efd22bbf4f55e7c0da9274299577c94c6ab
diff --git a/dev-python/apispec/apispec-6.8.2.ebuild b/dev-python/apispec/apispec-6.8.4.ebuild
index ceb90ff98bb0..5216293f786d 100644
--- a/dev-python/apispec/apispec-6.8.2.ebuild
+++ b/dev-python/apispec/apispec-6.8.4.ebuild
@@ -4,6 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
+PYPI_VERIFY_REPO=https://github.com/marshmallow-code/apispec
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1 pypi
@@ -29,18 +30,14 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
distutils_enable_sphinx docs \
dev-python/sphinx-issues \
dev-python/sphinx-rtd-theme
-python_test() {
- local EPYTEST_DESELECT=(
- # requires unpackaged prance
- tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v2
- tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v3
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
+EPYTEST_DESELECT=(
+ # requires unpackaged prance
+ tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v2
+ tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v3
+)
diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest
index 2202f4f7d0b0..5507eefd8ac3 100644
--- a/dev-python/astroid/Manifest
+++ b/dev-python/astroid/Manifest
@@ -1,2 +1,3 @@
DIST astroid-3.3.11.gh.tar.gz 469464 BLAKE2B cb2ad429fa303e1049de685079d814696f9a907f75d85e0eb6aadef34d791ca2564e2727aff604e1f15b8bdd262b6c5dbfaa64193bac008d39e9bb7e642254cc SHA512 7dd0fae9fa6135abb505af567731f9062ea5f45b5c2e9c613fd1c5cbeeb409779a620cde3ecc42cd8a0733ccebc58b5e8e66baa1a38b6f46b1d3fcf2e33914b5
DIST astroid-4.0.0_beta2.gh.tar.gz 469767 BLAKE2B d3f03cd34e7a1fc667eecf0fd68fd58ece838bfccbabce13ad3a1020999d0e984c865d11100bfb514cc5034863b8df77db9fb8e7132fd2ec74035c8ba8a39108 SHA512 eabf3e08677894e3f4d843ad602fdf957518c143f42ad5e5c81ab679175e6717a339a6b78d7c377576d75f30a56cfc59045a47d23d18e10835df69f9656f588c
+DIST astroid-4.0.0_beta3.gh.tar.gz 472369 BLAKE2B 53e36752a4e6ed9c9d8e25cd7143d1bd3fadba1a1c151cd6e9c7a8fed2c6fbd05f2fe9eab6489e93897efcc2ac62a6b09074d656f1cb60d9bf26c854191a79b4 SHA512 37316cfdf7285eb6471e52e534ffe34456b6e7be9d07288ec62a78cc20de1f6189a1220fd098579213c29b2bfacd5ff20bc08b7dc519b04a36b24dfb6f34f706
diff --git a/dev-python/astroid/astroid-4.0.0_beta3.ebuild b/dev-python/astroid/astroid-4.0.0_beta3.ebuild
new file mode 100644
index 000000000000..f091c14f43c9
--- /dev/null
+++ b/dev-python/astroid/astroid-4.0.0_beta3.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/_beta/b}
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="
+ https://github.com/pylint-dev/astroid/
+ https://pypi.org/project/astroid/
+"
+SRC_URI="
+ https://github.com/pylint-dev/astroid/archive/v${PV/_beta/b}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+# dev-python/regex isn't available for pypy
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_IGNORE=()
+ local EPYTEST_DESELECT=(
+ # hangs randomly
+ tests/test_nodes.py::AsStringTest::test_recursion_error_trapped
+ # no clue why they're broken
+ tests/test_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
+ # TODO
+ tests/test_builder.py::BuilderTest::test_data_build_error_filename
+ # numpy-2 (https://github.com/pylint-dev/astroid/issues/2442)
+ tests/brain/numpy/test_core_einsumfunc.py::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_fromnumeric.py::BrainNumpyCoreFromNumericTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_multiarray.py::BrainNumpyCoreMultiarrayTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_datetime_astype_return
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_generic_types_are_subscriptables
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type_tuple
+ # old pythons only
+ tests/brain/test_dataclasses.py::test_pydantic_field
+ tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils
+ )
+
+ if ! has_version "dev-python/mypy[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_raw_building.py
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 1b97414be6e6..714148f1dcca 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -8,3 +8,4 @@ DIST boto3-1.40.32.gh.tar.gz 999127 BLAKE2B c892ba23e846c2bf7886bcd5a929462c014f
DIST boto3-1.40.33.gh.tar.gz 999591 BLAKE2B 783649704144d025df7206952167e66377e22d97694cb78f46bb39e458e75a747cca532016e8f3cb8305bdd0c9d0ebd1a04f56770f2a2e80fa1a970bc4e6989f SHA512 ba2a99784770e65a0b5abb8a65771d0f3577f656e5b9ccf06c2dcf2278901fc831ae09a37d2302fdce8940867af1e6b3b2209ce24d060a5bc2ec8f3c386fc91b
DIST boto3-1.40.34.gh.tar.gz 1000166 BLAKE2B 83554207499fad1452610e7cbcac1cf484fc348749e418798ff1b835318f03c21d84b45245fc25b392d7bb22231f8a9d208ea8f6df5bc1f582ef209f04bc0990 SHA512 417405f8099772525fded763542f11c6bfa9d8cc3aee444cc49a3a1b27eeffd6a28d624d2087318951c4b5d1745bc109c47af13e0b6ae5ada134b851160deebf
DIST boto3-1.40.35.gh.tar.gz 1001174 BLAKE2B afef89c4d20770e9d7a8fbff39c2783f25331dc89ec9a025b40afd93a5e5175d1dc041ff3f6e866cc122bb81348c455e1740e6d793ed0ac8c5bc885f1eeb6085 SHA512 fdc723da40b22d6d46cf8c39e5ffbf80918d1398bd8e639bebbcfa4c5bda0b405fa2ada4ea22aa207fa0bf41bfe2242469e870c9f61f20a40a2e90630acce7b2
+DIST boto3-1.40.36.gh.tar.gz 1002110 BLAKE2B 2e6e4a3d0d0c5a835f2f0ac8189c696e7dfce0d23fb5249eeb4e25fd50185e05229b1ee5208abce65865ef922c62b2816f6af98a32fcc1071fde824a5d518f7d SHA512 ad6240e80ecba5fe93c9cc9edad39abc8be43d1dd8835ce2b2dc7e0674b6ad86e3f956daa5d4328df46fb9c95ff15b43822435922a2b91aeaae05e08e016a3f6
diff --git a/dev-python/boto3/boto3-1.40.36.ebuild b/dev-python/boto3/boto3-1.40.36.ebuild
new file mode 100644
index 000000000000..90fb2a42e6e5
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.36.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..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 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.14.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 c175fad85654..cb5bc7e90371 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -8,3 +8,4 @@ DIST botocore-1.40.32.gh.tar.gz 15140179 BLAKE2B be42af94bbff38d7bfadcf5e08e3b05
DIST botocore-1.40.33.gh.tar.gz 15140845 BLAKE2B af295d0bd44d2c777095a96ba8c1e6b735b7cb5e00a051fed654d0f9af411fba4b9cff05920e36e8b08a92b3cf091b82c956eff6457845d0f2bb54fa794ac1c0 SHA512 2b12dfd6e13a5f83e950bc5d4320fc66638c15c0a282f19e35cdcf8b71efd4253e54fe065199409307613f99f74deece1685452cc126b8c0e2d4a2e221e2904a
DIST botocore-1.40.34.gh.tar.gz 15144932 BLAKE2B 5e4ebceccba1ba5b0c8f25582a68ea74b8dcfb11585db849bc0221a374e3464f05548c8086485842cc74f86c842122ffdcf8d6cd16350188f3fefa237bad565a SHA512 312f711cf2ced31aca034562667622bcfd1cf47d3a86b37791466edb18bf9e0dc5eb9f821459390296ea9673b2af7d4409659bad5b556a450c65fdf15a3ee79f
DIST botocore-1.40.35.gh.tar.gz 15147385 BLAKE2B 061a5f62573851c50c4dedbc0ea4868c73f64127219818c88976785dbbd425062b776846fce0c72ee5fca92f179ef13df14697ae387cb4741f549d1b0e3df4e6 SHA512 b85dd96dd123f155054e85da3c5fa86ca0f76019df5c9883b64143f8c7be58275063c757143fe243642ea1309f6d7fe0f900dca46c1498a4d3b2752686b95b86
+DIST botocore-1.40.36.gh.tar.gz 15147138 BLAKE2B 857c7632ff97bd7d75e56e4ac0347a38373d1448169e5b7f2120722ac0ad3508510716a2a7abe521c8c44cfdbe92a0660017fe65d180352159a312584ec09c87 SHA512 815553250d5ffcc3dde6489a2c187e983702d607e4e7f0ace55a67385340458ad80e7321237a11475174594051cb41ca4d64519e8585911ee39015fb8d1f812b
diff --git a/dev-python/botocore/botocore-1.40.36.ebuild b/dev-python/botocore/botocore-1.40.36.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.36.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..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 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_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/cryptography/cryptography-46.0.1-r1.ebuild b/dev-python/cryptography/cryptography-46.0.1-r1.ebuild
new file mode 100644
index 000000000000..32813f7feeef
--- /dev/null
+++ b/dev-python/cryptography/cryptography-46.0.1-r1.ebuild
@@ -0,0 +1,132 @@
+# Copyright 2021-2025 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=8
+
+CARGO_OPTIONAL=yes
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_REQ_USE="threads(+)"
+
+CRATES="
+ asn1@0.22.0
+ asn1_derive@0.22.0
+ autocfg@1.5.0
+ base64@0.22.1
+ bitflags@2.9.4
+ cc@1.2.37
+ cfg-if@1.0.3
+ find-msvc-tools@0.1.1
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ heck@0.5.0
+ indoc@2.0.6
+ itoa@1.0.15
+ libc@0.2.175
+ memoffset@0.9.1
+ once_cell@1.21.3
+ openssl-macros@0.1.1
+ openssl-sys@0.9.109
+ openssl@0.10.73
+ pem@3.0.5
+ pkg-config@0.3.32
+ portable-atomic@1.11.1
+ proc-macro2@1.0.101
+ pyo3-build-config@0.26.0
+ pyo3-ffi@0.26.0
+ pyo3-macros-backend@0.26.0
+ pyo3-macros@0.26.0
+ pyo3@0.26.0
+ quote@1.0.40
+ self_cell@1.2.0
+ shlex@1.3.0
+ syn@2.0.106
+ target-lexicon@0.13.3
+ unicode-ident@1.0.19
+ unindent@0.2.4
+ vcpkg@0.2.15
+"
+
+
+inherit cargo distutils-r1 multiprocessing
+
+VEC_P=cryptography_vectors-$(ver_cut 1-3)
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="
+ https://github.com/pyca/cryptography/
+ https://pypi.org/project/cryptography/
+"
+SRC_URI="
+ https://github.com/pyca/cryptography/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ $(cargo_crate_uris ${CRATES})"
+
+LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 sparc ~x86"
+IUSE="libressl"
+
+RDEPEND="
+ !libressl? ( >=dev-libs/openssl-1.0.2o-r6:0= )
+ libressl? ( dev-libs/libressl:= )
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ${RUST_DEPEND}
+ >=dev-util/maturin-1.9.4[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+# Files built without CFLAGS/LDFLAGS, acceptable for rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so"
+
+EPYTEST_PLUGINS=( hypothesis pytest-subtests )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e 's:--benchmark-disable::' pyproject.toml || die
+
+ # work around availability macros not supported in GCC (yet)
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ local darwinok=0
+ if [[ ${CHOST##*-darwin} -ge 16 ]] ; then
+ darwinok=1
+ fi
+ sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \
+ src/_cffi_src/openssl/src/osrandom_engine.c || die
+ fi
+}
+
+python_configure_all() {
+ filter-lto # bug #903908
+}
+
+python_test() {
+ local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/cryptography_vectors-${PV}"
+ local EPYTEST_IGNORE=(
+ tests/bench
+ )
+ epytest
+}
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index e997b333ea1e..d5307396d7f8 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -2,3 +2,4 @@ DIST fakeredis-2.30.1.tar.gz 167724 BLAKE2B 7ddb8cbdeb4e3c5bcf9e5a6cd854cc55e392
DIST fakeredis-2.30.3.tar.gz 168472 BLAKE2B 70133892f5d75f2f33b4d6ebee8fe1b7ad5b48793f02230fb15db2a731f3a43438f653c0962c9a8fd7e8313b5544bc6eaba295f2a340707835118da8a513177c SHA512 239ac63d064e49c369d7114296e81afd03b6e3aa3a238eb59f0328e936d34b68746518de5f5bc3021a584bfd22b62ca4390b346717ca09c1171767c76e7be462
DIST fakeredis-2.31.0.tar.gz 170163 BLAKE2B 1d850e11166208a1c6437b7bc496c16f99f9ffd4497155a6ab5a6304db05ac16fa2b7f616c416e9f3986c7e95a48e21e55a5cbee76234025c2c3536a139eb55e SHA512 e79bd841b9cf0a7ef0ea922c97b813a0666f9b282a223ccb64411727229bff21efd06a7573e223cb93472566b7a07d8a03d6f184218eb781fcd04cd9573f9320
DIST fakeredis-2.31.1.tar.gz 170681 BLAKE2B c6aa71f27342521293275dfe997dc82bcd51b26e2d7a35e85d710361301c7ecd698cbaf8f78b276edea97cf45303d4840fa836005ed022515c563f6a9c18a525 SHA512 aa4a7bc4199fed02ff71b329ee0280574339a3d259b237cbf279f0825fc450415afb6e460babfb95c26b04ee4eb001b7e79ea434ed4720ff2bd74a76e59385e9
+DIST fakeredis-2.31.3.tar.gz 170984 BLAKE2B 0a85f0f27945e883c1f0510bc1f91e52b0fe65755f508b90f887d4fc2915bc97f37935193dc378f738b59cd82228e04b9ca6ad9f263b7b4ed4e26b1d38c9f097 SHA512 e10a107e6486c949ef597bdd68c3a8ebbbf2eace0d3437af390ee9a356aab426a617a623125c8713d47c63489ba4c2fce3d63eeea663c6f8c49d48387b79fbe3
diff --git a/dev-python/fakeredis/fakeredis-2.31.3.ebuild b/dev-python/fakeredis/fakeredis-2.31.3.ebuild
new file mode 100644
index 000000000000..d15d1cbb3115
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.31.3.ebuild
@@ -0,0 +1,93 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fake implementation of redis API for testing purposes"
+HOMEPAGE="
+ https://github.com/cunla/fakeredis-py/
+ https://pypi.org/project/fakeredis/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/redis-4.3[${PYTHON_USEDEP}]
+ <dev-python/sortedcontainers-3[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,mock} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # TODO
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis2]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis3]"
+ "test/test_mixins/test_pubsub_commands.py::test_published_message_to_shard_channel[StrictRedis3]"
+ test/test_mixins/test_set_commands.py::test_smismember_wrong_type
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis2]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis3]"
+ # json ext
+ test/test_json/test_json.py
+ test/test_json/test_json_arr_commands.py
+ # incompatible with xdist, not worth extra effort
+ test/test_tcp_server/test_connectivity.py
+ # flaky
+ test/test_mixins/test_server_commands.py::test_bgsave
+)
+EPYTEST_IGNORE=(
+ # these tests fail a lot...
+ test/test_hypothesis
+ test/test_hypothesis_joint.py
+ # require valkey package
+ test/test_valkey
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not install duplicate license
+ sed -i -e '\@fakeredis/LICENSE@d' pyproject.toml || die
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6390
+
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
+
+python_test() {
+ # we can run "fake" tests in parallel, but "real" seem to share
+ # the same connection
+ epytest -m "not real"
+ EPYTEST_XDIST= epytest -m "real"
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 43c17a46efd3..3988f171e7dc 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -3,3 +3,4 @@ DIST hypothesis-6.137.3.gh.tar.gz 9612265 BLAKE2B bc0c98872b08013194a11cad69e076
DIST hypothesis-6.138.17.gh.tar.gz 9622806 BLAKE2B ab53606527145ef5a33cdcf1771158d1a92acf45737b68f32270eaa3f3bb6a03665877cd3ea5a787481e5fe549f269f00d93d7552832379c52347d334d4c96fe SHA512 f0a7667f27580732b5a1f2c6ed69fbe03e7f0db828d4633b9a32956fff19aa8472776dafdb48a1b65c03d7faf1afa532dd6f24298ddbeb322bcc79a993cbff7b
DIST hypothesis-6.139.2.gh.tar.gz 9623909 BLAKE2B 2b509474e06169191087932a47a0564fc5babf0f1e2acddd4f95d7d411befea444a80c7d7fea9c8582fb6ddc8153388a52a7a29d917f4f5ea8c142c8345e9036 SHA512 ffd797bc2ed6591fd67b2639665c606c1814a7ee2cca1b1f4272ef505a3ad83883988feb2dc32e4a92813c540dd485594d2c332e945ad7f58b9eb276af733869
DIST hypothesis-6.140.0.gh.tar.gz 9624664 BLAKE2B 9600322c753095501d64595030dc2a97aa929909b26625d2995bf2f9c89a0dc0ce99e682c41fe176be880c80f4134329b4366bff984a140f9e3da91689396858 SHA512 9a2c04a2846412dc7ece19702c64dab4e3db6734ca176af7e462e5479c1b6bf316e5c736e147c69b2a183f424618dbb24b388ae967af0cbaf433eab413dfdd78
+DIST hypothesis-6.140.2.gh.tar.gz 9625203 BLAKE2B f9ca33c1ad7522ab0250e7b453aba0d4c5ae0322e478d6199e26a084b75f6a43358fb2e3b2344bf1f9fd44f8707d554b159705e26f26eced97ad0d475687b1cf SHA512 13024dfc4a633fb973e4846122bfc1e25ff45fc7c4b5e2696c6efc548d827c82a253662586cd79aaae94f6d81e4b00bd5c41cca71f0c7546296fed0e4ba4780e
diff --git a/dev-python/hypothesis/hypothesis-6.140.2.ebuild b/dev-python/hypothesis/hypothesis-6.140.2.ebuild
new file mode 100644
index 000000000000..7a7443937da6
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.140.2.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
+ 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
+ hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
+ hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
+ hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
+ hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
+ hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
+ hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
+ hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
+ hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
+ hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
+ )
+ ;;
+ esac
+
+ local -x HYPOTHESIS_NO_PLUGINS=1
+ epytest -o filterwarnings= tests/{cover,pytest,quality}
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/josepy/josepy-2.1.0.ebuild b/dev-python/josepy/josepy-2.1.0.ebuild
index 0956266de2ab..50c75c240e07 100644
--- a/dev-python/josepy/josepy-2.1.0.ebuild
+++ b/dev-python/josepy/josepy-2.1.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
@@ -25,11 +25,6 @@ RDEPEND="
distutils_enable_sphinx docs \
'>=dev-python/sphinx-4.3.0' \
'>=dev-python/sphinx-rtd-theme-1.0'
-distutils_enable_tests pytest
-
-src_prepare() {
- # I haven't seen a single switch to poetry without major bugs yet...
- sed -i -e 's:^include:exclude:' pyproject.toml || die
- distutils-r1_src_prepare
-}
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index d12ab8aeaca8..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
-EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
-MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,7 +18,7 @@ setup(
+ author_email='michal.danilak@gmail.com',
+ url='https://github.com/Mimino666/langdetect',
+ keywords='language detection library',
+- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
+ include_package_data=True,
+ install_requires=['six'],
+ license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 56733bbffc48..98b2b0bf8d0b 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( python3_{11..14} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -19,4 +19,6 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
+
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 020e07f2a3dd..c0f74ac187e2 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,11 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/lark/Manifest b/dev-python/lark/Manifest
index d5a1ca33b94f..76e4a6bf548c 100644
--- a/dev-python/lark/Manifest
+++ b/dev-python/lark/Manifest
@@ -1 +1,2 @@
DIST lark-1.2.2.tar.gz 252132 BLAKE2B 175f51930972f17051af6fefdf71ef4602f126d373888f30a630a703d038abe9bb2706da80564c72f19273f7d0bfbe351ab34e9d72fa1ad9dd7181232eefe61e SHA512 77cf3abf26b827cb60eae4c193de0c98780df7dfa3daa1c21ca5d73bc16387d77561d57e8a20c69ceaeb35531b7191fe765b9834587972e2697f3f07def96b6c
+DIST lark-1.3.0.tar.gz 259551 BLAKE2B 0df524ef483efeb7ab42973a1c06146e4e50fb59c489606498cc7dd8db61be76c7cf12062981cdbe9121ad98a1f892940d0b4d592d63c7d8d1563de4feab2f65 SHA512 d20191bb98e823f078359ccf2f391f9d01c80d7481d3c8061f8a6a8083f069e11029017158f773683b8e662f6cc81075f5cb4965c5fecde3956f131e3938af3d
diff --git a/dev-python/lark/lark-1.3.0.ebuild b/dev-python/lark/lark-1.3.0.ebuild
new file mode 100644
index 000000000000..5ee7468bafb9
--- /dev/null
+++ b/dev-python/lark/lark-1.3.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to propose a modern general-purpose parsing library for Python"
+HOMEPAGE="
+ https://github.com/lark-parser/lark/
+ https://pypi.org/project/lark/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+# dev-python/regex doesn't support pypy
+BDEPEND="
+ test? (
+ dev-python/atomicwrites[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # require dev-python/js2py which is a really bad quality package
+ tests/test_nearley/test_nearley.py
+)
diff --git a/dev-python/pycurl-requests/Manifest b/dev-python/pycurl-requests/Manifest
index e92842cc956f..b49f57b0b0b3 100644
--- a/dev-python/pycurl-requests/Manifest
+++ b/dev-python/pycurl-requests/Manifest
@@ -1 +1,2 @@
DIST pycurl-requests-0.5.0.gh.tar.gz 25344 BLAKE2B 50c57fabdbdc0471281ce0201de0a473db7f9783f6984da4e8c55552ab542235452a0f3e85855fa9dbb10985d8d6ec9b9499b9778b3f7166e50edb853293d16f SHA512 e6e7a0d552bf2e5167978a0ac57d7a456a8e445853e16e94d261537af19ee73e4681ee336117e076cc3a3b6e416607bc5a5f2fcbc153675ff6129a4455a4f005
+DIST pycurl-requests-0.5.1.gh.tar.gz 25613 BLAKE2B 106850b2aeb4b2c026ed322896cb6abd753c0d74aa105198029035b09aa6ff162d52308041ed53a08117dce72e2a67d281576fb2cae024568e74da5c70009b0e SHA512 4f2f179e0fc46044b75fa9ba36c0835f55d47d7e4864946197eb694c9e3748b06d89351c7c3827c0fe511487d892519fe52464a6062af48750141760f2e24f84
diff --git a/dev-python/pycurl-requests/pycurl-requests-0.5.1.ebuild b/dev-python/pycurl-requests/pycurl-requests-0.5.1.ebuild
new file mode 100644
index 000000000000..29ce65228c8f
--- /dev/null
+++ b/dev-python/pycurl-requests/pycurl-requests-0.5.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Requests-compatible interface for PycURL"
+HOMEPAGE="
+ https://github.com/dcoles/pycurl-requests/
+ https://pypi.org/project/pycurl-requests/
+"
+SRC_URI="
+ https://github.com/dcoles/pycurl-requests/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # network-sandbox
+ pycurl_requests/tests/test_requests.py::test_get_connect_timeout
+ pycurl_requests/tests/test_requests.py::test_get_connect_timeout_urllib3
+ # TODO: different error?
+ pycurl_requests/tests/test_exceptions.py::test_connecterror_refused
+)
diff --git a/dev-python/pyzmq/pyzmq-27.0.2.ebuild b/dev-python/pyzmq/pyzmq-27.0.2.ebuild
index 199311244bf1..35f58a6768e5 100644
--- a/dev-python/pyzmq/pyzmq-27.0.2.ebuild
+++ b/dev-python/pyzmq/pyzmq-27.0.2.ebuild
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="drafts"
# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
diff --git a/dev-python/qiskit-aer/Manifest b/dev-python/qiskit-aer/Manifest
index c7200ae19ed9..494c5cb39982 100644
--- a/dev-python/qiskit-aer/Manifest
+++ b/dev-python/qiskit-aer/Manifest
@@ -1,2 +1 @@
-DIST qiskit-aer-0.17.1.gh.tar.gz 7139029 BLAKE2B 25f0a94c9a5f553285c5da0253485a437ff4d2ce4ba01efba19b59381a952149219edfebc76b0ec3f2245ad0f0470302ef19089b8f07ca7f140a5a307c55ef9e SHA512 14b907dbd9e15ae795bf626f9644aaffab76f08b5ba90556bbbd290ba8df9f8528b9a0c9c9477755d767071daff2cba8f026df33af76630afc1f2af1cc0836d7
DIST qiskit-aer-0.17.2.gh.tar.gz 7139176 BLAKE2B 49dafc4cba948b7e3d474b0b8c73075cc5135a7c8559eebc2c0d5578c19868b4dc0a1dd4e6ab199f67a3996eb35ea11c9e0d8da9d49835bd2d7119774f64d954 SHA512 b4ea7bf26ecceaa2d7f3d0ef14d6a482355e397ff904f49eecd38a4602fbc6bc6d2b692e8469d1124fa3fbcea7d0055bd8df34d2b926f2472ce3eec3253d7523
diff --git a/dev-python/qiskit-aer/qiskit-aer-0.17.1.ebuild b/dev-python/qiskit-aer/qiskit-aer-0.17.1.ebuild
deleted file mode 100644
index 566bc19432fa..000000000000
--- a/dev-python/qiskit-aer/qiskit-aer-0.17.1.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 2022-2025 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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="High performance simulator for quantum circuits that includes noise models"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit-aer/
- https://pypi.org/project/qiskit-aer/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit-aer/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# The reference implementation of BLAS/CBLAS is not compatible with qiskit-aer right now,
-# because importing library causes an error.
-# /usr/lib/python3.9/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-39-x86_64-linux-gnu.so: undefined symbol: slamch_
-# Using sci-libs/openblas instead here,
-# with the option to switch between reference/openblas implementation runtime (eselect-ldso).
-#
-# <nlohmann_json-3.10.3 for https://github.com/Qiskit/qiskit-aer/issues/1742
-DEPEND="
- >=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
- <dev-cpp/nlohmann_json-3.10.3
- >=dev-cpp/nlohmann_json-3.1.1
- >=dev-libs/spdlog-1.9.2:=
- >=dev-cpp/muParserX-4.0.8
- virtual/cblas[eselect-ldso]
- sci-libs/openblas[eselect-ldso]
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/qiskit-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-build/cmake-3.17
- >=dev-python/scikit-build-0.11.0[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
- test? (
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-check_openblas() {
- local libdir=$(get_libdir) me="openblas"
-
- # check blas
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} != "${me}" ]]; then
- eerror "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- eerror "To use qiskit-aer, you have to issue (as root):"
- eerror "\t eselect blas set ${libdir} ${me}"
- return 1
- fi
- return 0
-}
-
-pkg_setup() {
- if use test; then
- check_openblas
- if [[ $? -ne 0 ]]; then
- die "Set blas implementation to openblas using 'eselect blas set openblas'!"
- fi
- fi
-}
-
-python_prepare_all() {
- export DISABLE_CONAN="ON"
- export DISABLE_DEPENDENCY_INSTALL="ON"
- export SKBUILD_CONFIGURE_OPTIONS="-DTEST_JSON=1"
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires qiskit_qasm3_import
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_1___automatic____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_2___statevector____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_3___matrix_product_state____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_4___extended_stabilizer____CPU__
- )
-
- local EPYTEST_IGNORE=(
- # TODO: qiskit.providers.aer? wtf?
- test/terra/expression/test_classical_expressions.py
- )
-
- # From tox.ini/tests.yml in CI
- # Needed to suppress a warning in jupyter-core 5.x by eagerly migrating to
- # a new internal interface that will be the default in jupyter-core 6.x.
- # This variable should become redundant on release of jupyter-core 6.
- local -x JUPYTER_PLATFORM_DIRS=1
-
- rm -rf qiskit_aer || die
- epytest -s
-}
-
-pkg_postinst() {
- check_openblas
-}
diff --git a/dev-python/qiskit/Manifest b/dev-python/qiskit/Manifest
index 08efa0e6bef0..5bf7060920dc 100644
--- a/dev-python/qiskit/Manifest
+++ b/dev-python/qiskit/Manifest
@@ -1,6 +1,2 @@
-DIST qiskit-2.1.1-crates.tar.xz 15412164 BLAKE2B 24a65f0ec256c2f848102c039106ef0fecb33be0fb00494f0ca707285e224ade0efd1a4a6a557dc5dd7d2224924e2b94a4a4585d8a9030a310f0f1a999ac0713 SHA512 779aca54c2da20f2558f5fab2de0ee22c861f2edd88dea17e79d1f7f796eda9612bcf45a08a0647032049e67e9c467236b493cb02efcf199e2951109c316e53a
-DIST qiskit-2.1.2.gh.tar.gz 7100760 BLAKE2B 01f5789f20d1c73e73000ec87579981380d201b4d614dbfd7974d603c031de2a567e42c41f4552442805eb38b729784442a1e04e36054ba0c0a44a68b7410ad4 SHA512 a2e435f2523f538c922c868bf1fb303143f2efe4f3f70fe286d25fe467c454888f4fe7dc81b94e30e134e15446c6f3364a9ee932b5229952cb178e5db019ac1d
DIST qiskit-2.2.0-crates.tar.xz 16407880 BLAKE2B 7445aba25d26ed3826e70549d16551588acce28847545b20b6c64f96b39f0cca9ca17ada7c7ed2aadd513e22355ab55e29e41218efe7201779bf39e9e5440e7c SHA512 f156de95eea02b7d5fc3838ba0369cfbb51f92ee13b59035c6f79c29528f3d2888ebc3f6917324587b33b656962b16513a3f17b47e8248cd9f1b88ce497d51b6
DIST qiskit-2.2.0.gh.tar.gz 7315291 BLAKE2B 7a6ca9284634cd387c4fdd32554dfc4937a89936e7119ff590564f89bbbab5a034c72a319f6d388b1d63f2c3cde972cda99250d0d65714a509b23cd3829a0dac SHA512 c2eb9e48de13afa9d973c2a3fb3a4f04f076abb6c79291c5c4939d4dcb157b2d97fb7f12e71f524a63aa5048ebf254e5f8649a70332902a2010f6e62d1ae87e9
-DIST qiskit-2.2.0rc1-crates.tar.xz 16224208 BLAKE2B 5e218dd807216b0164680c9d0be0f8ca821ddd0d959a3401f3613f5264a35d4fd6d0c9c99fa55d6875606a9a956e5e6639cdc5ed0060dca2cf8ea8739e1fd608 SHA512 fb0fb3bdcfae60fe045c8214dc22619b15d961e169b9f28d3036b29d001bfe1fde07c33c20250088707502feebdc1d43f2d4d215353b562d3d4d553fae26099d
-DIST qiskit-2.2.0rc1.gh.tar.gz 7315424 BLAKE2B c89dc4fcfbe316b6f79f714f889a9b4a9e10a6c86e3c31ae557d94305826024bb04a3c1f6f25faec4e4b19deab6c004752d1ee9066562a46cc2a0c1951c0970e SHA512 1742b4e73eda2d8d6eca6a5f33bae360a084c2debbbbc441a4ab8036a1ead76b64850b949ec1dd4db3b7109951817a6a6dce7e4655d7f77d728c7bdb97545428
diff --git a/dev-python/qiskit/qiskit-2.1.2.ebuild b/dev-python/qiskit/qiskit-2.1.2.ebuild
deleted file mode 100644
index ed931de65ffd..000000000000
--- a/dev-python/qiskit/qiskit-2.1.2.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 2022-2025 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_{9,10,11,12,13} )
-
-RUST_MIN_VER="1.81.0"
-
-inherit cargo distutils-r1
-
-MY_P=${P/_}
-CRATE_PV=2.1.1
-DESCRIPTION="An open-source SDK for working with quantum computers"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit/
- https://pypi.org/project/qiskit/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit/archive/${PV/_}.tar.gz
- -> ${MY_P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
- https://github.com/gentoo-crate-dist/qiskit/releases/download/${CRATE_PV/_}/${PN}-${CRATE_PV}-crates.tar.xz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT MPL-2.0
- Unicode-3.0 ZLIB
-"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+visualization"
-
-RDEPEND="
- >=dev-python/dill-0.3[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
- >=dev-python/rustworkx-0.15.0[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
- visualization? (
- >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
- dev-python/pydot[${PYTHON_USEDEP}]
- >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
- >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
- >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/symengine-0.11.0[${PYTHON_USEDEP}]
- >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
- test? (
- app-text/poppler[png]
- >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
- >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
- >=dev-python/qiskit-aer-0.14[${PYTHON_USEDEP}]
- >=dev-python/scikit-learn-0.20.0[${PYTHON_USEDEP}]
- )
-"
-
-# Files built without CFLAGS/LDFLAGS, acceptable for rust
-QA_FLAGS_IGNORED="
- usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
- usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
-"
-
-EPYTEST_PLUGINS=( hypothesis )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip forcing -Werror from tests that also leaks to other packages
- sed -i -e '/filterwarnings.*error/d' test/utils/base.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
- test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
- test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
- # tiny image differences, sigh
- test/python/visualization/test_gate_map.py::TestGateMap::test_plot_error_map_over_100_qubit
- # TODO: failures from dill
- test/python/circuit/test_parameters.py::TestParameters::test_transpiling_multiple_parameterized_circuits
- test/python/compiler/test_transpiler.py::TestTranspile::test_delay_converts_expr_to_dt
- test/python/compiler/test_transpiler.py::TestTranspile::test_transpile_two
- test/python/transpiler/test_naming_transpiled_circuits.py::TestNamingTranspiledCircuits::test_multiple_circuits_name_list
- )
-
- local EPYTEST_IGNORE=(
- # Breaks xdist
- test/python/qasm2/test_parse_errors.py
- test/python/transpiler/test_preset_passmanagers.py
- )
-
- rm -rf qiskit || die
- # Run the Python test suite rather than everything under test/ which
- # includes the 'randomized' suite. Upstream run that in a separate CI job.
- epytest test/python
-}
diff --git a/dev-python/qiskit/qiskit-2.2.0_rc1.ebuild b/dev-python/qiskit/qiskit-2.2.0_rc1.ebuild
deleted file mode 100644
index 79c53538a42f..000000000000
--- a/dev-python/qiskit/qiskit-2.2.0_rc1.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 2022-2025 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_{9,10,11,12,13} )
-
-CRATES=""
-RUST_MIN_VER="1.84.0"
-
-inherit cargo distutils-r1
-
-MY_P=${P/_}
-CRATE_PV=2.2.0rc1
-DESCRIPTION="An open-source SDK for working with quantum computers"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit/
- https://pypi.org/project/qiskit/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit/archive/${PV/_}.tar.gz
- -> ${MY_P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
- https://github.com/gentoo-crate-dist/qiskit/releases/download/${CRATE_PV/_}/${PN}-${CRATE_PV}-crates.tar.xz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT MPL-2.0
- Unicode-3.0 ZLIB
-"
-SLOT="0"
-IUSE="+visualization"
-
-RDEPEND="
- >=dev-python/dill-0.3[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
- >=dev-python/rustworkx-0.15.0[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
- visualization? (
- >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
- dev-python/pydot[${PYTHON_USEDEP}]
- >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
- >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
- >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/symengine-0.11.0[${PYTHON_USEDEP}]
- >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
- test? (
- app-text/poppler[png]
- >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
- >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
- >=dev-python/qiskit-aer-0.14[${PYTHON_USEDEP}]
- >=dev-python/scikit-learn-0.20.0[${PYTHON_USEDEP}]
- )
-"
-
-# Files built without CFLAGS/LDFLAGS, acceptable for rust
-QA_FLAGS_IGNORED="
- usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
- usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
-"
-
-EPYTEST_PLUGINS=( hypothesis )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip forcing -Werror from tests that also leaks to other packages
- sed -i -e '/filterwarnings.*error/d' test/utils/base.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
- test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
- test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
- # tiny image differences, sigh
- test/python/visualization/test_gate_map.py::TestGateMap::test_plot_error_map_over_100_qubit
- # TODO: failures from dill
- test/python/circuit/test_parameters.py::TestParameters::test_transpiling_multiple_parameterized_circuits
- test/python/compiler/test_transpiler.py::TestTranspile::test_delay_converts_expr_to_dt
- test/python/compiler/test_transpiler.py::TestTranspile::test_transpile_two
- test/python/transpiler/test_naming_transpiled_circuits.py::TestNamingTranspiledCircuits::test_multiple_circuits_name_list
- )
-
- local EPYTEST_IGNORE=(
- # Breaks xdist
- test/python/qasm2/test_parse_errors.py
- test/python/transpiler/test_preset_passmanagers.py
- )
-
- rm -rf qiskit || die
- # Run the Python test suite rather than everything under test/ which
- # includes the 'randomized' suite. Upstream run that in a separate CI job.
- epytest test/python
-}
diff --git a/dev-python/ruamel-yaml-clib/Manifest b/dev-python/ruamel-yaml-clib/Manifest
index cabd37fe11a0..9555eec985e5 100644
--- a/dev-python/ruamel-yaml-clib/Manifest
+++ b/dev-python/ruamel-yaml-clib/Manifest
@@ -1 +1,2 @@
DIST ruamel.yaml.clib-0.2.12.tar.gz 225315 BLAKE2B fdba5da04b387f5d983f3e31ff192d96d20d0c8f97622406bdde8515c59fe35995b031affe86c6eca59f1367548fa8aa87c4f19c378b2cddf5706a870b956509 SHA512 36715cfaa663f9948034d7eb64f1b9e9cf69971e27e5ac1f2cd54234c8889c91416fe95aa3f5cce44eb00c9c383f458457c3f5ba9e3afa3e5637c118ec2e5113
+DIST ruamel.yaml.clib-0.2.14.tar.gz 225394 BLAKE2B 588eea54fcf133249255a2e0376f9d4e2aa5a4d15e49aeec4fc1a524eba02af70232eeaec113b49a8d7b17d538fd4ebb8973d2e7d666206fd3119d4f0be56abf SHA512 0be9be1c26c0d5cdb686ced8b16b0eb4efe59cafa6eb8d3378cdbcdbb0a5d70ebb578e5e48c4c8171817fde7c503c75396829c6dad8dcff9e3724dedd6363cb5
diff --git a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.14.ebuild b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.14.ebuild
new file mode 100644
index 000000000000..a72b86b9d307
--- /dev/null
+++ b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.14.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN//-/.}
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="C-based reader/scanner and emitter for dev-python/ruamel-yaml"
+HOMEPAGE="
+ https://pypi.org/project/ruamel.yaml.clib/
+ https://sourceforge.net/projects/ruamel-yaml-clib/
+"
+# workaround https://bugs.gentoo.org/898716
+S=${WORKDIR}/ruamel_yaml_clib
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+src_unpack() {
+ default
+ mv "ruamel.yaml.clib-${PV}" ruamel_yaml_clib || die
+}
+
+src_configure() {
+ cython -f -3 _ruamel_yaml.pyx || die
+}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 0a7b041f0d53..2953c09f3db7 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -2,3 +2,4 @@ DIST types_docutils-0.22.0.20250814.tar.gz 56376 BLAKE2B 75690dfe8d479fdb97b3939
DIST types_docutils-0.22.0.20250822.tar.gz 56487 BLAKE2B 2d6fcf0bee2ff56f08fcbb2ef1b51140926410c3ff51f7139bf3cd4a4a0999e5555ebcbd668daabd9cf7b1bef6e31b562092af14f1a571d13223aed1afa4b0e0 SHA512 ae4d8927c0c5d423b004cd84f8fed20408f2944105b06c95c67248a7cd0a049da519d3aeeb6f05fdcc58ee178fcb3d0aecab8ea6333e0d3b8776b3406272a60a
DIST types_docutils-0.22.0.20250914.tar.gz 56496 BLAKE2B 0c9f9321506821a1732bdef41ccdf3cc617a87f18c2d9343f0eddba143456b0647a6ca0b6dc9e6ea245310b6019e2672cdc8aeea702ad1a61105201efec253de SHA512 3207655dd257f5274fffcb0213fcdef9dbfd564f027b84563366b2f79f3df2001f88317ac27a6e89fca18b4ebab7296de8f8e53d656e3ffcb558ed2ab770a653
DIST types_docutils-0.22.0.20250919.tar.gz 56554 BLAKE2B dce038821d21f58bd2a2d93348b3685c2b44a909b9036407089d4974e7774b7a6e97826758616562d7f5f87869a3aa23860f420d3fb722ba147d6df892f11304 SHA512 c37792c851284c173ccf07d7f9821bff16a9bd550a62bfb885201f009959836421adb30471b376fe89454857636e789ebf1a3bed5ee5cddfc7084ca6e8f90857
+DIST types_docutils-0.22.1.20250923.tar.gz 56652 BLAKE2B 016be0aed7e1ec70e2dc7ad57abd7002a496276fbc3112a0797ec69eb22a963ffe7bc71c81611c6e1c18088276382a322e8753d1f4bab2d19e449331a4c37a87 SHA512 5a18c7a6f13f7599a1c6ef76f30c8687522ad1a8ed0f252047d2b6af5afcbe21e6da363033975b4d4d4182e4f3d83a7aea9cd1194a275b61d113ebdf841e1661
diff --git a/dev-python/types-docutils/types-docutils-0.22.1.20250923.ebuild b/dev-python/types-docutils/types-docutils-0.22.1.20250923.ebuild
new file mode 100644
index 000000000000..9fdbbf2b35dd
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.22.1.20250923.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index fb03cb0ce7f8..850b0da77323 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -3,4 +3,5 @@ DIST uv_build-0.8.16.tar.gz 330691 BLAKE2B d1c730ee6c8292273a6511383c6c0d015909f
DIST uv_build-0.8.17.tar.gz 331207 BLAKE2B fefb1fce9d0669fa242a7639dac3767accc166008bd780778cf2c589faa2e48fec435a1c77244d38ffbc2e79cf9c0e8ad87a99e432ca61c5c2b7cadcfd14028d SHA512 d997be2cc62782d8c305a1a408b99173e876ba70d7af279efd5ea745fb17862754f3b896924822052c2dedc56d332e7ea35228514effe265be340767f0286ec7
DIST uv_build-0.8.18.tar.gz 330099 BLAKE2B 7a9a144aeae7ab2d9f458d10c2b8786f4d5e22bd64ab38b0b82ea747135d69fc0f4325efff23d7d232e8a6a584acdd8b94c97428f91e20806750967a6fafd6a7 SHA512 1a975786482d957fb0b3b3cf716d3e8dd8d210bcffa562ad60df7f18d4024aaf8dcf2c52a7afdb04c32de469684668cb7c7ec8359d9a7b102024a52ae3e0d785
DIST uv_build-0.8.19.tar.gz 331154 BLAKE2B 45d594ced0dd59efc9efdb48c2c412d8e619b7fb1b2dbe74e172bae736d35c9ac920763479ba78d7ff60f0f5dddeb75b15b1dbadcf15d10e7c28c17e92971c83 SHA512 91b7b31c5d42b59869b7fe282ee4a5410512a756df90ea68d46015aef950e21c1a61218b75e3d5f9b38cd84b84e99ee0b314943e85344fb00978885ab11e9483
+DIST uv_build-0.8.20.tar.gz 331116 BLAKE2B 0089f4c645a0ddcbf9661c67108f10b72bfe0ab26f096f1176d24f51f88c2ef1f1947329274dbbe367dfe4d1f6d0066a66befbc37ceb184d27609702745b2fa4 SHA512 d13b53e71ea1805fc9530045e52300ce6a06a1d77f41d8f3ab47d0ac1d459d22ce3b5323cf4543a6fb251543821d367c24aeba108fea09de651f84fb78149804
DIST uv_build-0.8.6.tar.gz 318772 BLAKE2B faf4f36b32cf308d3c70d52b84bd135d108db4018bc4c7eadf193448e422fe8b0deb1cf68f7264413152697708f9a15748a017d0ece151c19c1677916b3727b9 SHA512 da83c3ba7f2daa1c39a8bac5b18635eff4afc93460ea23b770518ebaf44bef573654e272c117e257f4126124c71a5b661f2751ff36be792c03ee28f257d1eddc
diff --git a/dev-python/uv-build/uv-build-0.8.20.ebuild b/dev-python/uv-build/uv-build-0.8.20.ebuild
new file mode 100644
index 000000000000..d75c0bd44a9f
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.8.20.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025 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_{9,10,11,12,13} pypy3 )
+
+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 ~arm64 ~ppc ~ppc64 ~riscv"
+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 9ba3c3597421..a5c18580d1de 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -1,4 +1,5 @@
DIST pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.gh.tar.gz 99881 BLAKE2B 5fcc2d1a06eb44351773081de4f616c93301eb2fe71b0c6f7b95779ec4bd9bb6cccc702a87a6399b0674711302a19de3a96fa31044660430fd74ff549000ad25 SHA512 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784
+DIST pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.gh.tar.gz 100042 BLAKE2B cacdd77783aae1a94c3aaea56c2bd47b22f13ca34eddcef53b5d205244a213eff2934db03965532085c1aa6892b27bbbabfc19513f62936f8ac1faa466570dd4 SHA512 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464
DIST reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.gh.tar.gz 42520 BLAKE2B ca415865947873f8b309f5b348a600677802fa8128a154b7c86d3e30bffece9df8606504073ddb688c5185e27866b5d7dc8a891e6d390ca075910a691e9bb2aa SHA512 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707
DIST reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.gh.tar.gz 41975 BLAKE2B db42a68b8f0d592edc297462c19a34caa068464b9a5f307e8e1c1fdacde95cd08c5af0f73fa55ed62217dee63940a1d02a4322c5edb2c2c8a568a7e04efd80e6 SHA512 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b
DIST rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.gh.tar.gz 37003 BLAKE2B c4aed18d82641ced2771ad8b8e800c45b1ded279e8ba1874ec9766907d042ae13b460beac739ced6e31c03a647e4238af96fb41e8c0dff4c5d4dd7f59c0ebbff SHA512 d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617
@@ -11,5 +12,7 @@ DIST uv-0.8.17.gh.tar.gz 4443731 BLAKE2B 747eceb88ef5e2eecbb5a3c827ff11646c6589c
DIST uv-0.8.18-crates.tar.xz 45354832 BLAKE2B 48c0f06f699015f9206fd916027e1346996479ec4665b43ac7b60cb1ca281b0706021b6ef1688e4df6cdb601a3d8e8ada882937e24bde659c4cc51c81ee11b0b SHA512 d2583a283bcb29ab4781fa201677ec7cade1fc3ac2c47b224f3fc23eff31e1ee140cbc5f763bdca5fac983eb25fb74f4d466869023bb49dc9ab423ffadd768af
DIST uv-0.8.18.gh.tar.gz 4693782 BLAKE2B 636f45447de3ed21bde705c900b0299b34f106c7b2740478cfe2cdeee1c9fece1250912a908e05e378320918deb809656a61987507fc9741d68f0d2a7c82a929 SHA512 a21e001cc241050c0fa19b1d5629a347e61f1fd3f0854fa855b5a78c2dcd68fcaf1336ce3f769e50430dd279418c644c473002d175ccebc934ee9c0cb4a38c65
DIST uv-0.8.19.gh.tar.gz 4700498 BLAKE2B 60d0b2b0fc406b9b91502942c71d51d70ad97e33f11aa4787f4c9caccbeddc1d97c3948a57017516918260dfb3904372285aaf2809b376d75d56c1d34f1042a4 SHA512 565825f348422d2247d9bb32d30fc22e00240ac63b271ebb77a67cf7d5ba84de768819b03274194085ff941c742a76e4cc27129922b3db6ea63e58b694e97b59
+DIST uv-0.8.20-crates.tar.xz 45310716 BLAKE2B 4fe01bda1fe2c879742433bfedbc459fb9e4387324449722648344f5b17178bf70848b92df9129327ea7fd010c7ae59a222be96b19f5617b871c1f22fe229cf2 SHA512 baa62bd819aaf8499647e1bd65d233cedb29af2cc81154f89983c167158f4fdfed3b74b79a429c773fafba3b54eddffd38e61254e09b3a57149b3fa1419cdf5f
+DIST uv-0.8.20.gh.tar.gz 4702175 BLAKE2B ffb1898d1acd59fe9befd2ae2842d133619b9d9ec2e114b5332848b0155ebc065589951363df167f1b2e8dc48fe103fd97da8542a5e1a551d6938635fcb628c5 SHA512 80e6566b8152b5f2eff8f1f8991ed4f62465670aa5a179dc055fa8395968581369ebd9289000b934c28e395b39185ea18d705066016ea969abbbe42985064668
DIST uv-0.8.6-crates.tar.xz 46208952 BLAKE2B f9557a45fbfaa9d6006f935629130960b5d414cd185d7fbdb1415e7f3875568d07ade946a0b606712e9e2e06e7964bb0fb8318e02e78609899a852ed073b87a6 SHA512 c79fa70a6a670dc2d80efbf0b51942806b2b16ab7b4c63983ab634453ab32142322302bd68ab80f5bcfee08138bca8d04a7d152c76ca5d94bfc40255cab8477b
DIST uv-0.8.6.gh.tar.gz 4255911 BLAKE2B 198ed83cb487f25a35957959bca32f98b8f5343712a7a9bbf3f817f189f1ec9c7903fa2e64ec65c9b3e18a469506c942ebb0ca50b39a353dc7e82228386fb69c SHA512 d164488e967364d254bab989933a5faf27c52c91da1bdeb6f3419fce335dfac5d4ea6cd717cac6b05fee9f85605cf21930c3d37119c49a98cb13c53d51ea996d
diff --git a/dev-python/uv/uv-0.8.20.ebuild b/dev-python/uv/uv-0.8.20.ebuild
new file mode 100644
index 000000000000..fa234db7db08
--- /dev/null
+++ b/dev-python/uv/uv-0.8.20.ebuild
@@ -0,0 +1,183 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.88.0"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/astral-sh/rs-async-zip;285e48742b74ab109887d62e1ae79e7c15fd4878;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-retry'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%/version-ranges'
+)
+
+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
+ CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
+ ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ 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
+
+ # replace upstream crate substitution with our crate substitution, sigh
+ local pkg
+ for pkg in reqwest-middleware reqwest-retry; do
+ local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die)
+ sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die
+ done
+
+ # 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
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ 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/wcwidth/Manifest b/dev-python/wcwidth/Manifest
index 1556339e9ca4..11422e84b340 100644
--- a/dev-python/wcwidth/Manifest
+++ b/dev-python/wcwidth/Manifest
@@ -1 +1,2 @@
DIST wcwidth-0.2.13.tar.gz 101301 BLAKE2B 33637e5582cff1bbc0f11c044d390dc18b635af923c7c89c79c07f20bafb44434ad79801b19d89c9e15b8bee79b52f5652ea3987e5578520aedfbb03f20fd6cb SHA512 1eadda149936cf2eefe5d09c411774dc87c8a358f2dd92d74f427d7b47f07c05557e849c46122d44788c2bd7c97eb85fc5f902d9a158d68ab9e352c5185ba2d5
+DIST wcwidth-0.2.14.tar.gz 102293 BLAKE2B b8d8e482b6268269e085f45da943943e91ec6809e5d48cb684339ce3dc7dee8707826f327d63bf21e137d82cac89a3ee755f1685243394c32b205906a4f90e9f SHA512 1fcfd1b1fd0aa0cb4c075f4428a4454bb5fc0285861b8a0d9ee50863d76b5a91cb212453a02f09dbd6b023aa0c6e3968fb925e7f31f263558f0accb4e58af293
diff --git a/dev-python/wcwidth/wcwidth-0.2.14.ebuild b/dev-python/wcwidth/wcwidth-0.2.14.ebuild
new file mode 100644
index 000000000000..9bf6e587d5ff
--- /dev/null
+++ b/dev-python/wcwidth/wcwidth-0.2.14.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Measures number of Terminal column cells of wide-character codes"
+HOMEPAGE="
+ https://pypi.org/project/wcwidth/
+ https://github.com/jquast/wcwidth/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
+
+python_install_all() {
+ docinto docs
+ dodoc docs/intro.rst
+ distutils-r1_python_install_all
+}