summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-05-19 19:00:17 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-05-19 19:00:17 +0000
commit12bc45b25d47b37b3794eead3d284aec8e7dafd7 (patch)
tree3f25de3257d0faee609a36f665936602faa3efeb /dev-python
parent4fb6495fd532115008d97a8adbc36128e29929ad (diff)
downloadbaldeagleos-repo-12bc45b25d47b37b3794eead3d284aec8e7dafd7.tar.gz
baldeagleos-repo-12bc45b25d47b37b3794eead3d284aec8e7dafd7.tar.xz
baldeagleos-repo-12bc45b25d47b37b3794eead3d284aec8e7dafd7.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiosmtpd/Manifest1
-rw-r--r--dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild41
-rw-r--r--dev-python/bottleneck/bottleneck-1.3.8-r1.ebuild58
-rw-r--r--dev-python/bottleneck/files/bottleneck-1.3.8-numpy-2.patch64
-rw-r--r--dev-python/cairocffi/cairocffi-1.7.0.ebuild2
-rw-r--r--dev-python/clang-python/Manifest2
-rw-r--r--dev-python/clang-python/clang-python-18.1.6.ebuild54
-rw-r--r--dev-python/fakeredis/Manifest1
-rw-r--r--dev-python/fakeredis/fakeredis-2.23.2.ebuild89
-rw-r--r--dev-python/griffe/Manifest1
-rw-r--r--dev-python/griffe/griffe-0.45.1.ebuild45
-rw-r--r--dev-python/grpcio/files/src_core_tsi_ssl_transport_security_cc.patch21
-rw-r--r--dev-python/grpcio/grpcio-1.62.2.ebuild56
-rw-r--r--dev-python/imageio/Manifest3
-rw-r--r--dev-python/imageio/imageio-2.34.0.ebuild85
-rw-r--r--dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild2
-rw-r--r--dev-python/lit/Manifest2
-rw-r--r--dev-python/lit/lit-18.1.6.ebuild46
-rw-r--r--dev-python/ml-dtypes/Manifest1
-rw-r--r--dev-python/ml-dtypes/ml-dtypes-0.3.2-r1.ebuild37
-rw-r--r--dev-python/orjson/orjson-3.10.3.ebuild2
-rw-r--r--dev-python/plotly/Manifest1
-rw-r--r--dev-python/plotly/plotly-5.21.0.ebuild116
-rw-r--r--dev-python/pygame/pygame-2.5.2-r1.ebuild (renamed from dev-python/pygame/pygame-2.5.2.ebuild)6
-rw-r--r--dev-python/pygit2/Manifest1
-rw-r--r--dev-python/pygit2/pygit2-1.15.0.ebuild45
-rw-r--r--dev-python/pylint/Manifest1
-rw-r--r--dev-python/pylint/pylint-3.2.1.ebuild93
-rw-r--r--dev-python/pyotherside/Manifest1
-rw-r--r--dev-python/pyotherside/pyotherside-1.6.1.ebuild103
-rw-r--r--dev-python/pytest-localftpserver/pytest-localftpserver-1.3.1-r1.ebuild (renamed from dev-python/pytest-localftpserver/pytest-localftpserver-1.3.1.ebuild)7
-rw-r--r--dev-python/pytest/files/pytest-8.2.0-py313.patch182
-rw-r--r--dev-python/pytest/pytest-8.2.0-r1.ebuild121
-rw-r--r--dev-python/python-engineio/Manifest1
-rw-r--r--dev-python/python-engineio/python-engineio-4.9.1.ebuild59
-rw-r--r--dev-python/sabctools/Manifest1
-rw-r--r--dev-python/sabctools/sabctools-8.2.1.ebuild39
-rw-r--r--dev-python/tabulate/tabulate-0.9.0-r1.ebuild4
-rw-r--r--dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild2
-rw-r--r--dev-python/terminaltables/terminaltables-9999.ebuild2
-rw-r--r--dev-python/textX/textX-4.0.1.ebuild2
-rw-r--r--dev-python/tld/tld-0.13.ebuild2
-rw-r--r--dev-python/tree-sitter/Manifest2
-rw-r--r--dev-python/tree-sitter/files/tree-sitter-0.22.2-fix-32-bit.patch27
-rw-r--r--dev-python/tree-sitter/tree-sitter-0.22.3.ebuild (renamed from dev-python/tree-sitter/tree-sitter-0.22.2-r1.ebuild)4
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-4.4.0.ebuild74
-rw-r--r--dev-python/types-setuptools/Manifest1
-rw-r--r--dev-python/types-setuptools/types-setuptools-69.5.0.20240519.ebuild17
-rw-r--r--dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild10
-rw-r--r--dev-python/xarray/xarray-2024.1.1-r1.ebuild (renamed from dev-python/xarray/xarray-2024.1.1.ebuild)1
-rw-r--r--dev-python/xarray/xarray-2024.2.0-r1.ebuild (renamed from dev-python/xarray/xarray-2024.2.0.ebuild)1
52 files changed, 1174 insertions, 366 deletions
diff --git a/dev-python/aiosmtpd/Manifest b/dev-python/aiosmtpd/Manifest
index e5676bd746f4..bdc661d6a878 100644
--- a/dev-python/aiosmtpd/Manifest
+++ b/dev-python/aiosmtpd/Manifest
@@ -1 +1,2 @@
DIST aiosmtpd-1.4.5.tar.gz 152668 BLAKE2B 5f689e029afcc267b8b9f1863ce20d76bea16985d7fddac1e6cf0624d7bef6bbbe7089b4933bee8b5aaa74e63d996295e3684b3a7891b697608cbd311be92728 SHA512 c9507e25b5aeec442d299e13624ce00777ecf8089eee230b9cb9f92c18816cef890968c25144a56b95fd9b063b1440921841a16add624d717b8f6378d55c85a4
+DIST aiosmtpd-1.4.6.tar.gz 152775 BLAKE2B 6432388c563bc9e8439f0e685130e103a855004443d24e004ab7bf740c0e93cb7601fc435104f7c1c450e1d6374fe9070ed4a91df58ca0f013e516cd9f40e748 SHA512 5aceaa03d6a00c3c99cd2d53b9320aa3a044d0ee09c22bd4fadf3ee56ea0e307120d1fe4cc798d7a04d53059da674f6dba816a6a6ed7326a510f6caf074e8f90
diff --git a/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild b/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild
new file mode 100644
index 000000000000..5a74c05c4353
--- /dev/null
+++ b/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild
@@ -0,0 +1,41 @@
+# Copyright 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 pypi
+
+DESCRIPTION="Reimplementation of the Python stdlib smtpd.py based on asyncio"
+HOMEPAGE="
+ https://aiosmtpd.aio-libs.org/
+ https://github.com/aio-libs/aiosmtpd
+ https://pypi.org/project/aiosmtpd/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/atpublic-4.0[${PYTHON_USEDEP}]
+ >=dev-python/attrs-23.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? ( >=dev-python/pytest-mock-3.12.0[${PYTHON_USEDEP}] )
+"
+
+EPYTEST_DESELECT=(
+ # Needs dev-vcs/git
+ aiosmtpd/qa/test_0packaging.py::TestVersion
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -i -e '/--cov=/d' pytest.ini || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/bottleneck/bottleneck-1.3.8-r1.ebuild b/dev-python/bottleneck/bottleneck-1.3.8-r1.ebuild
new file mode 100644
index 000000000000..18062676e99f
--- /dev/null
+++ b/dev-python/bottleneck/bottleneck-1.3.8-r1.ebuild
@@ -0,0 +1,58 @@
+# 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_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fast NumPy array functions written in C"
+HOMEPAGE="
+ https://github.com/pydata/bottleneck/
+ https://pypi.org/project/Bottleneck/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+DEPEND="
+ >=dev-python/numpy-1.9.1:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pydata/bottleneck/pull/450
+ "${FILESDIR}/${P}-numpy-2.patch"
+)
+
+src_prepare() {
+ # don't overwrites user's optimization level
+ sed -e '/extra_compile_args=\["-O2"\]/d' -i setup.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # GC assumptions?
+ tests/memory_test.py::test_memory_leak
+ )
+ ;;
+ esac
+
+ rm -rf bottleneck || die
+ epytest --pyargs bottleneck
+}
diff --git a/dev-python/bottleneck/files/bottleneck-1.3.8-numpy-2.patch b/dev-python/bottleneck/files/bottleneck-1.3.8-numpy-2.patch
new file mode 100644
index 000000000000..153b984f1fe7
--- /dev/null
+++ b/dev-python/bottleneck/files/bottleneck-1.3.8-numpy-2.patch
@@ -0,0 +1,64 @@
+From 787d6daa292ef013efb2ce93f100079457330363 Mon Sep 17 00:00:00 2001
+From: Ben Greiner <code@bnavigator.de>
+Date: Thu, 9 May 2024 20:27:16 +0200
+Subject: [PATCH 3/3] Replace np.array(a, copy=False) with np.asarray(a)
+
+See https://numpy.org/devdocs/numpy_2_0_migration_guide.html#adapting-to-changes-in-the-copy-keyword
+---
+ bottleneck/slow/move.py | 8 ++++----
+ bottleneck/slow/nonreduce_axis.py | 2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/bottleneck/slow/move.py b/bottleneck/slow/move.py
+index 0aa06f141..76a54a24e 100644
+--- a/bottleneck/slow/move.py
++++ b/bottleneck/slow/move.py
+@@ -52,7 +52,7 @@ def move_argmin(a, window, min_count=None, axis=-1):
+ "Slow move_argmin for unaccelerated dtype"
+
+ def argmin(a, axis):
+- a = np.array(a, copy=False)
++ a = np.asarray(a)
+ flip = [slice(None)] * a.ndim
+ flip[axis] = slice(None, None, -1)
+ a = a[tuple(flip)] # if tie, pick index of rightmost tie
+@@ -78,7 +78,7 @@ def move_argmax(a, window, min_count=None, axis=-1):
+ "Slow move_argmax for unaccelerated dtype"
+
+ def argmax(a, axis):
+- a = np.array(a, copy=False)
++ a = np.asarray(a)
+ flip = [slice(None)] * a.ndim
+ flip[axis] = slice(None, None, -1)
+ a = a[tuple(flip)] # if tie, pick index of rightmost tie
+@@ -115,7 +115,7 @@ def move_rank(a, window, min_count=None, axis=-1):
+
+ def move_func(func, a, window, min_count=None, axis=-1, **kwargs):
+ "Generic moving window function implemented with a python loop."
+- a = np.array(a, copy=False)
++ a = np.asarray(a)
+ if min_count is None:
+ mc = window
+ else:
+@@ -226,7 +226,7 @@ def lastrank(a, axis=-1):
+ -0.5
+
+ """
+- a = np.array(a, copy=False)
++ a = np.asarray(a)
+ ndim = a.ndim
+ if a.size == 0:
+ # At least one dimension has length 0
+diff --git a/bottleneck/slow/nonreduce_axis.py b/bottleneck/slow/nonreduce_axis.py
+index f09dfa739..1dd67529a 100644
+--- a/bottleneck/slow/nonreduce_axis.py
++++ b/bottleneck/slow/nonreduce_axis.py
+@@ -15,7 +15,7 @@ def nanrankdata(a, axis=None):
+
+
+ def _rank(func1d, a, axis):
+- a = np.array(a, copy=False)
++ a = np.asarray(a)
+ if axis is None:
+ a = a.ravel()
+ axis = 0
diff --git a/dev-python/cairocffi/cairocffi-1.7.0.ebuild b/dev-python/cairocffi/cairocffi-1.7.0.ebuild
index a34a4dc4241c..3ceaa5756b20 100644
--- a/dev-python/cairocffi/cairocffi-1.7.0.ebuild
+++ b/dev-python/cairocffi/cairocffi-1.7.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
DEPEND="
>=dev-python/xcffib-0.3.2[${PYTHON_USEDEP}]
diff --git a/dev-python/clang-python/Manifest b/dev-python/clang-python/Manifest
index 0d001d027304..29db58ecccbf 100644
--- a/dev-python/clang-python/Manifest
+++ b/dev-python/clang-python/Manifest
@@ -6,5 +6,7 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.5.src.tar.xz 132061072 BLAKE2B bfdd987d5992a4d94ae8b14792df3be67a8e8fdf1daef9834cdaa2132df1b7ddb72ba0aabbb34b171a73d0f3b2b0f61e7160f0b278a67fd4850e3f501fd21531 SHA512 9e2f1e251b3754a24a0b39676d78c98692887c05c85cf0bee50fd44d9635290019930d4dabd1ff4ba3c9c1067e7e0e09aa1bbcd3d76687f919a1d44ba85eee20
DIST llvm-project-18.1.5.src.tar.xz.sig 566 BLAKE2B ad935db71ec3b9fc885d696af440764a71fe7cafc5b3ca0b25a2963100d9cb3790392daebcac1341716c95a8da3c6243f5a8667fea1ed18b93fc8baa495414c9 SHA512 3cbca1059d940f3bd7bd72d68f2828039b66304980cc5f43769649e5494fc7d71117bf8aba5cc7f7a2ffca52f60ba30fadf3b28f984fd49ddb14300e30b45237
+DIST llvm-project-18.1.6.src.tar.xz 132064976 BLAKE2B d38d8026068de371dc4bc288c68c8e441a126cf8e89e55a965f3b9e3a629a37d5743fd7859a60bedaddf27ff2da1e0f08c81806871ef542cb7c3f40b23b22cf5 SHA512 89ec276aa41bb2d76cfc3a72d8e728a9ce9176e02c085338b704790524fe329904cf311381805814faa8a6c79637620c01627bf122a51f89e0f3adb47e5df34c
+DIST llvm-project-18.1.6.src.tar.xz.sig 566 BLAKE2B 4b4a1ec2f084b0728134b9c04775db5938e571f1d7c7aa45b985bed490dcfd2cceab2069a43d4ce7766faec703310a376b83565af317e5f60bf10bc06a732395 SHA512 fbae037d39f4f1c13babafd42dee719f3d79f0e2142cc319f59fb319361a1db8ce65fa736a0e2a5e702ac49e3b8323374be6cfa1003f96b0887fa1894e2b6dee
DIST llvm-project-702198fc9ac5dba392f9d9ba7c56467996343c0a.tar.gz 211764675 BLAKE2B b28203faf5c4e51236da3e3abac969cffe6f93ce6757a81b5a577187ec236fc0b124fe6a370d1f4e803deab781606a7caf0b411780cc84ee08a8de942c4fc479 SHA512 b4217403abf4166eb8eccfd304bcaa2e15d5b67c4f996d51e0745d197e4b9eda1dd5a5b1d7c384effc25f53bb1229edda9618e172abe3be1a94a9569f7c5b0b7
DIST llvm-project-a7ee81e8279e0bf6e05617a4a638e5f2f8e45022.tar.gz 210384692 BLAKE2B 28b85b08a42c173e1c3bf530483112b1629c7e6684a83a016fbe9f132774f7b864d793581873a6529defeabb4479ad9a3d7c025b781b2fa4952c239b6d567b11 SHA512 1d593818347452f96611a62fa3aa22ce4355a4ee5d5dcfcb54a286a1aa980e9531d5fb6cbee3b0ee5943c6d0f4e2ba2245e13262fe7859e5b114f9c5d5cf1417
diff --git a/dev-python/clang-python/clang-python-18.1.6.ebuild b/dev-python/clang-python/clang-python-18.1.6.ebuild
new file mode 100644
index 000000000000..2cabb464f8f7
--- /dev/null
+++ b/dev-python/clang-python/clang-python-18.1.6.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for sys-devel/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=sys-devel/clang-${PV}:*
+ !sys-devel/llvm:0[clang(-),python(-)]
+ !sys-devel/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index bd277ead80e3..7e67f79a0354 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -1,3 +1,4 @@
DIST fakeredis-2.22.0.tar.gz 130074 BLAKE2B 28ccc177c8f2d47515ff91834901b8fdf9559b83b1e7665101b5f17e57d65a3c820af6be21251257f35a7db858c22fac3395cfb550b724e020e96778ad380008 SHA512 a533f26c2a4289b1b4d398ee426f44c93f01a4aac0dc841854bf94674d7e0738fde38ea896280d4e83bf16041dba505db13e3fa3837a912dc872b1d36c05cc6e
DIST fakeredis-2.23.0.tar.gz 133649 BLAKE2B 4dcfb0b52f18101311cd6513fa236ecc6100d12fdfceb9eef12e40ea4fc2a8148dd93e2ad9a68cf5347a3048a95136b7fcbedab2ea5348fa789462b9fee6f920 SHA512 8c3b4ad153232101203811d2891985474fe17a86693217cb58e694ded3c309d101a6bef52e1b544bbc489a0c355792bdbdbed220dca00d0f50afb2fb1c6438ce
DIST fakeredis-2.23.1.tar.gz 132829 BLAKE2B 05bc696f22cd3280728cf96614ac68fa9243242934c2d25e09fc20a569295adea6b75efb890cc172b1a0c75b9d96e9a1b30c9c04a01bfca508609b3a6eaad5c5 SHA512 5b8d256460d5930896ee1d8b3259decfdee12d0699da852cf1d6ce2c00d70cb404840808c5385ebae8d4ba7accd744f7f969bee4fc73320f55fc34558dee1294
+DIST fakeredis-2.23.2.tar.gz 132956 BLAKE2B 48053663d6260d1153b57893795a97b8e72e21cad57907b006bb8be605cce56c474b1a6bb32d455f034da52bcf391d56139ed0c0bdff7f3c367cc0c365ebca40 SHA512 0994f7c7e955a8cc7b1046f62d37841ea592022f21c34cf1f7d3bb335ba88bda5abf08fa002b4b7c9f0b09a6837a38b1b49cec44a3185e16ab4d4711ad4f95d4
diff --git a/dev-python/fakeredis/fakeredis-2.23.2.ebuild b/dev-python/fakeredis/fakeredis-2.23.2.ebuild
new file mode 100644
index 000000000000..be1ddff28688
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.23.2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fake implementation of redis API for testing purposes"
+HOMEPAGE="
+ https://github.com/cunla/fakeredis-py/
+ https://pypi.org/project/fakeredis/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.2[${PYTHON_USEDEP}]
+ <dev-python/sortedcontainers-3[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # also lupa
+ test/test_aioredis2.py::test_failed_script_error
+ # TODO
+ "test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
+ "test/test_fakeredis.py::test_lpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_rpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis]"
+ test/test_mixins/test_set_commands.py::test_smismember_wrong_type
+ # new redis-server?
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis]"
+ # json ext
+ test/test_json/test_json.py
+ test/test_json/test_json_arr_commands.py
+ # tdigest ext?
+ 'test/test_mixins/test_server_commands.py::test_command[FakeStrictRedis]'
+ )
+ local EPYTEST_IGNORE=(
+ # these tests fail a lot...
+ test/test_hypothesis.py
+ )
+ local args=(
+ # tests requiring lupa (lua support)
+ -k 'not test_eval and not test_lua and not test_script'
+ )
+ # Note: this package is not xdist-friendly
+ epytest "${args[@]}"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index b11d6630b34c..28297bf04ffc 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1 +1,2 @@
DIST griffe-0.45.0.gh.tar.gz 230227 BLAKE2B 9baaf356fe766ffa4537329955dd889e464e9d4521c8c3c35121a8b447de3d1ce6f9a5f91c6141af2bf4aeae02fad478155a705069957570036c53a40061e69f SHA512 36eb1bb70aa9b7888506c6ad13b8d4dadbccfce4d63924eddd3d4d90936c8b2588edbac9181fcd6e649a5945213402da63df8eb753c46db3db94e36ae5df4435
+DIST griffe-0.45.1.gh.tar.gz 230569 BLAKE2B 0b0d7aa1de981befa9af63bfbdd14ee28c026cbfe1fbf4c852d5ede23201bc7d38491c732681a217546fbb002b995956576496e4815d0d3c014d66f64f7bae80 SHA512 f5b1e69e53735ee7a51f581611dba4d321ed0128c759f47a32712de4c4a109326478c62f4e91d453acfb3126258fa486a04189991cf9e7c69be3925790598306
diff --git a/dev-python/griffe/griffe-0.45.1.ebuild b/dev-python/griffe/griffe-0.45.1.ebuild
new file mode 100644
index 000000000000..6b674e3230b3
--- /dev/null
+++ b/dev-python/griffe/griffe-0.45.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Signature generator for Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe/
+ https://github.com/mkdocstrings/griffe/
+ https://pypi.org/project/griffe/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
+
+EPYTEST_DESELECT=(
+ # fragile to installed packages
+ # (failed on PySide2 for me)
+ tests/test_stdlib.py::test_fuzzing_on_stdlib
+)
diff --git a/dev-python/grpcio/files/src_core_tsi_ssl_transport_security_cc.patch b/dev-python/grpcio/files/src_core_tsi_ssl_transport_security_cc.patch
deleted file mode 100644
index 888b232982e7..000000000000
--- a/dev-python/grpcio/files/src_core_tsi_ssl_transport_security_cc.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -urN grpcio-1.59.3.orig/src/core/tsi/ssl_transport_security.cc grpcio-1.59.3/src/core/tsi/ssl_transport_security.cc
---- grpcio-1.59.3.orig/src/core/tsi/ssl_transport_security.cc 2023-11-18 18:16:43.858455317 +0100
-+++ grpcio-1.59.3/src/core/tsi/ssl_transport_security.cc 2023-11-18 18:19:30.417444202 +0100
-@@ -2166,7 +2166,7 @@
- SSL_CTX_set_verify(ssl_context, SSL_VERIFY_PEER, RootCertExtractCallback);
- }
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100000
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER)
- if (options->crl_provider != nullptr) {
- SSL_CTX_set_ex_data(impl->ssl_context, g_ssl_ctx_ex_crl_provider_index,
- options->crl_provider.get());
-@@ -2361,7 +2361,7 @@
- break;
- }
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100000
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER)
- if (options->crl_provider != nullptr) {
- SSL_CTX_set_ex_data(impl->ssl_contexts[i],
- g_ssl_ctx_ex_crl_provider_index,
diff --git a/dev-python/grpcio/grpcio-1.62.2.ebuild b/dev-python/grpcio/grpcio-1.62.2.ebuild
deleted file mode 100644
index 4a9514e0d71d..000000000000
--- a/dev-python/grpcio/grpcio-1.62.2.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2022-2024 LiGurOs Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-inherit distutils-r1 multiprocessing prefix
-
-DESCRIPTION="High-performance RPC framework (python libraries)"
-HOMEPAGE="https://grpc.io https://pypi.org/project/grpcio/"
-SRC_URI="https://files.pythonhosted.org/packages/04/7a/cb869ec6d7f634c0153b4a38ae25bb33699b9307ea17f8cb22b609a46605/grpcio-1.62.2.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-IUSE="libressl"
-
-RDEPEND="
- !libressl? ( >=dev-libs/openssl-1.1.1:0=[-bindist(-)] )
- >=dev-libs/re2-0.2021.11.01:=
- <=dev-python/cython-3[${PYTHON_USEDEP}]
- >=dev-libs/protobuf-25.0
- dev-python/protobuf-python[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- net-dns/c-ares:=
- sys-libs/zlib:=
-"
-
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- eapply -p1 ${FILESDIR}/src_core_tsi_ssl_transport_security_cc.patch
- default
-}
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- hprefixify setup.py
-}
-
-python_configure_all() {
- if use libressl; then
- export GRPC_BUILD_WITH_BORING_SSL_ASM=1
- export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=0
- else
- export GRPC_BUILD_WITH_BORING_SSL_ASM=9
- export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
- fi
-
- export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1
- export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
- export GRPC_PYTHON_BUILD_WITH_SYSTEM_RE2=1
- export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
- export GRPC_PYTHON_BUILD_WITH_CYTHON=1
- export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
-}
diff --git a/dev-python/imageio/Manifest b/dev-python/imageio/Manifest
index 42be407165db..7d248f2b2de9 100644
--- a/dev-python/imageio/Manifest
+++ b/dev-python/imageio/Manifest
@@ -1,5 +1,2 @@
-DIST imageio-2.34.0.gh.tar.gz 413125 BLAKE2B c6f9650265924f370634f5ab87bed94bdb501d078a154b93400d8c89847da3fef7196f18db0682bbfc99ac5c9f4156a113bb2d74f572c010842b9b9593d7c13e SHA512 d28b5b849a8d7fc90c4c4a82b2056431e5351ecce709cd48ccb9aaf58a50964a1b77faf4663d3fdeb4757951fb8a03b5bf632e57f78ddd59d5a9acdb62b78f48
DIST imageio-2.34.1.gh.tar.gz 413414 BLAKE2B 59371d0aeace317b9006a0b3b182b97259a53ca0d2288d8ee497234e4f2e7e253c1c27b40b2c5c1f531555a71c7f426ae6d4555043525aa88ca2818d26adfd7d SHA512 d7d1f99f735447e559c0b1fdc2dbe19f2991fb3c640cb9f1396d149c3c44f05e1c357ca8753fff8130625f8fb40a72f277ef09e7cec2b060d1a4f3a675e086a0
-DIST imageio-chelsea.png 221294 BLAKE2B 58537d7a1678fa5be4cc899e5bacd925bfc180eb4ae691330a53749a49ff544e979609b529ed27e5c1fc9efe4bc050ca1ce49b777f4016fb1d66affd926ef9d3 SHA512 48470cdb843eed4dfa6673811c09c5aac9869ee23dd36be0c6b653d9f108d61d21b148c2a4435aaa6604887ba030e5bbc5e35d378da876366445dfc2d0ba4e27
-DIST imageio-cockatoo.mp4 728751 BLAKE2B 45b22cd517c1cb7c0cd12f8865facaca6a847047aea716e49633cf2b1dc13826f94787c8a8f9dd5f48c6a896f5d37794c0058da1bde9e1469f196916476dbfa2 SHA512 e9cb7c25de8019c59ba4090cf10ab29f2b5d62ada37a877081ca07d2ecfe010036222ae843b41bbcc843130d97fa5e14421de252639e9481df1d1c27b19add49
DIST imageio-test_images-1121036015c70cdbb3015e5c5ba0aaaf7d3d6021.gh.tar.gz 195497374 BLAKE2B 0083212fd63c196dc2e721bff8f89c177b6741317b6b1c6ae9d00a8dd5fb6366efa3f01b9bffafafac7177cfdaa4d700077a2bad42ada735f5553e97f651c4ad SHA512 1bb1f36a069bfaa0d0ffe5258534e02e49237fc6ce85fe3d3648650130165abc9b3d5ff0e7e5861ee1d94add00d4258575f9c2f8556debecf597bdaa5499efe0
diff --git a/dev-python/imageio/imageio-2.34.0.ebuild b/dev-python/imageio/imageio-2.34.0.ebuild
deleted file mode 100644
index e8fb59b99527..000000000000
--- a/dev-python/imageio/imageio-2.34.0.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# 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
-
-BIN_COMMIT=224074bca448815e421a59266864c23041531a42
-DESCRIPTION="Python library for reading and writing image data"
-HOMEPAGE="
- https://imageio.readthedocs.io/en/stable/
- https://github.com/imageio/imageio/
- https://pypi.org/project/imageio/
-"
-SRC_URI="
- https://github.com/imageio/imageio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/chelsea.png
- -> ${PN}-chelsea.png
- https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/cockatoo.mp4
- -> ${PN}-cockatoo.mp4
- )
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-# over 50% of tests rely on Internet
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
- media-libs/freeimage
-"
-# requests for fsspec[github]
-BDEPEND="
- test? (
- dev-python/fsspec[${PYTHON_USEDEP}]
- >=dev-python/imageio-ffmpeg-0.4.9-r1[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/tifffile[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # block silently downloading vulnerable libraries from the Internet
- "${FILESDIR}"/imageio-2.22.0-block-download.patch
- )
-
- if use test; then
- mkdir -p "${HOME}"/.imageio/images || die
- local i
- for i in chelsea.png cockatoo.mp4; do
- cp "${DISTDIR}/${PN}-${i}" "${HOME}/.imageio/images/${i}" || die
- done
- fi
-
- distutils-r1_src_prepare
-}
-
-EPYTEST_DESELECT=(
- # Fails because of system installed freeimage
- tests/test_core.py::test_findlib2
- # Tries to download ffmpeg binary ?!
- tests/test_ffmpeg.py::test_get_exe_installed
- # blocked by our patch
- tests/test_core.py::test_fetching
- tests/test_core.py::test_request
- # known broken
- # https://github.com/imageio/imageio/issues/890
- tests/test_freeimage.py::test_exr_write
- # requires pillow-heif, also possibly Internet
- tests/test_pillow.py::test_avif_remote
- tests/test_pillow.py::test_heif_remote
-)
diff --git a/dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild b/dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild
index 230076039e74..d0478637402e 100644
--- a/dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild
+++ b/dev-python/indexed-gzip/indexed-gzip-1.8.7.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/lit/Manifest b/dev-python/lit/Manifest
index 0d001d027304..29db58ecccbf 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -6,5 +6,7 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.5.src.tar.xz 132061072 BLAKE2B bfdd987d5992a4d94ae8b14792df3be67a8e8fdf1daef9834cdaa2132df1b7ddb72ba0aabbb34b171a73d0f3b2b0f61e7160f0b278a67fd4850e3f501fd21531 SHA512 9e2f1e251b3754a24a0b39676d78c98692887c05c85cf0bee50fd44d9635290019930d4dabd1ff4ba3c9c1067e7e0e09aa1bbcd3d76687f919a1d44ba85eee20
DIST llvm-project-18.1.5.src.tar.xz.sig 566 BLAKE2B ad935db71ec3b9fc885d696af440764a71fe7cafc5b3ca0b25a2963100d9cb3790392daebcac1341716c95a8da3c6243f5a8667fea1ed18b93fc8baa495414c9 SHA512 3cbca1059d940f3bd7bd72d68f2828039b66304980cc5f43769649e5494fc7d71117bf8aba5cc7f7a2ffca52f60ba30fadf3b28f984fd49ddb14300e30b45237
+DIST llvm-project-18.1.6.src.tar.xz 132064976 BLAKE2B d38d8026068de371dc4bc288c68c8e441a126cf8e89e55a965f3b9e3a629a37d5743fd7859a60bedaddf27ff2da1e0f08c81806871ef542cb7c3f40b23b22cf5 SHA512 89ec276aa41bb2d76cfc3a72d8e728a9ce9176e02c085338b704790524fe329904cf311381805814faa8a6c79637620c01627bf122a51f89e0f3adb47e5df34c
+DIST llvm-project-18.1.6.src.tar.xz.sig 566 BLAKE2B 4b4a1ec2f084b0728134b9c04775db5938e571f1d7c7aa45b985bed490dcfd2cceab2069a43d4ce7766faec703310a376b83565af317e5f60bf10bc06a732395 SHA512 fbae037d39f4f1c13babafd42dee719f3d79f0e2142cc319f59fb319361a1db8ce65fa736a0e2a5e702ac49e3b8323374be6cfa1003f96b0887fa1894e2b6dee
DIST llvm-project-702198fc9ac5dba392f9d9ba7c56467996343c0a.tar.gz 211764675 BLAKE2B b28203faf5c4e51236da3e3abac969cffe6f93ce6757a81b5a577187ec236fc0b124fe6a370d1f4e803deab781606a7caf0b411780cc84ee08a8de942c4fc479 SHA512 b4217403abf4166eb8eccfd304bcaa2e15d5b67c4f996d51e0745d197e4b9eda1dd5a5b1d7c384effc25f53bb1229edda9618e172abe3be1a94a9569f7c5b0b7
DIST llvm-project-a7ee81e8279e0bf6e05617a4a638e5f2f8e45022.tar.gz 210384692 BLAKE2B 28b85b08a42c173e1c3bf530483112b1629c7e6684a83a016fbe9f132774f7b864d793581873a6529defeabb4479ad9a3d7c025b781b2fa4952c239b6d567b11 SHA512 1d593818347452f96611a62fa3aa22ce4355a4ee5d5dcfcb54a286a1aa980e9531d5fb6cbee3b0ee5943c6d0f4e2ba2245e13262fe7859e5b114f9c5d5cf1417
diff --git a/dev-python/lit/lit-18.1.6.ebuild b/dev-python/lit/lit-18.1.6.ebuild
new file mode 100644
index 000000000000..abca2aee2cc4
--- /dev/null
+++ b/dev-python/lit/lit-18.1.6.ebuild
@@ -0,0 +1,46 @@
+# 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 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ sys-devel/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from sys-devel/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/ml-dtypes/Manifest b/dev-python/ml-dtypes/Manifest
index 2d151239c361..d916007cea0c 100644
--- a/dev-python/ml-dtypes/Manifest
+++ b/dev-python/ml-dtypes/Manifest
@@ -1,3 +1,2 @@
DIST eigen-7bf2968fed5f246c0589e1111004cb420fcd7c71.tar.bz2 2239233 BLAKE2B 3a7e81c302cb11ae1d6ef9433a9ec41506c1f37d04cfb8744ac3fcf7dbe9430c1b48d7197ca3b8e1f9354398bac3d0dbc3e0599c0b649acd6175e906befe2973 SHA512 29ee89770726e6e0f5135b7fab24649f3e69223caed90d2daa6f0014783e69fe98f0551de49bd4e393d7b7938f2943caf1ed00f3933fa771ac14fae3c63fd5dd
-DIST ml_dtypes-0.3.2.gh.tar.gz 71606 BLAKE2B cbf5414d09160a2e4e878261c5842efd664a424064aae727d9d1188304a5e888ca955b3bf199956c2beed53c78c0f8afeb8860245d57553b10ca7262ba1e8bce SHA512 d42f6734edc5c159f15b9c020deb2595f32bbcdf53ecfaea840afb38314a855d09315693129393f755fdc3295b5965073b404822aacf1a149c7f9bab89c48fd5
DIST ml_dtypes-0.4.0.gh.tar.gz 72894 BLAKE2B a2d70369f8fc72b8234d198ee4517dd3666b6e5a82ea8bca28973966e141426ef5517d441cfdd4cc00146d534194378c191b29f695f1d8c6b9d2785c84d2548c SHA512 a4674c352a641ceab212ff1da25168823d43016dbe00ae06885ef787f1bc0814ae61e595d5f9d43710da29c12e70e3c616e1c634560b911bdb25f4c40b6ba324
diff --git a/dev-python/ml-dtypes/ml-dtypes-0.3.2-r1.ebuild b/dev-python/ml-dtypes/ml-dtypes-0.3.2-r1.ebuild
deleted file mode 100644
index 95bbda75925b..000000000000
--- a/dev-python/ml-dtypes/ml-dtypes-0.3.2-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PNGH="${PN/-/_}" # pypi is ml-dtypes, github is ml_dtypes
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-EIGEN_CommitId="7bf2968fed5f246c0589e1111004cb420fcd7c71"
-
-DESCRIPTION="A stand-alone implementation of several NumPy dtype extensions"
-HOMEPAGE="https://github.com/jax-ml/ml_dtypes"
-SRC_URI="
- https://github.com/jax-ml/${PNGH}/archive/refs/tags/v${PV}.tar.gz -> ${PNGH}-${PV}.gh.tar.gz
- https://gitlab.com/libeigen/eigen/-/archive/${EIGEN_CommitId}/eigen-${EIGEN_CommitId}.tar.bz2
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-S="${WORKDIR}/${PNGH}-${PV}"
-
-DEPEND="
- <dev-python/numpy-2:=[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/pybind11[${PYTHON_USEDEP}]
-"
-
-python_prepare_all() {
- rmdir third_party/eigen || die
- cp -r "${WORKDIR}/eigen-${EIGEN_CommitId}" third_party/eigen || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/orjson/orjson-3.10.3.ebuild b/dev-python/orjson/orjson-3.10.3.ebuild
index 418a98a89bff..e7ea01565593 100644
--- a/dev-python/orjson/orjson-3.10.3.ebuild
+++ b/dev-python/orjson/orjson-3.10.3.ebuild
@@ -71,7 +71,7 @@ LICENSE+="
|| ( Apache-2.0 Boost-1.0 )
"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
BDEPEND="
>=virtual/rust-1.72
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index 548cf839d364..f83885927120 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1,2 +1 @@
-DIST plotly.py-5.21.0.gh.tar.gz 30912188 BLAKE2B 2c193cad821a94a58d3c72ade06f8cc752d7490290a9abd44733ca80c38fcf1af94af0d5f76b80f1542e959dd2d8fa02752cebf8aa9ea28abd1a568073683c14 SHA512 38841fae844452550004fd22126c12c19fa65dae8985e8449eb5ff5be53dcb04a20658afc13a675c6086db2c623e0902e4138cd28f3b4c9d0a9a0013c1465c13
DIST plotly.py-5.22.0.gh.tar.gz 31113116 BLAKE2B 67c0ad0d29b9b5041d1e310336a859c11399cced422f51d9f0906f61474868858f6f62da0172bec3e48f38eb5d1f7c68b497b6014b64f8cf48ef510a41f639ee SHA512 447072a78a5914aea5546edc6c51ea36475d12fd7e4b9f845ebe8396fb531c9b7ba942b6b5f9680f897acd9e2aefb8c09d08aadf106a78531faa8995d5ac218e
diff --git a/dev-python/plotly/plotly-5.21.0.ebuild b/dev-python/plotly/plotly-5.21.0.ebuild
deleted file mode 100644
index 0743316bfec9..000000000000
--- a/dev-python/plotly/plotly-5.21.0.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-MY_P=plotly.py-${PV}
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="
- https://plotly.com/python/
- https://github.com/plotly/plotly.py/
- https://pypi.org/project/plotly/
-"
-SRC_URI="
- https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/packages/python/plotly"
-# The tests are not included in the PyPI tarball, to use the GitHub tarball
-# we have to skip npm, which means that the resulting install will
-# unfortunately lack the jupyterlab extension.
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/jupyter[${PYTHON_USEDEP}]
- dev-python/jupyterlab[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/shapely[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- dev-python/scikit-image[${PYTHON_USEDEP}]
- )
-"
-
-# README ends up a broken symlink
-DOCS=()
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
-)
-
-EPYTEST_IGNORE=(
- # Needs porting to newer numpy
- _plotly_utils/tests/validators/test_integer_validator.py
-
- # kaleido not packaged
- plotly/tests/test_optional/test_kaleido
-
- # plotly-orca not packaged
- plotly/tests/test_orca
-)
-
-EPYTEST_DESELECT=(
- # Also needs porting to newer numpy
- plotly/tests/test_io/test_to_from_plotly_json.py::test_object_numpy_encoding
-
- # kaleido not packaged
- plotly/tests/test_orca/test_to_image.py::test_bytesio
-
- # Fails if not already installed
- test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
- test_init/test_lazy_imports.py::test_lazy_imports
-
- # Minor matplotlib incompatibility
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_path_collection
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
- plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
-
- # In python 3.11 the produced error is slightly different
- plotly/tests/test_core/test_errors/test_dict_path_errors.py::test_described_subscript_error_on_type_error
-
- # TODO
- plotly/tests/test_io/test_to_from_plotly_json.py
-
- # two subtests that require 'vaex' and 'polars' respectively
- plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
- plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
-)
-
-# There are sphinx docs but we are missing a bunch of dependencies.
-# distutils_enable_sphinx ../../../doc/apidoc
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Do not try to fetch stuff with npm
- export SKIP_NPM=1
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- mv "${ED}"/{usr/etc,etc} || die
-}
diff --git a/dev-python/pygame/pygame-2.5.2.ebuild b/dev-python/pygame/pygame-2.5.2-r1.ebuild
index 901f2a113dde..94ae365524b9 100644
--- a/dev-python/pygame/pygame-2.5.2.ebuild
+++ b/dev-python/pygame/pygame-2.5.2-r1.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
@@ -35,8 +35,8 @@ RDEPEND="
media-libs/sdl2-image
media-libs/sdl2-mixer
media-libs/sdl2-ttf
- X? ( media-libs/libsdl2[opengl?,threads,video,X] )
- !X? ( media-libs/libsdl2[threads] )
+ X? ( media-libs/libsdl2[opengl?,threads(+),video,X] )
+ !X? ( media-libs/libsdl2[threads(+)] )
"
DEPEND="
${RDEPEND}
diff --git a/dev-python/pygit2/Manifest b/dev-python/pygit2/Manifest
index 4bc70f331ef5..16eb0caf46fa 100644
--- a/dev-python/pygit2/Manifest
+++ b/dev-python/pygit2/Manifest
@@ -1 +1,2 @@
DIST pygit2-1.14.1.tar.gz 765621 BLAKE2B 7761851052c5dc03f82db987166012eb2a3445d62b209bc1734e240a619d7c5e4449c1772b250dd3ba8e1605b7c94edb4d8b7ad50c92bd85833e4688ed1e92ef SHA512 0718d7f480d40a5c435c725fbfec728ebdbb70d700607662308458dd125796fce9ddcf40afa6841ddc9cb7b19a5966fb3b5c8e4a52281a7eb354381ce62b5534
+DIST pygit2-1.15.0.tar.gz 766816 BLAKE2B bc0f97cbcdb1c445bb00706ade517f4c36cf9d869f87ca919df8116fb3a4e9f29a1c43a637ae53b7e6ccfad028e0df48fad85ee1a0f334438c3fa2916247fbda SHA512 33a5805046f5f18de2ec212145f4adf26b28afb11b669e3cb4d1dc29362ea6627fde605b654d11a80d91589e3000784dfe1c79522bd8c6f1b27974b13a15ef07
diff --git a/dev-python/pygit2/pygit2-1.15.0.ebuild b/dev-python/pygit2/pygit2-1.15.0.ebuild
new file mode 100644
index 000000000000..f516ac32b969
--- /dev/null
+++ b/dev-python/pygit2/pygit2-1.15.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
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for libgit2"
+HOMEPAGE="
+ https://github.com/libgit2/pygit2/
+ https://pypi.org/project/pygit2/
+"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+DEPEND="
+ =dev-libs/libgit2-1.8*:=
+"
+BDEPEND="
+ >=dev-python/cffi-1.16.0:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unconditionally prevent it from using network
+ sed -i -e '/has_network/s:True:False:' test/utils.py || die
+}
+
+src_test() {
+ rm -r pygit2 || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pylint/Manifest b/dev-python/pylint/Manifest
index e2f1f8c93b83..8de3771373e6 100644
--- a/dev-python/pylint/Manifest
+++ b/dev-python/pylint/Manifest
@@ -1,3 +1,4 @@
DIST pylint-3.1.0.gh.tar.gz 1433040 BLAKE2B a224af608fa5ccb256c18073a70f82c399ad23ff6df65f7ae3504c67060f5ba1cd36022c7d53a42f0f93bd4648340433601d2f479bef41a4281e8041a9d15715 SHA512 bb7f09fa8b2c6f218c0e4d74ec2d7bbcb5e9d9fa8c2aeae5a1bf899f25080251609f284959fab14dd93cc5dd911688e25d3d4e1e030a1790578bc78ef1ce2bf7
DIST pylint-3.1.1.gh.tar.gz 1433456 BLAKE2B f51e253228b9bb2bddd2edac76c11ae1e5c712e755665bf3f808da832af313626037aded39eeb75941b7462a87668ea2de307740bd6a736d3130aa10850b5c9f SHA512 66a30a45a1ac816a1e2ff16ea774fb5b5d646f89645c8f551ab4a65feea3076e6bc1b54ff1b71e5d8586f344c02b0e85c9b34d2c5b0afba115fd92cb7cb0a3f1
DIST pylint-3.2.0.gh.tar.gz 1440470 BLAKE2B 428222378bdcf48ab05792144548a8d050115ecac84be72922839702a11247198a959098f3aa94b5c688671ce846386de35c4d870598912be26900d98c188f7d SHA512 14368efe598d074394effc5d90764d49b8680dfafea0837568e22ab9783de664e0d7c02491bf8c94c1b2bbe8d48018063f45a25ebd04c7813ac8e6bba7786109
+DIST pylint-3.2.1.gh.tar.gz 1443199 BLAKE2B 0b6a066971f963ebf69665c5e343456c482bdcfa788d08c267d225d1a6aa54f58bc9731cc686a38f85b6a4f9b030c9b39103e9929e8265cdfa434a38d7e3a07a SHA512 a7b22cab97e50f358d4aa3d2d1da50608e50cb13b6db433eb877007c32803b7151ef141a9741d7849e4ef7707ff5d4e5501174a5376418489bc0565148303f61
diff --git a/dev-python/pylint/pylint-3.2.1.ebuild b/dev-python/pylint/pylint-3.2.1.ebuild
new file mode 100644
index 000000000000..3e61fa1c75de
--- /dev/null
+++ b/dev-python/pylint/pylint-3.2.1.ebuild
@@ -0,0 +1,93 @@
+# 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 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+MY_P=${P/_beta/b}
+DESCRIPTION="Python code static checker"
+HOMEPAGE="
+ https://pypi.org/project/pylint/
+ https://github.com/pylint-dev/pylint/
+"
+SRC_URI="
+ https://github.com/pylint-dev/pylint/archive/v${PV/_beta/b}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="examples"
+
+RDEPEND="
+ <dev-python/astroid-3.3[${PYTHON_USEDEP}]
+ >=dev-python/astroid-3.2.1[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/isort-4.2.5[${PYTHON_USEDEP}]
+ <dev-python/isort-6[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.6[${PYTHON_USEDEP}]
+ <dev-python/mccabe-0.8[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.10.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/GitPython-3[${PYTHON_USEDEP}]
+ ' 'python*' )
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ 'tests/test_functional.py::test_functional[dataclass_with_field]'
+ 'tests/test_functional.py::test_functional[no_name_in_module]'
+ 'tests/test_functional.py::test_functional[recursion_error_3159]'
+ 'tests/test_functional.py::test_functional[shadowed_import]'
+ 'tests/test_functional.py::test_functional[use_yield_from]'
+ 'tests/test_functional.py::test_functional[wrong_import_order]'
+ )
+ local EPYTEST_IGNORE=(
+ # No need to run the benchmarks
+ tests/benchmark/test_baseline_benchmarks.py
+ )
+
+ if ! has_version "dev-python/GitPython[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/profile/test_profile_against_externals.py
+ tests/testutils/_primer/test_package_to_lint.py
+ tests/testutils/_primer/test_primer.py
+ )
+ fi
+
+ rm -rf pylint || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
+
+python_install_all() {
+ if use examples ; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ docinto examples
+ dodoc -r examples/.
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyotherside/Manifest b/dev-python/pyotherside/Manifest
index 6150ebef338c..7a770678cc78 100644
--- a/dev-python/pyotherside/Manifest
+++ b/dev-python/pyotherside/Manifest
@@ -1 +1,2 @@
DIST pyotherside-1.6.0.tar.gz 183645 BLAKE2B e2a12a9a96f3672a5e322c9f2e84d485b8086bdcacfc6586e0c23f6dd730d3e66cea66618540fd9a304480a9ab86386e2fe0136047c59f70bfa3b5cff9e8e76e SHA512 57835db9d65fae10e6b3ec8ab37793e316324e7a819a1045436adf9eabdee11ccf3090a4db0302283b236e77e5e0bd14cf92ed1430835ccc324e50085a872787
+DIST pyotherside-1.6.1.tar.gz 184539 BLAKE2B 32c017b6d3a64a3125f779a0201ee15288fbcc84bf070442dc542df525f5994cee6b334d86ff2bbbcada39f645ac2e900a459d729c4f8c838d529fb33bdf1226 SHA512 ea672405b97d09b3c4f1266b1714da5e127c47f8f1c99caa282bd823261c06a0b02e7094185724863f339a0bd35d45426bdf6e8cb7d37a8a23d1d18e81939d9d
diff --git a/dev-python/pyotherside/pyotherside-1.6.1.ebuild b/dev-python/pyotherside/pyotherside-1.6.1.ebuild
new file mode 100644
index 000000000000..002d912881d8
--- /dev/null
+++ b/dev-python/pyotherside/pyotherside-1.6.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit multibuild qmake-utils python-single-r1
+
+DESCRIPTION="Asynchronous Python 3 Bindings for Qt"
+HOMEPAGE="
+ https://github.com/thp/pyotherside/
+ https://thp.io/2011/pyotherside/
+"
+SRC_URI="
+ https://github.com/thp/pyotherside/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+IUSE="qt5 qt6"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( qt5 qt6 )
+"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtopengl:5
+ dev-qt/qtsvg:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[opengl]
+ dev-qt/qtdeclarative:6[opengl]
+ dev-qt/qtquick3d:6[opengl]
+ dev-qt/qtsvg:6
+ )"
+RDEPEND="
+ ${DEPEND}
+"
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+ python_setup
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/qtquicktests//" pyotherside.pro || die
+ multibuild_copy_sources
+}
+
+src_configure() {
+ myconfigure() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ case ${MULTIBUILD_VARIANT} in
+ qt5)
+ eqmake5
+ ;;
+ qt6)
+ eqmake6
+ ;;
+ *)
+ # This should never happen if REQUIRED_USE is enforced
+ die "Neither Qt5 nor Qt6 support enabled, aborting"
+ ;;
+ esac
+
+ popd > /dev/null || die
+ }
+
+ multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+ mycompile() {
+ emake -C "${BUILD_DIR}"
+ }
+
+ multibuild_foreach_variant mycompile
+}
+
+src_test() {
+ mytest() {
+ QT_QPA_PLATFORM="offscreen" "${BUILD_DIR}"/tests/tests || die
+ }
+
+ multibuild_foreach_variant mytest
+}
+
+src_install() {
+ myinstall() {
+ emake -C "${BUILD_DIR}" install INSTALL_ROOT="${D}"
+ }
+
+ multibuild_foreach_variant myinstall
+}
diff --git a/dev-python/pytest-localftpserver/pytest-localftpserver-1.3.1.ebuild b/dev-python/pytest-localftpserver/pytest-localftpserver-1.3.1-r1.ebuild
index 5221ba3d0bb3..edc6a33fbe48 100644
--- a/dev-python/pytest-localftpserver/pytest-localftpserver-1.3.1.ebuild
+++ b/dev-python/pytest-localftpserver/pytest-localftpserver-1.3.1-r1.ebuild
@@ -35,3 +35,10 @@ EPYTEST_IGNORE=(
)
distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # a test dependency wrongly declared as RDEP
+ sed -i -e '/wget/d' pyproject.toml || die
+}
diff --git a/dev-python/pytest/files/pytest-8.2.0-py313.patch b/dev-python/pytest/files/pytest-8.2.0-py313.patch
new file mode 100644
index 000000000000..196fb9a7422f
--- /dev/null
+++ b/dev-python/pytest/files/pytest-8.2.0-py313.patch
@@ -0,0 +1,182 @@
+diff --git a/src/_pytest/_code/code.py b/src/_pytest/_code/code.py
+index b80d53ca5f..cfa226bb74 100644
+--- a/src/_pytest/_code/code.py
++++ b/src/_pytest/_code/code.py
+@@ -424,15 +424,14 @@ def recursionindex(self) -> Optional[int]:
+ # which generates code objects that have hash/value equality
+ # XXX needs a test
+ key = entry.frame.code.path, id(entry.frame.code.raw), entry.lineno
+- # print "checking for recursion at", key
+ values = cache.setdefault(key, [])
++ # Since Python 3.13 f_locals is a proxy, freeze it.
++ loc = dict(entry.frame.f_locals)
+ if values:
+- f = entry.frame
+- loc = f.f_locals
+ for otherloc in values:
+ if otherloc == loc:
+ return i
+- values.append(entry.frame.f_locals)
++ values.append(loc)
+ return None
+
+
+diff --git a/src/_pytest/pytester.py b/src/_pytest/pytester.py
+index 31c6de7819..f9ab007a4d 100644
+--- a/src/_pytest/pytester.py
++++ b/src/_pytest/pytester.py
+@@ -289,7 +289,8 @@ def assert_contains(self, entries: Sequence[Tuple[str, str]]) -> None:
+ __tracebackhide__ = True
+ i = 0
+ entries = list(entries)
+- backlocals = sys._getframe(1).f_locals
++ # Since Python 3.13, f_locals is not a dict, but eval requires a dict.
++ backlocals = dict(sys._getframe(1).f_locals)
+ while entries:
+ name, check = entries.pop(0)
+ for ind, call in enumerate(self.calls[i:]):
+@@ -760,6 +761,9 @@ def _makefile(
+ ) -> Path:
+ items = list(files.items())
+
++ if ext is None:
++ raise TypeError("ext must not be None")
++
+ if ext and not ext.startswith("."):
+ raise ValueError(
+ f"pytester.makefile expects a file extension, try .{ext} instead of {ext}"
+diff --git a/testing/code/test_excinfo.py b/testing/code/test_excinfo.py
+index 86e30dc483..b547451298 100644
+--- a/testing/code/test_excinfo.py
++++ b/testing/code/test_excinfo.py
+@@ -1,6 +1,7 @@
+ # mypy: allow-untyped-defs
+ from __future__ import annotations
+
++import fnmatch
+ import importlib
+ import io
+ import operator
+@@ -237,7 +238,7 @@ def f(n):
+ n += 1
+ f(n)
+
+- excinfo = pytest.raises(RuntimeError, f, 8)
++ excinfo = pytest.raises(RecursionError, f, 8)
+ traceback = excinfo.traceback
+ recindex = traceback.recursionindex()
+ assert recindex == 3
+@@ -373,7 +374,10 @@ def test_excinfo_no_sourcecode():
+ except ValueError:
+ excinfo = _pytest._code.ExceptionInfo.from_current()
+ s = str(excinfo.traceback[-1])
+- assert s == " File '<string>':1 in <module>\n ???\n"
++ # TODO: Since Python 3.13b1 under pytest-xdist, the * is `import
++ # sys;exec(eval(sys.stdin.readline()))` (execnet bootstrap code)
++ # instead of `???` like before. Is this OK?
++ fnmatch.fnmatch(s, " File '<string>':1 in <module>\n *\n")
+
+
+ def test_excinfo_no_python_sourcecode(tmp_path: Path) -> None:
+diff --git a/testing/code/test_source.py b/testing/code/test_source.py
+index 2fa8520579..a00259976c 100644
+--- a/testing/code/test_source.py
++++ b/testing/code/test_source.py
+@@ -370,7 +370,11 @@ class B:
+ pass
+
+ B.__name__ = B.__qualname__ = "B2"
+- assert getfslineno(B)[1] == -1
++ # Since Python 3.13 this started working.
++ if sys.version_info >= (3, 13):
++ assert getfslineno(B)[1] != -1
++ else:
++ assert getfslineno(B)[1] == -1
+
+
+ def test_code_of_object_instance_with_call() -> None:
+diff --git a/testing/test_cacheprovider.py b/testing/test_cacheprovider.py
+index d7815f77b9..8728ae84fd 100644
+--- a/testing/test_cacheprovider.py
++++ b/testing/test_cacheprovider.py
+@@ -194,7 +194,7 @@ def test_custom_cache_dir_with_env_var(
+ assert pytester.path.joinpath("custom_cache_dir").is_dir()
+
+
+-@pytest.mark.parametrize("env", ((), ("TOX_ENV_DIR", "/tox_env_dir")))
++@pytest.mark.parametrize("env", ((), ("TOX_ENV_DIR", "mydir/tox-env")))
+ def test_cache_reportheader(
+ env: Sequence[str], pytester: Pytester, monkeypatch: MonkeyPatch
+ ) -> None:
+diff --git a/testing/test_doctest.py b/testing/test_doctest.py
+index d731121795..9b33d641a1 100644
+--- a/testing/test_doctest.py
++++ b/testing/test_doctest.py
+@@ -224,11 +224,7 @@ def test_doctest_unexpected_exception(self, pytester: Pytester):
+ "Traceback (most recent call last):",
+ ' File "*/doctest.py", line *, in __run',
+ " *",
+- *(
+- (" *^^^^*",)
+- if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11)
+- else ()
+- ),
++ *((" *^^^^*", " *", " *") if sys.version_info >= (3, 13) else ()),
+ ' File "<doctest test_doctest_unexpected_exception.txt[1]>", line 1, in <module>',
+ "ZeroDivisionError: division by zero",
+ "*/test_doctest_unexpected_exception.txt:2: UnexpectedException",
+@@ -385,7 +381,7 @@ def some_property(self):
+ "*= FAILURES =*",
+ "*_ [[]doctest[]] test_doctest_linedata_on_property.Sample.some_property _*",
+ "004 ",
+- "005 >>> Sample().some_property",
++ "005 *>>> Sample().some_property",
+ "Expected:",
+ " 'another thing'",
+ "Got:",
+diff --git a/testing/test_main.py b/testing/test_main.py
+index 345aa1e62c..6294f66b36 100644
+--- a/testing/test_main.py
++++ b/testing/test_main.py
+@@ -3,7 +3,6 @@
+ import os
+ from pathlib import Path
+ import re
+-import sys
+ from typing import Optional
+
+ from _pytest.config import ExitCode
+@@ -45,32 +44,18 @@ def pytest_internalerror(excrepr, excinfo):
+ assert result.ret == ExitCode.INTERNAL_ERROR
+ assert result.stdout.lines[0] == "INTERNALERROR> Traceback (most recent call last):"
+
+- end_lines = (
+- result.stdout.lines[-4:]
+- if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11)
+- else result.stdout.lines[-3:]
+- )
++ end_lines = result.stdout.lines[-3:]
+
+ if exc == SystemExit:
+ assert end_lines == [
+ f'INTERNALERROR> File "{c1}", line 4, in pytest_sessionstart',
+ 'INTERNALERROR> raise SystemExit("boom")',
+- *(
+- ("INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^",)
+- if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11)
+- else ()
+- ),
+ "INTERNALERROR> SystemExit: boom",
+ ]
+ else:
+ assert end_lines == [
+ f'INTERNALERROR> File "{c1}", line 4, in pytest_sessionstart',
+ 'INTERNALERROR> raise ValueError("boom")',
+- *(
+- ("INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^",)
+- if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11)
+- else ()
+- ),
+ "INTERNALERROR> ValueError: boom",
+ ]
+ if returncode is False:
diff --git a/dev-python/pytest/pytest-8.2.0-r1.ebuild b/dev-python/pytest/pytest-8.2.0-r1.ebuild
new file mode 100644
index 000000000000..814fb156e1c1
--- /dev/null
+++ b/dev-python/pytest/pytest-8.2.0-r1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ <dev-python/pluggy-2[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1[${PYTHON_USEDEP}]
+ ' 3.10)
+ !!<=dev-python/flaky-3.7.0-r5
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+PATCHES=(
+ # https://github.com/pytest-dev/pytest/pull/12334
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # PDB tests seem quite flaky (they time out often)
+ testing/test_debugging.py::TestPDB
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ testing/test_unraisableexception.py
+ )
+ ;;
+ esac
+
+ local EPYTEST_XDIST=1
+ epytest
+}
diff --git a/dev-python/python-engineio/Manifest b/dev-python/python-engineio/Manifest
index 491adc0621cb..f345ac410628 100644
--- a/dev-python/python-engineio/Manifest
+++ b/dev-python/python-engineio/Manifest
@@ -1 +1,2 @@
DIST python-engineio-4.9.0.gh.tar.gz 314185 BLAKE2B e14bb11f5762c42a77d782b0e1ce20c30f0f5599ba0c4577699d53f085464ce588660805d1b8c18a147b3bf01a2e255980f21e36003127e17351c28bd42f433e SHA512 24838cb71ca3beda6a28deaa37208fae0e673bb0a00696594aa638af95e49af479b0088809f093ace9b2a8f5f7a4dcc95bbd2aa5c97938137b6e594ac1a7950d
+DIST python-engineio-4.9.1.gh.tar.gz 317721 BLAKE2B b776a56993f6dafe1778be93dbc507eb5ae96e44f0635b17fb3592fb9fca49c0a338393a128e05089a846b43f41328d788066f0b7a0edad78c88e3b14d6adec9 SHA512 1414d30fa3073124936909e1395e27579eea2b27862a9770b78c8d91b5568aff869e84f9477c7225cbe35462849445ce9ab17b8ca7b6e8aadeafcdebcb26df0b
diff --git a/dev-python/python-engineio/python-engineio-4.9.1.ebuild b/dev-python/python-engineio/python-engineio-4.9.1.ebuild
new file mode 100644
index 000000000000..5e8de490bfe9
--- /dev/null
+++ b/dev-python/python-engineio/python-engineio-4.9.1.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
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of the Engine.IO realtime server"
+HOMEPAGE="
+ https://python-engineio.readthedocs.io/
+ https://github.com/miguelgrinberg/python-engineio/
+ https://pypi.org/project/python-engineio/"
+SRC_URI="
+ https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/simple-websocket-0.10.0[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+"
+# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
+BDEPEND="
+ test? (
+ dev-python/tornado[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/alabaster
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # eventlet is masked for removal
+ tests/common/test_async_eventlet.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # also eventlet
+ tests/common/test_server.py::TestServer::test_async_mode_eventlet
+ tests/common/test_server.py::TestServer::test_connect
+ tests/common/test_server.py::TestServer::test_service_task_started
+ tests/common/test_server.py::TestServer::test_upgrades
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/sabctools/Manifest b/dev-python/sabctools/Manifest
index 710ed09c1961..659c23de5e54 100644
--- a/dev-python/sabctools/Manifest
+++ b/dev-python/sabctools/Manifest
@@ -5,3 +5,4 @@ DIST sabctools-8.0.0.gh.tar.gz 8963761 BLAKE2B d6977c399801653bcc04136c614257a8d
DIST sabctools-8.0.1.gh.tar.gz 8963513 BLAKE2B 40fbd230c40b72f1a74e255f0b715f476c52b8d75c04bac9e5131065e1cb431581debc5bec9fac5060f172ed7ccd1ae282e6ed3fe93d2c24abef064fa9918b84 SHA512 170ccfec6807165954322a58910c1aaf368acc600b4cca10abd69e1b1859ff0d52058a846a0a0e3ebbdde93d6a7079efa418dd2453e73496f043c26532b64af2
DIST sabctools-8.1.0.gh.tar.gz 8963885 BLAKE2B 36d6bbc34f636ac4e892f941eb6e583166ee1f5f740440b3f07faacddf7715d8b4c642a4e6252ece1bdef69017be3d04ce5d6c8e36479bb176e4cd0635f1567d SHA512 862c39f2e386622b528f120a431f214e1e2e92b7c5a751e47d0768f40ce06ad2736d867f7ac2e1810d676e980312bbfedd29951cbadeddefe75246cdcf53fcc6
DIST sabctools-8.2.0.gh.tar.gz 8974313 BLAKE2B c32dc103996493a207f382588b1ec945bb65af85b9f42d105f4b91af7335eb93d3c565ef33f4c4fda77bc1607051303536054835885619fdfdeee22ec2c29446 SHA512 007bf7087927f73de1f00df825d6aabc5ccdb265288794ca0fecadf9c1b7ae00e10782588528b3026d68866d0500c602879e82857da6cf99ad4cfebffbe68bb7
+DIST sabctools-8.2.1.gh.tar.gz 8974265 BLAKE2B d8b0e26e897446a9261689d814a2c83ad78ee68b69bc6ece1af574463e069fc0fdac069d762fbb3dd041c64c8a337bbac76ac46ec60aa8083de06223e6f8fd6c SHA512 db642d8bdb9ee69d35c362386f599b65af809bb2685d0395f84b2d6e873eb24d2ebffbee7d30d78ef7a364214de1f3e9b35ec1e421ad4a5d7cd476de2dcc33ab
diff --git a/dev-python/sabctools/sabctools-8.2.1.ebuild b/dev-python/sabctools/sabctools-8.2.1.ebuild
new file mode 100644
index 000000000000..ceda76ecedef
--- /dev/null
+++ b/dev-python/sabctools/sabctools-8.2.1.ebuild
@@ -0,0 +1,39 @@
+# 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} )
+
+inherit distutils-r1
+
+MY_PN="sabctools"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
+HOMEPAGE="
+ https://github.com/sabnzbd/sabctools/
+ https://pypi.org/project/sabctools/
+"
+SRC_URI="
+ https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.md doc/yenc-draft.1.3.txt )
+
+distutils_enable_tests pytest
diff --git a/dev-python/tabulate/tabulate-0.9.0-r1.ebuild b/dev-python/tabulate/tabulate-0.9.0-r1.ebuild
index 78960aea3b8c..02012d36a6eb 100644
--- a/dev-python/tabulate/tabulate-0.9.0-r1.ebuild
+++ b/dev-python/tabulate/tabulate-0.9.0-r1.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
@@ -20,8 +20,8 @@ SRC_URI="
"
S=${WORKDIR}/${MY_P}
-SLOT="0"
LICENSE="MIT"
+SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
diff --git a/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild b/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild
index 74c0422ef276..96e03e525f94 100644
--- a/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild
+++ b/dev-python/terminaltables/terminaltables-3.1.10-r1.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/terminaltables/terminaltables-9999.ebuild b/dev-python/terminaltables/terminaltables-9999.ebuild
index 1188869f00fa..83feed93d92d 100644
--- a/dev-python/terminaltables/terminaltables-9999.ebuild
+++ b/dev-python/terminaltables/terminaltables-9999.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/textX/textX-4.0.1.ebuild b/dev-python/textX/textX-4.0.1.ebuild
index 1f3744edbb66..5c4681b91c71 100644
--- a/dev-python/textX/textX-4.0.1.ebuild
+++ b/dev-python/textX/textX-4.0.1.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/tld/tld-0.13.ebuild b/dev-python/tld/tld-0.13.ebuild
index fcc328fd957f..42a1c21c5f36 100644
--- a/dev-python/tld/tld-0.13.ebuild
+++ b/dev-python/tld/tld-0.13.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/tree-sitter/Manifest b/dev-python/tree-sitter/Manifest
index 26aad7daa92c..b59ddb591569 100644
--- a/dev-python/tree-sitter/Manifest
+++ b/dev-python/tree-sitter/Manifest
@@ -1,7 +1,7 @@
DIST tree-sitter-0.20.1.gh.tar.gz 22013 BLAKE2B 961619ab28b71c4051708695f245246e9c9197987c3ce7f162c87af1cfeb2ae378301cce160c071d4df872124274c7984bcaf938c611a91f45515c44cea53e5a SHA512 d6db28fcfb0ea46840ae863a625ef1d8794015b147137e8ef1e113ea6d04e2b87a3bd44dcabe6e41a65230b8da09ce0563a5d9d5aeac30d279547a9085720da3
DIST tree-sitter-0.21.0.gh.tar.gz 38263 BLAKE2B 27c1b52c40e94368c66e222fbc1f5e64734d7d9243e0b76d9607edebaee80211f228323db23cd83c6bc338e7d933a28be8eff13f7ee49495c282d8e9afed4bfb SHA512 f62896edebcb305d1216e540d4a10a2622228b12b1f969dd9722e2d56615f05aea4e681b6d933beaeed52ce59d36641c80c9a4a1ac79b038fb2a75e079987231
DIST tree-sitter-0.21.3.gh.tar.gz 38504 BLAKE2B dd8ed0047763d92babbdb3fd34a6fe6b7a9299b99067600f473bf16b9754a98ada141d96f9b6b26abcb2ff178dd4ec34da547c9cdb7b3449f7b98a44ad10476e SHA512 61f3d4cb15a4106eb350be2adc6ad39de31bd5b2656f35acf2cdf828ababac37b6197d5565ee74b0b2c3a161619163bb98c38108ca3db616fee633e6e2a835a7
-DIST tree-sitter-0.22.2.gh.tar.gz 166150 BLAKE2B eac9a3fe75e56feffcf32e4bd59269c3e1adccaaf9127e9668bb65fef6eb1b1d1cd56ecb8bfb58810e0d9a0d182ce2844c7b350ebbe6b3d4a713a33dc64af953 SHA512 707a6d9f15ab9382e43341d6be68465f4f0bb6cbb9603bf6dfd51628e71db62cb365e1a0a6836250428fa5e8bc66b6cda5992083717778ccc06e825fb3f23728
+DIST tree-sitter-0.22.3.gh.tar.gz 164914 BLAKE2B 7ab97203fed17fc8d18c40d5a24ff60cea4757353a4124c832cc52bff93ed8af913dbbab682225eac309762a26e90c216d2e1058dcaeb860ebd467b4c9655939 SHA512 8ac729b90f942eef07de97c4ebd070c1040f338c1f57a2203b6aa4f3f8db863fdb5183c9b27d5be2ec270d7eefba7665800d6cc4e9265cbd4b4715af4c4d3921
DIST tree-sitter-embedded-template-6d791b897ecda59baa0689a85a9906348a2a6414.tar.gz 12420 BLAKE2B 9b9c6dd135cef4490e145657c5eeeb1fd470faee3846007638d8247daf07227029c6e7e323a0ed30c5cf6d35602be6bfb62dc1c22076fd4a0e76b161d55cca38 SHA512 7744852711cb1659607298fa373ce3ef79de3212ff55c0fb4e9aebcb715548934065ee3b5b12e9d08169a6207879e154a94c9de8bff892c32729c35d49964736
DIST tree-sitter-html-b5d9758e22b4d3d25704b72526670759a9e4d195.tar.gz 26609 BLAKE2B 223fe82ea18bf61b2b7ec664ad68ec1f324c9e0a1c78578db6063b9037c62be2bb762a9e47d0af81f7f244889f1f72683da3751c1d1c609c4a27fdcd0dc008b8 SHA512 15fd961c18d55a20487f48ef6a6f1822f9033baba8995f2e00cf8db1750036d69e19607f578fe90676aab30a173874969c69b91605b6073eb298f32f5f24f81d
DIST tree-sitter-javascript-0.19.0.tar.gz 257637 BLAKE2B dc28bcbb003d623f5930dbf575f94f51c00eb008a77ba080f05e730fae63fb24d29c02ebb62d179a59d0f9cb8a02dbd3971440f299d952b1ec29b25bc6d21e34 SHA512 ef842787742e76d2534528ec710800df91958feaa4ba351558b5315f58a4bd85c729d088d139e15e0395726a690a97c05e03846c9176af0fd482777ae57087ed
diff --git a/dev-python/tree-sitter/files/tree-sitter-0.22.2-fix-32-bit.patch b/dev-python/tree-sitter/files/tree-sitter-0.22.2-fix-32-bit.patch
deleted file mode 100644
index c7d86953fa21..000000000000
--- a/dev-python/tree-sitter/files/tree-sitter-0.22.2-fix-32-bit.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://github.com/tree-sitter/py-tree-sitter/commit/85e49483b6d2b49953568d95cfa03e539bfb8179
-From: ObserverOfTime <chronobserver@disroot.org>
-fix(language): use uintptr_t
-
---- a/tests/test_language.py
-+++ b/tests/test_language.py
-@@ -18,7 +18,6 @@ def setUp(self):
- self.rust = tree_sitter_rust.language()
-
- def test_init_invalid(self):
-- self.assertRaises(ValueError, Language, -1)
- self.assertRaises(ValueError, Language, 42)
-
- def test_properties(self):
---- a/tree_sitter/binding/language.c
-+++ b/tree_sitter/binding/language.c
-@@ -5,8 +5,8 @@ int language_init(Language *self, PyObject *args, PyObject *Py_UNUSED(kwargs)) {
- if (!PyArg_ParseTuple(args, "O:__init__", &language)) {
- return -1;
- }
-- Py_ssize_t language_id = PyLong_AsSsize_t(language);
-- if (language_id < 1 || (language_id % sizeof(TSLanguage *)) != 0) {
-+ Py_uintptr_t language_id = PyLong_AsSize_t(language);
-+ if (language_id == 0 || (language_id % sizeof(TSLanguage *)) != 0) {
- if (!PyErr_Occurred()) {
- PyErr_SetString(PyExc_ValueError, "invalid language ID");
- }
diff --git a/dev-python/tree-sitter/tree-sitter-0.22.2-r1.ebuild b/dev-python/tree-sitter/tree-sitter-0.22.3.ebuild
index 9f162911d15d..a0151a0304e5 100644
--- a/dev-python/tree-sitter/tree-sitter-0.22.2-r1.ebuild
+++ b/dev-python/tree-sitter/tree-sitter-0.22.3.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/py-${P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~s390"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~s390 ~x86"
# setuptools is needed for distutils import
DEPEND=">=dev-libs/tree-sitter-0.22.1:="
@@ -45,8 +45,6 @@ distutils_enable_tests pytest
PATCHES=(
"${FILESDIR}"/${PN}-0.22.2-unbundle.patch
- # Fix 32-bit build, upstream, drop on next bump
- "${FILESDIR}"/${P}-fix-32-bit.patch
)
src_unpack() {
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index 1dd4b7c267f6..efe5f6e4d749 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1 +1,2 @@
DIST trimesh-4.3.2.gh.tar.gz 13597959 BLAKE2B 538c3ecc9153bbef04fd004076277d50e1ac80e73231ae5faffadb6a810e5c6aa23953206f8a9817a16c3d104d0a38b0da07fc6f8460f2bfde0a356c760048d7 SHA512 2bf40f2290875547dabf40101004581e7287cf2a954d4c1bd0df1adbf044e72bd30d8fbbadb8db44e8bfc33049cc68a075b347eeb538f8fef5225a724a4ddc3b
+DIST trimesh-4.4.0.gh.tar.gz 13599198 BLAKE2B 41fe6d8797bca600ef4526420b9a4bc3fe722adff3a6154625801b2e9a8645ad573f4f62926cd00763899d049660145d6e5614316fcfe3c4f4b76c59d59467ba SHA512 227f3da9e42bd2a872d312d5128d7ae169fcee8ef5566e533812fc6222fe6e5dc40c7802a5a7f1bbb583c700e6c8d1017ee1c6a946284e64679f3a138f31da6e
diff --git a/dev-python/trimesh/trimesh-4.4.0.ebuild b/dev-python/trimesh/trimesh-4.4.0.ebuild
new file mode 100644
index 000000000000..28e2ef0d54f8
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.4.0.ebuild
@@ -0,0 +1,74 @@
+# 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 optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimesh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ sci-libs/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mapbox_earcut[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=1800
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # require pyinstrument
+ tests/test_sweep.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox_earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" dev-python/scikit-image
+}
diff --git a/dev-python/types-setuptools/Manifest b/dev-python/types-setuptools/Manifest
index 90fe2194f3ef..eddc06883a99 100644
--- a/dev-python/types-setuptools/Manifest
+++ b/dev-python/types-setuptools/Manifest
@@ -1,3 +1,4 @@
DIST types-setuptools-69.5.0.20240423.tar.gz 37608 BLAKE2B 8a5b9ece3318ac9646c5a8e5961e6fbc05fddb4a5e96cc2d0d96f11b317b2ec1da1f4fb8624348e0cc307cc7781895f9d016eac3f07f37351a3211f77a2de1a0 SHA512 2134c4c31bddd6c8f5722f171054dda21abdb13d743fb94fc280fc185b521b24e889be9f61c21e83a5d881c9ca40ffb7b60d49a3abb63f30c51793ed2b32b56f
DIST types-setuptools-69.5.0.20240513.tar.gz 37766 BLAKE2B 8c573de3c40af243061f04c21266815fc13f6f5244919b98ecd2345bc790a40471ea21939163a08727b505b5cf295e44889ace93faf51ac9baf9f51195fecb6b SHA512 fcd7262fc2f54f22480ddc09f9edfa1202dfc0e5f2d0dec3accc6bfb32666bd3f49a6e455e0e834e2166d38ea8782c172dd85c4adb30329b0d7c9bae66f74d7b
DIST types-setuptools-69.5.0.20240518.tar.gz 37877 BLAKE2B 0dc0debe16a13d3b365284eeb73f15f2313de78d6bb68ea87ad7f55109980cc67704a9b83e5e25027110ced85249503578232c9b949ebdafd19fcbc5b16d9608 SHA512 08e4fb4db92ac81eccfdd9a458ec8313e26bf4ad2d4125797acd6c4e02c47c0a9715aaad0b270895e52947b0d0e428d32bcbae310a5b799a0ae1510afb8211e7
+DIST types-setuptools-69.5.0.20240519.tar.gz 37962 BLAKE2B 236cf4def03a6cb2fa42965e1fb1f06343bc0aa70499a232c0f831276cdbaf996469f1553d03e54f1d8e45967444860a86a224a094038aff058fcdc7e2645744 SHA512 ea7077a51c0ab14fd7c417b9512acaea76b38ee7342c42ba22e016ed52adf2b1c38998e9b060fe2d0224fdc7e5b39ee2d57decb65f0880bc34a47b544e7aab12
diff --git a/dev-python/types-setuptools/types-setuptools-69.5.0.20240519.ebuild b/dev-python/types-setuptools/types-setuptools-69.5.0.20240519.ebuild
new file mode 100644
index 000000000000..c755b6e96b17
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-69.5.0.20240519.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2023-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="Typing stubs for setuptools"
+HOMEPAGE="https://pypi.org/project/types-setuptools/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild b/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild
index b51f1ab2e769..f417e9735489 100644
--- a/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild
+++ b/dev-python/uncertainties/uncertainties-3.1.7-r1.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
@@ -11,7 +11,7 @@ inherit distutils-r1 optfeature pypi
DESCRIPTION="Python module for calculations with uncertainties"
HOMEPAGE="
https://pythonhosted.org/uncertainties/
- https://github.com/lebigot/uncertainties/
+ https://github.com/lmfit/uncertainties/
https://pypi.org/project/uncertainties/
"
@@ -29,8 +29,12 @@ distutils_enable_tests pytest
distutils_enable_sphinx doc --no-autodoc
src_prepare() {
- # not used in py3, see https://github.com/lebigot/uncertainties/pull/168
+ # not used in py3, see https://github.com/lmfit/uncertainties/pull/168
sed -i -e '/future/d' setup.py || die
+ # fix tests with numpy-2
+ # https://github.com/lmfit/uncertainties/pull/225
+ sed -e "/assert not hasattr(numpy, 'acos')/d" \
+ -i uncertainties/unumpy/test_unumpy.py || die
distutils-r1_src_prepare
}
diff --git a/dev-python/xarray/xarray-2024.1.1.ebuild b/dev-python/xarray/xarray-2024.1.1-r1.ebuild
index 8364be9b74e8..d1026c28a802 100644
--- a/dev-python/xarray/xarray-2024.1.1.ebuild
+++ b/dev-python/xarray/xarray-2024.1.1-r1.ebuild
@@ -21,6 +21,7 @@ KEYWORDS="amd64 arm arm64 ~hppa ~loong ~riscv ~s390 x86"
IUSE="big-endian"
RDEPEND="
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
>=dev-python/numpy-1.23[${PYTHON_USEDEP}]
>=dev-python/pandas-1.5[${PYTHON_USEDEP}]
>=dev-python/packaging-22[${PYTHON_USEDEP}]
diff --git a/dev-python/xarray/xarray-2024.2.0.ebuild b/dev-python/xarray/xarray-2024.2.0-r1.ebuild
index 2588388b577f..ffafadaf8d7c 100644
--- a/dev-python/xarray/xarray-2024.2.0.ebuild
+++ b/dev-python/xarray/xarray-2024.2.0-r1.ebuild
@@ -21,6 +21,7 @@ KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~riscv ~s390 ~x86"
IUSE="big-endian"
RDEPEND="
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
>=dev-python/numpy-1.23[${PYTHON_USEDEP}]
>=dev-python/pandas-1.5[${PYTHON_USEDEP}]
>=dev-python/packaging-22[${PYTHON_USEDEP}]