summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-02-11 18:50:44 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-02-11 18:50:44 +0000
commitb434cc14de3d4ac9839e91e51732153814799c3a (patch)
treed54d0ebac481bb97e910e04cf8d91b49943712f4 /dev-python
parent00b736a957e0d4036711ba6fdea7b5491b0dd49b (diff)
downloadbaldeagleos-repo-b434cc14de3d4ac9839e91e51732153814799c3a.tar.gz
baldeagleos-repo-b434cc14de3d4ac9839e91e51732153814799c3a.tar.xz
baldeagleos-repo-b434cc14de3d4ac9839e91e51732153814799c3a.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.36.17.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.36.17.ebuild67
-rw-r--r--dev-python/clang/Manifest1
-rw-r--r--dev-python/clang/clang-21.0.0_pre20250211.ebuild53
-rw-r--r--dev-python/environs/Manifest4
-rw-r--r--dev-python/environs/environs-11.2.1.ebuild39
-rw-r--r--dev-python/environs/environs-12.0.0.ebuild39
-rw-r--r--dev-python/environs/environs-14.1.1.ebuild (renamed from dev-python/environs/environs-14.0.0.ebuild)3
-rw-r--r--dev-python/faker/Manifest2
-rw-r--r--dev-python/faker/faker-35.2.2.ebuild43
-rw-r--r--dev-python/faker/faker-36.1.0.ebuild42
-rw-r--r--dev-python/flatbuffers/Manifest1
-rw-r--r--dev-python/flatbuffers/flatbuffers-25.2.10.ebuild46
-rw-r--r--dev-python/josepy/Manifest1
-rw-r--r--dev-python/josepy/josepy-2.0.0.ebuild32
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/lit/Manifest1
-rw-r--r--dev-python/lit/lit-21.0.0_pre20250211.ebuild45
-rw-r--r--dev-python/pydantic-core/Manifest2
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.28.0.ebuild168
-rw-r--r--dev-python/pydantic/Manifest2
-rw-r--r--dev-python/pydantic/pydantic-2.10.5.ebuild65
-rw-r--r--dev-python/pydantic/pydantic-2.11.0_alpha1.ebuild65
-rw-r--r--dev-python/pymongo/Manifest4
-rw-r--r--dev-python/pymongo/pymongo-4.11.1.ebuild (renamed from dev-python/pymongo/pymongo-4.10.0.ebuild)21
-rw-r--r--dev-python/pymongo/pymongo-4.9.1.ebuild228
-rw-r--r--dev-python/pymongo/pymongo-4.9.2.ebuild228
-rw-r--r--dev-python/python3-xapp/metadata.xml11
-rw-r--r--dev-python/python3-xapp/python3-xapp-2.4.2.ebuild8
-rw-r--r--dev-python/qtpy/Manifest1
-rw-r--r--dev-python/qtpy/metadata.xml1
-rw-r--r--dev-python/qtpy/qtpy-2.4.3.ebuild184
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-26.6.0.ebuild177
-rw-r--r--dev-python/virtualenv/Manifest1
-rw-r--r--dev-python/virtualenv/virtualenv-20.29.2.ebuild118
-rw-r--r--dev-python/virtualenvwrapper/Manifest1
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-6.1.1.ebuild98
43 files changed, 1013 insertions, 874 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 3e3ab6b206c0..b73ceb526306 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
DIST boto3-1.36.11.gh.tar.gz 896841 BLAKE2B 092cfaeb6dc6f6d3f523fe4e0b600817e6145a224c2b43b6dd47376d6aa1a586bf3784b2960f4179b271128d20c3edd5b435cabd6e3ddc2330f0b0ad5ce306d9 SHA512 6f17d0b6f67ace0485fbc2d809f013fddd4cf1211eb6c9a1fe0ed7c0bc117aedc9e4b7db4d4570818907db6344b19331d8a7b6246928ed5c5e294b9b5a9504dc
DIST boto3-1.36.16.gh.tar.gz 898785 BLAKE2B fa3de504bb8c58fa5653a3fc3414a333283c04ca800b8d37b310b291e60af96b27c994d2571e4dc0f159c98a41d014000ce7afe020f38da80a2cac49283ba2cc SHA512 6cbbe6cdb505ace41e5e20ff144d1d312d8a53e3c7c2e8d50a981c55e485cdf98ac6711c36cb3697e257aab08e240fa1e731485aec3dd8b74cd5163c489bd61f
+DIST boto3-1.36.17.gh.tar.gz 899108 BLAKE2B 3c1694499e7bc48abf3d8bd8e6c783258798d3600aedfe95299634ef6f848e531bd68010e8e6c2f0dc777dd8b379a40902272e8e623d177891da4e6f4e52156e SHA512 9574ed2b26e95a54f1300c52a9511462676dcdc06d05f216c4e722ec3b8f8d6730b3aaae218d4607fcb87d9a99a83587d76146b3188bc01a5635ac638576178a
DIST boto3-1.36.6.gh.tar.gz 925646 BLAKE2B 71db3ff552033c187e19b699d193e4834649b80d2c0dd2ed35496bfef798371f7794e58d445aeeafcc3e4aef50d4dc6e17347b04ae82b4f3b7778a1a5e419daf SHA512 c638903cb3afff4867dbee7295e387f5ce91d9d3d9f37b28c103ead87883377a69fbccfce34850da5c77186ced0bb56f5dc5f4549e84871d10a9134c731d4c36
diff --git a/dev-python/boto3/boto3-1.36.17.ebuild b/dev-python/boto3/boto3-1.36.17.ebuild
new file mode 100644
index 000000000000..dfe05b3d9a81
--- /dev/null
+++ b/dev-python/boto3/boto3-1.36.17.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_{9,10,11,12,13} )
+
+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.11.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index b644998dc2f5..ff9a9cb8bf64 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
DIST botocore-1.36.11.gh.tar.gz 14197086 BLAKE2B 471c4d4d8433c5ce577b76e3dc70e9cbc0aee52f8c06765c1d965b437e75b44b4d62ea472abf612266ebf718300aca11f39fce90abe5d5811a37bcbe686d09de SHA512 0cf405e0fd7466a631bfbf3c4d0ad46b7c6da787715d9d70362cd5ed869ecfcf26ce7465daec220c9ffb858a1171439088e42a72665726ba5b511ef551cdcf3a
DIST botocore-1.36.16.gh.tar.gz 14211411 BLAKE2B 88ea5860e628985d7643acc430b62ed1a57c0c6a05081e156630bf4090aaf00fa18efd39f3d7914d2eab97b3cb1ac5d355714ccc1a6af3f2e1bec2a6b067e608 SHA512 7c1f66b7835df3fb5fef726762d09eecfc7b1c3cad5df7f6e1d1ec90fd1d7f505243d92c6c4184b0dc15b541c9e3d14d07cc91ce317655d98ad9d74f289e72e6
+DIST botocore-1.36.17.gh.tar.gz 14211225 BLAKE2B e589bc5bdd5d8f350fb281fd4b3367a8c47beebafe3e4c087bfd8919a65e2e1adaab3cb0cb8fff877c813656835a12537e7ffdec8e9daf13841279b3ead58142 SHA512 8f30247d21a01c3cafe8f1ef938207f14a626fe17b7c29a510886014af866d985804f83563be0ac2a7894fbf8a5b6cc78554904e8f5f9f9ca69ecf615a30d613
DIST botocore-1.36.6.gh.tar.gz 14173329 BLAKE2B 1eea293adad312439f2c60e0f73f721fa207439af2918fb5db98304a565e44d33f953f517e5526e865cbf58751892be4a6cc275545f295638109ee4051d2a276 SHA512 bcd1077bfeb5709e8c6224560f7974d70a884310539b531f520b20446aeaf3aa5d9aba6cbd19d75526d34dd7ab68be578f5ece7bddf7986997f9f5bbd5cee905
diff --git a/dev-python/botocore/botocore-1.36.17.ebuild b/dev-python/botocore/botocore-1.36.17.ebuild
new file mode 100644
index 000000000000..df85ee0d220c
--- /dev/null
+++ b/dev-python/botocore/botocore-1.36.17.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_{9,10,11,12,13} )
+
+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_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest
index fb9676abc4b1..04bfb25ffdfc 100644
--- a/dev-python/clang/Manifest
+++ b/dev-python/clang/Manifest
@@ -13,5 +13,6 @@ DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf
DIST llvm-project-1f26ac10ca1bef40a80be8f81a6f109713bc586f.tar.gz 226424755 BLAKE2B 642befb8d6923f335d1d68129ebb7357f8ba22e110df494dd956c8097e4e5db4b2a88fcc069ab67184b03558f072c68e002bdaf90eba865e38b1473a0ef29eed SHA512 e9bb4fd31bbad5ec864c662515b5ec2e5511cce975040f9f3cd8f009c92f76077928feae0467fd9519a001a379c857f7539c506953d8d5a9209a9f358f414aac
DIST llvm-project-20.1.0-rc1.src.tar.xz 147144668 BLAKE2B ea4733962f38ea5897c73e91840818921739909c3671749bc8a0b1d2798e5a0815bbe750ade3a2a7414836ab7158754818b2f9370a4ee1bbbd52c96b1e95ef9b SHA512 c23c4b1227b6b0b7c3059358e64a00ee98893236bb1a0a41d7e821bdf2aa8353aea8f9f7b9498899c6807b9b8e2ceb06c3cd62e32fd07a786a319135055541b4
DIST llvm-project-20.1.0-rc1.src.tar.xz.sig 566 BLAKE2B 32eb278ec4ff1bb9d258b584922b0d227f4126a957ba75af44dcaa63b6a12ef73db56d6a86f24244af47803ddf6a243149d784f08137cbea60b49700be537705 SHA512 d7a334326201f8ca78284b33c325f180538667a0401bc30931e790aacc96dd78f6559c45929b6c335d40ef1dbe772738c0ce55d881ae3d7401733778b485408c
+DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
DIST llvm-project-6f241e36831927e3aea113cfc017c34fdeda340a.tar.gz 227203285 BLAKE2B 8d5e424c1836acc82ea766cd2cef104593c44d197ebeb64f18dbe74b1b5baeb4bc84084f5b68bd87ac36f7df25689dd2522cb6674a97da4f96f4f10f7bae5b06 SHA512 2b6e4bd6445eabfa3ace9b45d20797c7afc23f4553a8938399aeba227e3b8ca6a53a7d7762925a845bfed031c37af692b9c08180fbab80db2f3166940e560077
DIST llvm-project-bfa7edcc6652bdb37d53e0cec64926aab3f280eb.tar.gz 226735989 BLAKE2B 165837dc526e618b44c49d5fa3dceda373452e010a09746bff248903fe77874637d05ab9f5d2f63de7ebce5c14e3b19a131313a4a557adfd20fe9cb93ab60476 SHA512 e9e19176fcf1302727ee34d69eaa820b94959d64ceaf754d8a93ebd5e262cec7fe35e87b08f705b09e42c3ea26b671318eecf10e9137c635b12f481f80fbac23
diff --git a/dev-python/clang/clang-21.0.0_pre20250211.ebuild b/dev-python/clang/clang-21.0.0_pre20250211.ebuild
new file mode 100644
index 000000000000..a99c5601e047
--- /dev/null
+++ b/dev-python/clang/clang-21.0.0_pre20250211.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for llvm-core/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=llvm-core/clang-${PV}:*
+ !llvm-core/llvm:0[clang(-),python(-)]
+ !llvm-core/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ llvm-core/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/environs/Manifest b/dev-python/environs/Manifest
index 3d0f15ec8fe9..ec64fdadabf3 100644
--- a/dev-python/environs/Manifest
+++ b/dev-python/environs/Manifest
@@ -1,4 +1,2 @@
-DIST environs-11.2.1.gh.tar.gz 25595 BLAKE2B 478818c964625965200b154ef9412a1d94ac9f78d507be0ebd378117613e7c7f8163c9db58225220ef9cde68367f973999a9914f13db6bdee02c83e9ee924518 SHA512 cd859e86b4308047ad661f3fa12788a117f70686e3f5dc7f55e876c9de38c6d2b75f208b488b99f3c9189080e8ebb45385fea45421d55e9b2f9a22ba4a3fbd86
-DIST environs-12.0.0.gh.tar.gz 26281 BLAKE2B d663ede5220bc3d1b6f3a1da5b2b8500bfc98d134bf9ec00a81796fb1619c98e96b2336e474dee2d17e6b541fd97bcd916dcdb5d19509a76f6af28e2bf26b691 SHA512 30622788d787516408cb9a6548124475a752fb37284f880c534763007c736daf0c666c8e8c773cbb078da7ac3ba5b271aaf28d3d7842afb6da630bddf5233623
-DIST environs-14.0.0.gh.tar.gz 28247 BLAKE2B fe1fcc78940840f67c8cb38d9f7c10d03e1c91b5f94943eaee1a603bfbb8bccbc46bed003913fb64a62b49ab40bfbe806ea0c21dc74926d48b2d58a8e96886fa SHA512 5caddf4ee09cc2e6acbad93d7f40b7d6fe9f241454a96ae33da2467858b7a53bc03132e702d87c6f9731f2b600a559135da6ac033de7ccd1b0623402ccdfbc4c
DIST environs-14.1.0.gh.tar.gz 28783 BLAKE2B b93711edaa4b9d2a3353e3a06e9baf545716dd96da6f3288825fef15306d793c4b18d0401698c86cddd2813d723e188a7be6570940eec49171f81d1f6dea071f SHA512 26cc7a920b4d9a6d7d7c7f1c729e688767a03de8e439483c99020a0a838d9c52dc3f5d0e78db6b910cc087580efb42ce3cd8e3be32e69a889abd40d0fb1a9fd9
+DIST environs-14.1.1.gh.tar.gz 44987 BLAKE2B d409fdb38faa65b45e4ec147acfc6050eb9a9993cf93bc90939ffdc33421b44aa522cd397767d0d41370b994f914741e9ee6af24095c72321e7875f5c88440c1 SHA512 fdbbd25304200db383705fc7940a9ec6e9ed851c7fbb57a3af08ebec8d825a6d2e3c5ecaa13adcdfe5405e49da67104f600003c05b75e9758a7a15cca14e4d5d
diff --git a/dev-python/environs/environs-11.2.1.ebuild b/dev-python/environs/environs-11.2.1.ebuild
deleted file mode 100644
index 7b183725113f..000000000000
--- a/dev-python/environs/environs-11.2.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for simplified environment variable parsing"
-HOMEPAGE="
- https://github.com/sloria/environs/
- https://pypi.org/project/environs/
-"
-SRC_URI="
- https://github.com/sloria/environs/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- >=dev-python/marshmallow-3.13.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/django-cache-url[${PYTHON_USEDEP}]
- dev-python/dj-database-url[${PYTHON_USEDEP}]
- dev-python/dj-email-url[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
-
-distutils_enable_tests pytest
diff --git a/dev-python/environs/environs-12.0.0.ebuild b/dev-python/environs/environs-12.0.0.ebuild
deleted file mode 100644
index 8c076dc050bc..000000000000
--- a/dev-python/environs/environs-12.0.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2021-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for simplified environment variable parsing"
-HOMEPAGE="
- https://github.com/sloria/environs/
- https://pypi.org/project/environs/
-"
-SRC_URI="
- https://github.com/sloria/environs/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- >=dev-python/marshmallow-3.13.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/django-cache-url[${PYTHON_USEDEP}]
- dev-python/dj-database-url[${PYTHON_USEDEP}]
- dev-python/dj-email-url[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
-
-distutils_enable_tests pytest
diff --git a/dev-python/environs/environs-14.0.0.ebuild b/dev-python/environs/environs-14.1.1.ebuild
index 0f35c6410074..689ca390488c 100644
--- a/dev-python/environs/environs-14.0.0.ebuild
+++ b/dev-python/environs/environs-14.1.1.ebuild
@@ -31,6 +31,9 @@ RDEPEND="
"
BDEPEND="
test? (
+ $(python_gen_cond_dep '
+ dev-python/backports-strenum[${PYTHON_USEDEP}]
+ ' 3.10)
dev-python/django-cache-url[${PYTHON_USEDEP}]
dev-python/dj-database-url[${PYTHON_USEDEP}]
dev-python/dj-email-url[${PYTHON_USEDEP}]
diff --git a/dev-python/faker/Manifest b/dev-python/faker/Manifest
index 2c8a22d6ea80..d6007448ef4e 100644
--- a/dev-python/faker/Manifest
+++ b/dev-python/faker/Manifest
@@ -1,2 +1,4 @@
DIST faker-35.0.0.tar.gz 1855098 BLAKE2B 38429e14ccca4e315b562903e218ceb3942818da34229da59adca51afeec837a8877ed902de7624bbf057c2cf7a838edfec78b45cd7157855ab05b5fca868c84 SHA512 8f9744f1e935218ce7a25b93288357fd4767c3079ed2a44e9613a666984e737e1f8ee615680cc9722ba83e448843a581adc0d84cf41085a195c2eefac9eda9c9
DIST faker-35.2.0.tar.gz 1874908 BLAKE2B ded1ef4e9afec3395e78ebcf28c7c5f428a46873f9fc4b75681eb045315c35fcd682c83cf04fa09ad91feacb828e6cea429de51ae53264fb8ec4b9e4ef36b922 SHA512 70e5f8165c740596952245b2635c9c88efef894f4e86fa352f7bee08eeaf44c6f0050c9ccd435cdde76f9e24b84957db9d4a1601cc12f1d3f30519c7391975df
+DIST faker-35.2.2.tar.gz 1874955 BLAKE2B 4ff2e056cd1fbdd7c70af2efbd0757005fbe7aa1f73233bcb2f41fcae6ad5b85ab6732602afe0bf671799d48ae97069a462e3d3a174d17497155c2d5c29b8a57 SHA512 91f5dc3e7930b1192fed2d13f98e36eac8698411dda2ff5dc471c273aa415d41959f5d18826b888296ef87d6ca07513ec68b4bee7828e2934ab2ff349055063b
+DIST faker-36.1.0.tar.gz 1874804 BLAKE2B ea004f4d3a03c430f16ce53aeb3124838240f86a99576fb2dec8e4746e01d03f22b0e0b4c50eb9f7664dca0ab7fd3495d500f5e77dcdec06c02b01e5a2806fee SHA512 c2dea115c589171bb727405dbba6a19631f3751557445172a51d0e62f2b417f4800b367fe6538d73fa04503b28df2a7721d47074d6910c9e7e9b9f74d5bc9b21
diff --git a/dev-python/faker/faker-35.2.2.ebuild b/dev-python/faker/faker-35.2.2.ebuild
new file mode 100644
index 000000000000..d9c6380e1486
--- /dev/null
+++ b/dev-python/faker/faker-35.2.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-2025 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ !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
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
+ epytest
+ epytest --exclusive-faker-session tests/pytest/session_overrides
+}
diff --git a/dev-python/faker/faker-36.1.0.ebuild b/dev-python/faker/faker-36.1.0.ebuild
new file mode 100644
index 000000000000..07e6ec6efccf
--- /dev/null
+++ b/dev-python/faker/faker-36.1.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2025 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/tzdata[${PYTHON_USEDEP}]
+ !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
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
+ epytest
+ epytest --exclusive-faker-session tests/pytest/session_overrides
+}
diff --git a/dev-python/flatbuffers/Manifest b/dev-python/flatbuffers/Manifest
index 65bbd94292f9..31b9338fc945 100644
--- a/dev-python/flatbuffers/Manifest
+++ b/dev-python/flatbuffers/Manifest
@@ -1 +1,2 @@
DIST flatbuffers-25.1.24.gh.tar.gz 2430616 BLAKE2B 36e74e8ed537e363edc74cdf7b58a9ae39f0f2d587ee2ac14f4bf14b22bb77b8f63b1c682d44c20be895cbf399f41fb194796c3598d0550c7bfe0f4b9ff90c43 SHA512 48694fa20e41ffefd2ee264f570e96516853da0bce66c3e29b40e66baa62fdc4e38642de395307e4503743e7e2034654211d3866406be2d44dc582b61dfc25f7
+DIST flatbuffers-25.2.10.gh.tar.gz 2299918 BLAKE2B f12b32fca1a15349aaba142907d2d66caa55bb73862b969b226d0356f7f68fbba74c9c3f643a944813c370cacf81735b6c80d054a70b8b442519f9c485bbd10d SHA512 7e6ae36b37c9fd322456312504156c8241852e07a2a23de6805eb2328b61b9f42b839d04b839f9d97623195721308437a1163a25071ca2af0d00a6417da74822
diff --git a/dev-python/flatbuffers/flatbuffers-25.2.10.ebuild b/dev-python/flatbuffers/flatbuffers-25.2.10.ebuild
new file mode 100644
index 000000000000..1372fff58073
--- /dev/null
+++ b/dev-python/flatbuffers/flatbuffers-25.2.10.ebuild
@@ -0,0 +1,46 @@
+# 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} )
+
+inherit distutils-r1
+
+DESCRIPTION="RFC 7049 - Concise Binary Object Representation"
+HOMEPAGE="
+ https://github.com/google/flatbuffers/
+ https://pypi.org/project/flatbuffers/
+"
+SRC_URI="
+ https://github.com/google/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ cd "${WORKDIR}/${P}" || die
+ eapply "${FILESDIR}/${PN}-24.3.25-numpy-2.patch"
+ cd "${S}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ cd "${WORKDIR}/${P}/tests" || die
+ # zeroes means without benchmarks
+ "${EPYTHON}" py_test.py 0 0 0 0 false || die
+ "${EPYTHON}" py_flexbuffers_test.py -v || die
+}
diff --git a/dev-python/josepy/Manifest b/dev-python/josepy/Manifest
index b3f93c87eb85..31513746c3b9 100644
--- a/dev-python/josepy/Manifest
+++ b/dev-python/josepy/Manifest
@@ -1 +1,2 @@
DIST josepy-1.15.0.tar.gz 59310 BLAKE2B e47d6cc49d482a60d3856cbe81ca44770019f91e8de416f63162600e0024e635fa3a3b2f1bbb3b16d0273ab4673d89d4c186ed67bac2017bf0b43992613a3802 SHA512 92799e9230f64e7ef37c749cb68c293d1b97e2e14c94e045564e45402ff3363af4cca95a7bbf599821cf7ad9317ca31add6868d3bdb3699ee9c171b415a02e48
+DIST josepy-2.0.0.tar.gz 55767 BLAKE2B 7e8692f209a3fc8eebdbf9e8a92b7065d9ff08121490abe5e61a85efeef3cc5a55ae547d28bbbfcd31faa81293e1abbaa90dfadfb3d3c08b82ba9958c4556df7 SHA512 fa1e255cd5f75b352faa0e25e530a5620af09c518cd1570f9bdc7cb5520fea119279577e95f7fe72bc2bc6f0b543411d2fffb0d639c961094fe311c0bbca1fef
diff --git a/dev-python/josepy/josepy-2.0.0.ebuild b/dev-python/josepy/josepy-2.0.0.ebuild
new file mode 100644
index 000000000000..fa9abec0785c
--- /dev/null
+++ b/dev-python/josepy/josepy-2.0.0.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=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="JOSE protocol implementation in Python"
+HOMEPAGE="
+ https://github.com/certbot/josepy/
+ https://pypi.org/project/josepy/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-1.5[${PYTHON_USEDEP}]
+"
+
+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
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..37a64204a00a 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9b3521c5721afa49a58e0c35267f7d82bb56bd7e1d6d3152be0d36cd220180a526cb20b90b1113fbf0fff4a512137570f0b3bcf864498b7b7cc00403cb61ca27 SHA512 16d311400bf84a5f04e15f3da4b68b2810e4b005009f4d03dc8a487176dfc294403c976c412c83dcfa8084a49ef7b7d5389b43fb2ba446ce107ce4595e3558c6
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
deleted file mode 100644
index 637368d2f237..000000000000
--- a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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 eb2586280d80..56733bbffc48 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,6 +19,4 @@ 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 c0f74ac187e2..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index fb9676abc4b1..04bfb25ffdfc 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -13,5 +13,6 @@ DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf
DIST llvm-project-1f26ac10ca1bef40a80be8f81a6f109713bc586f.tar.gz 226424755 BLAKE2B 642befb8d6923f335d1d68129ebb7357f8ba22e110df494dd956c8097e4e5db4b2a88fcc069ab67184b03558f072c68e002bdaf90eba865e38b1473a0ef29eed SHA512 e9bb4fd31bbad5ec864c662515b5ec2e5511cce975040f9f3cd8f009c92f76077928feae0467fd9519a001a379c857f7539c506953d8d5a9209a9f358f414aac
DIST llvm-project-20.1.0-rc1.src.tar.xz 147144668 BLAKE2B ea4733962f38ea5897c73e91840818921739909c3671749bc8a0b1d2798e5a0815bbe750ade3a2a7414836ab7158754818b2f9370a4ee1bbbd52c96b1e95ef9b SHA512 c23c4b1227b6b0b7c3059358e64a00ee98893236bb1a0a41d7e821bdf2aa8353aea8f9f7b9498899c6807b9b8e2ceb06c3cd62e32fd07a786a319135055541b4
DIST llvm-project-20.1.0-rc1.src.tar.xz.sig 566 BLAKE2B 32eb278ec4ff1bb9d258b584922b0d227f4126a957ba75af44dcaa63b6a12ef73db56d6a86f24244af47803ddf6a243149d784f08137cbea60b49700be537705 SHA512 d7a334326201f8ca78284b33c325f180538667a0401bc30931e790aacc96dd78f6559c45929b6c335d40ef1dbe772738c0ce55d881ae3d7401733778b485408c
+DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
DIST llvm-project-6f241e36831927e3aea113cfc017c34fdeda340a.tar.gz 227203285 BLAKE2B 8d5e424c1836acc82ea766cd2cef104593c44d197ebeb64f18dbe74b1b5baeb4bc84084f5b68bd87ac36f7df25689dd2522cb6674a97da4f96f4f10f7bae5b06 SHA512 2b6e4bd6445eabfa3ace9b45d20797c7afc23f4553a8938399aeba227e3b8ca6a53a7d7762925a845bfed031c37af692b9c08180fbab80db2f3166940e560077
DIST llvm-project-bfa7edcc6652bdb37d53e0cec64926aab3f280eb.tar.gz 226735989 BLAKE2B 165837dc526e618b44c49d5fa3dceda373452e010a09746bff248903fe77874637d05ab9f5d2f63de7ebce5c14e3b19a131313a4a557adfd20fe9cb93ab60476 SHA512 e9e19176fcf1302727ee34d69eaa820b94959d64ceaf754d8a93ebd5e262cec7fe35e87b08f705b09e42c3ea26b671318eecf10e9137c635b12f481f80fbac23
diff --git a/dev-python/lit/lit-21.0.0_pre20250211.ebuild b/dev-python/lit/lit-21.0.0_pre20250211.ebuild
new file mode 100644
index 000000000000..4230fa63b2a4
--- /dev/null
+++ b/dev-python/lit/lit-21.0.0_pre20250211.ebuild
@@ -0,0 +1,45 @@
+# 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} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ llvm-core/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from llvm-core/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index 19c2a19ea408..94a7c719881e 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -50,7 +50,6 @@ DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
DIST pydantic_core-2.23.4.tar.gz 402156 BLAKE2B af899e149693907542296b5b4fa5f982d2dca5c090331703212aabbbce0a8e0badca3947affa9e42998949ebd18b1ffc2ad9904b47e130bbe7e90150c32bc527 SHA512 c7c9a303ff3c751108622f804f812f3793ad93a95e560b0d6b0a866c3bd41ed7bfdbcd87483f37ad3849969c72adde24083d1a9015ebd610847a7fa6d4068e24
DIST pydantic_core-2.27.2.tar.gz 413443 BLAKE2B 2755ba694b17894ff89704203c275315dc6a600e5e89965f24800ff032802168a9fa5bbb26e9714dae42f645e34e0ac32191415fae04bd53a8d04c41f1d3e2c4 SHA512 4e0bc0137463d3a76bb584da76751916ddaa18383efbe15a303880649df67de22c67a8a6e5f889c76292c4557914811d942fd3373dad65b63d9fb1f84f34ce3e
-DIST pydantic_core-2.28.0.tar.gz 414268 BLAKE2B 2ab1ae77ca8e602b2aca847c6869c0b3d7031d98673e088309432295b6b4bcfa03325593d9ebd5ea7acd2aa407cfd356261b2940112f0bdc5265e854c0aaf18f SHA512 5bd10741110d50039377b0a66e0487a148f447303c446691187b7f4b3026c8646f333137f089aee76f492b73f571f5c96135a58bbb3b64aa7c8ab3022521b796
DIST pydantic_core-2.29.0.tar.gz 417255 BLAKE2B 0803d8fa6bc731b8c58184228abf015ab6608ffdf351cd6bb8bf78ed2da0b2af14899a2c4ed4a29132a1ba2c2a67bdb3519e13ea857ef6a8a1576d7661c8f03a SHA512 a41ada88f70b04362edc3e95fe34c71814291f5eec4260193fa6be69f219ae52cd60ffc55dae9c7b43c75afc107a114e400c4a3fc697520e57ed39c0b8794560
DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
DIST pyo3-0.22.6.crate 546746 BLAKE2B 2a6f8c5ce2ee96e1812177a11c5fad7e15f3a73d9e30850edf0855b13db6cc95427e186883b4aae25a2d2466d3fe82f56180a39f3e6e0a54bb0a3ef78d495400 SHA512 d746007eae22f5b7bbf173759c61cbd2aa893898d88b8be5680a0237deec4d113246edf5f62fbbec3579ad4bd7307499b94b887ec306112ffe3df5190fe70e44
@@ -87,7 +86,6 @@ DIST serde_derive-1.0.214.crate 56630 BLAKE2B c284561109e5d60e103f1bb421e4da48f3
DIST serde_derive-1.0.217.crate 57749 BLAKE2B 63b4930122d80d64492ba2718630513012202e42bbaa74510729ee66a0e72b8a1ad123784b479697ba562db43868f4bddfdf5e94bb3d744cd68a547471ba40aa SHA512 31020f4533d04b31ae125580a3c5093fad36438d324e2d9b063923aa8c125c654102ae7fbc3b3df892bb41db6b321962a23e0a37950e080055d715d15b18af76
DIST serde_json-1.0.128.crate 149520 BLAKE2B 246eb865f64a0f161b79f3d4f783dbadbc930c4a19edb6c0fe8f0c6145c7c47be4b692d3e084b1b500820ece8e94214820978cf898926dd805bd431fb411bbc9 SHA512 9e6290d3a6a971b3c37bbc97097b8179e64c655779b43c7b75303a35ef7030f5401b3a5f62cbc95a7bd5f42ecbefb0b469234d78a76c8c1597726d8e08908a7d
DIST serde_json-1.0.132.crate 150549 BLAKE2B a49aef7737fad2e6f6ec79cb6da00c734e7de7ef16be321846d1f6229534b58e15ceb0f6306eeae6f85bf07431d82959c0a56ed1394d21a67b65c8c48e971f3f SHA512 9d157ce7d705fee8245569e7c577310782b69675a6e459f21904544b824a1ca5c9b445d17419fee438dfeb6fcc35343ba14e022043fffade0210b6d2c1b5795e
-DIST serde_json-1.0.134.crate 154351 BLAKE2B 546f8ffe9373444e8c9e81910476da281dcef10498dceabc8bec9f9063c55f4a9033b83586a09b0f410369515882c37712a2bd75ff1fff05815d904f37386124 SHA512 ab6323799bf19da8ec6e6c428370d37cd230192b45ef54d2c65c7d83907b2dde71d51650e44f1fcca1084e75e0e195e97b28437f53a331bf48effed3d59b58a5
DIST serde_json-1.0.138.crate 154769 BLAKE2B 42f146a688dda70f3afad1a6ff989823f2e2cf4037c2a4d019b87155c7e37d86f649f2a54b373b787ac9021e42ac3be5fc27ea975b62e08865802afb993196bc SHA512 31678f1289301d65a088b305726c4fa6b5cd17b01527abc8dd7fc09720c98b2e86bebd5b20d7e9e7b7e41c42829db3a7e705172eca20d0c333e6c09131e1fe09
DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
DIST speedate-0.14.4.crate 33077 BLAKE2B 001a3329e90cf3dc5d8c4db870c3b5339e189190c8b7a89c262bb19efec02c9e42eeba0dd5d12a940a6fb3f8b10385aa05a72ea6f98230c989c68e0be4fe8959 SHA512 13ff498cb0885ecbe7a6fef96c48bca166a560598206b16b003e1237eafc525a0cbb6b401d060b4431a50a9638df88b7ae6834d8980f6474aea88cfc827ec329
diff --git a/dev-python/pydantic-core/pydantic-core-2.28.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.28.0.ebuild
deleted file mode 100644
index cd2e379d4a0c..000000000000
--- a/dev-python/pydantic-core/pydantic-core-2.28.0.ebuild
+++ /dev/null
@@ -1,168 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-CRATES="
- ahash@0.8.11
- aho-corasick@1.1.3
- autocfg@1.3.0
- base64@0.22.1
- bitvec@1.0.1
- cc@1.0.101
- cfg-if@1.0.0
- displaydoc@0.2.5
- enum_dispatch@0.3.13
- equivalent@1.0.1
- form_urlencoded@1.2.1
- funty@2.0.0
- getrandom@0.2.15
- hashbrown@0.14.5
- heck@0.5.0
- hex@0.4.3
- icu_collections@1.5.0
- icu_locid@1.5.0
- icu_locid_transform@1.5.0
- icu_locid_transform_data@1.5.0
- icu_normalizer@1.5.0
- icu_normalizer_data@1.5.0
- icu_properties@1.5.1
- icu_properties_data@1.5.0
- icu_provider@1.5.0
- icu_provider_macros@1.5.0
- idna@0.5.0
- idna@1.0.3
- idna_adapter@1.2.0
- indexmap@2.2.6
- indoc@2.0.5
- itoa@1.0.11
- jiter@0.8.2
- lexical-parse-float@0.8.5
- lexical-parse-integer@0.8.6
- lexical-util@0.8.5
- libc@0.2.155
- litemap@0.7.3
- memchr@2.7.4
- memoffset@0.9.1
- num-bigint@0.4.6
- num-integer@0.1.46
- num-traits@0.2.19
- once_cell@1.19.0
- percent-encoding@2.3.1
- portable-atomic@1.6.0
- proc-macro2@1.0.86
- pyo3-build-config@0.23.4
- pyo3-ffi@0.23.4
- pyo3-macros-backend@0.23.4
- pyo3-macros@0.23.4
- pyo3@0.23.4
- python3-dll-a@0.2.12
- quote@1.0.36
- radium@0.7.0
- regex-automata@0.4.8
- regex-syntax@0.8.5
- regex@1.11.1
- rustversion@1.0.17
- ryu@1.0.18
- serde@1.0.217
- serde_derive@1.0.217
- serde_json@1.0.134
- smallvec@1.13.2
- speedate@0.15.0
- stable_deref_trait@1.2.0
- static_assertions@1.1.0
- strum@0.26.3
- strum_macros@0.26.4
- syn@2.0.82
- synstructure@0.13.1
- tap@1.0.1
- target-lexicon@0.12.14
- tinystr@0.7.6
- tinyvec@1.6.1
- tinyvec_macros@0.1.1
- unicode-bidi@0.3.15
- unicode-ident@1.0.12
- unicode-normalization@0.1.23
- unindent@0.2.3
- url@2.5.2
- utf16_iter@1.0.5
- utf8_iter@1.0.4
- uuid@1.11.0
- version_check@0.9.5
- wasi@0.11.0+wasi-snapshot-preview1
- write16@1.0.0
- writeable@0.5.5
- wyz@0.5.1
- yoke-derive@0.7.4
- yoke@0.7.4
- zerocopy-derive@0.7.34
- zerocopy@0.7.34
- zerofrom-derive@0.1.4
- zerofrom@0.1.4
- zerovec-derive@0.10.3
- zerovec@0.10.4
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Core validation logic for pydantic written in Rust"
-HOMEPAGE="
- https://github.com/pydantic/pydantic-core/
- https://pypi.org/project/pydantic-core/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
- >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
-
-src_prepare() {
- sed -i -e '/--benchmark/d' pyproject.toml || die
- sed -i -e '/^strip/d' Cargo.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/benchmarks
- )
- local EPYTEST_DESELECT=(
- # TODO: recursion till segfault
- tests/serializers/test_functions.py::test_recursive_call
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf pydantic_core || die
- # tests link to libpython, so they fail to link on pypy3
- [[ ${EPYTHON} != pypy3 ]] && cargo_src_test
- epytest -p pytest_mock -p timeout -o xfail_strict=False
-}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index a7007709ff8d..a96ecac571b2 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -1,6 +1,4 @@
DIST pydantic-2.10.4.tar.gz 762094 BLAKE2B 0d9f3534df4ae05b2724788944776d0ac95329cfe48d59627e71b4769c7813410d0c64f0d7ca96e28aec8e403b2507873673b87acb230bb12ad5d4f304eb76ca SHA512 1c7bfcc214195d8db0cadbdb177da3e2e3ea596d695360036b0a268410711a780f9a88df622016d9bb6d39596f20e01bebc4cf38bdbe5dc987cb80fbb14aeb56
-DIST pydantic-2.10.5.tar.gz 761287 BLAKE2B f34b8a358a5a0e3839097a47b492eff7e6cea96eb6a77e1623ad1da90b4d13118f4b2c68b076ead91df450d85dfbcab1daebe77c6bdfa1ff9e4a49febf0dc0d1 SHA512 0e8ab6786c94b13fe155501cc1cba357bcf69b40413383415fd7e0b6fcaf5a818aa1efcc67a837c1c3c2315eb8b7b26c3af4b03c3f8a57ff3694955f792d2964
DIST pydantic-2.10.6.tar.gz 761681 BLAKE2B 1ddb057cd40f50d09dc870aae937bc4d5d41529601c26b84bbd5223d75adca43e14e779ef40ef88dbeab3dc66ae960b662a3244ffa38bf8718d6f9d50b966aed SHA512 69c5cdfb9047875497cf2ac0107f0aaa8d1d91a354d514277e913cc13081e1a76f72a154b50339c95240c82d2a262f4b8dcf71c1e5762449bd344054dba449ce
-DIST pydantic-2.11.0a1.tar.gz 766922 BLAKE2B 51bb09c9bb919798aefccba78e4b366d68a4a5b1a8c347c341debbef2ec0725c4cdebd231336144d57936bf11a3ff1a3722992151af207b62d18c9be9ed79f16 SHA512 f5a34793c6db0e105b935b217cb5ca2f0b64c78ba033f642fff92434adaf4903d0f388dadb5cf09e9122029f4484c11b5cc5744ef6a92716eb2d5d379076db3c
DIST pydantic-2.11.0a2.tar.gz 768863 BLAKE2B 2da69490f8dc711e3835a902789cce9fac9a6eba5d827bd8efa7ea8498a5661dd31a17734408d693d78a0b0588170302c76905228aa05dd771a62f581862971c SHA512 9ad26a85c659b5b5d76c1ff7b9267c641deb91b5f3f4c6f65e1ef4035dc73599e300c03b76770ec958847f89040e38bdad87f4119c585d159e95920805c826b7
DIST pydantic-2.9.2.tar.gz 769917 BLAKE2B 4e34fda6a9e8e8331278d0b7d0c2dfd61bde637c126fa6dabf78a09c6ef993f84dc8df6af421c8fb6d69c8e1c387a40e4bcd38cbe02f5ac521c6c70821735763 SHA512 2aace9e79a98bd94e5dc626736a245051912a11fdce36013d2ad2f96b266052386a3e12b259dca30ddc38b63c6b00b5bcc9cd5e80f7805de4d8701064f0982aa
diff --git a/dev-python/pydantic/pydantic-2.10.5.ebuild b/dev-python/pydantic/pydantic-2.10.5.ebuild
deleted file mode 100644
index b5886d174f79..000000000000
--- a/dev-python/pydantic/pydantic-2.10.5.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-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="Data parsing and validation using Python type hints"
-HOMEPAGE="
- https://github.com/pydantic/pydantic/
- https://pypi.org/project/pydantic/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
- ~dev-python/pydantic-core-2.27.2[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
- dev-python/tzdata[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
- test? (
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/faker-18.13.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/benchmark/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # require pytest-examples
- tests/test_docs.py
- # benchmarks
- tests/benchmarks
- )
-
- if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- tests/test_pickle.py
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock
-}
diff --git a/dev-python/pydantic/pydantic-2.11.0_alpha1.ebuild b/dev-python/pydantic/pydantic-2.11.0_alpha1.ebuild
deleted file mode 100644
index 9f74199412a9..000000000000
--- a/dev-python/pydantic/pydantic-2.11.0_alpha1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-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="Data parsing and validation using Python type hints"
-HOMEPAGE="
- https://github.com/pydantic/pydantic/
- https://pypi.org/project/pydantic/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
- ~dev-python/pydantic-core-2.28.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
- dev-python/tzdata[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
- test? (
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/faker-18.13.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/benchmark/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # require pytest-examples
- tests/test_docs.py
- # benchmarks
- tests/benchmarks
- )
-
- if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- tests/test_pickle.py
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock
-}
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index bea14ac5c26b..b6a83d8017d0 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,7 +1,5 @@
-DIST mongo-python-driver-4.10.0.gh.tar.gz 1948389 BLAKE2B 19429aad69baa013226a4b36de5c654fe074bdb39a462d588a1a4298a35fd8bbf941d8189dbe632e25619fb691a960c98988e205e82796ec1572d2dc63379b2d SHA512 3153e97ad6e749a35d071ef91eb870be76d75f404526e5275cc5ab19470f09a8450debba519cb10bd79191d1b1dd8cfc04882b1d7ef4898471b14bf131fa8c83
DIST mongo-python-driver-4.10.1.gh.tar.gz 1957402 BLAKE2B 66f7c166af7c7467ca7cb20266d313e453ab485516c17e8eda5a4771b4818778c00ad314e7bd5868a95f2045f879a73617f64549db634257f1abbc7a9a095181 SHA512 200bda479cd951beef6234a15120a043b4399cadd8ef2fda69bfcd6904e1e0e43d179626092dc81d89f48806768bf8147c55108c91620920f5544f712bf3be51
+DIST mongo-python-driver-4.11.1.gh.tar.gz 2111810 BLAKE2B 120168770b1f4a61f7f6327bb7b933e1bf848871ed7a6cb152837a95b438b17236e6b10b1fe54fc29a0791d8ad785033b2d726129dae69e9403ff5b1e3c2b929 SHA512 64f7d2baa90c23f3b5d91192cc4bcc6d3199f81b6b2844c19a1059779a5e6681a45e65872452230b6c1c8c193749324eb30af75f080f8830f9642f575da80bf9
DIST mongo-python-driver-4.11.gh.tar.gz 2111008 BLAKE2B 0f65410b5eead108dec0016c23c3e004251ab2db04f3a7b2a31a8757abdddf526cea695400c8cdf2bb4f7fc8c711ee4d2e5f883d0db8b309843a71e194e75016 SHA512 454109e9c9da8fec6785f50e34dfe253f9fd1a82d69cadd5c0366590c6ca6aeac180f16a0e011f855e72c6a949a0cf06f477c7396d4c9f4da6f936646a5d8c20
DIST mongo-python-driver-4.7.2.gh.tar.gz 1548375 BLAKE2B a40dbe153f36cdf2836583aa0116f447d08376ce7980a09d0f21cea37a34ab318e5ff0b34b7fe1721cf7fc5d5443a1dbe0982d59cb941b0da8a4a99abdc7b19d SHA512 1de8bd14301e365eb53252dedaaaf8c9056dd534662543e2a500511e5f5f67a69e1f11a8a8575efdbd8852bb47b632d59762f66024d32973d20dc17c4448b9be
DIST mongo-python-driver-4.8.0.gh.tar.gz 1550149 BLAKE2B 9462480b17f3da54918883fbcb28a4324e6a00a9c2c34b16267ebcd378170f7fd34ec7290f7a0e3c4c38a5f1f803428cb6a0c64a562d956b3a19c37130697012 SHA512 17513a278187424fea1876d288651e385be759f23eebceca8d04a15182b15ffd64956193bb53e4a90e8b2197c2ebbade274737091f5d2e5fb4398539674c41df
-DIST mongo-python-driver-4.9.1.gh.tar.gz 1937311 BLAKE2B 9312c7df50f86dad7dd713b34aba0a87dd9f878b115b3c00ae9e0825c883c869f57e0d55d552b1b4bf9715930840a540572b451d296e185085c4c0c707855811 SHA512 e616418c90088bfc328505dea315a225bfcc942fa29dcc348d3b80d0fb329b7e8fe9d6164c0e13a0562e6126535cc7d04c2cf497a39a04071f6db8af3c8ed1f1
-DIST mongo-python-driver-4.9.2.gh.tar.gz 1941838 BLAKE2B 07ba597eae08cd1116e0aa42e5c9e8af0024d69d8ee4acc33cd84a80cd9df77028a2b2bc7a1d6563ca1ebe485851d0483c804bce944dc9f1f5ed48b44fe9ae7a SHA512 40fdb22ef5c602e96f735b948fe61fd1a325f51f264087027d58319eaa382f37638cf1d0dabaaf9c0a4f556698638b26bdc5431c9147a245b7b4e515b7b7aac9
diff --git a/dev-python/pymongo/pymongo-4.10.0.ebuild b/dev-python/pymongo/pymongo-4.11.1.ebuild
index 1ec18dcacb90..3423f94e4005 100644
--- a/dev-python/pymongo/pymongo-4.10.0.ebuild
+++ b/dev-python/pymongo/pymongo-4.11.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -115,6 +115,9 @@ python_test() {
# hangs?
test/asynchronous/test_grid_file.py::AsyncTestGridFile::test_small_chunks
+
+ # broken async tests?
+ test/asynchronous/test_encryption.py
)
local run_separately=(
@@ -127,7 +130,6 @@ python_test() {
test/test_collection.py
test/test_crud_unified.py
test/test_gridfs.py
- test/test_gridfs_bucket.py
)
local run_separately2=(
test/test_command_monitoring.py
@@ -135,6 +137,9 @@ python_test() {
test/test_cursor.py
test/test_database.py
test/test_grid_file.py
+ )
+ local run_separately3=(
+ test/test_gridfs_bucket.py
test/test_monitoring.py
)
local run_separately_async=(
@@ -145,7 +150,7 @@ python_test() {
if ! use test-full; then
# .invalid is guaranteed to return NXDOMAIN per RFC 6761
local -x DB_IP=mongodb.invalid
- epytest
+ epytest -p asyncio
return
fi
@@ -157,7 +162,7 @@ python_test() {
local logpath=${TMPDIR}/mongod.log
local stage failed=
- for stage in {1..5}; do
+ for stage in {1..6}; do
# Now, the hard part: we need to find a free port for mongod.
# We're just trying to run it random port numbers and check the log
# for bind errors. It shall be noted that 'mongod --fork' does not
@@ -202,16 +207,20 @@ python_test() {
nonfatal epytest "${def[@]}" "${run_separately2[@]}" || failed=1
;;
3)
+ nonfatal epytest "${def[@]}" "${run_separately3[@]}" || failed=1
+ ;;
+ 4)
EPYTEST_DESELECT+=(
"${run_separately[@]}"
"${run_separately2[@]}"
+ "${run_separately3[@]}"
)
nonfatal epytest "${def[@]}" || failed=1
;;
- 4)
+ 5)
nonfatal epytest "${async[@]}" "${run_separately_async[@]}" || failed=1
;;
- 5)
+ 6)
EPYTEST_DESELECT+=(
"${run_separately_async[@]}"
)
diff --git a/dev-python/pymongo/pymongo-4.9.1.ebuild b/dev-python/pymongo/pymongo-4.9.1.ebuild
deleted file mode 100644
index 1ec18dcacb90..000000000000
--- a/dev-python/pymongo/pymongo-4.9.1.ebuild
+++ /dev/null
@@ -1,228 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit check-reqs distutils-r1
-
-MY_P=mongo-python-driver-${PV}
-DESCRIPTION="Python driver for MongoDB"
-HOMEPAGE="
- https://github.com/mongodb/mongo-python-driver/
- https://pypi.org/project/pymongo/
-"
-SRC_URI="
- https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="doc kerberos +native-extensions +test-full"
-
-RDEPEND="
- <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
- kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- test-full? (
- >=dev-db/mongodb-2.6.0
- )
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-reqcheck() {
- if use test && use test-full; then
- # During the tests, database size reaches 1.5G.
- local CHECKREQS_DISK_BUILD=1536M
-
- check-reqs_${1}
- fi
-}
-
-pkg_pretend() {
- reqcheck pkg_pretend
-}
-
-pkg_setup() {
- reqcheck pkg_setup
-}
-
-src_prepare() {
- distutils-r1_src_prepare
- # we do not want hatch-requirements-txt and its ton of NIH deps
- sed -i -e '/requirements/d' pyproject.toml || die
-}
-
-python_compile() {
- # causes build errors to be fatal
- local -x TOX_ENV_NAME=whatever
- local DISTUTILS_ARGS=()
- # unconditionally implicitly disabled on pypy3
- if ! use native-extensions; then
- export NO_EXT=1
- else
- export PYMONGO_C_EXT_MUST_BUILD=1
- unset NO_EXT
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- rm -rf bson pymongo || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=(
- # network-sandbox
- test/asynchronous/test_client.py::AsyncClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
- test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_logging
- test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_warning
- test/asynchronous/test_client.py::TestClient::test_service_name_from_kwargs
- test/asynchronous/test_client.py::TestClient::test_srv_max_hosts_kwarg
- test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
- test/test_client.py::ClientUnitTest::test_detected_environment_logging
- test/test_client.py::ClientUnitTest::test_detected_environment_warning
- test/test_client.py::TestClient::test_service_name_from_kwargs
- test/test_client.py::TestClient::test_srv_max_hosts_kwarg
- test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
- test/test_srv_polling.py
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
-
- # broken regularly by changes in mypy
- test/test_typing.py::TestMypyFails::test_mypy_failures
-
- # fragile to timing? fails because we're getting too many logs
- test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
-
- # hangs?
- test/asynchronous/test_grid_file.py::AsyncTestGridFile::test_small_chunks
- )
-
- local run_separately=(
- # need to run some tests separately and then restart mongodb
- # to prevent it from crashing
- # https://bugs.gentoo.org/934389
- # note that this list must not overlap with EPYTEST_DESELECT
- test/test_bulk.py
- test/test_change_stream.py
- test/test_collection.py
- test/test_crud_unified.py
- test/test_gridfs.py
- test/test_gridfs_bucket.py
- )
- local run_separately2=(
- test/test_command_monitoring.py
- test/test_connection_monitoring.py
- test/test_cursor.py
- test/test_database.py
- test/test_grid_file.py
- test/test_monitoring.py
- )
- local run_separately_async=(
- test/asynchronous/test_database.py
- test/asynchronous/test_grid_file.py
- )
-
- if ! use test-full; then
- # .invalid is guaranteed to return NXDOMAIN per RFC 6761
- local -x DB_IP=mongodb.invalid
- epytest
- return
- fi
-
- # Yes, we need TCP/IP for that...
- local -x DB_IP=127.0.0.1
- local -x DB_PORT=27000
-
- local dbpath=${TMPDIR}/mongo.db
- local logpath=${TMPDIR}/mongod.log
-
- local stage failed=
- for stage in {1..5}; do
- # Now, the hard part: we need to find a free port for mongod.
- # We're just trying to run it random port numbers and check the log
- # for bind errors. It shall be noted that 'mongod --fork' does not
- # return failure when it fails to bind.
-
- mkdir -p "${dbpath}" || die
- while true; do
- ebegin "Trying to start mongod on port ${DB_PORT}"
-
- LC_ALL=C \
- mongod --dbpath "${dbpath}" --nojournal \
- --bind_ip ${DB_IP} --port ${DB_PORT} \
- --unixSocketPrefix "${TMPDIR}" \
- --logpath "${logpath}" --fork \
- && sleep 2
-
- # Now we need to check if the server actually started...
- if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
- # yay!
- eend 0
- break
- elif grep -q 'Address already in use' "${logpath}"; then
- # ay, someone took our port!
- eend 1
- : $(( DB_PORT += 1 ))
- continue
- else
- eend 1
- eerror "Unable to start mongod for tests. See the server log:"
- eerror " ${logpath}"
- die "Unable to start mongod for tests."
- fi
- done
-
- local async=( -p asyncio -m default_async )
- local def=( -p asyncio -m "default or encryption" )
- case ${stage} in
- 1)
- nonfatal epytest "${def[@]}" "${run_separately[@]}" || failed=1
- ;;
- 2)
- nonfatal epytest "${def[@]}" "${run_separately2[@]}" || failed=1
- ;;
- 3)
- EPYTEST_DESELECT+=(
- "${run_separately[@]}"
- "${run_separately2[@]}"
- )
- nonfatal epytest "${def[@]}" || failed=1
- ;;
- 4)
- nonfatal epytest "${async[@]}" "${run_separately_async[@]}" || failed=1
- ;;
- 5)
- EPYTEST_DESELECT+=(
- "${run_separately_async[@]}"
- )
- nonfatal epytest "${async[@]}" || failed=1
- ;;
- esac
-
- mongod --dbpath "${dbpath}" --shutdown || die
- done
-
- [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
-
- rm -rf "${dbpath}" || die
-}
diff --git a/dev-python/pymongo/pymongo-4.9.2.ebuild b/dev-python/pymongo/pymongo-4.9.2.ebuild
deleted file mode 100644
index 1ec18dcacb90..000000000000
--- a/dev-python/pymongo/pymongo-4.9.2.ebuild
+++ /dev/null
@@ -1,228 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit check-reqs distutils-r1
-
-MY_P=mongo-python-driver-${PV}
-DESCRIPTION="Python driver for MongoDB"
-HOMEPAGE="
- https://github.com/mongodb/mongo-python-driver/
- https://pypi.org/project/pymongo/
-"
-SRC_URI="
- https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="doc kerberos +native-extensions +test-full"
-
-RDEPEND="
- <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
- kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- test-full? (
- >=dev-db/mongodb-2.6.0
- )
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-reqcheck() {
- if use test && use test-full; then
- # During the tests, database size reaches 1.5G.
- local CHECKREQS_DISK_BUILD=1536M
-
- check-reqs_${1}
- fi
-}
-
-pkg_pretend() {
- reqcheck pkg_pretend
-}
-
-pkg_setup() {
- reqcheck pkg_setup
-}
-
-src_prepare() {
- distutils-r1_src_prepare
- # we do not want hatch-requirements-txt and its ton of NIH deps
- sed -i -e '/requirements/d' pyproject.toml || die
-}
-
-python_compile() {
- # causes build errors to be fatal
- local -x TOX_ENV_NAME=whatever
- local DISTUTILS_ARGS=()
- # unconditionally implicitly disabled on pypy3
- if ! use native-extensions; then
- export NO_EXT=1
- else
- export PYMONGO_C_EXT_MUST_BUILD=1
- unset NO_EXT
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- rm -rf bson pymongo || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=(
- # network-sandbox
- test/asynchronous/test_client.py::AsyncClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
- test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_logging
- test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_warning
- test/asynchronous/test_client.py::TestClient::test_service_name_from_kwargs
- test/asynchronous/test_client.py::TestClient::test_srv_max_hosts_kwarg
- test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
- test/test_client.py::ClientUnitTest::test_detected_environment_logging
- test/test_client.py::ClientUnitTest::test_detected_environment_warning
- test/test_client.py::TestClient::test_service_name_from_kwargs
- test/test_client.py::TestClient::test_srv_max_hosts_kwarg
- test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
- test/test_srv_polling.py
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
-
- # broken regularly by changes in mypy
- test/test_typing.py::TestMypyFails::test_mypy_failures
-
- # fragile to timing? fails because we're getting too many logs
- test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
-
- # hangs?
- test/asynchronous/test_grid_file.py::AsyncTestGridFile::test_small_chunks
- )
-
- local run_separately=(
- # need to run some tests separately and then restart mongodb
- # to prevent it from crashing
- # https://bugs.gentoo.org/934389
- # note that this list must not overlap with EPYTEST_DESELECT
- test/test_bulk.py
- test/test_change_stream.py
- test/test_collection.py
- test/test_crud_unified.py
- test/test_gridfs.py
- test/test_gridfs_bucket.py
- )
- local run_separately2=(
- test/test_command_monitoring.py
- test/test_connection_monitoring.py
- test/test_cursor.py
- test/test_database.py
- test/test_grid_file.py
- test/test_monitoring.py
- )
- local run_separately_async=(
- test/asynchronous/test_database.py
- test/asynchronous/test_grid_file.py
- )
-
- if ! use test-full; then
- # .invalid is guaranteed to return NXDOMAIN per RFC 6761
- local -x DB_IP=mongodb.invalid
- epytest
- return
- fi
-
- # Yes, we need TCP/IP for that...
- local -x DB_IP=127.0.0.1
- local -x DB_PORT=27000
-
- local dbpath=${TMPDIR}/mongo.db
- local logpath=${TMPDIR}/mongod.log
-
- local stage failed=
- for stage in {1..5}; do
- # Now, the hard part: we need to find a free port for mongod.
- # We're just trying to run it random port numbers and check the log
- # for bind errors. It shall be noted that 'mongod --fork' does not
- # return failure when it fails to bind.
-
- mkdir -p "${dbpath}" || die
- while true; do
- ebegin "Trying to start mongod on port ${DB_PORT}"
-
- LC_ALL=C \
- mongod --dbpath "${dbpath}" --nojournal \
- --bind_ip ${DB_IP} --port ${DB_PORT} \
- --unixSocketPrefix "${TMPDIR}" \
- --logpath "${logpath}" --fork \
- && sleep 2
-
- # Now we need to check if the server actually started...
- if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
- # yay!
- eend 0
- break
- elif grep -q 'Address already in use' "${logpath}"; then
- # ay, someone took our port!
- eend 1
- : $(( DB_PORT += 1 ))
- continue
- else
- eend 1
- eerror "Unable to start mongod for tests. See the server log:"
- eerror " ${logpath}"
- die "Unable to start mongod for tests."
- fi
- done
-
- local async=( -p asyncio -m default_async )
- local def=( -p asyncio -m "default or encryption" )
- case ${stage} in
- 1)
- nonfatal epytest "${def[@]}" "${run_separately[@]}" || failed=1
- ;;
- 2)
- nonfatal epytest "${def[@]}" "${run_separately2[@]}" || failed=1
- ;;
- 3)
- EPYTEST_DESELECT+=(
- "${run_separately[@]}"
- "${run_separately2[@]}"
- )
- nonfatal epytest "${def[@]}" || failed=1
- ;;
- 4)
- nonfatal epytest "${async[@]}" "${run_separately_async[@]}" || failed=1
- ;;
- 5)
- EPYTEST_DESELECT+=(
- "${run_separately_async[@]}"
- )
- nonfatal epytest "${async[@]}" || failed=1
- ;;
- esac
-
- mongod --dbpath "${dbpath}" --shutdown || die
- done
-
- [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
-
- rm -rf "${dbpath}" || die
-}
diff --git a/dev-python/python3-xapp/metadata.xml b/dev-python/python3-xapp/metadata.xml
index 0d618616ba59..dc97a3474aeb 100644
--- a/dev-python/python3-xapp/metadata.xml
+++ b/dev-python/python3-xapp/metadata.xml
@@ -1,10 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person">
+ <email>sparky@bluefang-logic.com</email>
+ <name>Matthew Turnbull</name>
+ </maintainer>
<maintainer type="project">
- <email>core@liguros.net</email>
- <name>Development</name>
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
- <origin>binaryden-overlay</origin>
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/python3-xapp/python3-xapp-2.4.2.ebuild b/dev-python/python3-xapp/python3-xapp-2.4.2.ebuild
index 7b10fa8e3750..f9a3f0b4495b 100644
--- a/dev-python/python3-xapp/python3-xapp-2.4.2.ebuild
+++ b/dev-python/python3-xapp/python3-xapp-2.4.2.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
@@ -13,11 +13,13 @@ SRC_URI="https://github.com/linuxmint/python3-xapp/archive/${PV}.tar.gz -> ${P}.
LICENSE="LGPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="
- >=x11-libs/xapp-2.4.1[introspection]
+ $(python_gen_cond_dep '
+ >=x11-libs/xapp-2.8.4[introspection,${PYTHON_USEDEP}]
+ ')
"
RDEPEND="
${DEPEND}
diff --git a/dev-python/qtpy/Manifest b/dev-python/qtpy/Manifest
index ae92a947f4fb..81110b5fb0d6 100644
--- a/dev-python/qtpy/Manifest
+++ b/dev-python/qtpy/Manifest
@@ -1 +1,2 @@
DIST qtpy-2.4.2.tar.gz 66849 BLAKE2B 1eb362e797950d6c1406fb02bb3047ca7f8fdecd2b75371ab34f39601c9bdebce33336e3809c0d35dca31673c88d1734721a6dfdfb65f2ce20729445c4a4ca27 SHA512 2f9a0e1a4839c8dca23b4364900a12c2bd00f518353785a41eb6bd62fdc469670457f18224e1150a5a216ff5d0c4e799c3a1711ff7703ea07fadd655538fa37a
+DIST qtpy-2.4.3.tar.gz 66982 BLAKE2B 92596eaac7be55feaecbfe2fad388ac3a7a5e55763dc794be2a70c081b311843f5dadb03dba06df6711c32ba9c68f18f54c35921b3ba6e2f02f20922ed89455a SHA512 9a12d9e7a8651309807d578e07075d1bd44a7e72b84b7761e80e80b115a492c9369d842a3cca32a438070d9fde2564d9a69d7a2470e9331d81b11469e2c9808a
diff --git a/dev-python/qtpy/metadata.xml b/dev-python/qtpy/metadata.xml
index c4d61f1c7f7d..dc02388378df 100644
--- a/dev-python/qtpy/metadata.xml
+++ b/dev-python/qtpy/metadata.xml
@@ -33,6 +33,7 @@
<flag name="quick">Build bindings for the QtQuick</flag>
<flag name="quick3d">Build bindings for the QtQuick3D</flag>
<flag name="remoteobjects">Pull in bindings for the QtRemoteObjects module</flag>
+ <flag name="scxml">Pull in bindings for the QtScXml module</flag>
<flag name="sensors">Pull in bindings for the QtSensors module</flag>
<flag name="serialport">Pull in bindings for the QtSerialPort module</flag>
<flag name="spatialaudio">Pull in bindings for the QtSpatialAudio module</flag>
diff --git a/dev-python/qtpy/qtpy-2.4.3.ebuild b/dev-python/qtpy/qtpy-2.4.3.ebuild
new file mode 100644
index 000000000000..aae0e35c6356
--- /dev/null
+++ b/dev-python/qtpy/qtpy-2.4.3.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=QtPy
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 virtualx pypi
+
+DESCRIPTION="Abstraction layer on top of PyQt and PySide with additional custom QWidgets"
+HOMEPAGE="
+ https://github.com/spyder-ide/qtpy/
+ https://pypi.org/project/QtPy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+_IUSE_QT_MODULES="
+ bluetooth dbus designer +gui help multimedia +network nfc opengl pdfium
+ positioning printsupport qml quick quick3d remoteobjects scxml sensors
+ serialport spatialaudio speech +sql svg testlib vulkan webchannel
+ webengine websockets +widgets +xml
+"
+IUSE="+pyqt6 pyside6 ${_IUSE_QT_MODULES}"
+unset _IUSE_QT_MODULES
+
+REQUIRED_USE="|| ( pyqt6 pyside6 )"
+
+# These flags are currently *not* common to the PySide2/6 and PyQt5/6 ebuilds
+# Disable them for now, please check periodically if this is still up to date.
+# 3d? ( pyside6 only )
+# charts? ( pyside6 only )
+# concurrent? ( pyside6 only )
+# httpserver? ( pyside6 only )
+# uitools? ( pyside6 only )
+# location? ( pyside6 only)
+# network-auth? ( pyside6 only )
+
+# WARNING: the obvious solution of using || for PyQt5/pyside2 is not going
+# to work. The package only checks whether PyQt5/pyside2 is installed, it does
+# not verify whether they have the necessary modules (i.e. satisfy the USE dep).
+#
+# Webengine is a special case, because PyQt6 provides this in a separate package
+# while PySide6 ships it in the same package.
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ pyqt6? (
+ dev-python/pyqt6[${PYTHON_USEDEP}]
+ dev-python/pyqt6[bluetooth?,dbus?,designer?,gui?,help?,multimedia?]
+ dev-python/pyqt6[network?,nfc?,opengl?,pdfium?,positioning?]
+ dev-python/pyqt6[printsupport?,qml?,quick?,quick3d?,remoteobjects?]
+ dev-python/pyqt6[scxml(-)?,sensors?,serialport?,spatialaudio?,speech?]
+ dev-python/pyqt6[sql?,svg?,testlib?,vulkan?,webchannel?,websockets?]
+ dev-python/pyqt6[widgets?,xml?]
+ webengine? ( dev-python/pyqt6-webengine[${PYTHON_USEDEP},widgets?,quick?] )
+
+ )
+ pyside6? (
+ dev-python/pyside:6[${PYTHON_USEDEP},core(+)]
+ dev-python/pyside:6[bluetooth?,dbus?,designer?,gui?,help?,multimedia?]
+ dev-python/pyside:6[network?,nfc?,opengl?,pdfium?,positioning?]
+ dev-python/pyside:6[printsupport?,qml?,quick?,quick3d?,remoteobjects(-)?]
+ dev-python/pyside:6[scxml?,sensors?,serialport?,spatialaudio?,speech?]
+ dev-python/pyside:6[sql?,svg?,testlib?,vulkan(+)?,webchannel?,webengine?]
+ dev-python/pyside:6[websockets?,widgets?,xml?]
+ )
+"
+
+# The QtPy testsuite skips tests for bindings that are not installed, so here we
+# ensure that everything is available and all tests are run. Note that not
+# all flags are available in PyQt5/PySide2, so some tests are still skipped.
+BDEPEND="
+ test? (
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ pyqt6? (
+ dev-python/pyqt6[${PYTHON_USEDEP}]
+ dev-python/pyqt6[bluetooth,dbus,designer,gui,help,multimedia]
+ dev-python/pyqt6[network,nfc,opengl,pdfium,positioning,printsupport]
+ dev-python/pyqt6[qml,quick,quick3d,scxml(-),sensors,serialport]
+ dev-python/pyqt6[spatialaudio,speech,sql,svg,testlib,webchannel]
+ dev-python/pyqt6[vulkan(-),websockets,widgets,xml]
+ dev-python/pyqt6-webengine[${PYTHON_USEDEP},widgets,quick]
+ dev-qt/qtbase:6[sqlite]
+ )
+ pyside6? (
+ dev-python/pyside:6[${PYTHON_USEDEP},core(+)]
+ dev-python/pyside:6[3d,bluetooth,charts,concurrent,dbus,designer,gui]
+ dev-python/pyside:6[help,location,multimedia,network,network-auth]
+ dev-python/pyside:6[nfc,opengl,pdfium,positioning,printsupport,qml]
+ dev-python/pyside:6[quick,quick3d,scxml,sensors,serialport]
+ dev-python/pyside:6[spatialaudio,speech,sql,svg,testlib,vulkan(+)]
+ dev-python/pyside:6[webchannel,webengine,websockets,widgets,xml]
+ dev-qt/qtbase:6[sqlite]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die
+ # Disable Qt for Python implementations that are not selected
+
+ # Always disable PyQt5
+ sed \
+ -e '/from PyQt5.QtCore import/,/)/c\ \ \ \ \ \ \ \ raise ImportError #/' \
+ -e '/if "PyQt5" in sys.modules:/,/"pyqt5"/c\' \
+ -i qtpy/__init__.py || die
+
+ # We need to ensure the first option is an 'if' not 'elif'
+ sed -e 's/elif "PySide2" in sys.modules:/if "PySide2" in sys.modules:/g' \
+ -i qtpy/__init__.py || die
+
+ # Always disable PySide2
+ sed \
+ -e "s/from PySide2 import/raise ImportError #/" \
+ -e "s/from PySide2.QtCore import/raise ImportError #/" \
+ -e '/if "PySide2" in sys.modules:/,/"pyside2"/c\' \
+ -i qtpy/__init__.py || die
+
+ sed \
+ -e 's/elif "PyQt6" in sys.modules:/if "PyQt6" in sys.modules:/g' \
+ -i qtpy/__init__.py || die
+
+ if ! use pyqt6; then
+ sed \
+ -e '/from PyQt6.QtCore import/,/)/c\ \ \ \ \ \ \ \ raise ImportError #/' \
+ -e '/if "PyQt6" in sys.modules:/,/"pyqt6"/c\' \
+ -i qtpy/__init__.py || die
+
+ sed \
+ -e 's/elif "PySide6" in sys.modules:/if "PySide6" in sys.modules:/g' \
+ -i qtpy/__init__.py || die
+ fi
+ if ! use pyside6; then
+ sed \
+ -e "s/from PySide6 import/raise ImportError #/" \
+ -e "s/from PySide6.QtCore import/raise ImportError #/" \
+ -e '/if "PySide6" in sys.modules:/,/"pyside6"/c\' \
+ -i qtpy/__init__.py || die
+ fi
+}
+
+python_test() {
+ local -x QT_API
+ local -a EPYTEST_DESELECT
+ local other
+
+ # Test for each enabled Qt4Python target.
+ # Deselect the other targets, their test fails if we specify QT_API
+ # or if we have disabled their corresponding inherit in __init__.py above
+ for QT_API in PyQt6 PySide6; do
+ if use "${QT_API,,}"; then
+ EPYTEST_DESELECT=()
+ for other in PyQt{5,6} PySide{2,6}; do
+ if [[ ${QT_API} != ${other} ]]; then
+ EPYTEST_DESELECT+=(
+ "qtpy/tests/test_main.py::test_qt_api_environ[${other}]"
+ )
+ fi
+ done
+
+ einfo "Testing with ${EPYTHON} and QT_API=${QT_API}"
+ nonfatal epytest -o addopts= ||
+ die -n "Tests failed with ${EPYTHON} and QT_API=${QT_API}" ||
+ return 1
+ fi
+ done
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+pkg_postinst() {
+ elog "When multiple Qt4Python targets are enabled QtPy will default to"
+ elog "the first enabled target in this order: PyQt6 PySide6."
+ elog "This can be overridden with the QT_API environment variable."
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 7a7bf59059bb..82df517a4a4a 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -58,6 +58,7 @@ DIST serde_json-1.0.133.crate 150739 BLAKE2B 7891eb5b8edcc7fd09ab1e15d3881ffdcb6
DIST sqlglot-26.3.8.tar.gz 19957402 BLAKE2B c4dd2a2f64c7b8fa537d0d81b0915b0b2c044ae4cb1e6da8824cdb43e116313d61f93ddb3c0faaac83b6f624d595573c55686d0dd2cc103f716eab2f564e2ec6 SHA512 d1853353d60674a91d13cebcc3329d227fa7c998e2cfd689a3de77bea4fe5b1bd86dc167f790c929a1617b882962060bc84d923fc6f93f0356145438dcb8433c
DIST sqlglot-26.3.9.tar.gz 5311903 BLAKE2B 0637f47170c53b22a8672b4d35a16b5d22c696a1568b22b0474d9075b82534c18f54a66b06010a426ff8121be64934041871d97f78c5a1951ad200849ab5c5a0 SHA512 3fb7ba3a0fe583837a7aed0f18a66eefa06fa193f0f97484eca60fc13bb2700c27b7dd1b4d0a54d64adf8ea2b4009057a091534b5d52aa36a5d499c861e2b2a8
DIST sqlglot-26.4.1.tar.gz 5315460 BLAKE2B d96c6927f24ba10cff61c4a56542fe689c372e10e2af5c05829e856bf36ead667e56a37b5c8fcacbeaa3c08f302e8ec0f78a2896c7ee659ff419e8b023cf6e0a SHA512 0a17247b060a4d631799aa23e5722eb2b40676a1482207b0a9c5ee3c88b965e31e79b10855c174a918f4e2f32bde1b37dcbf45511d7814446a1fa1405f59e0d8
+DIST sqlglot-26.6.0.tar.gz 5317429 BLAKE2B 5ce8516f9e03c55bed95cbb5f6c8904c1304a161e3809da11ad178c26629fa343be32bdd0418d23fd37826b84f94000e272f5687d85a147b1a9f7c57adad101c SHA512 f600f1c596c02c1668bc1236c5539b4e80f0b5d4a85c1faebd4273cdd08d04ebf6f5bdb2d6885be5eeefcc25d87ed47efd81fd4790f3d82a406bb05932f6a1b4
DIST syn-2.0.87.crate 278076 BLAKE2B 93385f64103fdb482bec34c7912474ae7a5935948715e6eb9a54907e0db5c39f089f6cd393bab33c935c59a1bbb0f4099431f206343811c1a450554d96a35756 SHA512 bcfff545d6dfefd81e09f8f30a86bdd85759b3a7d4093ef3365ed02718e10dbd604c52b94c9d7fa955d339fdc5b6c079940c6f345b5a48c52b5c8607794ca6f2
DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27
DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9
diff --git a/dev-python/sqlglot/sqlglot-26.6.0.ebuild b/dev-python/sqlglot/sqlglot-26.6.0.ebuild
new file mode 100644
index 000000000000..8807dc7fd20d
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-26.6.0.ebuild
@@ -0,0 +1,177 @@
+# Copyright 2023-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} )
+
+CARGO_OPTIONAL=1
+CRATES="
+ aho-corasick@1.1.3
+ anes@0.1.6
+ anstyle@1.0.10
+ autocfg@1.1.0
+ bumpalo@3.16.0
+ cast@0.3.0
+ cfg-if@1.0.0
+ ciborium-io@0.2.2
+ ciborium-ll@0.2.2
+ ciborium@0.2.2
+ clap@4.5.23
+ clap_builder@4.5.23
+ clap_lex@0.7.4
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-deque@0.8.6
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.21
+ crunchy@0.2.2
+ either@1.13.0
+ half@2.4.1
+ heck@0.5.0
+ hermit-abi@0.4.0
+ indoc@2.0.4
+ is-terminal@0.4.13
+ itertools@0.10.5
+ itoa@1.0.14
+ js-sys@0.3.76
+ libc@0.2.169
+ log@0.4.22
+ memchr@2.7.4
+ memoffset@0.9.0
+ num-traits@0.2.19
+ once_cell@1.19.0
+ oorandom@11.1.4
+ plotters-backend@0.3.7
+ plotters-svg@0.3.7
+ plotters@0.3.7
+ portable-atomic@1.9.0
+ proc-macro2@1.0.89
+ pyo3-build-config@0.22.6
+ pyo3-ffi@0.22.6
+ pyo3-macros-backend@0.22.6
+ pyo3-macros@0.22.6
+ pyo3@0.22.6
+ quote@1.0.37
+ rayon-core@1.12.1
+ rayon@1.10.0
+ regex-automata@0.4.9
+ regex-syntax@0.8.5
+ regex@1.11.1
+ rustc-hash@2.1.0
+ ryu@1.0.18
+ same-file@1.0.6
+ serde@1.0.216
+ serde_derive@1.0.216
+ serde_json@1.0.133
+ syn@2.0.87
+ target-lexicon@0.12.16
+ tinytemplate@1.2.1
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ walkdir@2.5.0
+ wasm-bindgen-backend@0.2.99
+ wasm-bindgen-macro-support@0.2.99
+ wasm-bindgen-macro@0.2.99
+ wasm-bindgen-shared@0.2.99
+ wasm-bindgen@0.2.99
+ web-sys@0.3.76
+ winapi-util@0.1.9
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.52.6
+"
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+pkg_setup() {
+ use native-extensions && rust_pkg_setup
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # timing, sigh
+ # https://github.com/tobymao/sqlglot/issues/3961
+ tests/test_generator.py::TestGenerator::test_generate_nested_binary
+ )
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index d703b1696125..f122d72efef1 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1 +1,2 @@
DIST virtualenv-20.29.1.tar.gz 7658028 BLAKE2B b03008966fdeb0f7e72525ae5612a17721b9e5cbfb1e95f7a0b1d9677dfc8d3036e86623724a722ea5571f32bb7a43a7af0ec530fba3fa4e96b5215b5ee06e66 SHA512 94a2c9ce13cb98bf1df6f2e0a9db0e1acacf4667fb9609ad39d8ae7a6529818c0b1597b463262b0ea9a492684d9af027fa0ac9c1bb499e862ab587786b3b9511
+DIST virtualenv-20.29.2.tar.gz 4320272 BLAKE2B 3a00c2be2a511968020df74eb5da6ee03cafb3942ac70b23ce598840d2c21db57ba190dac0d30fade915e379fca98db1c53a0c4dbafec457e817957bb736cde4 SHA512 9c455e38fcf1eb2e8ca053df35c86c04dae6c32a55e5ba057de1f1713f5f2a8ad0fa597e4409409646d6d3b3f020058f9955a2888756ac3e6af91e37efcf8c91
diff --git a/dev-python/virtualenv/virtualenv-20.29.2.ebuild b/dev-python/virtualenv/virtualenv-20.29.2.ebuild
new file mode 100644
index 000000000000..ef8e66b486df
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.29.2.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-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 multiprocessing pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
+
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
+ ' pypy3)
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=180
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # use wheels from ensurepip bundle
+ "${FILESDIR}/${PN}-20.26.3-ensurepip.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # workaround test failures due to warnings from setuptools-scm, sigh
+ echo '[tool.setuptools_scm]' >> pyproject.toml || die
+
+ # remove useless pins
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+
+ # remove bundled wheels
+ rm src/virtualenv/seed/wheels/embed/*.whl || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ # tests for old wheels with py3.7 support
+ tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke
+ tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support
+ # broken by different wheel versions in ensurepip
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none
+ tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output
+ # hangs on a busy system, sigh
+ tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe
+ )
+ case ${EPYTHON} in
+ python3.1[23])
+ EPYTEST_DESELECT+=(
+ tests/unit/create/via_global_ref/test_build_c_ext.py
+ )
+ ;&
+ python3.11)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x TZ=UTC
+ local plugins=( -p flaky -p pytest_mock )
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ plugins+=( -p freezer )
+ else
+ plugins+=( -p time_machine )
+ fi
+ epytest "${plugins[@]}" -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # remove bundled wheels, we're using ensurepip bundle instead
+ find "${ED}" -name '*.whl' -delete || die
+}
diff --git a/dev-python/virtualenvwrapper/Manifest b/dev-python/virtualenvwrapper/Manifest
index 38deaed880b4..11167cc0509e 100644
--- a/dev-python/virtualenvwrapper/Manifest
+++ b/dev-python/virtualenvwrapper/Manifest
@@ -1 +1,2 @@
DIST virtualenvwrapper-6.1.0.tar.gz 95880 BLAKE2B 86d37682148ee132f9be5c4554de3c770c0f1c3055441bbce080d94da6fa83fc138a15c4c7edbb525e0c303c3c2ba5c1b1ee23260ea5bafaab157b3699b39b87 SHA512 78e09956132862fbf1caf53cb6c9375aa3718685f72d8f3fb61e402e6b26e8568d5b3a3ed18142b14f3b2691f89e6f912782e813d8139dc71ceb7e47bde8d0b0
+DIST virtualenvwrapper-6.1.1.tar.gz 95964 BLAKE2B 722fee78cdadbde77e03b22458f1591e9540ef12cd7deb14ecfa8abf1b030d16f8548b31297832eaf843d5b1db8453c239ff42162d66a74490339ab77e8ccc37 SHA512 1d2095c79f3679a4068418fe6e740771334bf0be44961dc5a50ac4848c83b5af046fc6125497177b864603efc4f2a0aacc912185129b8eb510dc4dcdef661853
diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.1.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.1.ebuild
new file mode 100644
index 000000000000..93a94a5b2cb1
--- /dev/null
+++ b/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Set of extensions to Ian Bicking's virtualenv tool"
+HOMEPAGE="
+ https://github.com/python-virtualenvwrapper/virtualenvwrapper/
+ https://pypi.org/project/virtualenvwrapper/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/stevedore[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/virtualenv-clone[${PYTHON_USEDEP}]
+ ')
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ ')
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pip[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/virtualenvwrapper-6.0.0-remove-use-of-which.patch"
+ "${FILESDIR}/virtualenvwrapper-4.8.4_p20230121-override-default-python-executable.patch"
+)
+
+src_prepare() {
+ default
+
+ # specify default python interpeter to align with PYTHON_SINGLE_TARGET
+ sed -i -e "s:@@GENTOO_PYTHON_EXECUTABLE@@:${PYTHON}:" virtualenvwrapper.sh || die
+
+ # remove tests which require an internet connection + bug #936086
+ rm tests/test_mkvirtualenv_install.sh || die
+ rm tests/test_mkvirtualenv_requirements.sh || die
+ sed -i -e '/test_new_env_activated () {/,/}/ d' tests/test_cp.sh || die
+ sed -i -e '/test_wipeenv () {/,/}/ d' tests/test_wipeenv.sh || die
+
+ # remove tests which require functional git repos with remotes
+ sed -i -e '/test_wipeenv_\(pip_e\|develop\) () {/,/}/ d' tests/test_wipeenv.sh || die
+}
+
+python_test() {
+ # tests have unusual expectations
+ local -x HOME="${HOME%/}"
+ local -x USER="${USER}"
+ local -x USING_TOX=1
+
+ # Make sure that users env doesn't leak to tests
+ unset VIRTUALENVWRAPPER_SCRIPT
+ unset _VIRTUALENVWRAPPER_API
+
+ local old_path="${PATH}"
+
+ # Tests are based on how upstream tox handles it
+
+ cp -a "${BUILD_DIR}"/{install/usr,test_bash} || die
+ local -x VIRTUAL_ENV="${BUILD_DIR}/test_bash"
+ touch "${VIRTUAL_ENV}"/bin/activate || die # silence warning
+
+ local -x PATH="${VIRTUAL_ENV}/bin:${old_path}"
+ local -x SHELL="/bin/bash"
+ local -x test_shell_opts=
+
+ bash ./tests/run_tests "${VIRTUAL_ENV}" || die "Tests failed under ${EPYTHON} with bash"
+
+ if has_version app-shells/zsh; then
+ cp -a "${BUILD_DIR}"/{install/usr,test_zsh} || die
+ local -x VIRTUAL_ENV="${BUILD_DIR}/test_zsh"
+ touch "${VIRTUAL_ENV}"/bin/activate || die # silence warning
+
+ local -x PATH="${VIRTUAL_ENV}/bin:${old_path}"
+ local -x SHELL="/bin/zsh"
+ local -x test_shell_opts="-o shwordsplit"
+
+ zsh -o shwordsplit ./tests/run_tests "${VIRTUAL_ENV}" || die "Tests failed under ${EPYTHON} with zsh"
+ fi
+}