summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-12-20 18:51:13 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-12-20 18:51:13 +0000
commit93c2eb592a687aeb5e106a73d67b4bcd632214bf (patch)
tree0985bac1bcdc0a3dfe345b387369643b8ee348be /dev-python
parent2d1a6e9b4457a150b8bb03fc6475ba7346f7bcaf (diff)
downloadbaldeagleos-repo-93c2eb592a687aeb5e106a73d67b4bcd632214bf.tar.gz
baldeagleos-repo-93c2eb592a687aeb5e106a73d67b4bcd632214bf.tar.xz
baldeagleos-repo-93c2eb592a687aeb5e106a73d67b4bcd632214bf.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/bibtexparser/Manifest1
-rw-r--r--dev-python/bibtexparser/bibtexparser-1.4.3.ebuild30
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.35.85.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.35.85.ebuild67
-rw-r--r--dev-python/browser-cookie3/Manifest2
-rw-r--r--dev-python/browser-cookie3/browser-cookie3-0.20.1.ebuild (renamed from dev-python/browser-cookie3/browser-cookie3-0.18.1.ebuild)8
-rw-r--r--dev-python/cysignals/Manifest1
-rw-r--r--dev-python/cysignals/cysignals-1.12.2.ebuild32
-rw-r--r--dev-python/dns-lexicon/Manifest1
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.20.1.ebuild72
-rw-r--r--dev-python/dulwich/Manifest7
-rw-r--r--dev-python/dulwich/dulwich-0.22.7.ebuild115
-rw-r--r--dev-python/elastic-transport/elastic-transport-8.15.1.ebuild7
-rw-r--r--dev-python/fsspec/Manifest1
-rw-r--r--dev-python/fsspec/fsspec-2024.12.0.ebuild61
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.122.4.ebuild104
-rw-r--r--dev-python/nbclient/Manifest1
-rw-r--r--dev-python/nbclient/nbclient-0.10.2.ebuild53
-rw-r--r--dev-python/pdm/Manifest1
-rw-r--r--dev-python/pdm/pdm-2.22.1.ebuild132
-rw-r--r--dev-python/psutil/Manifest1
-rw-r--r--dev-python/psutil/psutil-6.1.1.ebuild91
-rw-r--r--dev-python/pyside6-tools/Manifest1
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.8.1.ebuild81
-rw-r--r--dev-python/pyside6/Manifest1
-rw-r--r--dev-python/pyside6/metadata.xml3
-rw-r--r--dev-python/pyside6/pyside6-6.8.1.ebuild253
-rw-r--r--dev-python/qtpy/metadata.xml5
-rw-r--r--dev-python/qtpy/qtpy-2.4.2-r1.ebuild186
-rw-r--r--dev-python/respx/Manifest1
-rw-r--r--dev-python/respx/respx-0.22.0-r1.ebuild44
-rw-r--r--dev-python/rfc3161-client/Manifest1
-rw-r--r--dev-python/rfc3161-client/rfc3161-client-0.1.2.ebuild107
-rw-r--r--dev-python/shiboken6/Manifest1
-rw-r--r--dev-python/shiboken6/shiboken6-6.8.1.ebuild176
-rw-r--r--dev-python/sigstore/Manifest1
-rw-r--r--dev-python/sigstore/sigstore-3.6.1.ebuild66
-rw-r--r--dev-python/sphinxcontrib-spelling/Manifest1
-rw-r--r--dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild54
-rw-r--r--dev-python/spyder/Manifest3
-rw-r--r--dev-python/spyder/spyder-5.5.6-r1.ebuild (renamed from dev-python/spyder/spyder-5.5.6.ebuild)2
-rw-r--r--dev-python/spyder/spyder-6.0.1.ebuild195
-rw-r--r--dev-python/spyder/spyder-6.0.2.ebuild195
-rw-r--r--dev-python/spyder/spyder-6.0.3-r1.ebuild (renamed from dev-python/spyder/spyder-6.0.3.ebuild)2
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-11.4.1.ebuild95
-rw-r--r--dev-python/uv/Manifest3
-rw-r--r--dev-python/uv/uv-0.5.11.ebuild170
-rw-r--r--dev-python/ws4py/Manifest1
-rw-r--r--dev-python/ws4py/ws4py-0.6.0.ebuild43
-rw-r--r--dev-python/ytmusicapi/Manifest1
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.9.0.ebuild24
-rw-r--r--dev-python/zenlib/Manifest2
-rw-r--r--dev-python/zenlib/zenlib-3.0.1.ebuild (renamed from dev-python/zenlib/zenlib-3.0.0.ebuild)0
57 files changed, 2160 insertions, 403 deletions
diff --git a/dev-python/bibtexparser/Manifest b/dev-python/bibtexparser/Manifest
index a1b3291cecb1..64b204058909 100644
--- a/dev-python/bibtexparser/Manifest
+++ b/dev-python/bibtexparser/Manifest
@@ -1,2 +1,3 @@
DIST bibtexparser-1.4.1.gh.tar.gz 97146 BLAKE2B 8040532fe2153ff6ec664631a11b4f61548f99198c565bb554d0fe09d1fa54ee368c08be72bf7e86c5b6ca696deb0210496d4772243a05c5c9b28d73f52e6dc5 SHA512 f8e8f911eac38e98362bbbeff5b4af986e426911db9c54e93ec4a4eee1b1ceed630222c1a51454639566a6b5bad60c86a70b882a1c05084927fcbe7315e837ce
DIST bibtexparser-1.4.2.gh.tar.gz 81042 BLAKE2B 4522e46c371ae66af933ff6edc3cf1ce37336597c815facd8bbc62cc5b976c66bce45563af18f15a62c5ddf8ddda1bfbfa986eb16f21544aafaef3e22883cf4d SHA512 7aa58cb50c42773b8ae6d0448f817e83cc7445b8e65806430df17f9956219f440116cb227825da3423b40a5815921d1e42e407b236f6e917b3713eee5b8a989b
+DIST bibtexparser-1.4.3.gh.tar.gz 97163 BLAKE2B 6eb8a0aa115d6dc824fd2da1d1d0ddd05d0a61778770ba6a58d1933040d0fbc8a18e45ce1e3fea346959ac9c3cd21ff4cf0541a108b674e96d56b68c2c37de90 SHA512 b3ba1973e3288af4fed5b91385e427558f95f1c08de59c2af0eea393d72c06ac981d907f6328007bc6d135dce768ce24c65460ae522ae6482f75f6cdec52b987
diff --git a/dev-python/bibtexparser/bibtexparser-1.4.3.ebuild b/dev-python/bibtexparser/bibtexparser-1.4.3.ebuild
new file mode 100644
index 000000000000..1ad87eca9a1c
--- /dev/null
+++ b/dev-python/bibtexparser/bibtexparser-1.4.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A BibTeX parser written in Python"
+HOMEPAGE="
+ https://github.com/sciunto-org/python-bibtexparser/
+ https://pypi.org/project/bibtexparser/
+"
+SRC_URI="
+ https://github.com/sciunto-org/python-bibtexparser/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/python-${P}"
+
+LICENSE="|| ( BSD LGPL-3 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 6735cd03dc9d..b1df0df7c1f7 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -4,3 +4,4 @@ DIST boto3-1.35.81.gh.tar.gz 913534 BLAKE2B aab88ae95d4c93c8f54042ef2b3ec9defdaf
DIST boto3-1.35.82.gh.tar.gz 914286 BLAKE2B e2d9daaad1e89534de2fe44e107c0c49b4699ae3e69b2d67d121f97fe69ad15601333d5b9da34afd81b5f67b1fe0d1ae7b7cf982c11508597f08bca26960ef04 SHA512 23913c072c5c375be558dfe67fda2d70539a5816b9ac611ed3c11cc6cfb41372c64ad81e324f74053254e2b0996cc695e4df917b8e5a98519530defeb8f94139
DIST boto3-1.35.83.gh.tar.gz 915295 BLAKE2B ea2f3f5c233a9f6c718bd3aa15ce5cf3c28a839f5227c6cd81b3979618d1a5c2893fcb3e05512d632f74c2eeef48713abd430d8c896ed50892f2ca9a7da2629f SHA512 57a883a0d726c32d40f0278561e0616e2f22428bde9bbe1906bb15924171258019549aad1bdbf42042d6b7fa847b99e5ba1f4be0066a720455228b4685040e84
DIST boto3-1.35.84.gh.tar.gz 916194 BLAKE2B 7a6a5f0d3a09ab06ebfdb8b61e3752194d22fab9fe446d0cffed786266559c1619cfded9f566f3fbf20e12816304c8b09a83fa5ecf5e3c4260b498a294109e8a SHA512 a278e7b451b4adaeea7b63792c5c1ffa8d6dbe2cf4225770cf6371a55b66614b50b8d24478cda8380886172425c780ea08fc9182ee0997561fe626c01e0a774f
+DIST boto3-1.35.85.gh.tar.gz 916781 BLAKE2B dc0149b60c15d42e4e4d951dfdf414d00babe413318ad5aa726c1f0eeb669625b9aff8b25a6d95dd938a9c6032da5871ff1ebc5142bf50a5a539393d09446673 SHA512 02cfcc7b0d913944352a944711a1d844f4101c2e6a1e826b14bf1548928f06962d708f002d7fd3c6bbc42a9cf6134ccfffdd15764d81255c94a30bc37f7ca78a
diff --git a/dev-python/boto3/boto3-1.35.85.ebuild b/dev-python/boto3/boto3-1.35.85.ebuild
new file mode 100644
index 000000000000..d91ce27598cf
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.85.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{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 ~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.10.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 a066c6c01cda..bb86398a0bfa 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -4,3 +4,4 @@ DIST botocore-1.35.81.gh.tar.gz 14142565 BLAKE2B f0c5c284f5f0964841ab0f84f278fa5
DIST botocore-1.35.82.gh.tar.gz 14144970 BLAKE2B c1bd266383fb37b1a6059e7ebf08216810bcb10cedb8e7c0d60680025f91a28575a19b31419c429c0ca54b41bb25070a278823081525a301e20bc56a3bc12b4d SHA512 437fa1cdaf24566d72c501a474f6f1ee87d10b5d90123ddeced507955de377ff4b2c70f874d96634fe87d75b95332a44b254cb30019a07b64bf855f6c7b70ef6
DIST botocore-1.35.83.gh.tar.gz 14160834 BLAKE2B fc652d7da37d5d2e97b4ba60d03b58d8d1c6a17cf5c93729ce962bacdf5addb0bc183f5be74cba9f1eb2ad45667430363be3bc5dfdfc78b656eb1930892ed683 SHA512 c769d585051bbab793fd8bbd3036a988c41e7fd03624fe7650de0e781f7faefe418cbaf8b93a138ff8560f51c88106510bbc8f458de3450549d53b508589923a
DIST botocore-1.35.84.gh.tar.gz 14167194 BLAKE2B f5b224cd2d55d639eb85f9b56effeb63b8427c1d1a970d8deabb1cd959ec28eeacba31563070c6da33d0eb8badf92928924281a57139107d0dd7e56619d9aa08 SHA512 dc8154336914e95465a758af038d42f8b15384d13210560074f995bba41c0f72c128e65ffbda752c5a6246687b54b8fa2ba119ad14c36ae91cc4f268e5319e62
+DIST botocore-1.35.85.gh.tar.gz 14170796 BLAKE2B 1524af88088c2223989375aca221539a30e4d78766459d1a5b76540655874fbb90ff02922631c666ec9d3f905b88aa986b77c3b34023bf1c61d00436caf8b104 SHA512 537825a16640069af087f7fed0d145d4f1760186a1e85ff37c0839f377b7267bee23b5aac1c423433175e571a3ef861cc5bce10b485800f71aab0f8f1d23b067
diff --git a/dev-python/botocore/botocore-1.35.85.ebuild b/dev-python/botocore/botocore-1.35.85.ebuild
new file mode 100644
index 000000000000..7816e9efeb52
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.85.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{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 ~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/browser-cookie3/Manifest b/dev-python/browser-cookie3/Manifest
index 1734b39d6a4b..b46e67084303 100644
--- a/dev-python/browser-cookie3/Manifest
+++ b/dev-python/browser-cookie3/Manifest
@@ -1,2 +1,2 @@
-DIST browser-cookie3-0.18.1.tar.gz 16073 BLAKE2B 1520e53919105e796e9210bf00abd90889f7f10ffaec1bb749005c339556a5aaba4f5d465225b7afcaa4d61f775855029a99ce76a2c90fa16274c2a0e3d42be9 SHA512 673d3268473b45f12469ba86223d0de302f8f3e6282da318e8adb138848953982e1a59740dd90b3b63746f4c29c649abed9d4e06e5e89303931ba7a395732df5
DIST browser-cookie3-0.19.1.tar.gz 19969 BLAKE2B 61fe98572765cfc2fec87a709fae956a15cace076d0eb53c6412aca1cf3668ec3cfbca19be38ce19fb50d77bf45e4113b40518bbe6424c1f18f456192a84d177 SHA512 231179216c98f2fb6a9271fa90587ccdfaa09603889efda8445f526e71379c33de7b984542919b0c1ee8c27eb20a526239ccd79f2c03cb853284b5ebe715cf49
+DIST browser_cookie3-0.20.1.tar.gz 22665 BLAKE2B de14ac07994cf8de1a79da84087b76c09f756e783751b09994da77a087d62623c1915933272b40a9fb6cd5bd5ab66eef3648565447b499db00ad15880a390e11 SHA512 034bd5f6564cc3893c77eadbbd1666428b0c51eced4355697511b9f4acdcdfb5e985248288a1ce77f30e9ad2c8c7bb9009e570805a7089c714cb495f4debf38b
diff --git a/dev-python/browser-cookie3/browser-cookie3-0.18.1.ebuild b/dev-python/browser-cookie3/browser-cookie3-0.20.1.ebuild
index 2f98464d4076..7638c9c0615a 100644
--- a/dev-python/browser-cookie3/browser-cookie3-0.18.1.ebuild
+++ b/dev-python/browser-cookie3/browser-cookie3-0.20.1.ebuild
@@ -1,10 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1 pypi
@@ -18,6 +17,9 @@ HOMEPAGE="
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
+# Tests require selenium, browsers, and are aimed for one-shot validation of
+# cookie file format validation for documentation
+RESTRICT="test"
RDEPEND="
dev-python/dbus-python[${PYTHON_USEDEP}]
@@ -28,7 +30,7 @@ RDEPEND="
python_prepare_all() {
# make cryptodome-friendly
sed -i -e 's:pycryptodomex:pycryptodome:' setup.py || die
- sed -i -e 's:Cryptodome:Crypto:g' __init__.py || die
+ sed -i -e 's:Cryptodome:Crypto:g' browser_cookie3/__init__.py || die
distutils-r1_python_prepare_all
}
diff --git a/dev-python/cysignals/Manifest b/dev-python/cysignals/Manifest
index b123cc613468..f849a71e782c 100644
--- a/dev-python/cysignals/Manifest
+++ b/dev-python/cysignals/Manifest
@@ -1,2 +1,3 @@
DIST cysignals-1.11.4.tar.gz 105100 BLAKE2B c21c5cae69332885dd4b9f13d0fbe9ab836466dd699f0d51908d129107ce4922f4076fafa8dce3650983fd69d25182464f9831545a8da3535699d36d198ec6a7 SHA512 b083a62bcca71634cdd21ca6c8d1363e7754ed97d6f2ad0280b0ae97fdf1264be3dc202acf67added4c12a0815420d9641269da1212b83472ea304883d3b85ab
DIST cysignals-1.12.0.tar.gz 65857 BLAKE2B 4a9bb56c8491814480a9deae053eb13574b480245418c743b1a99cc4fbe4c784c35e8518707cd6ced22174f032444e38daee16ab933b044f8942da2d1c47cfab SHA512 c4575f9d07f4d4c1c27a2e953b12693758babe79000fe62e2423ae484695f0ee813ebc2868ec74aa6c2c4e85d074c3a0db1524ad4ca58e1250fd1d4ca8386692
+DIST cysignals-1.12.2.tar.gz 65828 BLAKE2B dff532fb0c95abe53331082c88f79edd3a7136501c2015272d83e0a5d29b51e26c007b06f3e4ead42eaa306c1219ccc207827dc58ff954514ebd7fdc47dd2d02 SHA512 9cbf3eb4a11724949f513b4409d136b0890f987f9a5d3c3324b12bddd85eb7226dd793a5b2ec383e9ee46fa59e55f9ca19b0fb4c02e0b6eab46e01607668a8cb
diff --git a/dev-python/cysignals/cysignals-1.12.2.ebuild b/dev-python/cysignals/cysignals-1.12.2.ebuild
new file mode 100644
index 000000000000..8a125f4d7118
--- /dev/null
+++ b/dev-python/cysignals/cysignals-1.12.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Interrupt and signal handling for Cython"
+HOMEPAGE="
+ https://github.com/sagemath/cysignals/
+ https://pypi.org/project/cysignals/
+"
+
+# setup.py has "or later"
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+BDEPEND="
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/dns-lexicon/Manifest b/dev-python/dns-lexicon/Manifest
index cab7f7577ae3..14d284cf3334 100644
--- a/dev-python/dns-lexicon/Manifest
+++ b/dev-python/dns-lexicon/Manifest
@@ -1,2 +1,3 @@
DIST dns-lexicon-3.19.0.gh.tar.gz 6273456 BLAKE2B e0c47e8657b6c2724b50423359200cadac52434a31cbfd9c628ee5dd5cc3cd8779f4b51bb7522a308df90489f30aeec0a0ee44dcc850e5766d0f6b7d25b617f6 SHA512 4efc8864f073ca895a78eeedaf091f8b19df497caa9d8f759d051ac6e91c34e0798b0f7440cad601da62e4115a9abb596660255a8b02096959bd50411d5768be
DIST dns-lexicon-3.20.0.gh.tar.gz 6274333 BLAKE2B 98b9161b5eac26fcf41b7c3930a488f76a5be4a18303ab4fb13d66038b860d1ed7dc6d5e651630384aefa168bfe03ddba1be5da04e3d453be269b131d283d9b1 SHA512 80e1944687bed648ac70825ceb13098441d8937b362008f16a7eaebcc3c4a84ea15584ae5c6c31b88a08c503cfb5ed0e9f873192e6c0ba126dffd9b95576b681
+DIST dns-lexicon-3.20.1.gh.tar.gz 6275134 BLAKE2B 28d09b849891081f01150a25559625cbf2cfcccba5d8be36c8cb3ad5fa9c440a7d1b7f31a114edc5738ad337fba4cd520bbe85ce6753dfd9ca8855eb2aeab9e2 SHA512 98a29bc67596e58ada43373fd1dfa2a5c35512dd33924969df0d16c10cf2e53cf2bc564488c9f7a1b682b63a7959cd2073207a8d77435aa62a04f408024d85fd
diff --git a/dev-python/dns-lexicon/dns-lexicon-3.20.1.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.20.1.ebuild
new file mode 100644
index 000000000000..dcfc5da3bdc8
--- /dev/null
+++ b/dev-python/dns-lexicon/dns-lexicon-3.20.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 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} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Manipulate DNS records on various DNS providers in a standardized/agnostic way"
+HOMEPAGE="
+ https://github.com/dns-lexicon/dns-lexicon/
+ https://pypi.org/project/dns-lexicon/
+"
+SRC_URI="
+ https://github.com/dns-lexicon/dns-lexicon/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/beautifulsoup4-4[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2[${PYTHON_USEDEP}]
+ >=dev-python/dnspython-2[${PYTHON_USEDEP}]
+ >=dev-python/pyotp-2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2[${PYTHON_USEDEP}]
+ >=dev-python/tldextract-2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/boto3-1.28[${PYTHON_USEDEP}]
+ >=dev-python/zeep-3[${PYTHON_USEDEP}]
+ dev-python/vcrpy[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # TODO
+ tests/test_client.py::test_client_init_when_missing_action_should_fail
+ tests/providers/test_godaddy.py::GoDaddyProviderTests
+)
+
+EPYTEST_IGNORE=(
+ # Requires the "localzone" module
+ tests/providers/test_localzone.py
+ # Requires the "softlayer" module
+ tests/providers/test_softlayer.py
+ # Requires the "transip" module
+ tests/providers/test_transip.py
+ # Requires the "oci" module
+ tests/providers/test_oci.py
+ # Uses tldextract which needs Internet access to download its database
+ tests/providers/test_auto.py
+)
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ optfeature_header \
+ "Install the following packages to enable support for additional DNS providers:"
+ optfeature Gransy dev-python/zeep
+ optfeature Route53 dev-python/boto3
+ optfeature DDNS dev-python/dnspython
+ fi
+}
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index e381e8c21787..79727f1e9a10 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -1,19 +1,26 @@
DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST dulwich-0.22.6.tar.gz 450726 BLAKE2B b051b85482121672c83c928ec1dbc914f879bffd83ad9a37dc582afa43ae0c3dcd71050fb21729a263292117609b62911086dc25610803173f8c9398fcb37020 SHA512 3d71b9ba1bfd1d10cdddce0140e2571e2321efa3c8bd420caa0632fa087cd318bdfcd00b53b0ef3394077c83ef9ee85e06d3467461465e4efccf9bd560365df5
+DIST dulwich-0.22.7.tar.gz 452893 BLAKE2B 4ed0a1dbe4a91988a05f3d42559b817547595e3c32bd41d3e0f880459a52851b53bb0db1e5a41e5672027887ac7bb7fb196d358fa6831909e5b417e6061905ea SHA512 ac3acf66aca5972e727c32b58bb2d0ac256eeb1e90ce2f3b30f84324e75390950c27de9dd51f442185797ebec66e9fbd4561ba417ca2e3354011453adab9c96f
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
DIST libc-0.2.162.crate 769354 BLAKE2B 3bac6124db801cdcd6918ccd86e84c99cced45c44dba11f198ec5852354942db511966fc85347d2ce4c8ff82c89eef2c47016766b2f6ffbea20d99c1deab4ead SHA512 f43e294d587e7cd9c2da9b67be83fc70801ea66c318342cf1e11556566ecc1c8a612925770d85c75af1e887b425f326fac59229b78877d2377092243ea8e6a99
+DIST libc-0.2.164.crate 769055 BLAKE2B cfb757ea04ec8ad6d6a0dff92cbedd626aa4932cd83d67d19ac51cc140f9aeb54b38b488796c4a0e722f7bceaf54c4807a32ec0560bae4840a82fc1c4a5151ab SHA512 614835ee7388c854cacdc179b5700b7de0c696ec0eebca2b997f1039157f737fa79e208832a46f2fa27fcedb6fe7a27faf26079f06ee0e679b6f35d4a5371e3f
DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8
DIST portable-atomic-1.9.0.crate 166365 BLAKE2B 9abc31364770923847dac16f532452bc8783a5068c0f757f79122bc5b68863b58c0acfa12d28836188413c2f0b61d494cb53fa07a57e199ecd4910a2534c5bb3 SHA512 1431a4c092f6a0cb50bcc78488d603c8ba8f4ee697f77fdcfcce7002fcb371f52a321089422c76564fbf3277c48e30f889565747951c60360d95a6917bb6adeb
DIST proc-macro2-1.0.89.crate 49446 BLAKE2B 844c021394e7a2551bc179592a6769d672360150abf92debcb9ac60a94a2e426c48c408f06aeb2128686f5f04d66dc12973714670c21a5063ee6b9f3bae4e671 SHA512 488ab38a04df1d0330309382a7e4f667238cbc9b4d513da6a8f5718f8a762f76cc122af67fefe8f4b021a286b3d23e3ec83d781fe6ac823042a6daf14d147e2f
DIST pyo3-0.23.0.crate 1072538 BLAKE2B 9eaf6a6aa88ae643197cae9bcd591778b6d8925e46808e0c995e4ca0b34de2f206b44ac6009ce52a65525a85f24c9dc14bd69806391138578d0dac7d18ee25b4 SHA512 01c8724b28b0e7882e387c93151a7261a0b265aad47aaaaf2356ce4db9568602cb11e0f107444eddb0d2557f334339d7b42d92164f3ecb02015af6ca3c29a6ba
+DIST pyo3-0.23.3.crate 1073838 BLAKE2B 5e1ce6a5c5232ebf0399b1b969e737cca12f978f445efec9408ea80b8bc6ac1047125dbefa36149c8a904882d6a64dd24a9bd50f1e8de7afe3a3271e1a0f2d6f SHA512 c80377e8673de8b8e51e2423d102dbcc46605a783c13127215916d69fc600efd67ba5f9cca420cb6859124165ec97fde40eb0a0566d8b4b60708e20b8e6e9b6d
DIST pyo3-build-config-0.23.0.crate 31756 BLAKE2B 0371909fcec57ccd8f1acea9e132da013150a1b76835989bd2832cdba58ebabf18ffdf229a241366399bc10a63834bd09c9e02872de5b1f2aaa7b14e3acce61f SHA512 488527e26c07ff05bd23ab458d06ca851e62b0bd5f1616cd4b313ba0897b156859231209469ea2f7e4a4aa907066665a7adbc85472abb789dc92da6adb7d5d94
+DIST pyo3-build-config-0.23.3.crate 32509 BLAKE2B 9e77701712589dec4ad74b3d0e66ae82c7a01b6f29ed36231d999aaf909f80def59d17916e1900bfff10b1d36a0a48ed4bf9757c817eb6c6269549f3d04bd6d4 SHA512 db8b0aa86e96eeb30a8ab36a8a1ba917b7b9e6918c2193d7466841ef38e689908f7719a5390d35fb9a156aa6bd84348fa99ea8d5a784faf5c5cc4635d9a3fac9
DIST pyo3-ffi-0.23.0.crate 73989 BLAKE2B 792e14d43bcefaa3c5305a8d5938c574cbd50395d573a9af8323e7c6ce81c7c00ae5d637e80ed9c2b450994ce35ae5630ecd7212b0cb76a1f38a0c17378841df SHA512 e28be29015724247b844912e6bcfcd21d6b17d5f31d80e2d6e9d21ff7f3038ee975a03c0ae7aac05ad2a624282e90b99f06177a09ddff623ab95bba980faeb03
+DIST pyo3-ffi-0.23.3.crate 74064 BLAKE2B ec3cc59e047f780041a05e2bf9fac9d65a6f8ccfb5a3e1c35d7c7918da6ded7e65676888a743d3b4d0fe7b0996e441b722c159eed67360c1e3c5b598160a46cc SHA512 fe4678d4cfe81f065554f0d454345f5f8fde927af1afec9212bb49a67be5080dcc9be84e088612208b7732d2283c2c9168a31b0b6fbd32496520d500e372e161
DIST pyo3-macros-0.23.0.crate 8064 BLAKE2B d7b97774c1d54787b3aeb9d5c23847c6e42069fe114c964d608495747a29b8529df0c019944395303336aec17b04b9727cdc1aa8771dfad4ffcfb901c67a213f SHA512 da40d548a039c77158b860922aece8ea35fdb6d46da8b71284a39ae3b76094f85eb133ba7cc68ef7b5d160530eb460da92c004c88985223af8341669986531f5
+DIST pyo3-macros-0.23.3.crate 8085 BLAKE2B bf9ea45a8afe7c663da4f3f5c09c23039bbcf9a9ae350eac2b6581a227864d259b1e5c5ea36f9d6f302c26cd957bb4564562b98785eac49233515d7d54453fdf SHA512 23bfcff285db1276f2dcca9895f7672ec6e5aec118039e2cef3cabca0a85eb97f138391cea4da26eb887dff09c65947b165ca83392edcc8640cb283df2929901
DIST pyo3-macros-backend-0.23.0.crate 70119 BLAKE2B aba55954140ce497c0c6e046178a3f5b4a2de3830cf841fff2d192f3b29422863ab6ce039049a431ba0c84de44d4ab652301120b7e59549171c245415e11fd4c SHA512 91ea6b6647e626320ece44c1c8fff10f9730bcd328826fe3bbda88e8b0c8cd364fade7ad4684dae4abd242bbfbdbdd0e23e9efd72eb6e3ecbeff62fd431a2765
+DIST pyo3-macros-backend-0.23.3.crate 70098 BLAKE2B f8ee9c39f743960fc8093bfd53c043fca03b973192e1ab24b48066634e57ea7e74b3ba825ae72380e10569855eec9cb4f0d54f5f8c88dc60e67793257bef8d43 SHA512 9b22e975480f9afc2037587ba85889868a1b543069c2280c65f4cf98e5537708d098bb4885e881c1c9427740c8259988d82176b974900551a4e51097cefb8708
DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05
DIST syn-2.0.87.crate 278076 BLAKE2B 93385f64103fdb482bec34c7912474ae7a5935948715e6eb9a54907e0db5c39f089f6cd393bab33c935c59a1bbb0f4099431f206343811c1a450554d96a35756 SHA512 bcfff545d6dfefd81e09f8f30a86bdd85759b3a7d4093ef3365ed02718e10dbd604c52b94c9d7fa955d339fdc5b6c079940c6f345b5a48c52b5c8607794ca6f2
DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27
diff --git a/dev-python/dulwich/dulwich-0.22.7.ebuild b/dev-python/dulwich/dulwich-0.22.7.ebuild
new file mode 100644
index 000000000000..e16d9971f0b4
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.22.7.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+CRATES="
+ autocfg@1.4.0
+ cfg-if@1.0.0
+ heck@0.5.0
+ indoc@2.0.5
+ libc@0.2.164
+ memchr@2.7.4
+ memoffset@0.9.1
+ once_cell@1.20.2
+ portable-atomic@1.9.0
+ proc-macro2@1.0.89
+ pyo3-build-config@0.23.3
+ pyo3-ffi@0.23.3
+ pyo3-macros-backend@0.23.3
+ pyo3-macros@0.23.3
+ pyo3@0.23.3
+ quote@1.0.37
+ syn@2.0.87
+ target-lexicon@0.12.16
+ unicode-ident@1.0.13
+ unindent@0.2.3
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="
+ https://github.com/jelmer/dulwich/
+ https://pypi.org/project/dulwich/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="GPL-2+ Apache-2.0"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+LICENSE+=" )"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/urllib3-1.25[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${RDEPEND}
+ app-crypt/gpgme[python,${PYTHON_USEDEP}]
+ dev-python/fastimport[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/dulwich/_.*.so"
+
+pkg_setup() {
+ # avoid rust_pkg_setup which will die when there's no Rust found
+ if use native-extensions ; then
+ rust_pkg_setup # implicitly inherited through cargo
+ fi
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_compile() {
+ unset PURE
+ # TODO: enable Rust extensions
+ if ! use native-extensions; then
+ local -x PURE=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # remove interference from the tests that do stuff like user.name
+ unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE
+ unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE
+ unset EMAIL
+ # Do not use make check which rebuilds the extension and uses -Werror,
+ # causing unexpected failures.
+ "${EPYTHON}" -m unittest -v tests.test_suite ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/elastic-transport/elastic-transport-8.15.1.ebuild b/dev-python/elastic-transport/elastic-transport-8.15.1.ebuild
index f077c8943766..a8e9a83d346d 100644
--- a/dev-python/elastic-transport/elastic-transport-8.15.1.ebuild
+++ b/dev-python/elastic-transport/elastic-transport-8.15.1.ebuild
@@ -53,9 +53,10 @@ distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
- # Fails in upstream CI as well as of 8.13.1
- # https://github.com/elastic/elastic-transport-python/commit/39488817cd5da824101322e40652d17938f0acac
- tests/node/test_tls_versions.py::test_unsupported_tls_versions[https://tls-v1-2.badssl.com:1012-772-RequestsHttpNode]
+ # >=aiohttp-3.11 throws DeprecationWarning which cannot be filtered for this test
+ # https://github.com/aio-libs/aiohttp/pull/9726
+ # https://github.com/elastic/elastic-transport-python/pull/61
+ tests/async_/test_httpserver.py::test_simple_request
# fragile to random warnings
tests/node/test_http_aiohttp.py::TestAiohttpHttpNode::test_uses_https_if_verify_certs_is_off
tests/node/test_urllib3_chain_certs.py::test_assert_fingerprint_in_cert_chain
diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest
index b37e547688d6..1b3565202075 100644
--- a/dev-python/fsspec/Manifest
+++ b/dev-python/fsspec/Manifest
@@ -1 +1,2 @@
DIST filesystem_spec-2024.10.0.gh.tar.gz 415286 BLAKE2B 59e8a1457c528c350ef49da546ee8e15dc27031dde3c5b2ae4c97a7ec0a392010c8d1558c4a6569be07aebc272add9629c6e8e7fc7e392259bb5f72b47b65a3c SHA512 46542e494044e40110c3da879ec620daca15e3a18e3e0a318f0c98f18a08aa7c319fffdf396527e920f6bc5f17fbec5e4c2030ed6a9b8853720e513165dbc56d
+DIST filesystem_spec-2024.12.0.gh.tar.gz 421670 BLAKE2B f6e6f2b478f89c9fbad6822149dc9a2b868fd2fee6edfbd532471b23d49248360170323e9454cc803c4096e62d8957e4ecaf1062bce3cdce005b39af94fdf52c SHA512 9e506da2c81a603350ecea7745b98fa38727bd0f176dc587dd570cab0e27650cd77ac061dce190d6b6372bb5dc4d5a0f3beb59b831a11a1392e178e6c94ab872
diff --git a/dev-python/fsspec/fsspec-2024.12.0.ebuild b/dev-python/fsspec/fsspec-2024.12.0.ebuild
new file mode 100644
index 000000000000..fdcfc0700d79
--- /dev/null
+++ b/dev-python/fsspec/fsspec-2024.12.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2020-2024 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} )
+
+inherit distutils-r1
+
+MY_P=filesystem_spec-${PV}
+DESCRIPTION="A specification that python filesystems should adhere to"
+HOMEPAGE="
+ https://github.com/fsspec/filesystem_spec/
+ https://pypi.org/project/fsspec/
+"
+# upstream removed tests in 2024.6.0
+SRC_URI="
+ https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+# Note: this package is not xdist-friendly
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+src_test() {
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ fsspec/implementations/tests/test_reference.py::test_async_cat_file_ranges
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p pytest_mock -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 7a5843b1b4c5..bbf49d0a8a7c 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,3 +1,4 @@
DIST hypothesis-6.119.4.gh.tar.gz 9490666 BLAKE2B 99a45054b90026317bca165915b2ffe3b3abfa03a98efc6181bd64f6ca851f9a90e4ba1b41ba4f3b2181de02818a91367f1c29523b78bca303da4eea31db1284 SHA512 003b01fd3e1e4ae2ea68f72b80063928dd56a069fdf8b6ffc73f6ffb3db4b048523564bd616d604d04a3ea55b19c01940ad7ba60bf1e88c54e29359ca0e397db
DIST hypothesis-6.122.1.gh.tar.gz 9492677 BLAKE2B 66f89d2388cb34e5df95bc73af69259c8460b0508b14b07b99d749443be44f0c43b20bfb1d2edddf844e97f18b20e98ceade1dc66d08ecfc8403fdb6f9a461dd SHA512 27e3fca0510cc4267f3ec4df112937fc1e06331d1498f0db1815912a6eaacd3fcb07705aed84db1f03212dae3bd3d4902071070c81694f9ae2df1a03d4964c14
DIST hypothesis-6.122.3.gh.tar.gz 9495681 BLAKE2B af743d0486d31590639216e60901eb7ee376dfcce18a9e130ea5061788d9c9d66f1ebcec23f144d41652581e50c30903aa9d697e304cfe05259c454c344f02e0 SHA512 8776f603682a3ef7c36bc47f6e36b64b0e01c37f4db80fe78d492a3e4d347b4ec1d9c87e6999069d2cb4b5ac7d33e0d1258055b679fcacc6812b256e6398f043
+DIST hypothesis-6.122.4.gh.tar.gz 9495842 BLAKE2B 4a17e7096a1c86a13851af3d905839c53e0b8b15685a84bad9fbde5d74679e1153bcfe8dae6780bdaabcb3242990f4cd29d4eaf29f564eda4c09c01b4fdd5f98 SHA512 4828b35ca3c9a601303eb671e322d1c81afe079d0eb04d5518397310e5ee15a1e0bdc5c3fb252c34de8a5ad931992974a9bbe136ebebd10c26a52096febdda31
diff --git a/dev-python/hypothesis/hypothesis-6.122.4.ebuild b/dev-python/hypothesis/hypothesis-6.122.4.ebuild
new file mode 100644
index 000000000000..7d8a0e518f7a
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.122.4.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+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}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ 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}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -p rerunfailures --reruns=5 \
+ tests/cover tests/pytest tests/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/nbclient/Manifest b/dev-python/nbclient/Manifest
index 3e4ec03db473..5b3b712292a9 100644
--- a/dev-python/nbclient/Manifest
+++ b/dev-python/nbclient/Manifest
@@ -1 +1,2 @@
DIST nbclient-0.10.1.tar.gz 62273 BLAKE2B 0a268e4078af3807b6795d5b6dbbc572628d891d42f4ddeed3decd06d471cad59ab903e652be6a7f1e00a07cea3745cd989c62674e937934a6a696dfd24eefa4 SHA512 8c5b52aa367f255669fa7ad248d45292dd0e3589e23e381027a093c9fc57280eb296f453c2bfc3c57969056846a0caba81e57feaad1768e70aff006df4b85324
+DIST nbclient-0.10.2.tar.gz 62424 BLAKE2B f0efae4b3eed70f04f3d0cc830ef4cc47ed98b93785c6048103b62aff9537eaeebc0ad54a513c142c3d76c64d093c9bac3003608c6510b719d9b5de7b67ad463 SHA512 e19e58950822711af8588fdb7a24c1df028c77c2e128023494335973ff28f524478637c491b16329c38edb2ff7714632d4216e6483bb9aa79e2b393e3de72be8
diff --git a/dev-python/nbclient/nbclient-0.10.2.ebuild b/dev-python/nbclient/nbclient-0.10.2.ebuild
new file mode 100644
index 000000000000..2ecee2afe161
--- /dev/null
+++ b/dev-python/nbclient/nbclient-0.10.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2020-2024 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="A client library for executing Jupyter notebooks"
+HOMEPAGE="
+ https://nbclient.readthedocs.io/en/latest/
+ https://github.com/jupyter/nbclient/
+ https://pypi.org/project/nbclient/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/jupyter-client-6.1.12[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.0[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.19.3[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-7.1.0[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # hangs?
+ 'tests/test_client.py::test_run_all_notebooks[Interrupt.ipynb-opts6]'
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p rerunfailures --reruns=3
+}
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index 8ada86ffdcb2..b6e6f3544f60 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1,3 +1,4 @@
DIST pdm-2.20.1.tar.gz 2642376 BLAKE2B d24d889d75b06deb7595a7a0691ba21e9af15013372481147ddf1c6a19a13bb398af786cbc38877b29380f162a7923848aaf9d9b6f258dcd22ad80a96ad96ab8 SHA512 f9a164c521f943a89c8eb4792d249b06114b26e5c87022feb0d1bc24ca8ef56085da07e8b0dd9033b3c6e7d0e0ff1d3cb52bf8a69a2ef1e211cdb3c29eeb24b8
DIST pdm-2.21.0.tar.gz 2643561 BLAKE2B 3fc921c5863749c762163b290a4c9db8593145f509309dfe3437444e509e11c4727510d862e5f8676755191429c0b5cd73afd98104056497a3095acb6d0ee488 SHA512 2e83eab81d85c91249841add97a1d985ac91a0fba42b7b695a23afa785d67c04879a2513a686243fd68e5eec642175b97ef7e36fccbe8d8a160a6d42b8c5318b
DIST pdm-2.22.0.tar.gz 2645896 BLAKE2B 96cb47299ac52f374bc3e6e22f28d79b3cd0536055292e68f2f76c2f6ef855abbc4840c1a500c43dca02d10fa964bf3595512536855792175817ddf0d4f9ed14 SHA512 5f27a070fce875b3fd9af30ee9cfab1c31f4310bb9e299a11d00beba77e02dfd6346496ac385aaf5ae3f43b96cae91ef97f46766071696834c8a8714fff5bb4f
+DIST pdm-2.22.1.tar.gz 2645872 BLAKE2B 3bb614a02cea489b6698160a7aaed3623199dc62ed3c5055d33ca084639d03fa0f4d380cf6e41fcb812e93c5606c6571250d17c85271c2f81daabfaec8224190 SHA512 335fc2eecbe3c6a63d5f4cf277a1ef6898c40190441da84282662ddd9ac45646b156544b056155bc6bfe6e0d4c4c6a454524fffb564394083eb77207db0ee414
diff --git a/dev-python/pdm/pdm-2.22.1.ebuild b/dev-python/pdm/pdm-2.22.1.ebuild
new file mode 100644
index 000000000000..3be473629b2c
--- /dev/null
+++ b/dev-python/pdm/pdm-2.22.1.ebuild
@@ -0,0 +1,132 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.4.4[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.6.0[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ >=dev-python/hishel-0.0.32[${PYTHON_USEDEP}]
+ >=dev-python/httpcore-1.0.6[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pbs-installer-2024.4.18[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.1[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.9[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.17.0[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/uv
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:,<[0-9.a]*::' pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/cli/test_build.py::test_build_with_no_isolation[False]'
+ tests/test_project.py::test_access_index_with_auth
+ "tests/test_project.py::test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[True]"
+ tests/cli/test_others.py::test_build_distributions
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo]'
+ tests/models/test_candidates.py::test_find_candidates_from_find_links
+ tests/cli/test_build.py::test_build_single_module
+ tests/cli/test_build.py::test_build_single_module_with_readme
+ tests/cli/test_build.py::test_build_package
+ tests/cli/test_build.py::test_build_src_package
+ tests/cli/test_build.py::test_build_package_include
+ tests/cli/test_build.py::test_build_src_package_by_include
+ tests/cli/test_build.py::test_build_with_config_settings
+ tests/cli/test_build.py::test_cli_build_with_config_settings
+ tests/cli/test_build.py::test_build_ignoring_pip_environment
+ tests/cli/test_others.py::test_show_self_package
+ tests/cli/test_publish.py::test_publish_and_build_in_one_run
+ "tests/cli/test_hooks.py::test_hooks[build]"
+ "tests/cli/test_hooks.py::test_hooks[publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-publish]"
+ "tests/cli/test_venv.py::test_conda_backend_create[True]"
+ "tests/cli/test_venv.py::test_conda_backend_create[False]"
+ tests/cli/test_lock.py::test_lock_all_with_excluded_groups
+ 'tests/resolver/test_resolve.py::test_resolve_local_artifacts[sdist]'
+ 'tests/resolver/test_resolve.py::test_resolve_two_extras_from_the_same_package'
+ 'tests/resolver/test_resolve.py::test_resolve_file_req_with_prerelease'
+ # hangs on interactive keyring prompts
+ tests/cli/test_config.py::test_repository_overwrite_default
+ tests/cli/test_config.py::test_hide_password_in_output_repository
+ tests/cli/test_config.py::test_hide_password_in_output_pypi
+ # junk output, sigh
+ tests/cli/test_others.py::test_info_command_json
+ # why does it try to use python 2.7?!
+ tests/cli/test_run.py::test_import_another_sitecustomize
+ # fails in tinderbox (bug #928964)
+ tests/test_project.py::test_project_packages_path
+ # i guess doesn't expect some dep to be present
+ tests/cli/test_build.py::test_build_with_no_isolation
+ )
+ [[ ${EPYTHON} != python3.10 ]] && EPYTEST_DESELECT+=(
+ # test seems hardcoded to 3.10
+ tests/test_project.py::test_project_packages_path
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network and not integration and not path" \
+ -p pytest_mock
+}
diff --git a/dev-python/psutil/Manifest b/dev-python/psutil/Manifest
index 158caa1d8d70..1c533f933948 100644
--- a/dev-python/psutil/Manifest
+++ b/dev-python/psutil/Manifest
@@ -3,3 +3,4 @@ DIST psutil-5.9.8.tar.gz 503247 BLAKE2B 192812d9006b9eb1a856ff8d322e6cfb320462e5
DIST psutil-6.0.0-tests.patch.xz 3748 BLAKE2B 6e78418de8ee052e7e9f5d6bc74b8fc79e5216ed4d5fa8eb89532b19298955c388e158770b4af7b42fddc2a03b292e6d8ce9ed98c441179fb7c4a640014f2112 SHA512 3947337dbdddc29c85697d6140fc0fdcfb2b5ce7d84438e5763ad240ccd954e97fbf5dabf03ca17e959273a2c11794a41b2293434e85d2fe4d38d696c7de3900
DIST psutil-6.0.0.tar.gz 508067 BLAKE2B a4c80d1cead17ab73c99a25c4e1712cc2dd0b4220521d8dacafb905ab27393c49a8ee20790a89ebfc6c1d53779e98fe126c50f9299db1ab9a9c3df6d0a99ec48 SHA512 78ef1abe109c985ad3dd3865de5b4a7682fbad0085e5ca5bc1f2f90f03853775554b6c810cd54543cb7a1238efe345b3dcc9f5191270e03bc6a2f4088dd007ba
DIST psutil-6.1.0.tar.gz 508565 BLAKE2B 2b5095613854c8e77e5e5ac8bb67b3d631bb29515c8d958e7cedb81a56c03d639663602f01337e191084f1511a6cb921a85394ecc8ac64af2270cf75cdc44262 SHA512 76865df4fdb2a9df45e47589b76b34d0d9d9251491091683e47b4509863e32e46dc62ee2f760b983f0f762b8288d1ea7f32268a6857c049ad12f399908e19c82
+DIST psutil-6.1.1.tar.gz 508502 BLAKE2B ebd8ee40cd86fdbc1ed70e192228889dbae74295ba5b17baa629ca8c3d05945b61ad4b02a836af30886bbf78d65de842cd25486c292ed5b727f37645c6bde93b SHA512 db8a2f4b0b451ca46aaa21b1faae03c4328b1effd04f240a7c8efc94a1c8ca7fc080fc6d16f6ca2046b9232ec43e447be0c414b125f8f511131dc6dff95bd72c
diff --git a/dev-python/psutil/psutil-6.1.1.ebuild b/dev-python/psutil/psutil-6.1.1.ebuild
new file mode 100644
index 000000000000..b68df58e1d2c
--- /dev/null
+++ b/dev-python/psutil/psutil-6.1.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="
+ https://github.com/giampaolo/psutil/
+ https://pypi.org/project/psutil/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # hardcoded assumptions about the test environment
+ tests/test_linux.py::TestRootFsDeviceFinder::test_disk_partitions_mocked
+ tests/test_linux.py::TestSystemDiskPartitions::test_zfs_fs
+ tests/test_linux.py::TestSystemNetIfAddrs::test_ips
+ tests/test_posix.py::TestProcess::test_nice
+ tests/test_process.py::TestProcess::test_ionice_linux
+ tests/test_system.py::TestDiskAPIs::test_disk_partitions
+
+ # mocking is broken
+ tests/test_linux.py::TestSensorsBattery::test_emulate_energy_full_0
+ tests/test_linux.py::TestSensorsBattery::test_emulate_energy_full_not_avail
+ tests/test_linux.py::TestSensorsBattery::test_emulate_no_power
+ tests/test_linux.py::TestSensorsBattery::test_emulate_power_undetermined
+
+ # doesn't like sandbox injecting itself
+ tests/test_process.py::TestProcess::test_weird_environ
+
+ # extremely flaky
+ tests/test_linux.py::TestSystemVirtualMemoryAgainstFree::test_used
+ tests/test_linux.py::TestSystemVirtualMemoryAgainstVmstat::test_used
+
+ # nproc --all is broken?
+ tests/test_linux.py::TestSystemCPUCountLogical::test_against_nproc
+
+ # broken on some architectures
+ tests/test_linux.py::TestSystemCPUCountCores::test_method_2
+ tests/test_linux.py::TestSystemCPUCountLogical::test_emulate_fallbacks
+ tests/test_linux.py::TestSystemCPUFrequency::test_emulate_use_cpuinfo
+ tests/test_linux.py::TestSystemCPUFrequency::test_emulate_use_second_file
+ tests/test_system.py::TestCpuAPIs::test_cpu_freq
+ tests/test_system.py::TestCpuAPIs::test_cpu_times_comparison
+
+ # broken in some setups
+ tests/test_linux.py::TestMisc::test_issue_687
+ tests/test_linux.py::TestProcessAgainstStatus::test_cpu_affinity
+ tests/test_linux.py::TestSystemCPUStats::test_interrupts
+ tests/test_posix.py::TestProcess::test_cmdline
+ tests/test_posix.py::TestProcess::test_name
+ tests/test_posix.py::TestSystemAPIs::test_users
+ tests/test_process.py::TestProcess::test_terminal
+ tests/test_unicode.py::TestFSAPIs::test_memory_maps
+
+ # fails on all AT containers
+ tests/test_system.py::TestMiscAPIs::test_users
+
+ # failing without /sys/class/power_supply?
+ tests/test_memleaks.py::TestModuleFunctionsLeaks::test_sensors_battery
+ tests/test_misc.py::TestMisc::test_serialization
+ )
+
+ # Since we are running in an environment a bit similar to CI,
+ # let's skip the tests that are disabled for CI
+ local -x TRAVIS=1
+ local -x APPVEYOR=1
+ local -x GITHUB_ACTIONS=1
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf psutil || die
+ epytest --pyargs psutil
+}
+
+python_compile() {
+ # Force -j1 to avoid .o linking race conditions
+ local MAKEOPTS=-j1
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pyside6-tools/Manifest b/dev-python/pyside6-tools/Manifest
index 8f53c5c18479..b92dd7da176e 100644
--- a/dev-python/pyside6-tools/Manifest
+++ b/dev-python/pyside6-tools/Manifest
@@ -1,2 +1,3 @@
+DIST pyside-pyside-setup-6.8.1.gh.tar.gz 18700869 BLAKE2B 5924f8ffc3e5a4f15442af9191b0531ee9f509595d41ae2759b94c2a7f8d7e08f4a70f9c7fff07f11c5252afb77084dc21ca3b22762d6c8dd66f4fca5944c9f2 SHA512 941844b1f6711859add828cbefe7c39497d45f0936f970f3050631294ed3bfe88d9d7b827a81d61ba3efbbf7920daef6ea6c28fa9c78f8e672d68b8bd3fbb2ad
DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e
DIST pyside-setup-everywhere-src-6.7.3.tar.xz 14591496 BLAKE2B dfe21f8d9af346e43720685982ee736974661059f83e7f22e59ef98d444d181a5f6235e41db4c40c83697401e45dbc4e8765e6351702d4f300d1c63e5789a4d5 SHA512 5e4292b9809df571e1aa3db7c1366973aecf5aaba6638c78d676413985a965aa23b694ba287bdc1d9b8dca59ac24b8229021db6f5a2b5818c929cbada7ef7491
diff --git a/dev-python/pyside6-tools/pyside6-tools-6.8.1.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.8.1.ebuild
new file mode 100644
index 000000000000..2de6be843010
--- /dev/null
+++ b/dev-python/pyside6-tools/pyside6-tools-6.8.1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+LLVM_COMPAT=( {15..18} )
+
+inherit cmake llvm-r1 python-r1
+
+MY_PN=pyside-pyside-setup
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="PySide development tools (pyside6-lupdate with support for Python)"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://github.com/qtproject/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz"
+S="${WORKDIR}/${MY_P}/sources/pyside-tools"
+
+LICENSE="GPL-2"
+SLOT="6/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:6"
+
+RDEPEND="${PYTHON_DEPS}
+ =dev-python/shiboken6-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ =dev-python/pyside6-${QT_PV}[quick,${PYTHON_USEDEP},${LLVM_USEDEP}]
+ !dev-python/pyside6-tools:0
+"
+DEPEND="${RDEPEND}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ ')
+"
+
+src_prepare() {
+ cmake_src_prepare
+
+ python_copy_sources
+}
+
+src_configure() {
+ pyside-tools_configure() {
+ local mycmakeargs=(
+ # If this is enabled cmake just makes copies of /lib64/qt6/bin/*
+ -DNO_QT_TOOLS=yes
+ )
+ cmake_src_configure
+ }
+
+ python_foreach_impl pyside-tools_configure
+}
+
+src_compile() {
+ pyside-tools_compile() {
+ cmake_src_compile
+ }
+
+ python_foreach_impl pyside-tools_compile
+}
+
+src_install() {
+ pyside-tools_install() {
+ # This replicates the contents of the PySide6 pypi wheel
+ DESTDIR="${BUILD_DIR}" cmake_build install
+ cp __init__.py "${BUILD_DIR}/usr/bin" || die
+ rm -r "${BUILD_DIR}/usr/bin/qtpy2cpp_lib/tests" || die
+ python_moduleinto PySide6/scripts
+ python_domodule "${BUILD_DIR}/usr/bin/."
+ }
+
+ python_foreach_impl pyside-tools_install
+
+ einstalldocs
+}
diff --git a/dev-python/pyside6/Manifest b/dev-python/pyside6/Manifest
index 8f53c5c18479..b92dd7da176e 100644
--- a/dev-python/pyside6/Manifest
+++ b/dev-python/pyside6/Manifest
@@ -1,2 +1,3 @@
+DIST pyside-pyside-setup-6.8.1.gh.tar.gz 18700869 BLAKE2B 5924f8ffc3e5a4f15442af9191b0531ee9f509595d41ae2759b94c2a7f8d7e08f4a70f9c7fff07f11c5252afb77084dc21ca3b22762d6c8dd66f4fca5944c9f2 SHA512 941844b1f6711859add828cbefe7c39497d45f0936f970f3050631294ed3bfe88d9d7b827a81d61ba3efbbf7920daef6ea6c28fa9c78f8e672d68b8bd3fbb2ad
DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e
DIST pyside-setup-everywhere-src-6.7.3.tar.xz 14591496 BLAKE2B dfe21f8d9af346e43720685982ee736974661059f83e7f22e59ef98d444d181a5f6235e41db4c40c83697401e45dbc4e8765e6351702d4f300d1c63e5789a4d5 SHA512 5e4292b9809df571e1aa3db7c1366973aecf5aaba6638c78d676413985a965aa23b694ba287bdc1d9b8dca59ac24b8229021db6f5a2b5818c929cbada7ef7491
diff --git a/dev-python/pyside6/metadata.xml b/dev-python/pyside6/metadata.xml
index 731d1c1f28b2..765f9555d14d 100644
--- a/dev-python/pyside6/metadata.xml
+++ b/dev-python/pyside6/metadata.xml
@@ -19,6 +19,7 @@
<flag name="gles2-only">Build QtGui "QOpenGL*" classes</flag>
<flag name="gui">Build QtGui module</flag>
<flag name="help">Build QtHelp module</flag>
+ <flag name="httpserver">Build QtHttpServer module</flag>
<flag name="location">Build QtLocation module</flag>
<flag name="multimedia">Build QtMultimedia and QtMultimediaWidgets modules</flag>
<flag name="network">Build QtNetwork module</flag>
@@ -37,7 +38,9 @@
<flag name="speech">Build QtTextToSpeech module</flag>
<flag name="sql">Build QtSql module</flag>
<flag name="svg">Build QtSvg module</flag>
+ <flag name="remoteobjects">Build QtRemoteObjects module</flag>
<flag name="testlib">Build QtTest module</flag>
+ <flag name="uitools">Build UITools module</flag>
<flag name="webchannel">Build QtWebChannel module</flag>
<flag name="webengine">Build QtWebEngine and QtWebEngineWidgets modules</flag>
<flag name="websockets">Build QtWebSockets module</flag>
diff --git a/dev-python/pyside6/pyside6-6.8.1.ebuild b/dev-python/pyside6/pyside6-6.8.1.ebuild
new file mode 100644
index 000000000000..b7386604992b
--- /dev/null
+++ b/dev-python/pyside6/pyside6-6.8.1.ebuild
@@ -0,0 +1,253 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+LLVM_COMPAT=( {15..18} )
+
+inherit cmake llvm-r1 python-r1 virtualx
+
+# TODO: Add conditional support for apidoc generation via a new "doc" USE flag.
+# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once
+# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support.
+# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note
+# that the "PySide6/QtGui/CMakeLists.txt" and
+# "PySide6/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by
+# testing whether the "Qt5::Gui" list property defined by
+# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation
+# time contains the substring "opengles2". Since cmake does not permit
+# properties to be overridden from the command line, these files must instead
+# be conditionally patched to avoid these tests. An issue should be filed with
+# upstream requesting a CLI-settable variable to control this.
+
+MY_PN=pyside-pyside-setup
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://github.com/qtproject/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz"
+S="${WORKDIR}/${MY_P}/sources/pyside6"
+
+# See "sources/pyside6/PySide6/licensecomment.txt" for licensing details.
+# Shall we allow essential modules to be disabled? They are:
+# (core), gui, widgets, printsupport, sql, network, testlib, concurrent,
+# x11extras (for X)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
+SLOT="6/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="
+ 3d bluetooth charts +concurrent +dbus designer gles2-only +gui help
+ httpserver location multimedia +network network-auth nfc positioning +opengl
+ pdfium positioning +printsupport qml quick quick3d remoteobjects serialport
+ scxml sensors spatialaudio speech +sql svg test +testlib uitools webchannel
+ webengine websockets +widgets +xml
+"
+
+# Manually reextract these requirements on version bumps by running the
+# following one-liner from within "${S}":
+# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ 3d? ( gui network )
+ charts? ( gui widgets )
+ designer? ( widgets )
+ gles2-only? ( gui )
+ gui? ( dbus opengl )
+ help? ( network sql widgets )
+ httpserver? ( concurrent network websockets )
+ location? ( gui network positioning quick )
+ multimedia? ( gui network )
+ network-auth? ( network )
+ opengl? ( gui )
+ pdfium? ( gui )
+ printsupport? ( widgets )
+ qml? ( network )
+ quick? ( gui network opengl qml )
+ quick3d? ( gui network opengl qml quick )
+ remoteobjects? ( network )
+ spatialaudio? ( multimedia )
+ speech? ( multimedia )
+ sql? ( widgets )
+ svg? ( gui )
+ testlib? ( widgets )
+ uitools? ( widgets )
+ webchannel? ( qml )
+ webengine? ( network gui printsupport quick webchannel )
+ websockets? ( network )
+ widgets? ( gui )
+"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:6"
+
+RDEPEND="${PYTHON_DEPS}
+ =dev-python/shiboken6-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?]
+ 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
+ bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
+ charts? ( =dev-qt/qtcharts-${QT_PV} )
+ designer? ( =dev-qt/qttools-${QT_PV}[designer,widgets] )
+ gui? (
+ =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)]
+ x11-libs/libxkbcommon
+ )
+ help? ( =dev-qt/qttools-${QT_PV}[assistant] )
+ httpserver? ( =dev-qt/qthttpserver-${QT_PV} )
+ location? ( =dev-qt/qtlocation-${QT_PV} )
+ multimedia? ( =dev-qt/qtmultimedia-${QT_PV} )
+ network? ( =dev-qt/qtbase-${QT_PV}[ssl] )
+ network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} )
+ nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] )
+ pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
+ positioning? ( =dev-qt/qtpositioning-${QT_PV} )
+ printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] )
+ qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick3d? ( =dev-qt/qtquick3d-${QT_PV} )
+ remoteobjects? ( =dev-qt/qtremoteobjects-${QT_PV} )
+ scxml? ( =dev-qt/qtscxml-${QT_PV} )
+ sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
+ speech? ( =dev-qt/qtspeech-${QT_PV} )
+ serialport? ( =dev-qt/qtserialport-${QT_PV} )
+ svg? ( =dev-qt/qtsvg-${QT_PV} )
+ testlib? ( =dev-qt/qtbase-${QT_PV}[gui] )
+ uitools? ( =dev-qt/qttools-${QT_PV}[widgets] )
+ webchannel? ( =dev-qt/qtwebchannel-${QT_PV} )
+ webengine? ( || (
+ =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?]
+ =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?]
+ )
+ )
+ websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
+ !dev-python/pyside6:0
+"
+DEPEND="${RDEPEND}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ ')
+ test? ( =dev-qt/qtbase-${QT_PV}[gui] )
+"
+# testlib is toggled by the gui flag on qtbase
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
+ # References files not present in our dev-qt/qtbase
+ "${FILESDIR}/${PN}-6.6.0-no-qtexampleicons.patch"
+)
+
+src_configure() {
+ # See collect_module_if_found macros in PySideHelpers.cmake
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DAnimation=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DCore=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DExtras=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DInput=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DLogic=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DRender=$(usex !3d)
+ #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Bluetooth=$(usex !bluetooth)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Charts=$(usex !charts)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Concurrent=$(usex !concurrent)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DataVisualization=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DBus=$(usex !dbus)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Designer=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Gui=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Help=$(usex !help)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6HttpServer=$(usex !httpserver)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Location=$(usex !location)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Multimedia=$(usex !multimedia)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6NetworkAuth=$(usex !network-auth)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Network=$(usex !network)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Nfc=$(usex !nfc)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGL=$(usex !opengl)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGLWidgets=$(usex !opengl yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Pdf=$(usex !pdfium)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PdfWidgets=$(usex !pdfium yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning=$(usex !positioning)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PrintSupport=$(usex !printsupport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Qml=$(usex !qml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick3D=$(usex !quick3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickControls2=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=$(usex !quick yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6RemoteObjects=$(usex !remoteobjects)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Scxml=$(usex !scxml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sensors=$(usex !sensors)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort=$(usex !serialport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SpatialAudio=$(usex !spatialaudio)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sql=$(usex !sql)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6StateMachine=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Svg=$(usex !svg)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SvgWidgets=$(usex !svg yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Test=$(usex !testlib)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6TextToSpeech=$(usex !speech)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6UiTools=$(usex !uitools)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel=$(usex !webchannel)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineCore=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick=$(usex !webengine yes $(usex !quick))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebSockets=$(usex !websockets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets=$(usex !widgets)
+ #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6WinExtras=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Xml=$(usex !xml)
+ # try to avoid pre-stripping
+ -DQFP_NO_OVERRIDE_OPTIMIZATION_FLAGS=yes
+ -DQFP_NO_STRIP=yes
+
+ )
+
+ pyside6_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
+ -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}"
+ )
+ cmake_src_configure
+ }
+ python_foreach_impl pyside6_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ local -x PYTHONDONTWRITEBYTECODE
+ python_foreach_impl virtx cmake_src_test
+}
+
+src_install() {
+ pyside6_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the shiboken6 pkgconfig dependency in the PySide6 pkgconfig
+ # file for the current Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \
+ "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
+
+ # Uniquify the PySide6 pkgconfig file for the current Python target,
+ # preserving an unversioned "pyside6.pc" file arbitrarily associated
+ # with the last Python target. (See the previously linked issue.)
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl pyside6_install
+
+ # CMakeLists.txt installs a "PySide6Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., pyside6-tools) to target one
+ # "libpyside6-*.so" library linked to one Python interpreter. See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i -e 's~pyside6-python[[:digit:]]\+\.[[:digit:]]\+~pyside6${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)/cmake/PySide6/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
+}
diff --git a/dev-python/qtpy/metadata.xml b/dev-python/qtpy/metadata.xml
index c2a42f283124..994d0a7bbab7 100644
--- a/dev-python/qtpy/metadata.xml
+++ b/dev-python/qtpy/metadata.xml
@@ -25,13 +25,18 @@
<flag name="help">Pull in bindings for the QtHelp module</flag>
<flag name="multimedia">Pull in QtMultimedia and QtMultimediaWidgets modules</flag>
<flag name="network">Pull in bindings for the QtNetwork module</flag>
+ <flag name="nfc">Pull in bindings for the QtNFC module</flag>
<flag name="opengl">Pull in bindings for the QtOpenGL module</flag>
+ <flag name="pdfium">Pull in bindings for the QtPDFium module</flag>
<flag name="positioning">Pull in bindings for the QtPositioning module</flag>
<flag name="printsupport">Pull in bindings for the QtPrintSupport module</flag>
<flag name="qml">Build bindings for the QtQml</flag>
<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="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>
<flag name="speech">Pull in bindings for the QtTextToSpeech module</flag>
<flag name="sql">Pull in bindings for the QtSql module</flag>
<flag name="svg">Pull in bindings for the QtSvg module</flag>
diff --git a/dev-python/qtpy/qtpy-2.4.2-r1.ebuild b/dev-python/qtpy/qtpy-2.4.2-r1.ebuild
new file mode 100644
index 000000000000..b1c3d0ac5b78
--- /dev/null
+++ b/dev-python/qtpy/qtpy-2.4.2-r1.ebuild
@@ -0,0 +1,186 @@
+# Copyright 1999-2024 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 sensors serialport
+ spatialaudio speech +sql svg testlib 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 )
+# scxml? ( pyside6 only )
+# uitools? ( pyside6 only )
+# location? ( pyside6 only)
+# network-auth? ( pyside6 only )
+#
+# vulkan? ( pyqt6 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[sensors?,serialport?,spatialaudio?,speech?,sql?,svg?]
+ dev-python/pyqt6[testlib?,webchannel?,websockets?,widgets?,xml?]
+ webengine? ( dev-python/pyqt6-webengine[${PYTHON_USEDEP},widgets?,quick?] )
+
+ )
+ pyside6? (
+ dev-python/pyside6[${PYTHON_USEDEP}]
+ dev-python/pyside6[bluetooth?,dbus?,designer?,gui?,help?,multimedia?]
+ dev-python/pyside6[network?,nfc?,opengl?,pdfium?,positioning?]
+ dev-python/pyside6[printsupport?,qml?,quick?,quick3d?,remoteobjects(-)?]
+ dev-python/pyside6[sensors?,serialport?,spatialaudio?,speech?,sql?,svg?]
+ dev-python/pyside6[testlib?,webchannel?,webengine?,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,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/pyside6[${PYTHON_USEDEP}]
+ dev-python/pyside6[3d,bluetooth,charts,concurrent,dbus,designer,gui]
+ dev-python/pyside6[help,location,multimedia,network,network-auth]
+ dev-python/pyside6[nfc,opengl,pdfium,positioning,printsupport,qml]
+ dev-python/pyside6[quick,quick3d,scxml,sensors,serialport]
+ dev-python/pyside6[spatialaudio,speech,sql,svg,testlib,webchannel]
+ dev-python/pyside6[webengine,websockets,widgets,xml]
+ dev-python/pyside6-tools[${PYTHON_USEDEP}]
+ 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/respx/Manifest b/dev-python/respx/Manifest
index 899bbf1b2a9f..6343234dbd40 100644
--- a/dev-python/respx/Manifest
+++ b/dev-python/respx/Manifest
@@ -1 +1,2 @@
DIST respx-0.21.1.gh.tar.gz 432341 BLAKE2B b375e8bc9370e13855197487e1e8139cf3fede0f03d7ad034ef2c78bce5ad95d3cb8cc7440c2566d188a98a52d0068c13288c7d4ec802e04d2f269a64e1ce326 SHA512 156f34f4635012230b68812f24978136f37f96dc0cf0ea9e80ed2d6a3e0639eb7591ed34933f75d5cda32993852aa034b22389af0fed341ab4ad1002482f2e9c
+DIST respx-0.22.0.gh.tar.gz 432547 BLAKE2B 60fb516b3793faeea8f236c3ccfae7dcf20087eb8af8f1fb8c128de454b9fa395f4c7ed6fc5c94c59eff225525de6bc7c2b89bedf882028076fa9fb668a46ac9 SHA512 3cc84edced79475764b00369b5926bb5a74627b3f0c966fdf4e96a1a5944b8ea2fccaa39f77ebde62324762cb4ff5e0b611c910093fc3010e8c8e1dbbbe678e3
diff --git a/dev-python/respx/respx-0.22.0-r1.ebuild b/dev-python/respx/respx-0.22.0-r1.ebuild
new file mode 100644
index 000000000000..f8bfdeb25706
--- /dev/null
+++ b/dev-python/respx/respx-0.22.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2024 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="Mock HTTPX with awesome request patterns and response side effects"
+HOMEPAGE="
+ https://lundberg.github.io/respx/
+ https://pypi.org/project/respx/
+ https://github.com/lundberg/respx/
+"
+# no tests in pypi sdist
+SRC_URI="
+ https://github.com/lundberg/respx/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httpx-0.28.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/httpcore[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -p 'no:*' -p asyncio -o addopts=
+}
diff --git a/dev-python/rfc3161-client/Manifest b/dev-python/rfc3161-client/Manifest
index 4cc411209cc8..965fc9ca671c 100644
--- a/dev-python/rfc3161-client/Manifest
+++ b/dev-python/rfc3161-client/Manifest
@@ -58,6 +58,7 @@ DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e
DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
DIST rfc3161-client-0.0.4.gh.tar.gz 41498 BLAKE2B ad9b60e47d4afcaa5cf636de26de63fcac12ffa8233df2ac00332fc864722b87f10ac3273f4eca27d583f671a1db232db1efbfb43984ac604b3ec0286b25a884 SHA512 6dadb73171f8741350ba0a8197ba42a7e6a7bd4960bf9e955ef0ab37ec74c02e64765ba0217d4e36a39a07bed4494f3e0ed94c93aeee68ec9f5bb28b6d85e43f
DIST rfc3161-client-0.1.1.gh.tar.gz 40970 BLAKE2B 1df8ff4043beeee74dc475eb305158735a7383d93bf6c5940fa17fae0f0dd3dfacd4c7d533266d1a03d624af710a4ac57253a1fae063c6825c6b9f67a6e38997 SHA512 15415d206bcbde828a322fdf567a2b45a5c8e099d500da34d25d1531481160e02f9f1e61bec1e2e808d8018ecd6e30b0de02f99e0e80b9504019db9d40d0e563
+DIST rfc3161-client-0.1.2.gh.tar.gz 41256 BLAKE2B e72b646ee3b9389dad21747f3380e8fefd418804ffd6a2460bd04df6d546ca20e20a6172d1c4837b9aa357bf09fec81945edfd9ae1a1b9b59708fb6ab20148e7 SHA512 282cbb9c5074a018fac4bd5b4fd8b4d8bd5e4da124e3461ee2cb57baa370a52c5cc76398b41a7d3de71db0a6ec1b95c11969daee1c252f6c306e2eb7a72d5821
DIST self_cell-1.0.4.crate 15220 BLAKE2B 9a617058652ab2a2e92434b6eef58a813ce0be5afed9525c4d4c819c25c7cd87aaa12d129c8c4ca9d74c3ea33d81e9dd295f121887070364185b9ab33021544c SHA512 042467e5f3ac0305e2a634df0b9a9379e92b54813e05c3a7652d5327a4a9a784f49e897c968c5c7a87017284d42a889b5420ad18e97ea84183e0283a46dc907a
DIST self_cell-1.1.0.crate 16636 BLAKE2B e13390f77e929084c0cf5f3a4e4af55989f8028128c4f42f318e83890d24b8234075088750f406992d6b0e06e63cecac51f7ac73e74c121502eecfb68a40398f SHA512 06bb4a3c09c76b0814b60641be8f0bc22bdbf1b715a84e740720aad69f4ade1ba27e130e45699a379692b543b0b2f2d0d04c587a48b90e42aabc0d27acfe9465
DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785
diff --git a/dev-python/rfc3161-client/rfc3161-client-0.1.2.ebuild b/dev-python/rfc3161-client/rfc3161-client-0.1.2.ebuild
new file mode 100644
index 000000000000..67be3843060e
--- /dev/null
+++ b/dev-python/rfc3161-client/rfc3161-client-0.1.2.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2024 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} )
+
+CRATES="
+ asn1@0.20.0
+ asn1_derive@0.20.0
+ autocfg@1.4.0
+ bitflags@2.6.0
+ block-buffer@0.10.4
+ byteorder@1.5.0
+ cc@1.2.2
+ cfg-if@1.0.0
+ cpufeatures@0.2.16
+ crypto-common@0.1.6
+ digest@0.10.7
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ generic-array@0.14.7
+ getrandom@0.2.15
+ heck@0.5.0
+ hex@0.4.3
+ indoc@2.0.5
+ itoa@1.0.14
+ libc@0.2.167
+ memoffset@0.9.1
+ once_cell@1.20.2
+ openssl-macros@0.1.1
+ openssl-src@300.4.1+3.4.0
+ openssl-sys@0.9.104
+ openssl@0.10.68
+ pkg-config@0.3.31
+ portable-atomic@1.10.0
+ ppv-lite86@0.2.20
+ proc-macro2@1.0.92
+ pyo3-build-config@0.23.3
+ pyo3-ffi@0.23.3
+ pyo3-macros-backend@0.23.3
+ pyo3-macros@0.23.3
+ pyo3@0.23.3
+ quote@1.0.37
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ self_cell@1.1.0
+ sha2@0.10.8
+ shlex@1.3.0
+ syn@2.0.90
+ target-lexicon@0.12.16
+ typenum@1.17.0
+ unicode-ident@1.0.14
+ unindent@0.2.3
+ vcpkg@0.2.15
+ version_check@0.9.5
+ wasi@0.11.0+wasi-snapshot-preview1
+ zerocopy-derive@0.7.35
+ zerocopy@0.7.35
+"
+
+declare -A GIT_CRATES=(
+ [cryptography-x509]='https://github.com/pyca/cryptography;f299a48153650f2dd87716343f2daa7cd39a1f59;cryptography-%commit%/src/rust/cryptography-x509'
+)
+
+inherit cargo distutils-r1
+
+DESCRIPTION="An Opinionated Python RFC3161 Client"
+HOMEPAGE="
+ https://github.com/trailofbits/rfc3161-client/
+ https://pypi.org/project/rfc3161-client/
+"
+# no tests in sdist, as of 0.0.4
+SRC_URI="
+ https://github.com/trailofbits/rfc3161-client/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ =dev-python/cryptography-44*[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+
+ cargo_src_test
+}
diff --git a/dev-python/shiboken6/Manifest b/dev-python/shiboken6/Manifest
index 8f53c5c18479..b92dd7da176e 100644
--- a/dev-python/shiboken6/Manifest
+++ b/dev-python/shiboken6/Manifest
@@ -1,2 +1,3 @@
+DIST pyside-pyside-setup-6.8.1.gh.tar.gz 18700869 BLAKE2B 5924f8ffc3e5a4f15442af9191b0531ee9f509595d41ae2759b94c2a7f8d7e08f4a70f9c7fff07f11c5252afb77084dc21ca3b22762d6c8dd66f4fca5944c9f2 SHA512 941844b1f6711859add828cbefe7c39497d45f0936f970f3050631294ed3bfe88d9d7b827a81d61ba3efbbf7920daef6ea6c28fa9c78f8e672d68b8bd3fbb2ad
DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e
DIST pyside-setup-everywhere-src-6.7.3.tar.xz 14591496 BLAKE2B dfe21f8d9af346e43720685982ee736974661059f83e7f22e59ef98d444d181a5f6235e41db4c40c83697401e45dbc4e8765e6351702d4f300d1c63e5789a4d5 SHA512 5e4292b9809df571e1aa3db7c1366973aecf5aaba6638c78d676413985a965aa23b694ba287bdc1d9b8dca59ac24b8229021db6f5a2b5818c929cbada7ef7491
diff --git a/dev-python/shiboken6/shiboken6-6.8.1.ebuild b/dev-python/shiboken6/shiboken6-6.8.1.ebuild
new file mode 100644
index 000000000000..24e598fdb89c
--- /dev/null
+++ b/dev-python/shiboken6/shiboken6-6.8.1.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Split the "/usr/bin/shiboken6" binding generator from the
+# "/usr/lib64/libshiboken6-*.so" family of shared libraries. The former
+# requires everything (including Clang) at runtime; the latter only requires
+# Qt and Python at runtime. Note that "pip" separates these two as well. See:
+# https://doc.qt.io/qtforpython/shiboken6/faq.html#is-there-any-runtime-dependency-on-the-generated-binding
+# Once split, the PySide6 ebuild should be revised to require
+# "/usr/bin/shiboken6" at build time and "libshiboken6-*.so" at runtime.
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+LLVM_COMPAT=( {15..18} )
+
+inherit cmake llvm-r1 python-r1 toolchain-funcs
+
+MY_PN=pyside-pyside-setup
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python binding generator for C++ libraries"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://github.com/qtproject/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz"
+S="${WORKDIR}/${MY_P}/sources/shiboken6"
+
+# The "sources/shiboken6/libshiboken" directory is triple-licensed under the
+# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3
+# with version 1.0 of a Qt-specific exception enabling shiboken6 output to be
+# arbitrarily relicensed. (TODO)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
+SLOT="6/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="+docstrings numpy test vulkan"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:6"
+
+# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
+RDEPEND="${PYTHON_DEPS}
+ =dev-qt/qtbase-${QT_PV}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ ')
+ docstrings? (
+ >=dev-libs/libxml2-2.6.32
+ >=dev-libs/libxslt-1.1.19
+ )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ vulkan? ( dev-util/vulkan-headers )
+ !dev-python/shiboken6:0
+"
+DEPEND="${RDEPEND}
+ test? ( =dev-qt/qtbase-${QT_PV}[gui] )
+"
+# testlib is toggled by the gui flag on qtbase
+
+DOCS=( AUTHORS )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
+)
+
+src_prepare() {
+ # TODO: File upstream issue requesting a sane way to disable NumPy support.
+ if ! use numpy; then
+ sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \
+ libshiboken/CMakeLists.txt || die
+ fi
+
+ # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include"
+ # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
+ if use vulkan; then
+ sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+ fi
+
+ local clangver="$(CPP=clang clang-major-version)"
+
+ # Clang 15 and older used the full version as a directory name.
+ if [[ ${clangver} -lt 16 ]]; then
+ clangver="$(CPP=clang clang-fullversion)"
+ fi
+
+ # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
+ # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
+ # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
+ # the largest version specifier that exists under the "/usr/lib/clang/"
+ # subdirectory. This assumption is false in edge cases, including when
+ # users downgrade from newer Clang versions but fail to remove those
+ # versions with "emerge --depclean". See also:
+ # https://github.com/leycec/raiagent/issues/85
+ #
+ # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
+ # eclass are defective, returning nonsensical placeholder strings if the
+ # end user has *NOT* explicitly configured their C++ compiler to be Clang.
+ # PySide6 does *NOT* care whether the end user has done so or not, as
+ # PySide6 unconditionally requires Clang in either case. See also:
+ # https://bugs.gentoo.org/619490
+ sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${clangver}"'/include"))~' \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Minimal tests for now, 2 failing with the extended version
+ # FIXME Subscripted generics cannot be used with class and instance checks
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DDISABLE_DOCSTRINGS=$(usex !docstrings)
+ )
+
+ shiboken6_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DUSE_PYTHON_VERSION="${EPYTHON#python}"
+ -DFORCE_LIMITED_API=OFF
+ )
+ # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable.
+ local -x LLVM_INSTALL_DIR="$(get_llvm_prefix)"
+ cmake_src_configure
+ }
+ python_foreach_impl shiboken6_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ python_foreach_impl cmake_src_test
+}
+
+src_install() {
+ shiboken6_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the "shiboken6" executable for the current Python target,
+ # preserving an unversioned "shiboken6" file arbitrarily associated
+ # with the last Python target.
+ cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die
+
+ # Uniquify the Shiboken6 pkgconfig file for the current Python target,
+ # preserving an unversioned "shiboken6.pc" file arbitrarily associated
+ # with the last Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl shiboken6_install
+
+ # CMakeLists.txt installs a "Shiboken6Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., PySide6) to target one "libshiboken6-*.so"
+ # library and one "shiboken6" executable linked to one Python interpreter.
+ # See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i \
+ -e 's~shiboken6-python[[:digit:]]\+\.[[:digit:]]\+~shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
+ -e 's~/bin/shiboken6~/bin/shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)"/cmake/Shiboken6/Shiboken6Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
+
+ # Remove the broken "shiboken_tool.py" script. By inspection, this script
+ # reduces to a noop. Moreover, this script raises the following exception:
+ # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py'
+ rm "${ED}"/usr/bin/shiboken_tool.py || die
+}
diff --git a/dev-python/sigstore/Manifest b/dev-python/sigstore/Manifest
index 69246c63df9c..2a70ecae268e 100644
--- a/dev-python/sigstore/Manifest
+++ b/dev-python/sigstore/Manifest
@@ -1,2 +1,3 @@
DIST sigstore-python-3.5.3.gh.tar.gz 201724 BLAKE2B 7b73ecd51944bc461213044931b7cfd3986442e9dc380cad5093c5f8dba82142c4a556bf9e43d869373df3d4ec07d8f023dde907045b2a172cfa06fd874e5907 SHA512 53d9876470156f91eb21e4e32ef1f61101e4a4011b689ad0b808414e19296266f66fc2bde1d5ad8178c3bb71824e1b30213672d8f1a311fb80a9fb4623a8a1cc
DIST sigstore-python-3.6.0.gh.tar.gz 235198 BLAKE2B f0b7acdc6cb3b903b7938c319d220479e4e0532fbb625f4e6543b76e12ca32e6e551eb51c9d383fcea996ff410599a36d463fb53b88c8b44bc08d5a15a82b03a SHA512 cde7ae0df8f727659ed4c803143c1b49bb1045c9e96b137f095896b66a8b04269201f93e481965b6eca72b050468ba0c7a56ceb51f44523de90d114b23deff89
+DIST sigstore-python-3.6.1.gh.tar.gz 278434 BLAKE2B 9591a6937c30ee7a8b429075154309e5da78e5949ef0d27874237b8d7820c771e86b4640feeca8d6a5499ecc9f856ca45b0bc017ab6ce1c47fbef96aa5f971cf SHA512 daad7cd6e2cab7b511540d491378ee0d5829a6fa8a2c8bd601dcceb7a2ed73b99b4e0d42876b42cd8a510b463c2dd48941dd901dc6414620623b2bd6252bc6af
diff --git a/dev-python/sigstore/sigstore-3.6.1.ebuild b/dev-python/sigstore/sigstore-3.6.1.ebuild
new file mode 100644
index 000000000000..48998690f2a5
--- /dev/null
+++ b/dev-python/sigstore/sigstore-3.6.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 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
+
+MY_P=sigstore-python-${PV}
+DESCRIPTION="A tool for signing Python package distributions"
+HOMEPAGE="
+ https://github.com/sigstore/sigstore-python/
+ https://pypi.org/project/sigstore/
+"
+# no tests in sdist, as of 3.3.0
+SRC_URI="
+ https://github.com/sigstore/sigstore-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ <dev-python/cryptography-45[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-42[${PYTHON_USEDEP}]
+ >=dev-python/id-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.6[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.1[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ~dev-python/rfc3161-client-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/rfc8785-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.0[${PYTHON_USEDEP}]
+ ~dev-python/sigstore-protobuf-specs-0.3.2[${PYTHON_USEDEP}]
+ ~dev-python/sigstore-rekor-types-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/tuf-5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-resources-5.7[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:~=:>=:' pyproject.toml || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest test/unit --skip-online
+}
diff --git a/dev-python/sphinxcontrib-spelling/Manifest b/dev-python/sphinxcontrib-spelling/Manifest
index cedb274abe4a..4144de9fa46f 100644
--- a/dev-python/sphinxcontrib-spelling/Manifest
+++ b/dev-python/sphinxcontrib-spelling/Manifest
@@ -1 +1,2 @@
DIST sphinxcontrib-spelling-8.0.0.tar.gz 37610 BLAKE2B 8ae9fb62a5a7d35194884ce075b27b0e54f54c18d55f9573bc53ef7b2f953011655631e37ac3bb7c988df470c8cdf1cb576e4830c61fddc068e50d382d067751 SHA512 0d8c21ea660516238c43fabb505666dfee15abb39f538c40c6b61f91e20c246b16aa170cd444263507dd51913a27fc7719cddb28f30eab26825b565f70dd3ab6
+DIST sphinxcontrib_spelling-8.0.1.tar.gz 36005 BLAKE2B 75813ea9bc90fc87a657f16b5ca057628041dd5628a2489b259c7009662c9e0dea2c60271c2ee87336e2f0a5cd15e9e360addaad2d8e7ef36863e90ec02e5915 SHA512 8d1e98e50f040b773d117422582315f9535a8a3ccee3984012b3b21e70e8600b325f39579583cace1cd8d3eed096b187eba5e2e9b1ba0f32e5f554ac4b43d48f
diff --git a/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild
new file mode 100644
index 000000000000..edffbf2a71c4
--- /dev/null
+++ b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx spelling extension"
+HOMEPAGE="
+ https://github.com/sphinx-contrib/spelling/
+ https://pypi.org/project/sphinxcontrib-spelling/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/pyenchant-3.1.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.32.3[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ app-dicts/myspell-en
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires the git repo
+ tests/test_filter.py::test_contributors
+
+ # Internet
+ tests/test_filter.py::test_pypi_filter_factory
+ )
+
+ distutils_write_namespace sphinxcontrib
+ rm -rf sphinxcontrib || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests
+}
diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
index 0a37ec1317db..bd8f1d29ac99 100644
--- a/dev-python/spyder/Manifest
+++ b/dev-python/spyder/Manifest
@@ -1,7 +1,4 @@
DIST spyder-5.5.6.gh.tar.gz 16304234 BLAKE2B 9d14b96901276ced1644eef8dd57539036aecb067ee361b6581368b371d56b2008350969224992a35fe10ee177babca7f3e941f43b4cc3f432f6d0dec9104ead SHA512 93ce6ac2e71bd4e81ca4a630a6fe152d1bf3c83d6e5c01dda8f3e5ad2735de1948a86642f5bc589c90616935e997526b26367ce178905ad2b80faf81f36f9164
-DIST spyder-6.0.1.gh.tar.gz 15703963 BLAKE2B 5d4488fffe4889e5609a73c849172a08ed192dfe027940e8931da2ff4d809e52ddf3095c75813ca65225a372e86aece698fd83d5844aa76c5837f98d9c95c137 SHA512 034474c7feb341c5a0f6837ce2c0de6b6a6cc435c63e6d346c389977374b59a1b201495f2d6a692241245d81abda02dbd2a30c57c706506d23033c7347ccade0
-DIST spyder-6.0.2.gh.tar.gz 15751459 BLAKE2B fe20e477ced8f1fd8707691732f9c848b8f67481ae5b5728be65827c482ddf3cb210757675cf79623bf6413c0a44ce26017cdeed18787ddc0906847ff9a0c399 SHA512 ec9f9eb3a1a63947f73018b4a232c5301a01c9fe555980882a87fd2ab60c22919a47d586a1807d859a35f1a425212bc97c59d7659e37a52e3459b32249f18d67
DIST spyder-6.0.3.gh.tar.gz 15774411 BLAKE2B a9089c4d94e29cd38f2a80606ccd51daf443953f605dba22a1d7709b583add24d1a35b519a068e53b111bb96e04c27cb0a49b3d8f6fc88ac2f0e4667146361d0 SHA512 2f71667b54b8e8b85d862cb0e16d3657a2d1ce81bafa3170335866725c63e29e2349d8bff9a34422c9ff018677fd92f98d7f0ff22a064fe08e425492df216091
DIST spyder-docs-6951e02799fc7cd1f29456f1d93cfdcb570dad27.gh.tar.gz 93033557 BLAKE2B 395dd2a8ddb6e1b1408ba46cbe0fa452c1f2e69da1f3b6176401ff7395ace1463e63c696e13ee0b79f992b0ceca86228ad113f95ed7873db1b970452bc679f89 SHA512 c631e720e3ca49413482df294fb032285cf217ba94de299c37cb073e4e2bdeb629d16a139db17c569c74c628c50789c90d6085383886d32fa26b942711ccedc0
-DIST spyder-docs-d153e129b426b4fc95b1d66e692bf8a78cf40790.gh.tar.gz 93358065 BLAKE2B 7ad139ac9496d1817b0a8a69ba84bbbcd92081c5dd1d885011cbf8cc8cb4180f84a95222a0d89b3d41c352cb64e9ef87a8b31220e3d14e3efc63994f0623f07a SHA512 701e20113ae7b4894a4c08db967fbd7cbfbc894c4e5db74ad98451ebd03b8858ddfb3910238659f79a28e5e6cc9f76e05967ad7d8c4e27b0b5e6ea0551b2ceac
DIST spyder-docs-fa91f0e9c8c2da33e7ec974e6b0e2a5ed6f04b10.gh.tar.gz 93358798 BLAKE2B 81f4d1d7b1244cb05df621e764c57e856952d9ec1b923a0d6529280651f8e15c586be0c7fe1dc65eed3792033cf0f1e5e8813d79706dbbfca0dcff29cb476831 SHA512 39d0a2d6ef45ebfd3e656916bad18adb7b4f3981e619dcb16fc6160b445cf80a264c4fd8d82f61a51a55774bf2f2a08ac0b1fb4201b2cce9046a0ddd1062daa5
diff --git a/dev-python/spyder/spyder-5.5.6.ebuild b/dev-python/spyder/spyder-5.5.6-r1.ebuild
index 2a829bc96184..1377001d8461 100644
--- a/dev-python/spyder/spyder-5.5.6.ebuild
+++ b/dev-python/spyder/spyder-5.5.6-r1.ebuild
@@ -54,7 +54,7 @@ RDEPEND="
<dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}]
>=dev-python/qtconsole-5.5.1[${PYTHON_USEDEP}]
<dev-python/qtconsole-5.6.0[${PYTHON_USEDEP}]
- >=dev-python/qtpy-2.1.0[${PYTHON_USEDEP},pyqt5,svg,webengine]
+ >=dev-python/qtpy-2.1.0[${PYTHON_USEDEP},pyqt5(-),svg,webengine]
>=dev-python/rtree-0.9.7[${PYTHON_USEDEP}]
>=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
>=dev-python/spyder-kernels-2.5.2[${PYTHON_USEDEP}]
diff --git a/dev-python/spyder/spyder-6.0.1.ebuild b/dev-python/spyder/spyder-6.0.1.ebuild
deleted file mode 100644
index dd1099094859..000000000000
--- a/dev-python/spyder/spyder-6.0.1.ebuild
+++ /dev/null
@@ -1,195 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 optfeature xdg #virtualx
-
-# Commit of documentation to fetch
-DOCS_PV="d153e129b426b4fc95b1d66e692bf8a78cf40790"
-
-DESCRIPTION="The Scientific Python Development Environment"
-HOMEPAGE="
- https://www.spyder-ide.org/
- https://github.com/spyder-ide/spyder/
- https://pypi.org/project/spyder/
-"
-SRC_URI="
- https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
- https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/aiohttp-3.9.3[${PYTHON_USEDEP}]
- >=dev-python/asyncssh-2.14.0[${PYTHON_USEDEP}]
- <dev-python/asyncssh-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}]
- >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
- >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
- >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
- >=dev-python/pygithub-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-black-2.0.0[${PYTHON_USEDEP}]
- <dev-python/python-lsp-black-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/pyuca-1.2[${PYTHON_USEDEP}]
- >=dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}]
- <dev-python/qdarkstyle-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/qtawesome-1.3.1[${PYTHON_USEDEP}]
- <dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/qtconsole-5.6.0[${PYTHON_USEDEP}]
- <dev-python/qtconsole-5.7.0[${PYTHON_USEDEP}]
- >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},quick,svg,webengine]
- >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}]
- >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
- >=dev-python/spyder-kernels-3.0.0[${PYTHON_USEDEP}]
- <dev-python/spyder-kernels-3.1.0[${PYTHON_USEDEP}]
- >=dev-python/superqt-0.6.2[${PYTHON_USEDEP}]
- <dev-python/superqt-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
- >=dev-python/yarl-1.9.4[${PYTHON_USEDEP}]
-"
-
-# BDEPEND="
-# test? (
-# dev-python/cython[${PYTHON_USEDEP}]
-# dev-python/flaky[${PYTHON_USEDEP}]
-# dev-python/matplotlib[tk,${PYTHON_USEDEP}]
-# dev-python/pandas[${PYTHON_USEDEP}]
-# dev-python/pillow[${PYTHON_USEDEP}]
-# dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
-# dev-python/pytest-mock[${PYTHON_USEDEP}]
-# dev-python/pytest-order[${PYTHON_USEDEP}]
-# dev-python/pytest-qt[${PYTHON_USEDEP}]
-# dev-python/pytest-timeout[${PYTHON_USEDEP}]
-# dev-python/pyyaml[${PYTHON_USEDEP}]
-# dev-python/qtpy[${PYTHON_USEDEP}]
-# dev-python/scipy[${PYTHON_USEDEP}]
-# dev-python/sympy[${PYTHON_USEDEP}]
-# )"
-
-# Based on the courtesy of Arfrever
-# This patch removes a call to update-desktop-database during build
-# This fails because access is denied to this command during build
-PATCHES=(
- "${FILESDIR}/${PN}-5.0.0-build.patch"
-)
-
-DOCS=(
- "AUTHORS.txt"
- "Announcements.md"
- "CHANGELOG.md"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "NOTICE.txt"
- "README.md"
- "RELEASE.md"
-)
-
-# distutils_enable_tests pytest
-# TODO: Package sphinx-design
-# distutils_enable_sphinx docs/doc \
-# dev-python/sphinx-panels \
-# dev-python/pydata-sphinx-theme \
-# dev-python/sphinx-multiversion
-
-python_prepare_all() {
- # move docs into workdir
- mv ../spyder-docs-${DOCS_PV}* docs || die
-
- # these dependencies are packaged separately:
- # dev-python/spyder-kernels,
- # dev-python/python-lsp-server,
- # dev-python/qdarkstyle
- rm -r external-deps/* || die
- # runs against things packaged in external-deps dir
- rm conftest.py || die
-
- # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
- # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
- # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
- # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
- # Do not depend on ipython, this dependency is carried in spyder-kernels
- # The explicit version requirements only make things more complicated, if e.g.
- # pyls-spyder gains compatibility with a newer version of python-lsp-server
- # in a new release it will take time for this information to propagate into
- # the next spyder release. So just remove the dependency and let the other
- # ebuilds handle the version requirements to speed things up and prevent
- # issues such as Bug 803269.
- sed -i \
- -e "/'pyqt5[ 0-9<=>.,]*',/d" \
- -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
- -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
- -e "/'parso[ 0-9<=>.,]*',/d" \
- -e "/'jedi[ 0-9<=>.,]*',/d" \
- -e "/'pylint[ 0-9<=>.,]*',/d" \
- setup.py || die
- # -e "/'ipython[ 0-9<=>.,]*',/d" \
- sed -i \
- -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
- -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
- -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
- -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
- -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
- spyder/dependencies.py || die
- # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
-
- # do not check deps, fails because we removed dependencies above
- sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
- spyder/tests/test_dependencies_in_sync.py || die
-
- # skip online test
- rm spyder/widgets/github/tests/test_github_backend.py || die
-
- distutils-r1_python_prepare_all
-}
-
-# Calling pytest directly somehow passes the pytest arguments to spyder
-# causing an invalid argument error
-# python_test() {
-# virtx "${EPYTHON}" runtests.py
-# }
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
- optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
- optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
- optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
- optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
- optfeature "Run Cython files in the IPython console" dev-python/cython
- optfeature "The hdf5/h5py plugin" dev-python/h5py
- optfeature "The line profiler plugin" dev-python/spyder-line-profiler
- optfeature "Vim key bindings" dev-python/spyder-vim
- optfeature "Unittest support" dev-python/spyder-unittest
- optfeature "System terminal inside spyder" dev-python/spyder-terminal
- optfeature "Jupyter notebook support" dev-python/spyder-notebook
- # spyder-memory-profiler is not compatible with spyder-5.2+ yet
- # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
- # spyder-reports not yet updated to >=spyder-4.0.0
- # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
- # Plugins with no release yet:
- # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
- # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
-}
diff --git a/dev-python/spyder/spyder-6.0.2.ebuild b/dev-python/spyder/spyder-6.0.2.ebuild
deleted file mode 100644
index c1d61ad95b78..000000000000
--- a/dev-python/spyder/spyder-6.0.2.ebuild
+++ /dev/null
@@ -1,195 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 optfeature xdg #virtualx
-
-# Commit of documentation to fetch
-DOCS_PV="fa91f0e9c8c2da33e7ec974e6b0e2a5ed6f04b10"
-
-DESCRIPTION="The Scientific Python Development Environment"
-HOMEPAGE="
- https://www.spyder-ide.org/
- https://github.com/spyder-ide/spyder/
- https://pypi.org/project/spyder/
-"
-SRC_URI="
- https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
- https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/aiohttp-3.9.3[${PYTHON_USEDEP}]
- >=dev-python/asyncssh-2.14.0[${PYTHON_USEDEP}]
- <dev-python/asyncssh-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}]
- >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
- >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
- >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
- >=dev-python/pygithub-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-black-2.0.0[${PYTHON_USEDEP}]
- <dev-python/python-lsp-black-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/pyuca-1.2[${PYTHON_USEDEP}]
- >=dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}]
- <dev-python/qdarkstyle-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/qtawesome-1.3.1[${PYTHON_USEDEP}]
- <dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/qtconsole-5.6.1[${PYTHON_USEDEP}]
- <dev-python/qtconsole-5.7.0[${PYTHON_USEDEP}]
- >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},quick,svg,webengine]
- >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}]
- >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
- >=dev-python/spyder-kernels-3.0.0[${PYTHON_USEDEP}]
- <dev-python/spyder-kernels-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/superqt-0.6.2[${PYTHON_USEDEP}]
- <dev-python/superqt-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
- >=dev-python/yarl-1.9.4[${PYTHON_USEDEP}]
-"
-
-# BDEPEND="
-# test? (
-# dev-python/cython[${PYTHON_USEDEP}]
-# dev-python/flaky[${PYTHON_USEDEP}]
-# dev-python/matplotlib[tk,${PYTHON_USEDEP}]
-# dev-python/pandas[${PYTHON_USEDEP}]
-# dev-python/pillow[${PYTHON_USEDEP}]
-# dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
-# dev-python/pytest-mock[${PYTHON_USEDEP}]
-# dev-python/pytest-order[${PYTHON_USEDEP}]
-# dev-python/pytest-qt[${PYTHON_USEDEP}]
-# dev-python/pytest-timeout[${PYTHON_USEDEP}]
-# dev-python/pyyaml[${PYTHON_USEDEP}]
-# dev-python/qtpy[${PYTHON_USEDEP}]
-# dev-python/scipy[${PYTHON_USEDEP}]
-# dev-python/sympy[${PYTHON_USEDEP}]
-# )"
-
-# Based on the courtesy of Arfrever
-# This patch removes a call to update-desktop-database during build
-# This fails because access is denied to this command during build
-PATCHES=(
- "${FILESDIR}/${PN}-5.0.0-build.patch"
-)
-
-DOCS=(
- "AUTHORS.txt"
- "Announcements.md"
- "CHANGELOG.md"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "NOTICE.txt"
- "README.md"
- "RELEASE.md"
-)
-
-# distutils_enable_tests pytest
-# TODO: Package sphinx-design
-# distutils_enable_sphinx docs/doc \
-# dev-python/sphinx-panels \
-# dev-python/pydata-sphinx-theme \
-# dev-python/sphinx-multiversion
-
-python_prepare_all() {
- # move docs into workdir
- mv ../spyder-docs-${DOCS_PV}* docs || die
-
- # these dependencies are packaged separately:
- # dev-python/spyder-kernels,
- # dev-python/python-lsp-server,
- # dev-python/qdarkstyle
- rm -r external-deps/* || die
- # runs against things packaged in external-deps dir
- rm conftest.py || die
-
- # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
- # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
- # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
- # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
- # Do not depend on ipython, this dependency is carried in spyder-kernels
- # The explicit version requirements only make things more complicated, if e.g.
- # pyls-spyder gains compatibility with a newer version of python-lsp-server
- # in a new release it will take time for this information to propagate into
- # the next spyder release. So just remove the dependency and let the other
- # ebuilds handle the version requirements to speed things up and prevent
- # issues such as Bug 803269.
- sed -i \
- -e "/'pyqt5[ 0-9<=>.,]*',/d" \
- -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
- -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
- -e "/'parso[ 0-9<=>.,]*',/d" \
- -e "/'jedi[ 0-9<=>.,]*',/d" \
- -e "/'pylint[ 0-9<=>.,]*',/d" \
- setup.py || die
- # -e "/'ipython[ 0-9<=>.,]*',/d" \
- sed -i \
- -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
- -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
- -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
- -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
- -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
- spyder/dependencies.py || die
- # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
-
- # do not check deps, fails because we removed dependencies above
- sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
- spyder/tests/test_dependencies_in_sync.py || die
-
- # skip online test
- rm spyder/widgets/github/tests/test_github_backend.py || die
-
- distutils-r1_python_prepare_all
-}
-
-# Calling pytest directly somehow passes the pytest arguments to spyder
-# causing an invalid argument error
-# python_test() {
-# virtx "${EPYTHON}" runtests.py
-# }
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
- optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
- optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
- optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
- optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
- optfeature "Run Cython files in the IPython console" dev-python/cython
- optfeature "The hdf5/h5py plugin" dev-python/h5py
- optfeature "The line profiler plugin" dev-python/spyder-line-profiler
- optfeature "Vim key bindings" dev-python/spyder-vim
- optfeature "Unittest support" dev-python/spyder-unittest
- optfeature "System terminal inside spyder" dev-python/spyder-terminal
- optfeature "Jupyter notebook support" dev-python/spyder-notebook
- # spyder-memory-profiler is not compatible with spyder-5.2+ yet
- # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
- # spyder-reports not yet updated to >=spyder-4.0.0
- # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
- # Plugins with no release yet:
- # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
- # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
-}
diff --git a/dev-python/spyder/spyder-6.0.3.ebuild b/dev-python/spyder/spyder-6.0.3-r1.ebuild
index 18f16ca34939..556d62dbf625 100644
--- a/dev-python/spyder/spyder-6.0.3.ebuild
+++ b/dev-python/spyder/spyder-6.0.3-r1.ebuild
@@ -57,7 +57,7 @@ RDEPEND="
<dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}]
>=dev-python/qtconsole-5.6.1[${PYTHON_USEDEP}]
<dev-python/qtconsole-5.7.0[${PYTHON_USEDEP}]
- >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},quick,svg,webengine]
+ >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},pyqt6,quick,svg,webengine]
>=dev-python/rtree-0.9.7[${PYTHON_USEDEP}]
>=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
>=dev-python/spyder-kernels-3.0.2[${PYTHON_USEDEP}]
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index 9c1a1c4ab9a0..c83b2a7442af 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,2 +1,3 @@
DIST stripe-11.3.0.tar.gz 1367031 BLAKE2B b46cae95059a1aa7087743772b5cb23456e64b276befa852b0c13ce417f624ac6d9a90e64a43aeb3d60941ad73cc87afa114d4161c5e5b3e5ae6033b4378f6c1 SHA512 4b8934653f138b86f7d64977f2817fc0ad54a89d794521af7d1f193ecdcbb366e78ece286a3c768f946d281aba998443e675e6db66fcd3a0084641053e55a182
DIST stripe-11.4.0.tar.gz 1378868 BLAKE2B 86444654843d90cd068c8f5b240fbc7f141a128c31b4d85e2b096fa202b5f1a662891f4ac0902725ebb2ec54f61e4fc45558239caa31f7db5c67bfc0c72e758f SHA512 083f9fee32d48c1a4097168871f56b9027f5098e9628b6ac29440ab4fced445b824795ba77129edf1e5cd41f99f086f26475d289d65f2e2fff94103913aa9d6a
+DIST stripe-11.4.1.tar.gz 1379118 BLAKE2B 6acbbe35ab7625d9bb0be6c92b901c71b9d93a69d5b1bfd99826cdd1288db10a87c07e88a7f66a08dece7d84767b43760c3487e9f601658b2a0d13c27f9405d5 SHA512 1bf68094002226d9b47cf29cae54116f7fb5cbc7cb000a7dc3d95eb0cbbcb75b5979348aabab4417ca455a8a28bd8d90756f6258ff0ff1c6b0af3130e8fe0563
diff --git a/dev-python/stripe/stripe-11.4.1.ebuild b/dev-python/stripe/stripe-11.4.1.ebuild
new file mode 100644
index 000000000000..87791d0e2036
--- /dev/null
+++ b/dev-python/stripe/stripe-11.4.1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe Python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.192.0
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # exception message mismatch with aiohttp-3.10.0
+ "tests/test_integration.py::TestIntegration::test_async_timeout[asyncio-aiohttp]"
+ "tests/test_integration.py::TestIntegration::test_async_raw_request_timeout[asyncio-aiohttp]"
+ # Internet
+ tests/test_http_client.py::TestLiveHTTPClients::test_httpx_request_async_https
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p anyio -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 115efdafcc89..ac1b7a3c3e8b 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -1,6 +1,9 @@
+DIST pubgrub-05e8d12cea8d72c6d2d017900e478d0abd28fef4.gh.tar.gz 97027 BLAKE2B b8f5a454dce1b845f4d2ad562a5858e490ef25874b950d12336cdafe2d52dd44e83e86be13ed9637ee8dd1bf312114b1cf07e54523292e24b182c6ae999b398d SHA512 010180c7a294be0727647489cef0dde7024f92d827409872fe596471eb44451ac4a08dc4928fbc774a8b04c944b7daffc4684b0d868eee904222cbf673299f62
DIST pubgrub-57832d0588fbb7aab824813481104761dc1c7740.gh.tar.gz 95600 BLAKE2B 8bdf971091d6816c326925c4603aa9296d6a92c2ede6a6245e0e5e64b741863e5d93aac03990004c13bd592d3d6ca2c662500e4c8d33e9959d6df9e1023a41e5 SHA512 8eae3c00928d921ca7cfdeff124962e477ae32387fb4b1ebfecd968181ec6bb2c2d96c918d8a9f521f1b9666eb6272c9f982b444d22a432f9471414f081694ee
DIST rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.gh.tar.gz 51763 BLAKE2B 59d053bc6692014d884a9247dea1b57a8789469ba2abbcc92ec21bb0022cbd74874afc463082156ab697aa6c80635019857a5d7e2dc150274e8b04d720518c36 SHA512 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a
DIST tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.gh.tar.gz 37106 BLAKE2B c30d1c33f6f52e2bc83823eb6319f8a3e462b7c7408fb6a08f995747857ef234f81db4135a04f9d183095fe473a4087f8f0cb89d8f87ef4400285d2ce034ec22 SHA512 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68
+DIST uv-0.5.10-crates.tar.xz 46466896 BLAKE2B 94093c9d74732dba6516a80fa24c3af8e91df7c97fce4eb7f1914d278060459c09d5c136d5b0a6eba1533f77f4310150761024fd76fded46815c1250b2c2397e SHA512 cef96bee97c01ce43e0274094524f08d51b6c5e26b29e777d5b7462a6cb40b1b0d03e63460cffffdaa217cdb9a8153f608a242d937ad71e55e24f37ad5b83471
+DIST uv-0.5.11.gh.tar.gz 3145749 BLAKE2B 7473182f05accb38a2253327f95d874a62defdd43f7b1937e0f03674882c2fc2daaca5b5087a870bc72200342fd0b423c7ffc29dea91959cc6237c241e5b6c73 SHA512 a6f8fea5d30a387e3f7efcdd3b5f721567d48fa55f16ac67cd26f67eff17cd892ba1f4e0f774f8911e679100bcc3e2a9adb8fde7d1082cf3a1419f4227e85a03
DIST uv-0.5.6-crates.tar.xz 46263172 BLAKE2B 73b1d2dc957f89f923dda09a8c038426041292c442ce253ff9110f996cd1e1f892a5a438d8e1c894fc0d823401cced0ddc8ad88b5e6a83199af7055a04ce85dc SHA512 c9d4f8085416bffb1e1872fd907d15a50cae0c0c5fba994d27b3acdc3c836dffd771558246573af4bb7467353a031ea56018d5ae1fbdffa4f63988462de00343
DIST uv-0.5.6.gh.tar.gz 2952255 BLAKE2B b815b60b99f959751f5839365b8b210919247ad99bff93ee4d202bc152bd06b83a62914cfbf341bfddb5b2c87d9e546c5e2a6d1baff1599d0218160ee89de504 SHA512 fc8c7f4f60a3d2ce997341450daf20ad039ef379ac5dd4575f8db0327284bd8278419b66f8f9695f2701a9579ab004b5b60476bd8dc4c27314211f795118bc5a
DIST uv-0.5.8-crates.tar.xz 46445240 BLAKE2B 119e471d7f9a851179e2e5d9cd15cb94476355e27db36b05378036b7f9a3e0021a33a2fd29ed9e5a67cd7d962783b3ea96145ca9092da0a6a114899ff2b712fd SHA512 d517fdc9e48b4cb4acacf1d3c986c7e348ee65c89cb5bdbd9c3947f66d450f7f59b5a4f5f0f45560d5241bc8f7756039014cf350a8aea22be876c197759e5aff
diff --git a/dev-python/uv/uv-0.5.11.ebuild b/dev-python/uv/uv-0.5.11.ebuild
new file mode 100644
index 000000000000..021234b01c6e
--- /dev/null
+++ b/dev-python/uv/uv-0.5.11.ebuild
@@ -0,0 +1,170 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;05e8d12cea8d72c6d2d017900e478d0abd28fef4;pubgrub-%commit%'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;05e8d12cea8d72c6d2d017900e478d0abd28fef4;pubgrub-%commit%/version-ranges'
+)
+
+RUST_MIN_VER="1.83.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=0.5.10
+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://dev.gentoo.org/~mgorny/dist/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 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.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ !!~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
+
+ # 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/ws4py/Manifest b/dev-python/ws4py/Manifest
index 7f62255c2b2b..d1f5b36da5d0 100644
--- a/dev-python/ws4py/Manifest
+++ b/dev-python/ws4py/Manifest
@@ -1 +1,2 @@
DIST ws4py-0.5.1.tar.gz 116673 BLAKE2B 31db304800f0d3da61dc4c1a3381a8fcfcfa8f16b36d916311cc32f1d294c9f7b3627dac673edf824f529f485f825ca418ab1e1a8a2fda5583c6a6a1bd9b752c SHA512 4c90d66d37fb5bdc8f7fc9fd184b20a7dc2dae811ecf3a041477e3c26a2577008be7041799daca5b8c0de65cb2454022a6c135cf02534ca98b6946abbfce0e11
+DIST ws4py-0.6.0.tar.gz 118090 BLAKE2B d5dde49408a0d2384e3225ab5d4f741b887dca6979ee9ece75edc0251920a5075e07c3642c3bd24dbce130fc8a833bfbe5aebc4bb7771b267191587c9c88ff6e SHA512 515b7f9f16984e92374f5bd4ecb9d56fc5060c29abf1eb477faa3a6d7f26866cadd74498dd4bc78d3047f19674d2881310f840df3a03cbaa21dd248a43900e7b
diff --git a/dev-python/ws4py/ws4py-0.6.0.ebuild b/dev-python/ws4py/ws4py-0.6.0.ebuild
new file mode 100644
index 000000000000..addcc0e48161
--- /dev/null
+++ b/dev-python/ws4py/ws4py-0.6.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-2024 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_REQ_USE="threads(+)?"
+
+inherit distutils-r1
+
+DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy"
+HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python"
+MY_PN="WebSocket-for-Python"
+SRC_URI="https://github.com/Lawouach/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="amd64 arm x86"
+LICENSE="BSD"
+SLOT="0"
+IUSE="+client +server test +threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
+ client? ( >=dev-python/tornado-3.1[${PYTHON_USEDEP}] )
+ server? ( >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] )
+"
+DEPEND="
+ test? (
+ >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_test() {
+ "${EPYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+ use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client
+ use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server
+}
diff --git a/dev-python/ytmusicapi/Manifest b/dev-python/ytmusicapi/Manifest
index 59fb0590f9d5..bfe1c01c54d3 100644
--- a/dev-python/ytmusicapi/Manifest
+++ b/dev-python/ytmusicapi/Manifest
@@ -1 +1,2 @@
DIST ytmusicapi-1.8.2.tar.gz 284079 BLAKE2B c47560141062bd43af8334132c16d095daa3e8a6accc90f7c2300f602d85627bcefdda6ef05f2371bef11bd33be1f83575cda1b6bd386a0b449f82b9cbfcd8b9 SHA512 6396f1e245bc390251ca37fe896cf41bb0c5608608134a7d8cc07895aca35cb348e18fdd861b830d8efc4399d5931b82e489e734914f9b685606a2bd7af890ea
+DIST ytmusicapi-1.9.0.tar.gz 292697 BLAKE2B da46b1d5687b5c2f9906e17ec522f918f2286b3ed847c1d43ec3e4e067fc90e8af52f7291c72ae91ccd3cecc7ac07dd9379bef95e9e6b2189d65592dea7bada1 SHA512 4a1236590c0500ffc8a6b4cf809d29ea10998b8ea89e5fde91e1ed1fa65edfcd2fc8e94690e1f332c52fe812669e3c148d405dd821ec4d38b8508e95247183a9
diff --git a/dev-python/ytmusicapi/ytmusicapi-1.9.0.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.9.0.ebuild
new file mode 100644
index 000000000000..c9b957dae4df
--- /dev/null
+++ b/dev-python/ytmusicapi/ytmusicapi-1.9.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unofficial API for YouTube Music"
+HOMEPAGE="https://ytmusicapi.readthedocs.io/
+ https://github.com/sigma67/ytmusicapi/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
diff --git a/dev-python/zenlib/Manifest b/dev-python/zenlib/Manifest
index 764953517771..5937369b9723 100644
--- a/dev-python/zenlib/Manifest
+++ b/dev-python/zenlib/Manifest
@@ -1,2 +1,2 @@
DIST zenlib-2.4.1.gh.tar.gz 21281 BLAKE2B e6a4005d7e5db95ccc18ecb87c10180e148bcf0a860923ac71177c90d448186247e08eee9f2c5dcb7e0803536dc07bfa3137b363a410ea2e03f875c4096fdadc SHA512 a8ceadbda243583ebe45fb56a4a72d2693505d9123346b3a140ccb16ed7de85d60caafffac0274e3f6289b0b82a82643feba039d85ea4f159fb259c7bdd46725
-DIST zenlib-3.0.0.gh.tar.gz 20556 BLAKE2B 9912a8532051028b6f19e463ddde0120d28ee844a31a33987736fc2f7dce334394275b24f469b21adbea4295124531d188fdf3ef646536ff3db1a0f9838b475a SHA512 052c5f5f620529b5de3c3903d64ef57e590cd9d104ea8ace39137fefa894784251895b973276d53cefaaf711c3c83170da6c97e4f408c0f3a94da813cf3acfae
+DIST zenlib-3.0.1.gh.tar.gz 20583 BLAKE2B 9f6e1e349488bd97c9f85b21fb629067b6f207077604e93f8692e98773f2637149f69a4b97328c32fc198660f4fee880110bcef428717218bde5a83c451e4eae SHA512 759684f376bd7f297dd4539289159c2b163b397d80a99a1cda2882ebb125cabdcbf18884299d67af2cb8c50c3fb36af06c48fa29d62121a40406f8c3857732fd
diff --git a/dev-python/zenlib/zenlib-3.0.0.ebuild b/dev-python/zenlib/zenlib-3.0.1.ebuild
index 86ec550ccfbe..86ec550ccfbe 100644
--- a/dev-python/zenlib/zenlib-3.0.0.ebuild
+++ b/dev-python/zenlib/zenlib-3.0.1.ebuild