summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-07-02 17:50:08 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-07-02 17:50:08 +0000
commit0c48f2d6d7cdcb7ac8d20ea518b911d8c6ffe231 (patch)
treeb2b3e63ac34b0d5b22fe75d1e860e3e113795539 /dev-python
parent92f138c6c660a6a68a843c8c394a93999455bee7 (diff)
downloadbaldeagleos-repo-0c48f2d6d7cdcb7ac8d20ea518b911d8c6ffe231.tar.gz
baldeagleos-repo-0c48f2d6d7cdcb7ac8d20ea518b911d8c6ffe231.tar.xz
baldeagleos-repo-0c48f2d6d7cdcb7ac8d20ea518b911d8c6ffe231.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/asteval/Manifest2
-rw-r--r--dev-python/asteval/asteval-1.0.0.ebuild (renamed from dev-python/asteval/asteval-0.9.32.ebuild)0
-rw-r--r--dev-python/backports-tarfile/backports-tarfile-1.2.0.ebuild2
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.137.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.137.ebuild67
-rw-r--r--dev-python/ensurepip-setuptools/Manifest1
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-70.2.0.ebuild24
-rw-r--r--dev-python/gmpy/Manifest1
-rw-r--r--dev-python/gmpy/gmpy-2.2.0.ebuild45
-rw-r--r--dev-python/google-auth/Manifest1
-rw-r--r--dev-python/google-auth/google-auth-2.31.0.ebuild59
-rw-r--r--dev-python/inflect/Manifest1
-rw-r--r--dev-python/inflect/inflect-7.3.1.ebuild29
-rw-r--r--dev-python/ipykernel/Manifest1
-rw-r--r--dev-python/ipykernel/ipykernel-6.29.5.ebuild80
-rw-r--r--dev-python/jaraco-context/Manifest1
-rw-r--r--dev-python/jaraco-context/jaraco-context-5.1.0.ebuild47
-rw-r--r--dev-python/jaraco-context/jaraco-context-5.3.0.ebuild2
-rw-r--r--dev-python/jupyter-kernel-test/Manifest1
-rw-r--r--dev-python/jupyter-kernel-test/jupyter-kernel-test-0.6.0.ebuild31
-rw-r--r--dev-python/lmdb/Manifest1
-rw-r--r--dev-python/lmdb/lmdb-1.5.1.ebuild40
-rw-r--r--dev-python/lxml/Manifest4
-rw-r--r--dev-python/lxml/files/lxml-5.1.0-pypy.patch175
-rw-r--r--dev-python/lxml/lxml-5.1.0.ebuild117
-rw-r--r--dev-python/lxml/lxml-5.1.1.ebuild117
-rw-r--r--dev-python/lxml/lxml-5.2.0.ebuild128
-rw-r--r--dev-python/lxml/lxml-5.2.1.ebuild126
-rw-r--r--dev-python/lxml/lxml-5.2.2.ebuild2
-rw-r--r--dev-python/mpmath/Manifest1
-rw-r--r--dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch32
-rw-r--r--dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild63
-rw-r--r--dev-python/notify2/notify2-0.3.1-r3.ebuild2
-rw-r--r--dev-python/pgzero/pgzero-1.2.1-r2.ebuild15
-rw-r--r--dev-python/phonenumbers/Manifest1
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.40.ebuild39
-rw-r--r--dev-python/pillow/Manifest1
-rw-r--r--dev-python/pillow/pillow-10.4.0.ebuild137
-rw-r--r--dev-python/psycopg/Manifest1
-rw-r--r--dev-python/psycopg/psycopg-3.2.1.ebuild111
-rw-r--r--dev-python/pydantic/Manifest1
-rw-r--r--dev-python/pydantic/pydantic-2.8.0.ebuild63
-rw-r--r--dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild2
-rw-r--r--dev-python/rpyc/Manifest1
-rw-r--r--dev-python/rpyc/rpyc-6.0.0.ebuild69
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-70.1.1.ebuild6
-rw-r--r--dev-python/setuptools/setuptools-70.2.0.ebuild138
-rw-r--r--dev-python/sympy/sympy-1.12.1.ebuild6
-rw-r--r--dev-python/tornado/Manifest1
-rw-r--r--dev-python/tornado/files/tornado-6.4-pytest-8.2.patch66
-rw-r--r--dev-python/tornado/tornado-6.4-r1.ebuild63
-rw-r--r--dev-python/tornado/tornado-6.4.1.ebuild2
-rw-r--r--dev-python/trove-classifiers/Manifest1
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2024.7.1.ebuild42
-rw-r--r--dev-python/validators/Manifest1
-rw-r--r--dev-python/validators/validators-0.29.0.ebuild26
59 files changed, 1159 insertions, 893 deletions
diff --git a/dev-python/asteval/Manifest b/dev-python/asteval/Manifest
index 0cdc6fd849e3..bf4595ee8d33 100644
--- a/dev-python/asteval/Manifest
+++ b/dev-python/asteval/Manifest
@@ -1,2 +1,2 @@
-DIST asteval-0.9.32.gh.tar.gz 54542 BLAKE2B 367c25c6099538e7457aa17a7224bb3112558a7183f948dcec01fe5cb6ef689e9fc6ef34a1c45cd668c84b8d7647e55c15457d34f5aeb5885b03515730ad03d1 SHA512 b8975cedff0680c4581b1a2053b4d7f55cd0fa6e970dfc65c21047f9c919c2fd44ff0a747e1a1cf97ddb69212f564e8d2d1dc705f864563f21684c68c98b5a8c
DIST asteval-0.9.33.gh.tar.gz 54562 BLAKE2B d9745db2625da974ab51fe01150caf314772a92774c9cc5cb656811edfc80754e1708a296df461812dae949a208f3afd8acd0dff55612ab6d470f03c7035a6dc SHA512 fe817a5f8f208a06f1bf9521ccdda852ecb21cb8a15e2496c9acbc16a2260cd363205d02d34b2296d76a21755a5470d999448ee788dfec4d66ac8f0062d5c40d
+DIST asteval-1.0.0.gh.tar.gz 45214 BLAKE2B 8379f6b5e09f12a3a38edb6970689c8eec52f06cf09c54a4982f9af614d64ea20cfdf544a3a54d5156390c2f0938d57637eab86ba0f9b8a67511ee06fe3e9f9a SHA512 f88a4484528c36a5406ac58fad1cde9f06d73cdf841347ca2fdbfe38ce42d6a502bbd3c843321dbe224fe57982cec535cee81cc2de9bda4f9b68fd2276a0c99d
diff --git a/dev-python/asteval/asteval-0.9.32.ebuild b/dev-python/asteval/asteval-1.0.0.ebuild
index 32214e0c7335..32214e0c7335 100644
--- a/dev-python/asteval/asteval-0.9.32.ebuild
+++ b/dev-python/asteval/asteval-1.0.0.ebuild
diff --git a/dev-python/backports-tarfile/backports-tarfile-1.2.0.ebuild b/dev-python/backports-tarfile/backports-tarfile-1.2.0.ebuild
index 193da6e6b8d8..7a7a71d18d3c 100644
--- a/dev-python/backports-tarfile/backports-tarfile-1.2.0.ebuild
+++ b/dev-python/backports-tarfile/backports-tarfile-1.2.0.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 622c07c67900..7b35de34ec3b 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
DIST boto3-1.34.127.gh.tar.gz 820740 BLAKE2B ddfb7802440a01af27059daed4bc7cd3797eb192004a0e7b78e1e56a8ff479206b4835a79bcac1db273c2936fb8dfde0ba16bebe8cbe1befeb188070bf46b2c7 SHA512 b139ad68a4ce29e84e0fa1618b97c4aea13b668521921712df74256ad61c21d2077ea216dfb4102d8f9910a8119b24509aa10a504d746bdb410fee1cecc0461c
DIST boto3-1.34.131.gh.tar.gz 822851 BLAKE2B cc4b06ca1785e62314308efb7d9ffa6e10a40fe48bdd3e31f9f12490a57843ad528685d04ea9ec40cf2203acc0ee0a9fb58ee272837c9a637f44c2716f60de7a SHA512 79cd8718c6d84cdcdcadfcde80368addc095770624806eb8cfa981852c2a8ebcc8074533ec8f8e24b01a3aed241afccb6f49fdce250ae07f630d8596931778e3
DIST boto3-1.34.136.gh.tar.gz 826543 BLAKE2B 307705ba777d155772a2dafad775e55d94e17a9e4c2986e48bd8a691c3bc4e433f212e1a59053222927bda42584b2d1d266bc2489f94fd3e4463416c56531d54 SHA512 f2307db517b393164028c17a8073c5baf7f7e3be36c988a90d455cad98a55b7a7e1a6e44584038141047237e81cb495bffaf70747de421ce316bb457e2d168e8
+DIST boto3-1.34.137.gh.tar.gz 827294 BLAKE2B ba4f008114e02f40c5e4ac095241c7dac2b919e1dbe7ffaacc9ab40b3d2a97a12ace2b27359190b20cf2f2c1dcc66044188f15ed12177b002a54537a692b0203 SHA512 7303b32359080f360a95e0fb068ca1e7b83fe54a5f553f6681df3382bd110c70927138e435afc8eb8e93760c9bd685afa7355e661243e6b7f91cd8e8063d401c
diff --git a/dev-python/boto3/boto3-1.34.137.ebuild b/dev-python/boto3/boto3-1.34.137.ebuild
new file mode 100644
index 000000000000..509842b2699d
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.137.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_{8,9,10,11,12} )
+
+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 e32b8d61bc66..b92b18b9930e 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
DIST botocore-1.34.127.gh.tar.gz 13112261 BLAKE2B e883f0a1e29178667678132195aea9666a124456e731e1b158eed895c125fd614e5671639766f7ad46c2e6b16c4156ff5e42594bc04e49bf25380c91cfcbe264 SHA512 48ca2179c24bb219202e5029dd62350a6fc5c64707762f0f33282e542dbc2227bb146376afa9e6b9eb1e45e3c801208a142bef4827d5036eb4724299c826d534
DIST botocore-1.34.131.gh.tar.gz 13129943 BLAKE2B 916360c6a9526edcfd338718f80556e59d54692aac13f38490e49457edd59016d264a5acbfeb6298af494f09f9c385e16347a9bf7f144c5a11afda2df188aeed SHA512 9bb788ac8e8a2ec7be999acafef88ccbb4e693ccb315efe5655b80cf3f6629eebccbdac6f201550d2f75e476d83c5a800f1add6c71e2fe5b3d503da313f6d3d3
DIST botocore-1.34.136.gh.tar.gz 13151618 BLAKE2B 800b800ff2481335f0defb79c10a4216c8bb107a3369e6a45a9c0a6d8f703209a9e44560ebf859f7fc616498c68e9b0de331478a8b5e2d3b36788bdedb597a0b SHA512 e9a31f6e8e241964fa34df65c8a9f8acaa1e33865eeb8257bf6da16982a3704b8ab66b6f424952ff100944471bb8f40cbdbcc26f72120da2d6033319948de81e
+DIST botocore-1.34.137.gh.tar.gz 13153450 BLAKE2B 4049e5f7b12a4df94fa4a819f11732b86897ae838cc1fc9443f343037915e69134c0e3f335796976002ca63305dd12a8272252bed9370b6d64dc83186826467f SHA512 f3ba697813ec4a68978f27be12e44df02336210e47b5347f3868c4630d899eccf4cb0e0cc679122e4e5ae55ba002efc7067e6e13ea5a286707b958cae14b4186
diff --git a/dev-python/botocore/botocore-1.34.137.ebuild b/dev-python/botocore/botocore-1.34.137.ebuild
new file mode 100644
index 000000000000..857224b496b7
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.137.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_{8,9,10,11,12} )
+
+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/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index 96c8dcc3b8d0..c0b7787514dd 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -2,3 +2,4 @@ DIST setuptools-69.0.3-py3-none-any.whl 819530 BLAKE2B 6ecef64755181255d935e234f
DIST setuptools-69.5.1-py3-none-any.whl 894566 BLAKE2B a9d24f51240fd528f87642e8765a4a72ae9e03e936acec3e26edd1c5b40127f00dee53db2dd171404778c2e2910d095b5de49e0af3d2f7a67d8edd52d16a0a45 SHA512 d212edd21ab99f50c2daf6080c68a3cc0eeed566f10e91f857e7eeb86513f33e9cde25b975db1030110c3b1714cfbfd4d3c9e2937b4a5ff2bb8971e605ecee85
DIST setuptools-70.0.0-py3-none-any.whl 863432 BLAKE2B 02b441da8254fc228f2d266b96d26b207271341e9291ffedcfa06f1ccd6a64777658ad83efcc142bd6fc0ec91a21c16cfb6e5b9a8792ea3d46d8c5a23c97b081 SHA512 fde01a0c1ef77e7aa0544663f44d3735ad11430bab57906027e1a260c0d8e0d0b873fcefaef956c1d3992879b5908384b759742e4b726804d42cc681da374a7b
DIST setuptools-70.1.1-py3-none-any.whl 883347 BLAKE2B f0e9c3b3ee278942b72ebf470279841f648e7852d355841dab27d28551ee09fa1ed6a77e02c5c808a820810a134dffdc28038938c0e2003011f966e6d5799428 SHA512 81ebaa3c39d599ae3975ec5848ca03491188de10c62d0a01923ded1cb4d08dbbbb3be9ecee501cfe16d88726ec0899ad8f36f7c7b289f1f90c5bec403b5049c1
+DIST setuptools-70.2.0-py3-none-any.whl 930834 BLAKE2B 7ef99e6c7c47fd306c4a136504a1d3285faa046da6a4b0be15ec66a2a2eccbe34f203bed794f0a9114ae6970aea163207d22bd4bf5aedf44a92cc2abcac3d881 SHA512 ed6b5199a795c776d653f02e665e560da27e515cf334a2afbbf7f7cb7eb9cd738ca685a2b52d43d68ce6f63486d8da5baa216e58af95e5fad03c6dd95d3d901a
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-70.2.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-70.2.0.ebuild
new file mode 100644
index 000000000000..97aca4a61872
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-70.2.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/gmpy/Manifest b/dev-python/gmpy/Manifest
index 545491749d8f..8009f10c3fe2 100644
--- a/dev-python/gmpy/Manifest
+++ b/dev-python/gmpy/Manifest
@@ -1,3 +1,4 @@
DIST gmpy-2.1.5-cache.patch 19769 BLAKE2B 72d61ea00fda608ae92c5319828cb5c0003a69cd4be4bf3cde62574a93987b2316df5334d290eca7d48e44e423227d0b5a22c142c4a95b42aebb4560c3bf7ea6 SHA512 f16dbd78a99f27c6f588b814bb9b307429927eae9828fcea04225f163c1cd28968c2994689c4802dc0b619cdfd7c50401d1ec06c220756268af17499613fda1b
DIST gmpy-2.1.5-py3.12.patch.gz 1817 BLAKE2B cbea3a9c662d52c5bfddb82ab5e920474a52c1dd715b3b9fecf55e5ee097297168ddb7961b6156e4c1f902e911890c77252d119c3651f345f01cad144ed44127 SHA512 26195e8e9a87147a05fd07fa325f262c2004fcba2b8857dbc87ca7a1e9e5e64b4a47d35be77edc263829e5df1db6a0acda6904307d01529eba832feb4f0f3f71
DIST gmpy2-2.1.5.tar.gz 261709 BLAKE2B 50958868866fadc49c97534780fa491fadfaaea902f3fd4bd51f4e76a94602a6d030a1ee6685aac742e25b5fbe4865e1419307f7215c8fb553b166761d63607a SHA512 92e16359ee1df63faaeae4a3cbefe8cdbbc576d8eda377f08d59f12b70dfe9337a299686e85d1efee6c2f5b41fc4583643fecc68ea38a500c7f876c56fc169e7
+DIST gmpy2-2.2.0.tar.gz 233943 BLAKE2B e25f47fe25896df7e2ac7dce0eb8bdbe39bb6e12a07c600483bed534332b07f27bb70b23ae7801212df3c1a6c7731fba2f92f8215c618ea0fcc86d175abfc439 SHA512 402d7fc3c320e6d4742b3bd4dd3bf24c70192c1196f522def067f1b1d583c4b60d7497f95ba71691bafbccbe1e0fad8f0d2ec6fee455b9521bdc303510744188
diff --git a/dev-python/gmpy/gmpy-2.2.0.ebuild b/dev-python/gmpy/gmpy-2.2.0.ebuild
new file mode 100644
index 000000000000..37f7b473993b
--- /dev/null
+++ b/dev-python/gmpy/gmpy-2.2.0.ebuild
@@ -0,0 +1,45 @@
+# 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
+PYPI_PN="gmpy2"
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for GMP, MPC, MPFR and MPIR libraries"
+HOMEPAGE="
+ https://github.com/aleaxit/gmpy/
+ https://pypi.org/project/gmpy2/
+"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+DEPEND="
+ >=dev-libs/mpc-1.0.2:=
+ >=dev-libs/mpfr-3.1.2:=
+ dev-libs/gmp:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/mpmath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf gmpy2 || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index feeed912e37d..fb97b74290df 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -1 +1,2 @@
DIST google-auth-2.30.0.tar.gz 251462 BLAKE2B 63deab7b36e79a590348f6e0cfa5c1c0e0715468d35dfcb0e7227932d4d543953668ec4c4b78a087ee1fc22a37bfbc913f07c428f02fa894d28228fae68d0942 SHA512 23ebaf17c12d745214405867661b85eb628dafbc06b87f101ad10d4c4ea8e2cea04a4c9b0c0037ba8f0d8cc12c2221bd4199613fe3c3e3987c72525cb94a5bd3
+DIST google-auth-2.31.0.tar.gz 252986 BLAKE2B 50e7554feadaa19644a2f41152d0d255729d19fbd9b6e1967233f9bfdb79968f45e2179effd73b0ab513b25255371b43aab946668aeb7155c827b536e4005afb SHA512 2a2eec2f3638ab855d20827068d64a9adb856d341fc70bdb6401813543f73631d998c38f8350e9ed2a85897b7f0ed7401fc973b066ee2b77ac7ff746dcd7315f
diff --git a/dev-python/google-auth/google-auth-2.31.0.ebuild b/dev-python/google-auth/google-auth-2.31.0.ebuild
new file mode 100644
index 000000000000..0269b458272d
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.31.0.ebuild
@@ -0,0 +1,59 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/inflect/Manifest b/dev-python/inflect/Manifest
index 24c2249b57d8..7c9aaa33deb0 100644
--- a/dev-python/inflect/Manifest
+++ b/dev-python/inflect/Manifest
@@ -1,2 +1,3 @@
DIST inflect-7.2.1.tar.gz 71580 BLAKE2B f6256388768a850a16e79f5c59cc21bab94c65733aa4502c813e7c32c850eecf80d2148e9cb396b6fb3198004b79dc1c6dea9dbef29d5cd4e3acff25728deec3 SHA512 b994b1cb486f318f54fe73e159ffb41c637298c651e3b2ed0899659add450cd47f168e7ba242fc70dd1c177e622850409485c1671e5b89eb1f2b554d315bdf00
DIST inflect-7.3.0.tar.gz 71925 BLAKE2B 24d9cd8bc43e53b755364867f0754cc9b9b311cd409f3ba6f835d9bf98f9d46660b61bcb00e397993dd7b07b40267decf22d64a29caa68ee385e61c57d1355d4 SHA512 03ea7ad09c56a66c91ae0ad376f9203368e480e26a5f161290ae40de618372654d9e29e74c9bc86e311a4e4d96230e3ca7a5ca438e380ea49818bf1157fd8b0e
+DIST inflect-7.3.1.tar.gz 71980 BLAKE2B efb1224ec0514403db5db7cc572335a7f3dab09e7fe57559df736fee4598782c12fc9ae1d3ade89b41acc492996c7a93f04eff86c712b1c3f98f9404694f643c SHA512 562107d500ee488a35d809e4b7888af31fb90d7b07b9f6c328f66d8723a171227e639e0cbf43cb9610227faff6690a8af7205bc509f6764c9e22e9160f7ba5e1
diff --git a/dev-python/inflect/inflect-7.3.1.ebuild b/dev-python/inflect/inflect-7.3.1.ebuild
new file mode 100644
index 000000000000..fba88fb8f706
--- /dev/null
+++ b/dev-python/inflect/inflect-7.3.1.ebuild
@@ -0,0 +1,29 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Correctly inflect words and numbers"
+HOMEPAGE="
+ https://pypi.org/project/inflect/
+ https://github.com/jaraco/inflect/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/typeguard-4.0.1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 21ce450be7ab..0b297ebe6e55 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1 +1,2 @@
DIST ipykernel-6.29.4.tar.gz 162958 BLAKE2B 887d33b433f5fba70273e4020a79bb511bd076fe536c04ebc5f7e838637ff120889789783f9a3a41b4669b0b51d44401215ed3feac413382b953edf9d1b6cb48 SHA512 488d43c1c9f416281b23ba0f31311c7327ef97034d6cf1776392c0f7b193f52f1434e81ae0c45759a0b15354ef9d178c3fc835c6be4408880209e41b91e5602b
+DIST ipykernel-6.29.5.tar.gz 163367 BLAKE2B ac1a48093b68a79c9b656cc3960f35ae2e28ac110b4a560b7434b853e37e505034d7822fc2d6557f03e1f82a260abba53cf53ba9dde4fc6fc468fd65fb46875a SHA512 271232ad6168ff00d6eb729bb38804f6a030b85be9bd75341b4af8ca1feb9f3c6b088eff77f4efcc503512559c93f1d78c13904089b7acb5205c4039daf0cea0
diff --git a/dev-python/ipykernel/ipykernel-6.29.5.ebuild b/dev-python/ipykernel/ipykernel-6.29.5.ebuild
new file mode 100644
index 000000000000..5c705c14f73d
--- /dev/null
+++ b/dev-python/ipykernel/ipykernel-6.29.5.ebuild
@@ -0,0 +1,80 @@
+# 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_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="IPython Kernel for Jupyter"
+HOMEPAGE="
+ https://github.com/ipython/ipykernel/
+ https://pypi.org/project/ipykernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
+ dev-python/nest-asyncio[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
+"
+# RDEPEND seems specifically needed in BDEPEND, at least jupyter
+# bug #816486
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.23.5[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/ipyparallel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # debugpy is actually optional
+ sed -i -e '/debugpy/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
+}
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_debugger.py::test_attach_debug
+ tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
+ tests/test_debugger.py::test_rich_inspect_at_breakpoint
+ tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
+ tests/test_debugger.py::test_set_breakpoints
+ tests/test_debugger.py::test_stop_on_breakpoint
+ tests/test_debugger.py::test_copy_to_globals
+ # hangs?
+ tests/test_eventloop.py::test_tk_loop
+ # doesn't like pyside2?
+ tests/test_eventloop.py::test_qt_enable_gui
+ )
+
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/jaraco-context/Manifest b/dev-python/jaraco-context/Manifest
index ed864f9d20e2..ecd56663a6b7 100644
--- a/dev-python/jaraco-context/Manifest
+++ b/dev-python/jaraco-context/Manifest
@@ -1,2 +1 @@
-DIST jaraco.context-5.1.0.tar.gz 11626 BLAKE2B c6ac691c6493e0aed5d606784f8418e55fb0c6c8094aa75251ffb12008fb9b4fbfe0912e6ef316d7799d2c0f55be6ba542202f6b8b2bc93afa3a79da4224d35f SHA512 b92c72947060e2219c172c43104055d026f66b119676fcfa31dff34640539d34376b61d209291fffeb558e6051fb92a2a34390fbd3a72f87ee15c5926cb387e5
DIST jaraco.context-5.3.0.tar.gz 13345 BLAKE2B d2f429335ea80a6b50ea9574adc45c25c0fc78e8ebb5edde218bcbbe7a2b27ae6b5c17453e71904240d0d873ebef36f7c7aeda4424d3fea2dd9aaf01af6fb4c5 SHA512 f63bf272c45ff5c43499621651b78841259040ac98d67c9db75fadebb1c497c1156e05f23bf7c91df3e91f1e070acb9f7dc665e7b242ba7b1ac1cf99a619494d
diff --git a/dev-python/jaraco-context/jaraco-context-5.1.0.ebuild b/dev-python/jaraco-context/jaraco-context-5.1.0.ebuild
deleted file mode 100644
index 1c3eb71c8e51..000000000000
--- a/dev-python/jaraco-context/jaraco-context-5.1.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Context managers by jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.context/
- https://pypi.org/project/jaraco.context/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "jaraco.context"
- version = "${PV}"
- description = "Context managers by jaraco"
- EOF
-}
-
-python_install() {
- distutils-r1_python_install
- # rename to workaround a bug in pkg_resources
- # https://bugs.gentoo.org/834522
- mv "${D}$(python_get_sitedir)"/jaraco{_,.}context-${PV}.dist-info || die
-}
diff --git a/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild b/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
index 450900400b55..6fa7418a470a 100644
--- a/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
+++ b/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
$(python_gen_cond_dep '
diff --git a/dev-python/jupyter-kernel-test/Manifest b/dev-python/jupyter-kernel-test/Manifest
index 8d7c00832bbb..243cfbe349fa 100644
--- a/dev-python/jupyter-kernel-test/Manifest
+++ b/dev-python/jupyter-kernel-test/Manifest
@@ -1,2 +1 @@
-DIST jupyter_kernel_test-0.6.0.tar.gz 15445 BLAKE2B 7739ad85edce96b2bd41ee2af2552f4643a301e33978438f546fb7dbe6e449e89ee1a5dc588af30b4df9786f6cc627fe46c2d43bac43cad86693f0a6d0f9bc10 SHA512 ff518d89f9a32f714a9335e4ee151f205b629399dab84217466ca018556d927a3f91c4cb8b599879946b5332b2b3367c62a6bcc10e20cf43c3f2c3b257bc0d90
DIST jupyter_kernel_test-0.7.0.tar.gz 17122 BLAKE2B dea62f5960cbf5fcd6d5b3592800d1772c42ff6332e448c2f4ac8ee90952696243d44a02b8dfe1bc4e3b02c03b299b4c25649175ba96701c2a793bf104e3b781 SHA512 f44a230ab28584fd86f21a528309f78a90cd3711a890b6e3b91af85e73d7556b9849df188dcd5be356564bd9b3bf9d96c54865ce0c2145c48afdbe3c65b0fe9a
diff --git a/dev-python/jupyter-kernel-test/jupyter-kernel-test-0.6.0.ebuild b/dev-python/jupyter-kernel-test/jupyter-kernel-test-0.6.0.ebuild
deleted file mode 100644
index 84ae8bd20e0d..000000000000
--- a/dev-python/jupyter-kernel-test/jupyter-kernel-test-0.6.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A tool for testing Jupyter kernels"
-HOMEPAGE="
- https://github.com/jupyter/jupyter_kernel_test/
- https://pypi.org/project/jupyter-kernel-test/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/jupyter-client-6.1.13[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/lmdb/Manifest b/dev-python/lmdb/Manifest
index cd6420e0bfa4..7b1c30b5d495 100644
--- a/dev-python/lmdb/Manifest
+++ b/dev-python/lmdb/Manifest
@@ -1 +1,2 @@
DIST lmdb-1.4.1.tar.gz 881549 BLAKE2B a821473c2c026a3c5f0b2686414c4dd102ae82cba7db12fbaadd5dde5b03f22e9eae630ca87424cc55d3964b40437cfbd833ab7fb237544771cf48429810af96 SHA512 96b39a45c6e7c0fcc0b6f913337d07adb5c8883d0b6a95102b0227b6b92ac3fcdcaf09c132e44f2d3779b5066692b407bb1afd19ae8d87feda56047652a07354
+DIST lmdb-1.5.1.tar.gz 881246 BLAKE2B 49fbb09a3205aa1d3ea82427a03493aa579e201e831a5d61774d130b2600673892fc1b37fc30e5a6614f98e4f9f3672d5351e2a77ba24abd3999c5d5f18a58e9 SHA512 3f5f7e91813fc2a621ea6ec40e4d85c42d996a8424d5181ce5dab4e414ef17e949c6297c41ccd03b8bb749d1038ed8b143ee5d4e93f38ffcde993beeeacd3aea
diff --git a/dev-python/lmdb/lmdb-1.5.1.ebuild b/dev-python/lmdb/lmdb-1.5.1.ebuild
new file mode 100644
index 000000000000..bc9d91aad060
--- /dev/null
+++ b/dev-python/lmdb/lmdb-1.5.1.ebuild
@@ -0,0 +1,40 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for the Lightning Database"
+HOMEPAGE="
+ https://github.com/jnwatson/py-lmdb/
+ https://pypi.org/project/lmdb/
+"
+
+LICENSE="OPENLDAP"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+# cffi is used only on pypy, so no dep
+DEPEND="
+ >=dev-db/lmdb-0.9.28:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_compile() {
+ local -x LMDB_FORCE_SYSTEM=1
+ distutils-r1_src_compile
+}
+
+python_test() {
+ rm -rf lmdb || die
+ epytest tests
+}
diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest
index 2c2267864959..8e6b184f8dd6 100644
--- a/dev-python/lxml/Manifest
+++ b/dev-python/lxml/Manifest
@@ -1,5 +1 @@
-DIST lxml-5.1.0.gh.tar.gz 962111 BLAKE2B 31c82eb198911d82fd9f7882bf94547b2367f3b3d1183eb8e8f97297b96faa69230d27b3367160b1f732a5d0878296b2d11787c3b220416c81a920e62ebec4f2 SHA512 1fadfeac1fb8b1e4fb1f7f2acb056865eb2567300a6c728eaede380d846ac75a6e33ebebcbbc6d60f54102152afd5dddf970058c4e27af396e9fa58e83c407a7
-DIST lxml-5.1.1.gh.tar.gz 963649 BLAKE2B 0cb7b4e39539ee962cd590b2b2dc644a111a094da9cbccc2ee0c29b9a758d8aca967f989693c76532252909dc44a96a3815273f04f28be2dbeb57d4daae2e6fd SHA512 bb479ca7dcce944a9a3597f67da1b12fb9f3a05592fb8342fe01bc569a86df95c32c7bf1bc0b9cfc0ddffb85adf12612fb2d8622a460357c1aaa56e033476375
-DIST lxml-5.2.0.gh.tar.gz 949400 BLAKE2B 4a1640e1da27504e6a9b5e1c55fa2d51eb2e27f6400b63dae29aa42c6c9bf9a002374d0c4ec3ccd13452efd4f39f0a28dc5989fe7f1da5c80e17b2fb31a0dcae SHA512 5d4faab6430666427a7540b768a81beb5c628e7801a06156a68a03a5f75e424e61b1dfd792b8909e03e8561ffb0be64f62c86a411c110c01a021f4cbf37593f2
-DIST lxml-5.2.1.gh.tar.gz 950408 BLAKE2B d0ad369f9d555a9bcdd92c71fb84063eba864c359d1ff27159c8f6de433bcce6915c9cff31aa7bd99de9aa54cb9a1d7ea7b3bb2526c755f8a38aaa21d9d30dfd SHA512 bd5ab005d617da588f87fa643245916e6963394b167f66991dce6443490692fcbf27620c2208b271bd8a1a97c79b09eedca2d1c6f02ba990a7d88d00ee43edfe
DIST lxml-5.2.2.gh.tar.gz 950650 BLAKE2B d9e3bd96f386a808eca58ffa9a6b5a79e43102b7161fac9b97905de2bd22d21feaddb093e27463f597ef5378d754011c2999a38953e6288595b8dd171976688b SHA512 20b87a2d6e7ac82b6979d6fd18ecd5c224fec6eeee6b69d47a5bf2947ce53e6a517d1b86ab68836a5974f78ce86551ddc2317c1a7255932b418b98dc64d59376
diff --git a/dev-python/lxml/files/lxml-5.1.0-pypy.patch b/dev-python/lxml/files/lxml-5.1.0-pypy.patch
deleted file mode 100644
index 7b50b9d3062c..000000000000
--- a/dev-python/lxml/files/lxml-5.1.0-pypy.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-diff --git a/src/lxml/tests/test_errors.py b/src/lxml/tests/test_errors.py
-index fa735c28..9337bc04 100644
---- a/src/lxml/tests/test_errors.py
-+++ b/src/lxml/tests/test_errors.py
-@@ -10,3 +10,3 @@ from lxml import etree
-
--from .common_imports import HelperTestCase
-+from .common_imports import HelperTestCase, IS_PYPY
-
-@@ -24,2 +24,3 @@ class ErrorTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_element_cyclic_gc_none(self):
-diff --git a/src/lxml/tests/test_http_io.py b/src/lxml/tests/test_http_io.py
-index 8385e393..0b259299 100644
---- a/src/lxml/tests/test_http_io.py
-+++ b/src/lxml/tests/test_http_io.py
-@@ -10,3 +10,3 @@ import gzip
-
--from .common_imports import etree, HelperTestCase, BytesIO, _bytes
-+from .common_imports import etree, HelperTestCase, BytesIO, _bytes, IS_PYPY
- from .dummy_http_server import webserver, HTTPRequestCollector
-@@ -14,2 +14,3 @@ from .dummy_http_server import webserver, HTTPRequestCollector
-
-+@unittest.skipIf(IS_PYPY, "broken on pypy")
- class HttpIOTestCase(HelperTestCase):
-diff --git a/src/lxml/tests/test_nsclasses.py b/src/lxml/tests/test_nsclasses.py
-index 750dc1ed..adbec11c 100644
---- a/src/lxml/tests/test_nsclasses.py
-+++ b/src/lxml/tests/test_nsclasses.py
-@@ -8,3 +8,3 @@ import unittest
-
--from .common_imports import etree, HelperTestCase, _bytes, make_doctest
-+from .common_imports import etree, HelperTestCase, _bytes, make_doctest, IS_PYPY
-
-@@ -45,2 +45,3 @@ class ETreeNamespaceClassesTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_ns_classes(self):
-diff --git a/src/lxml/tests/test_objectify.py b/src/lxml/tests/test_objectify.py
-index 1c8ff47c..326c5316 100644
---- a/src/lxml/tests/test_objectify.py
-+++ b/src/lxml/tests/test_objectify.py
-@@ -10,3 +10,4 @@ import unittest
- from .common_imports import (
-- etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO
-+ etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO,
-+ IS_PYPY
- )
-@@ -383,2 +384,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_setattr(self):
-@@ -818,2 +820,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_build_tree(self):
-@@ -847,2 +850,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_bool(self):
-@@ -884,2 +888,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str(self):
-@@ -891,2 +896,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_intliteral(self):
-@@ -898,2 +904,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_floatliteral(self):
-@@ -905,2 +912,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_mul(self):
-@@ -917,2 +925,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_add(self):
-@@ -992,2 +1001,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr(self):
-@@ -999,2 +1009,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_intliteral(self):
-@@ -1006,2 +1017,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_floatliteral(self):
-@@ -1013,2 +1025,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_mul(self):
-@@ -1025,2 +1038,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_add(self):
-@@ -1050,2 +1064,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_int(self):
-@@ -1066,2 +1081,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float(self):
-@@ -1082,2 +1098,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float_precision(self):
-@@ -1101,2 +1118,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float_precision_consistency(self):
-@@ -1187,2 +1205,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_unregistered(self):
-@@ -1349,2 +1368,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_cmp(self):
-@@ -1376,2 +1396,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_int_cmp(self):
-@@ -1398,2 +1419,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_bool_cmp(self):
-@@ -2067,2 +2089,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_registered_type_stringify(self):
-@@ -2537,2 +2560,3 @@ class ObjectifyTestCase(HelperTestCase):
- # type-looked-up as ObjectifiedElement (no annotations)
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_int(self):
-@@ -2542,2 +2566,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_float(self):
-@@ -2547,2 +2572,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_str(self):
-@@ -2552,2 +2578,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_unicode(self):
-@@ -2557,2 +2584,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_bool(self):
-@@ -2562,2 +2590,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_none(self):
-@@ -2567,2 +2596,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_value_concatenation(self):
-@@ -2577,2 +2607,3 @@ class ObjectifyTestCase(HelperTestCase):
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_nested(self):
-@@ -2745,3 +2776,4 @@ def test_suite():
- suite.addTests(doctest.DocTestSuite(objectify))
-- suite.addTests([make_doctest('../../../doc/objectify.txt')])
-+ if not IS_PYPY:
-+ suite.addTests([make_doctest('../../../doc/objectify.txt')])
- return suite
diff --git a/dev-python/lxml/lxml-5.1.0.ebuild b/dev-python/lxml/lxml-5.1.0.ebuild
deleted file mode 100644
index de4f8f07bf13..000000000000
--- a/dev-python/lxml/lxml-5.1.0.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 optfeature toolchain-funcs
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="
- https://lxml.de/
- https://pypi.org/project/lxml/
- https://github.com/lxml/lxml/
-"
-SRC_URI="
- https://github.com/lxml/lxml/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/lxml-${P}
-
-LICENSE="BSD ElementTree GPL-2 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples +threads test"
-RESTRICT="!test? ( test )"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-DEPEND="
- >=dev-libs/libxml2-2.10.3
- >=dev-libs/libxslt-1.1.38
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- >=dev-python/cython-3.0.7[${PYTHON_USEDEP}]
- doc? (
- $(python_gen_any_dep '
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- ')
- )
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-pypy.patch"
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
-}
-
-python_prepare_all() {
- # avoid replacing PYTHONPATH in tests.
- sed -i -e '/sys\.path/d' test.py || die
-
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local DISTUTILS_ARGS=(
- # by default it adds -w to CFLAGS
- --warnings
- )
- tc-export PKG_CONFIG
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use doc && emake html
-}
-
-python_test() {
- local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- cp -al "${BUILD_DIR}"/{install,test} || die
- cp -al src/lxml/tests "${dir}/" || die
- cp -al src/lxml/html/tests "${dir}/html/" || die
- ln -rs "${S}"/doc "${dir}"/../../ || die
-
- "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- local DOCS=( README.rst *.txt doc/*.txt )
- local HTML_DOCS=( doc/html/. )
- fi
- if use examples; then
- dodoc -r samples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
-}
diff --git a/dev-python/lxml/lxml-5.1.1.ebuild b/dev-python/lxml/lxml-5.1.1.ebuild
deleted file mode 100644
index b8c17a5fd5cf..000000000000
--- a/dev-python/lxml/lxml-5.1.1.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 optfeature toolchain-funcs
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="
- https://lxml.de/
- https://pypi.org/project/lxml/
- https://github.com/lxml/lxml/
-"
-SRC_URI="
- https://github.com/lxml/lxml/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/lxml-${P}
-
-LICENSE="BSD ElementTree GPL-2 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples +threads test"
-RESTRICT="!test? ( test )"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-DEPEND="
- >=dev-libs/libxml2-2.10.3
- >=dev-libs/libxslt-1.1.38
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- >=dev-python/cython-3.0.9[${PYTHON_USEDEP}]
- doc? (
- $(python_gen_any_dep '
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- ')
- )
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.1.1-pypy.patch"
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
-}
-
-python_prepare_all() {
- # avoid replacing PYTHONPATH in tests.
- sed -i -e '/sys\.path/d' test.py || die
-
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local DISTUTILS_ARGS=(
- # by default it adds -w to CFLAGS
- --warnings
- )
- tc-export PKG_CONFIG
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use doc && emake html
-}
-
-python_test() {
- local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- cp -al "${BUILD_DIR}"/{install,test} || die
- cp -al src/lxml/tests "${dir}/" || die
- cp -al src/lxml/html/tests "${dir}/html/" || die
- ln -rs "${S}"/doc "${dir}"/../../ || die
-
- "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- local DOCS=( README.rst *.txt doc/*.txt )
- local HTML_DOCS=( doc/html/. )
- fi
- if use examples; then
- dodoc -r samples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
-}
diff --git a/dev-python/lxml/lxml-5.2.0.ebuild b/dev-python/lxml/lxml-5.2.0.ebuild
deleted file mode 100644
index 7e10764cbb22..000000000000
--- a/dev-python/lxml/lxml-5.2.0.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 optfeature toolchain-funcs
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="
- https://lxml.de/
- https://pypi.org/project/lxml/
- https://github.com/lxml/lxml/
-"
-SRC_URI="
- https://github.com/lxml/lxml/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/lxml-${P}
-
-LICENSE="BSD ElementTree GPL-2 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples +threads test"
-RESTRICT="!test? ( test )"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-DEPEND="
- >=dev-libs/libxml2-2.10.3
- >=dev-libs/libxslt-1.1.38
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
- doc? (
- $(python_gen_any_dep '
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- ')
- )
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.1.1-pypy.patch"
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
-}
-
-python_prepare_all() {
- # avoid replacing PYTHONPATH in tests.
- sed -i -e '/sys\.path/d' test.py || die
-
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- # don't depend on sys-apps/which
- sed -i -e 's:which:command -v:' Makefile || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local DISTUTILS_ARGS=(
- # by default it adds -w to CFLAGS
- --warnings
- )
- tc-export PKG_CONFIG
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use doc && emake html
-}
-
-python_test() {
- local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- cp -al "${BUILD_DIR}"/{install,test} || die
- cp -al src/lxml/tests "${dir}/" || die
- cp -al src/lxml/html/tests "${dir}/html/" || die
- ln -rs "${S}"/doc "${dir}"/../../ || die
-
- # test_feedparser_data requires lxml_html_clean
- # this is the *simplest* way of skipping these without breaking
- # random other tests, sigh
- sed -e '/lxml\.html\.clean/d' \
- -i "${dir}"/html/tests/test_feedparser_data.py || die
- rm -r "${dir}"/html/tests/*-data/*.data || die
-
- "${EPYTHON}" test.py -vv --all-levels -p ||
- die "Tests fail on ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- local DOCS=( README.rst *.txt doc/*.txt )
- local HTML_DOCS=( doc/html/. )
- fi
- if use examples; then
- dodoc -r samples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
-}
diff --git a/dev-python/lxml/lxml-5.2.1.ebuild b/dev-python/lxml/lxml-5.2.1.ebuild
deleted file mode 100644
index f9a9183d19d6..000000000000
--- a/dev-python/lxml/lxml-5.2.1.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 optfeature toolchain-funcs
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="
- https://lxml.de/
- https://pypi.org/project/lxml/
- https://github.com/lxml/lxml/
-"
-SRC_URI="
- https://github.com/lxml/lxml/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/lxml-${P}
-
-LICENSE="BSD ElementTree GPL-2 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples +threads test"
-RESTRICT="!test? ( test )"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-DEPEND="
- >=dev-libs/libxml2-2.10.3
- >=dev-libs/libxslt-1.1.38
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
- doc? (
- $(python_gen_any_dep '
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- ')
- )
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.1.1-pypy.patch"
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
-}
-
-python_prepare_all() {
- # avoid replacing PYTHONPATH in tests.
- sed -i -e '/sys\.path/d' test.py || die
-
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local DISTUTILS_ARGS=(
- # by default it adds -w to CFLAGS
- --warnings
- )
- tc-export PKG_CONFIG
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use doc && emake html
-}
-
-python_test() {
- local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- cp -al "${BUILD_DIR}"/{install,test} || die
- cp -al src/lxml/tests "${dir}/" || die
- cp -al src/lxml/html/tests "${dir}/html/" || die
- ln -rs "${S}"/doc "${dir}"/../../ || die
-
- # test_feedparser_data requires lxml_html_clean
- # this is the *simplest* way of skipping these without breaking
- # random other tests, sigh
- sed -e '/lxml\.html\.clean/d' \
- -i "${dir}"/html/tests/test_feedparser_data.py || die
- rm -r "${dir}"/html/tests/*-data/*.data || die
-
- "${EPYTHON}" test.py -vv --all-levels -p ||
- die "Tests fail on ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- local DOCS=( README.rst *.txt doc/*.txt )
- local HTML_DOCS=( doc/html/. )
- fi
- if use examples; then
- dodoc -r samples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
- optfeature "Support for lxml.html.clean sanitizer" dev-python/lxml-html-clean
-}
diff --git a/dev-python/lxml/lxml-5.2.2.ebuild b/dev-python/lxml/lxml-5.2.2.ebuild
index a1eadf6a9c0f..8b0e002ac0e7 100644
--- a/dev-python/lxml/lxml-5.2.2.ebuild
+++ b/dev-python/lxml/lxml-5.2.2.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/lxml-${P}
LICENSE="BSD ElementTree GPL-2 PSF-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc examples +threads test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/mpmath/Manifest b/dev-python/mpmath/Manifest
index c856f8ba229c..62f82da139aa 100644
--- a/dev-python/mpmath/Manifest
+++ b/dev-python/mpmath/Manifest
@@ -1 +1,2 @@
DIST mpmath-1.3.0.tar.gz 508106 BLAKE2B 9d4eebbbb6788dd3ee45c8c30068ef3512043dd09ab626cbaf69b0f6bdf057a6e8c53c34e3dda7627db923f0d536a0bebf83916d8942f4dde9546bb8e0046f33 SHA512 a68028150095d743eae9669a0f70cbe6b7bcb4d27dfad6b1a96575f0885ec7306459a2a464117bab18779883ee8b4293502b4bd0ebd8672767e1d08d38f8b202
+DIST mpmath-1.4.0a1.tar.gz 2063946 BLAKE2B 0c6a86b1c8dc9addc3eb82586d4c4182ae6a9318cbe45d4fc699b9fbf9539774ae30f11c2d50137a3aa16ed4b0c328990483c2ceea812f86751cfa3ce419de5c SHA512 260afb20faaa949b89054ced3b039e346086d47c6ea018c8d226a0c42d9aa8f792611fe709c894a0df6930a0703dc8cfcf814432eba7ac977a821effd8879903
diff --git a/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch b/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch
new file mode 100644
index 000000000000..13b6ffc9a94f
--- /dev/null
+++ b/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch
@@ -0,0 +1,32 @@
+From b80b0e08b75f41730a1116aebe34361e5d63d58c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 2 Jul 2024 08:11:58 +0200
+Subject: [PATCH] Fix the comparison in test_compatibility for NumPy 2.0.0
+
+The comparison in `mpmath/tests/test_convert.py::test_compatibility`
+failed for `np.float16` in NumPy 2.0.0 since `2.0**-53` cannot be
+represented in half-precision floating point type. Convert the LHS
+to `np.float64` to ensure that the comparison is done in sufficiently
+precise type.
+
+This fixes the actual test failure from #815 but the deprecation warning
+remains.
+---
+ mpmath/tests/test_convert.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/mpmath/tests/test_convert.py b/mpmath/tests/test_convert.py
+index 5578b245..c6ef2187 100644
+--- a/mpmath/tests/test_convert.py
++++ b/mpmath/tests/test_convert.py
+@@ -254,7 +254,9 @@ def test_compatibility():
+ # Handle the weird types
+ try: diff = np.abs(type(np.sqrt(x))(sqrt(x)) - np.sqrt(x))
+ except: continue
+- assert diff < 2.0**-53
++ # numpy-2 does the comparison on LHS type, so we need to convert
++ # it to a type that can actually represent 2.0**-53
++ assert np.float64(diff) < 2.0**-53
+ assert mpf(np.float64('inf')) == inf
+ assert isnan(mp.npconvert(np.float64('nan')))
+ if hasattr(np, "float128"):
diff --git a/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
new file mode 100644
index 000000000000..e852b981d0ae
--- /dev/null
+++ b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
@@ -0,0 +1,63 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python library for arbitrary-precision floating-point arithmetic"
+HOMEPAGE="
+ https://mpmath.org/
+ https://github.com/mpmath/mpmath/
+ https://pypi.org/project/mpmath/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/gmpy[${PYTHON_USEDEP}]
+ ' 'python3*')
+ $(python_gen_cond_dep '
+ dev-python/ipython[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/mpmath/mpmath/pull/816
+ "${FILESDIR}/${P}-numpy-2.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ mpmath/tests/test_cli.py::test_bare_console_bare_division
+ mpmath/tests/test_cli.py::test_bare_console_no_bare_division
+ mpmath/tests/test_cli.py::test_bare_console_pretty
+ mpmath/tests/test_cli.py::test_bare_console_without_ipython
+ mpmath/tests/test_cli.py::test_bare_console_wrap_floats
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=5
+}
+
+pkg_postinst() {
+ optfeature "gmp support" dev-python/gmpy
+ optfeature "matplotlib support" dev-python/matplotlib
+}
diff --git a/dev-python/notify2/notify2-0.3.1-r3.ebuild b/dev-python/notify2/notify2-0.3.1-r3.ebuild
index e931b42fac34..b9e682a5d727 100644
--- a/dev-python/notify2/notify2-0.3.1-r3.ebuild
+++ b/dev-python/notify2/notify2-0.3.1-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/pgzero/pgzero-1.2.1-r2.ebuild b/dev-python/pgzero/pgzero-1.2.1-r2.ebuild
index 3d4ab98eb08a..557cf5f85d16 100644
--- a/dev-python/pgzero/pgzero-1.2.1-r2.ebuild
+++ b/dev-python/pgzero/pgzero-1.2.1-r2.ebuild
@@ -1,18 +1,25 @@
-# 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
PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
inherit distutils-r1
MY_PV="${PV/_p/.post}"
MY_P="${PN}-${MY_PV}"
-
DESCRIPTION="A zero-boilerplate games programming framework based on Pygame"
-HOMEPAGE="https://pygame-zero.readthedocs.io/"
-SRC_URI="https://github.com/lordmauve/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.gh.tar.gz"
+HOMEPAGE="
+ https://pygame-zero.readthedocs.io/
+ https://github.com/lordmauve/pgzero/
+ https://pypi.org/project/pgzero/
+"
+SRC_URI="
+ https://github.com/lordmauve/pgzero/archive/${MY_PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-3"
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index b09433284302..01e9828d51e9 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1 +1,2 @@
DIST python-phonenumbers-8.13.39.gh.tar.gz 4915365 BLAKE2B 998a45240717e3beedf3e319ce4e114062acd33129d916483041f6b51c410b2a058ef85236b3bf2db190100332fc39942b60615488366c08e54e296289d57a1a SHA512 a9de957e256d00fe7793646eaf0213ccbb452dbf89625e47e1ee47901014529cc48a30ef1cb48e2f929ae0083c89e584de149d9532691fb52c0ee44675234d74
+DIST python-phonenumbers-8.13.40.gh.tar.gz 4914854 BLAKE2B eab8e8e28a5895f9eb92ce9198a77a4d9bfd6f3d58f17c5a7909913ea43af2efd1dcff84c9d517c5f4f17ba87ce68786ab64f523b10ddf6aa3354801021843d3 SHA512 ef2199d86998201485d48cf4d5d56baa82476dbe41b2b4f89aebfcbf840af0ae35a78308a0f74b2daad58a2c330e10444c93ffb59a402d5fe5cc5baff78fdcb2
diff --git a/dev-python/phonenumbers/phonenumbers-8.13.40.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.40.ebuild
new file mode 100644
index 000000000000..062c56c77784
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-8.13.40.ebuild
@@ -0,0 +1,39 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+MY_P=python-${P}
+DESCRIPTION="Python port of Google's libphonenumber"
+HOMEPAGE="
+ https://github.com/daviddrysdale/python-phonenumbers/
+ https://pypi.org/project/phonenumbers/
+"
+SRC_URI="
+ https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ../README.md )
+
+python_test() {
+ "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest
index bc9eb9002ee3..ce7eeb59efe7 100644
--- a/dev-python/pillow/Manifest
+++ b/dev-python/pillow/Manifest
@@ -1,2 +1,3 @@
DIST pillow-10.2.0.gh.tar.gz 46244216 BLAKE2B 27bb076f0adade34295e6dfec5c5a1499471036e4f5358f0b3985c064a0ae962be9e91985851b369a49162ef520a84bb20eb1a5acb074fe94d861f042e4ada92 SHA512 d77ebedfb89d541db2fcba4fc354e097b9917594170bad07c67e22de123c9e0bbc9c55a938fc152bbdcca3ce23de6fa374a6d3d3bdbd44f16dbc2616c1bddf60
DIST pillow-10.3.0.gh.tar.gz 46636534 BLAKE2B 523486a3adc8905dbe0691e7092654e7884c34703f351e228a49b1cb6e9cffdf504b842aa0c83b18afb8f0dbe1265274044003aba540d6427ec3cd46ddda1498 SHA512 11095f435ba30ac364575271de4c94d498b6fc1d67730b8212fae6f187902129018ca950aa878843f4d1b29e25aab1be245ed313fd3bc110ccf9ce3ae266d840
+DIST pillow-10.4.0.gh.tar.gz 46617167 BLAKE2B 3eb7852ab087d18e5b9a03d6cbf83ead96b637a71d4209a4574d66c9d098936d240c0be3235d9e951ec094b9b0def196b265a8e68f59802f843171c74ca7bbac SHA512 835a8766c384ec3fcf67b42c9bbad35dad0848cc5bd9eba1b0768a864e174a1d9c4a5e989f22496a40f2c29dd7f492f6f80465903fe872b10749cfa0340e1bc5
diff --git a/dev-python/pillow/pillow-10.4.0.ebuild b/dev-python/pillow/pillow-10.4.0.ebuild
new file mode 100644
index 000000000000..306ad78f51c8
--- /dev/null
+++ b/dev-python/pillow/pillow-10.4.0.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# setuptools wrapper
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 toolchain-funcs virtualx
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="
+ https://python-pillow.org/
+ https://github.com/python-pillow/Pillow/
+ https://pypi.org/project/pillow/
+"
+SRC_URI="
+ https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
+REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ imagequant? ( media-gfx/libimagequant:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ tiff? ( media-libs/tiff:=[jpeg,zlib] )
+ truetype? ( media-libs/freetype:2= )
+ webp? ( media-libs/libwebp:= )
+ xcb? ( x11-libs/libxcb )
+ zlib? ( sys-libs/zlib:= )
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/olefile[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[png]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-pillow/pillow/pull/7634
+ "${FILESDIR}/${PN}-10.2.0-cross.patch"
+)
+
+usepil() {
+ usex "${1}" enable disable
+}
+
+python_configure_all() {
+ cat >> setup.cfg <<-EOF || die
+ [build_ext]
+ debug = True
+ disable_platform_guessing = True
+ $(usepil truetype)_freetype = True
+ $(usepil jpeg)_jpeg = True
+ $(usepil jpeg2k)_jpeg2000 = True
+ $(usepil lcms)_lcms = True
+ $(usepil tiff)_tiff = True
+ $(usepil imagequant)_imagequant = True
+ $(usepil webp)_webp = True
+ $(usepil webp)_webpmux = True
+ $(usepil xcb)_xcb = True
+ $(usepil zlib)_zlib = True
+ EOF
+ if use truetype; then
+ # these dependencies are implicitly disabled by USE=-truetype
+ # and we can't pass both disable_* and vendor_*
+ # https://bugs.gentoo.org/935124
+ cat >> setup.cfg <<-EOF || die
+ vendor_raqm = False
+ vendor_fribidi = False
+ EOF
+ fi
+
+ tc-export PKG_CONFIG
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO (is clipboard unreliable in Xvfb?)
+ Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
+ # requires xz-utils[extra-filters]?
+ Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma
+ )
+
+ "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # leak tests are fragile and broken under xdist
+ epytest -k "not leak" -p timeout || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader src/libImaging/*.h
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ if use examples ; then
+ docinto example
+ dodoc docs/example/*
+ docompress -x /usr/share/doc/${PF}/example
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
index 4f6dde1efc28..8ec9b3f7ed61 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -1,4 +1,5 @@
DIST psycopg-3.1.19.gh.tar.gz 507073 BLAKE2B c10e2ba83f4a3bb0646d86c0f1311ae43e3fafbf9eb8ae91f8a77941dd2ef21d22c5fdeca724399bbcf5f7f010f5a3b0f78979720efec8f25613abbe568dabc9 SHA512 a7d02570632a28080ffd99fa492c2f1af623e7ca55e57e8c5d4664aff4d033ae85fc21cfbb1f85a90c48e01944ed1be68e857b5cb34c0547b51ca465bac0a361
DIST psycopg-3.2.0.gh.tar.gz 549161 BLAKE2B 33997b5ee2f4f814561f83f92e9db4b61664f0ac84f6ff3bfd057d1cf9039a5e169478c8f40deb97e07433cf1481bfa7f4f79765158ec968ff6ab74b5aa6d14e SHA512 4466390a33f55eca73e1d490aca98ad7bb0e4c55b166d8956e1c940f5ea71c7cb07ba5602276f7510b2368d6c0c0e6eacac8d4ae67f465fd07afc4c75283f3c1
+DIST psycopg-3.2.1.gh.tar.gz 549277 BLAKE2B badea79ca48b99ae363ffa1d04de922add9456662e0909a2761f61f1a5d03e2afc01ee188814495029551d9521aff95caa7ef3123d96dfcfbb3c0d0a14597e3c SHA512 ecaeee67493ce849a2d7477d0373061ab3b329d228e3c0dd482d7ee8c7eea07c59127db2e6afc0233a78f073306d4adef915aba5f3fc6378c0335c3155350294
DIST psycopg2-2.9.4.tar.gz 384017 BLAKE2B 4bc0afcc890c8a257c1ccd5c6e4e5301857a80f8b1428aa46c1473c9e18f5d2914a2e592c13336b06106217bb334d9b0321835bdd123f1627cbeb29dedf97bf7 SHA512 259088e42e0ab0d8a1a0ccf04f5e560f32c6179b4a0a0059e91bcf269baa8f4b0f1f949c332c640a2438c927a29b2c144078a861f8e18ba9c764da7c93c73b8d
DIST psycopg2-2.9.9.tar.gz 384926 BLAKE2B 8418fca1329703cedfc86be74d85cae5133a0604bb8a21fa43e5359a46626d38ef227d0cd8fbbeb497e2db517a469d7f3e86b74ef9163617a547e999073a6b4c SHA512 a691fd09762221e854861dedce37b05e5354e0701feea470a6d5046960056ef02a8c9ecfa751adeba485271ea7d5834643b7d3a3c3f3270087f5ed9c68509f5f
diff --git a/dev-python/psycopg/psycopg-3.2.1.ebuild b/dev-python/psycopg/psycopg-3.2.1.ebuild
new file mode 100644
index 000000000000..ac1298aa350e
--- /dev/null
+++ b/dev-python/psycopg/psycopg-3.2.1.ebuild
@@ -0,0 +1,111 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="
+ https://www.psycopg.org/psycopg3/
+ https://github.com/psycopg/psycopg/
+ https://pypi.org/project/psycopg/
+"
+SRC_URI="
+ https://github.com/psycopg/psycopg/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="+native-extensions"
+
+DEPEND="
+ native-extensions? (
+ >=dev-db/postgresql-8.1:=
+ )
+ !native-extensions? (
+ >=dev-db/postgresql-8.1:*
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+ test? (
+ >=dev-db/postgresql-8.1[server]
+ >=dev-python/anyio-4.0[${PYTHON_USEDEP}]
+ >=dev-python/dnspython-2.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ # Python code + ctypes backend
+ cd psycopg || die
+ distutils-r1_python_compile
+
+ # optional C backend
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ local DISTUTILS_USE_PEP517=standalone
+ cd ../psycopg_c || die
+ distutils-r1_python_compile
+ fi
+ cd .. || die
+}
+
+src_test() {
+ rm -r psycopg{,_c} || die
+
+ initdb -D "${T}"/pgsql || die
+ # TODO: random port
+ pg_ctl -w -D "${T}"/pgsql start \
+ -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" test || die
+
+ local -x PSYCOPG_TEST_DSN="host=${T} dbname=test"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # tests for the psycopg_pool package
+ tests/pool
+ # some broken mypy magic
+ tests/test_module.py::test_version
+ tests/test_module.py::test_version_c
+ tests/test_typing.py
+ tests/crdb/test_typing.py
+ # TODO, relying on undefined ordering in Python?
+ tests/test_dns_srv.py::test_srv
+ )
+
+ local impls=( python )
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ impls+=( c )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PSYCOPG_IMPL
+ for PSYCOPG_IMPL in "${impls[@]}"; do
+ einfo "Testing with ${PSYCOPG_IMPL} implementation ..."
+ # leak and timing tests are fragile whereas slow tests are slow
+ epytest -p anyio -k "not leak" \
+ -m "not timing and not slow and not flakey"
+ done
+}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 57bf775f82bd..5427a365e6b4 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -1,2 +1,3 @@
DIST pydantic-2.7.4.tar.gz 714127 BLAKE2B c9d6df84799d1c8a69bf7d203609db3ba533380919d1f47ae84eb83186ef9ffbbab5bea9b9c4918c65d35d4b2103107df3c7e5e314195bd84807d216226490b6 SHA512 9a36041a24306761f2528aaca196d0b3e160cf46d71596fcd3df0169b9dd68ce810b88bcbe15dc9c0126551d0d7e33e4c3014b97daaf5d68ce68c0f8d6ffaf81
+DIST pydantic-2.8.0.tar.gz 738772 BLAKE2B d3a490afdc1fa9e6baf5b63a4760d98043c7d0b7bc46018af5701acbfeecae0e08ab171f386f817bfd0a36b702228bcd5c92bf8de36de2f36a7b87e181736129 SHA512 aa703ad04698f476b4a7d69f0a58e36cd8064c64e30e33e03a375d4986049e841abf24e5ef53f192101e484b645a12879087f171346d30747e2c35ebc763aa4e
DIST pydantic-2.8.0b1.tar.gz 738470 BLAKE2B 13d9e19ea6cd78849b6ed507b20daf36c941e790d5cd291999755d00b0d4a289658b6b92316663205c893da0e41ea49073bda597f811592543ad1c30bcf9b4ee SHA512 9047543d8d281e3b9e18daff087c8cc8ba632392c9df9a1c2543c6d2d2eb1488c22a9c363417f64e2deaa576659254a2c2267241bfda7a4b5bf466377df8cd64
diff --git a/dev-python/pydantic/pydantic-2.8.0.ebuild b/dev-python/pydantic/pydantic-2.8.0.ebuild
new file mode 100644
index 000000000000..e54fcc2af091
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.8.0.ebuild
@@ -0,0 +1,63 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_pickle.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild b/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
index 1687153e87de..74e7b5e8b622 100644
--- a/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
+++ b/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="~amd64 ~arm64 ~riscv"
RDEPEND="
>=dev-debug/gdb-9.6
diff --git a/dev-python/rpyc/Manifest b/dev-python/rpyc/Manifest
index 3dd555a227cf..fc7902825c24 100644
--- a/dev-python/rpyc/Manifest
+++ b/dev-python/rpyc/Manifest
@@ -1 +1,2 @@
DIST rpyc-5.3.1.gh.tar.gz 1271046 BLAKE2B b7c86aa5cf774d306b2d6fdbac97441533bc5a847aaf03c11b0abf0a07587a2f7d081470d3402fde4251ea6654051d96983feefa2ba7e65a9a95d76f179edcad SHA512 a328903c336483f7110cbbff96173ba0b5ae6cf16f6306c624055bd631d914772c42dcfcf48a275b7dc53241f6b10a397ee49f17b8a3c3c8dbee8f42ac784465
+DIST rpyc-6.0.0.gh.tar.gz 1273858 BLAKE2B e55d008dc772be7fd4bae9065a5eabcf5612faf8131e8161e7921eeb84475183c677687ef8606c664003089ae714d4cb403ff6afa26d2695a8fe763d549aab0d SHA512 04b74fa6d4ad944b43c3f3acb6c9029a826da350bffdc59875ec31562bbaa70945e74bedb69778811ce16560ef4f4cfe2579b9c6b52773fe238951fc6328e029
diff --git a/dev-python/rpyc/rpyc-6.0.0.ebuild b/dev-python/rpyc/rpyc-6.0.0.ebuild
new file mode 100644
index 000000000000..dba32e907e4a
--- /dev/null
+++ b/dev-python/rpyc/rpyc-6.0.0.ebuild
@@ -0,0 +1,69 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Remote Python Call (RPyC), a transparent and symmetric RPC library"
+HOMEPAGE="https://rpyc.readthedocs.io/en/latest/
+ https://pypi.org/project/rpyc/
+ https://github.com/tomerfiliba-org/rpyc"
+SRC_URI="https://github.com/tomerfiliba-org/rpyc/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+# USE flags gdb, numpy are used *only* to run tests depending on these packages
+IUSE="test numpy gdb"
+RESTRICT="!test? ( test )"
+
+CDEPEND="numpy? ( dev-python/numpy[${PYTHON_USEDEP}] dev-python/pandas[${PYTHON_USEDEP}] )
+ gdb? ( dev-debug/gdb )"
+
+DEPEND="${CDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+RDEPEND="${CDEPEND}
+ dev-python/plumbum[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}"/${PN}-5.3.0-no-gevent.patch )
+
+src_prepare() {
+ default
+
+ # Windows specific test
+ rm tests/test_win32pipes.py || die "rm tests/test_win32pipes.py failed"
+
+ # These tests require running sshd
+ rm tests/test_ssh.py tests/test_deploy.py || die "rm test_ssh.py test_deploy.py failed"
+
+ # This test requires internet access
+ rm tests/test_registry.py || die "rm test_registry.py failed"
+
+ # This test fails with NO_CIPHERS_AVAILABLE
+ rm tests/test_ssl.py || die "rm test_ssl.py failed"
+
+ # dev-python/gevent is being removed
+ rm tests/test_gevent_server.py || die "rm test_gevent_server.py failed"
+
+ if ! use numpy
+ then rm tests/test_service_pickle.py || die "rm test_service_pickle.py failed"
+ fi
+
+ if ! use gdb
+ then rm tests/test_gdb.py || die "rm test_gdb.py failed"
+ fi
+}
+
+python_test() {
+ # for some reason, when tests are run via pytest or nose, some of them hung
+ pushd tests > /dev/null || die "pushd tests failed"
+ for x in test_*.py
+ do PYTHONPATH="${WORKDIR}"/${P}-${EPYTHON/./_}/install/usr/lib/${EPYTHON}/site-packages ${EPYTHON} ${x} || die "${x} failed"
+ done
+ popd > /dev/null
+}
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index 33531e416713..8ad0d6307452 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -2,3 +2,4 @@ DIST setuptools-69.0.3.tar.gz 2219609 BLAKE2B 1a5e7896c7ea82d51b0aa4794435b9899c
DIST setuptools-69.5.1.tar.gz 2291314 BLAKE2B 3756dd587136c7e688bdfecf4c0434c0e799f50f9a9a95750d41cb75e26b613b3dc178f43a9e0d21f17c42a7c4ad7461e7986966aefb814e3d0ff05178c82542 SHA512 81f4a5184976a0d4aa070261bb56458c54ec6a479786fa469e98cb336e9a1691b281ae771abe41bc5398fac15b2dd039c07cf014ee00572f46908ce6830fcb6a
DIST setuptools-70.0.0.tar.gz 2265182 BLAKE2B 436189fbd614473c42a08da75837c5bb2f6fb6bc03bfc9b99db22810fa043fb071c2344659125439d507d10354d42ea5b703e91c0572caad90f5d805eca9ee8d SHA512 13a5ac09401165dc36d2a365c0ea236c01153374c002b062c4b403a537157ce86593848e93e3c26f5c81f5783e43e6aa96d813f9a39a55732ea3911ddc5c337a
DIST setuptools-70.1.1.tar.gz 2292324 BLAKE2B 9d489117a80ef9cefab6b730680a614d990f338aa54579928bafbe3c87dbb5e4db8527b8a0b6c1090bcd3504be97cc69a9ce979e593d0634d9b66b66bccb25e5 SHA512 63452aa1e1d1dea6ad622a21fcc9334bc3603e45de9a1485f79776e02a0fb3b0a0a8b3e886af73845c3c373348c7021f2e06a5665676e9015ee9855441512136
+DIST setuptools-70.2.0.tar.gz 2332711 BLAKE2B d552e3c7fb8bad3829b6c210827af2a3993afa7c534502d08cb7f87df846f9939b75ce181217c673be7a0c71e81ede437b5f44cf9a42ff13133a9f922e426c1d SHA512 a2b0aaf57d012326475ee7637e65ebbc3b1a09b338850e8b0c6a0f169c49651f934c813d6d347ba1ff04894a4d8341bb5fedbea35d45dbc19f317587bbb35094
diff --git a/dev-python/setuptools/setuptools-70.1.1.ebuild b/dev-python/setuptools/setuptools-70.1.1.ebuild
index 7705c778bacb..57d94a5e8235 100644
--- a/dev-python/setuptools/setuptools-70.1.1.ebuild
+++ b/dev-python/setuptools/setuptools-70.1.1.ebuild
@@ -47,6 +47,7 @@ BDEPEND="
>=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
>=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
>=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
dev-python/pip[${PYTHON_USEDEP}]
dev-python/pip-run[${PYTHON_USEDEP}]
dev-python/pyproject-hooks[${PYTHON_USEDEP}]
@@ -55,12 +56,9 @@ BDEPEND="
dev-python/pytest-subprocess[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
>=dev-python/virtualenv-20[${PYTHON_USEDEP}]
' "${PYTHON_TESTED[@]}")
- $(python_gen_cond_dep '
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- ' 3.10)
)
"
# setuptools-scm is here because installing plugins apparently breaks stuff at
diff --git a/dev-python/setuptools/setuptools-70.2.0.ebuild b/dev-python/setuptools/setuptools-70.2.0.ebuild
new file mode 100644
index 000000000000..4a55ff217927
--- /dev/null
+++ b/dev-python/setuptools/setuptools-70.2.0.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# check */_vendor/vendored.txt
+RDEPEND="
+ !!<dev-python/setuptools-rust-1.8.0
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # breaks tests
+ sed -i -e '/--import-mode/d' pytest.ini || die
+
+ # remove bundled dependencies
+ rm -r */_vendor setuptools/_distutils/_vendor || die
+
+ # remove the ugly */extern hack that breaks on unvendored deps
+ rm -r */extern || die
+ find -name '*.py' -exec sed \
+ -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
+ -e 's:from [.]_vendor[.]:from :' \
+ -i {} + || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
+ setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
+ setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
+ setuptools/tests/test_virtualenv.py::test_clean_env_install
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ setuptools/tests/test_extern.py::test_distribution_picklable
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ # Internet, sigh
+ setuptools/tests/test_integration.py
+ # flaky
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_distutils_command_dep
+ )
+
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # TODO
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_distutils_command_dep
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency
+ )
+ esac
+
+ local EPYTEST_XDIST=1
+ epytest -o tmp_path_retention_policy=all setuptools
+}
diff --git a/dev-python/sympy/sympy-1.12.1.ebuild b/dev-python/sympy/sympy-1.12.1.ebuild
index f0dc3f630c8b..925749c3fb39 100644
--- a/dev-python/sympy/sympy-1.12.1.ebuild
+++ b/dev-python/sympy/sympy-1.12.1.ebuild
@@ -30,7 +30,11 @@ RDEPEND="
dev-python/mpmath[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
imaging? ( dev-python/pillow[${PYTHON_USEDEP}] )
- ipython? ( dev-python/ipython[${PYTHON_USEDEP}] )
+ ipython? (
+ $(python_gen_cond_dep '
+ dev-python/ipython[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+ )
latex? (
virtual/latex-base
dev-texlive/texlive-fontsextra
diff --git a/dev-python/tornado/Manifest b/dev-python/tornado/Manifest
index 1aa1c1dcecb0..c766eb08e1da 100644
--- a/dev-python/tornado/Manifest
+++ b/dev-python/tornado/Manifest
@@ -1,2 +1 @@
DIST tornado-6.4.1.tar.gz 500623 BLAKE2B e359d9cbf5e7311e608753a2908e61ea121e4d108209866fda49e79ecca3dc8495c35583406dd7d6b2852c4f6a9df2e340b1f4b892489be976d70000ed51aa33 SHA512 294b4fff8a6d1b9592d355f7faf78f1a94a2aaea1b54414b7e81884b8d4069713a28f6105ae36f27be78abf4c47a1fceab3801bc92b5429374f7a534f104c437
-DIST tornado-6.4.tar.gz 498845 BLAKE2B ebcdcfa93490107addfe69f722e2d85058a92fc366b09a4794a4d6e0a93040ef9791095a5a94d21937d4e88dea09521644cf92d0f2c7e98238dc58e6b864a009 SHA512 c063509d4c385e410c63cccdc1e9c66aa2bb739473667ede56cb801b7379b910c8059dec831d609109f3076222b588b257afd960dffa422d7a872867dcdda7c7
diff --git a/dev-python/tornado/files/tornado-6.4-pytest-8.2.patch b/dev-python/tornado/files/tornado-6.4-pytest-8.2.patch
deleted file mode 100644
index 21a2ed04d24a..000000000000
--- a/dev-python/tornado/files/tornado-6.4-pytest-8.2.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From c851aa8a949524b35f72c82b45a52353aa3c0558 Mon Sep 17 00:00:00 2001
-From: Ran Benita <ran@unusedvar.com>
-Date: Sun, 28 Apr 2024 14:17:54 +0300
-Subject: [PATCH] testing: allow to instantiate an empty AsyncTestCase
-
-`unittest.TestCase` has a feature where it allows instantiating
-`MyTestClass()` with the default method name `runTest` even if a
-`runTest` method doesn't actually exist. This is documented in
-`TestCase`'s docs under "Changed in version 3.2"[0].
-
-Since version 8.2, pytest relies on this, and started breaking on
-Tornado's `AsyncTestCase`[1].
-
-Change `AsyncTestCase` to allow empty instatiation, by matching the
-upstream code.
-
-[0] https://docs.python.org/3/library/unittest.html#unittest.TestCase
-[1] https://github.com/pytest-dev/pytest/issues/12263
----
- tornado/test/testing_test.py | 9 +++++++++
- tornado/testing.py | 12 +++++++++++-
- 2 files changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/tornado/test/testing_test.py b/tornado/test/testing_test.py
-index 0429feee83..8e2b8db428 100644
---- a/tornado/test/testing_test.py
-+++ b/tornado/test/testing_test.py
-@@ -61,6 +61,15 @@ def test_subsequent_wait_calls(self):
- self.io_loop.add_timeout(self.io_loop.time() + 0.2, self.stop)
- self.wait(timeout=0.4)
-
-+ def test_empty_instantation_is_allowed(self):
-+ """
-+ Test that empty instatiation of an AsyncTestCase is allowed.
-+
-+ unittest.TestCase docs guarantee this working, and pytest's unittest
-+ support relies on it.
-+ """
-+ AsyncTestCaseTest()
-+
-
- class LeakTest(AsyncTestCase):
- def tearDown(self):
-diff --git a/tornado/testing.py b/tornado/testing.py
-index bdbff87bc3..9455411a6d 100644
---- a/tornado/testing.py
-+++ b/tornado/testing.py
-@@ -177,7 +177,17 @@ def __init__(self, methodName: str = "runTest") -> None:
- # the test will silently be ignored because nothing will consume
- # the generator. Replace the test method with a wrapper that will
- # make sure it's not an undecorated generator.
-- setattr(self, methodName, _TestMethodWrapper(getattr(self, methodName)))
-+ try:
-+ test_method = getattr(self, methodName)
-+ except AttributeError:
-+ if methodName != "runTest":
-+ # We allow instantiation with no explicit method name
-+ # but not an *incorrect* or missing method name.
-+ raise ValueError(
-+ "no such test method in %s: %s" % (self.__class__, methodName)
-+ )
-+ else:
-+ setattr(self, methodName, _TestMethodWrapper(test_method))
-
- # Not used in this class itself, but used by @gen_test
- self._test_generator = None # type: Optional[Union[Generator, Coroutine]]
diff --git a/dev-python/tornado/tornado-6.4-r1.ebuild b/dev-python/tornado/tornado-6.4-r1.ebuild
deleted file mode 100644
index 461dee756fe2..000000000000
--- a/dev-python/tornado/tornado-6.4-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python web framework and asynchronous networking library"
-HOMEPAGE="
- https://www.tornadoweb.org/
- https://github.com/tornadoweb/tornado/
- https://pypi.org/project/tornado/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.3.2-test-timeout-increase.patch"
- "${FILESDIR}/${PN}-6.3.2-ignore-deprecationwarning.patch"
- # https://github.com/tornadoweb/tornado/pull/3374
- "${FILESDIR}/${P}-pytest-8.2.patch"
-)
-
-src_prepare() {
- # network-sandbox? ipv6?
- sed -i -e 's:test_localhost:_&:' \
- tornado/test/netutil_test.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x ASYNC_TEST_TIMEOUT=60
- # Avoid time-sensitive tests
- # https://github.com/tornadoweb/tornado/blob/10974e6ebee80a26a2a65bb9bd715cf858fafde5/tornado/test/util.py#L19
- local -x TRAVIS=1
- local -x NO_NETWORK=1
-
- cd "${T}" || die
- "${EPYTHON}" -m tornado.test.runtests --verbose ||
- die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/tornado/tornado-6.4.1.ebuild b/dev-python/tornado/tornado-6.4.1.ebuild
index ad7c880e9a2f..5ec0f8b8b505 100644
--- a/dev-python/tornado/tornado-6.4.1.ebuild
+++ b/dev-python/tornado/tornado-6.4.1.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/trove-classifiers/Manifest b/dev-python/trove-classifiers/Manifest
index 33fe4d4e46a6..e0e985223024 100644
--- a/dev-python/trove-classifiers/Manifest
+++ b/dev-python/trove-classifiers/Manifest
@@ -1 +1,2 @@
DIST trove_classifiers-2024.5.22.tar.gz 16050 BLAKE2B e9909972067f1ec825a127801483aa5d6c47bc7c7442bfc4490eec2628003fa0d25362ad10255b20174beb93cfd382df43a948c73c9c8834307d660897d8162f SHA512 34fd1e47f41563e6e9471ae029897d96fec8119368a1bfd8b8982b26c56a1e9e0b154dcd155b401cf537cbfba574e3ca659a31865f3d0718dfa3bc1eb1ec1ea1
+DIST trove_classifiers-2024.7.1.tar.gz 16060 BLAKE2B 4b662d9f440423167d4e715beebaa5993d83dfbab575e9c5b1a549b60f85abb9e10cec09c702d403e3655cafd002b9bf67c02808bbfac6746b2c395f8a0ce102 SHA512 c3092bce086f0530ca10326d2e99ea331e73b31fe47272835ff1a1042588dc616ccf8ce5e6eda5d48b5f199bc5c1a3206d4f17be62dbf751029e498c1231bd11
diff --git a/dev-python/trove-classifiers/trove-classifiers-2024.7.1.ebuild b/dev-python/trove-classifiers/trove-classifiers-2024.7.1.ebuild
new file mode 100644
index 000000000000..d20dba978c27
--- /dev/null
+++ b/dev-python/trove-classifiers/trove-classifiers-2024.7.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)"
+HOMEPAGE="
+ https://github.com/pypa/trove-classifiers/
+ https://pypi.org/project/trove-classifiers/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease hatchling bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "trove-classifiers"
+ version = "${PV}"
+ description = "Canonical source for classifiers on PyPI (pypi.org)."
+ EOF
+}
+
+python_test() {
+ epytest
+ "${EPYTHON}" -m tests.lib || die
+}
diff --git a/dev-python/validators/Manifest b/dev-python/validators/Manifest
index f6c34e51a827..8f6f71f50e15 100644
--- a/dev-python/validators/Manifest
+++ b/dev-python/validators/Manifest
@@ -1 +1,2 @@
DIST validators-0.28.3.tar.gz 65129 BLAKE2B 00ff76346e46f14bc0eb986eb6fc791e43b773bbad2b1cfe9d0b6f24d0f141ff258d5bea97d5330b98307a79c0a75dba69ffe3d85c28fa2ebe509ca0e305d2aa SHA512 d5d1fe6cf250698161efaa6c4d23225f2aab250a7bbf1a1d1de2ee171fd35731905a1c8596dfbc15840a97ac684d8497cb338047db8fc8520ce2056198ccae8d
+DIST validators-0.29.0.tar.gz 67150 BLAKE2B 9c202b91dd8125e2d4dc62fdf0ebd5313fd49f5ed28a71c26f90c9683cab25f688e5f242432616c9a4068429ab3679eaaf518578f3cc3b97ff6894f69883697a SHA512 e8daedd2878f2e2e51c76c8df2141bf4594c5789ed803e9bec592572b7df4f0be22c3c1a948ae6137654cc3bc7a0c638100b264f05771f5b2a13ee10d62deb79
diff --git a/dev-python/validators/validators-0.29.0.ebuild b/dev-python/validators/validators-0.29.0.ebuild
new file mode 100644
index 000000000000..fb830b053fda
--- /dev/null
+++ b/dev-python/validators/validators-0.29.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Data Validation for Humans"
+HOMEPAGE="
+ https://github.com/python-validators/validators/
+ https://pypi.org/project/validators/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires eth-hash
+ tests/crypto_addresses/test_eth_address.py
+)