summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-06-10 19:23:04 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-06-10 19:23:04 +0000
commit7172200ce84be0b76898367916b01742829ec72e (patch)
treef60d1221f564b44423f70ebc9d4aa9aa8c872196 /dev-python
parenta2d8fbe2bda894c95c904fb4d8a353c49a109779 (diff)
downloadbaldeagleos-repo-7172200ce84be0b76898367916b01742829ec72e.tar.gz
baldeagleos-repo-7172200ce84be0b76898367916b01742829ec72e.tar.xz
baldeagleos-repo-7172200ce84be0b76898367916b01742829ec72e.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild12
-rw-r--r--dev-python/aioresponses/aioresponses-0.7.6.ebuild2
-rw-r--r--dev-python/bitstring/Manifest2
-rw-r--r--dev-python/bitstring/bitstring-4.2.1-r1.ebuild32
-rw-r--r--dev-python/bitstring/bitstring-4.2.2.ebuild32
-rw-r--r--dev-python/cattrs/cattrs-23.2.3-r1.ebuild (renamed from dev-python/cattrs/cattrs-23.2.3.ebuild)2
-rw-r--r--dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild4
-rw-r--r--dev-python/fitsio/Manifest1
-rw-r--r--dev-python/fitsio/files/fitsio-1.2.1-numpy-2.patch159
-rw-r--r--dev-python/fitsio/fitsio-1.2.1-r2.ebuild50
-rw-r--r--dev-python/frozenlist/files/frozenlist-1.4.1-py313.patch13
-rw-r--r--dev-python/frozenlist/frozenlist-1.4.1.ebuild5
-rw-r--r--dev-python/funcy/funcy-2.0.ebuild2
-rw-r--r--dev-python/gfloat/Manifest2
-rw-r--r--dev-python/gfloat/gfloat-0.0.5.ebuild30
-rw-r--r--dev-python/gfloat/gfloat-0.1.ebuild30
-rw-r--r--dev-python/housekeeping/housekeeping-1.1.ebuild5
-rw-r--r--dev-python/jc/Manifest1
-rw-r--r--dev-python/jc/jc-1.25.1.ebuild32
-rw-r--r--dev-python/jsonpickle/files/jsonpickle-3.2.1-numpy-2.patch157
-rw-r--r--dev-python/jsonpickle/jsonpickle-3.2.1.ebuild8
-rw-r--r--dev-python/jupyterlab/Manifest1
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.2.2.ebuild81
-rw-r--r--dev-python/libvirt-python/libvirt-python-10.3.0.ebuild2
-rw-r--r--dev-python/miniupnpc/Manifest2
-rw-r--r--dev-python/miniupnpc/miniupnpc-2.2.8.ebuild51
-rw-r--r--dev-python/oauthlib/files/oauthlib-3.2.2-py313.patch37
-rw-r--r--dev-python/oauthlib/oauthlib-3.2.2.ebuild7
-rw-r--r--dev-python/pbr/pbr-6.0.0.ebuild2
-rw-r--r--dev-python/prompt-toolkit/Manifest1
-rw-r--r--dev-python/prompt-toolkit/prompt-toolkit-3.0.47.ebuild30
-rw-r--r--dev-python/pycpio/Manifest1
-rw-r--r--dev-python/pycpio/pycpio-1.2.1.ebuild18
-rw-r--r--dev-python/pycpio/pycpio-9999.ebuild17
-rw-r--r--dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch48
-rw-r--r--dev-python/pytest-forked/pytest-forked-1.6.0.ebuild28
-rw-r--r--dev-python/pyzbar/pyzbar-0.1.9.ebuild2
-rw-r--r--dev-python/qrcode/qrcode-7.4.2.ebuild6
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.9.0.ebuild1
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.9.1.ebuild1
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.9.2.ebuild1
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.9.3-r1.ebuild (renamed from dev-python/rapidfuzz/rapidfuzz-3.9.3.ebuild)1
-rw-r--r--dev-python/sdnotify/Manifest1
-rw-r--r--dev-python/sdnotify/metadata.xml10
-rw-r--r--dev-python/sdnotify/sdnotify-0.3.2.ebuild25
-rw-r--r--dev-python/sympy/sympy-1.12.1.ebuild5
-rw-r--r--dev-python/testtools/Manifest1
-rw-r--r--dev-python/testtools/testtools-2.7.2.ebuild38
-rw-r--r--dev-python/ubelt/Manifest1
-rw-r--r--dev-python/ubelt/ubelt-1.3.6.ebuild42
-rw-r--r--dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild2
-rw-r--r--dev-python/verboselogs/verboselogs-1.7-r1.ebuild2
-rw-r--r--dev-python/wrapio/Manifest1
-rw-r--r--dev-python/wrapio/metadata.xml10
-rw-r--r--dev-python/wrapio/wrapio-2.0.0.ebuild18
-rw-r--r--dev-python/wrapt/files/wrapt-1.16.0-py313.patch113
-rw-r--r--dev-python/wrapt/wrapt-1.16.0.ebuild7
-rw-r--r--dev-python/xxhash/xxhash-3.4.1.ebuild2
58 files changed, 931 insertions, 266 deletions
diff --git a/dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild b/dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild
index 380eae380432..5f968687b86f 100644
--- a/dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild
+++ b/dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild
@@ -1,26 +1,28 @@
-# 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} )
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
inherit distutils-r1
DESCRIPTION="This project provides first-class OAuth library support for aiohttp"
HOMEPAGE="https://git.sr.ht/~whynothugo/aiohttp-oauthlib"
SRC_URI="https://git.sr.ht/~whynothugo/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-v${PV}"
-SLOT="0"
LICENSE="ISC"
+SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
RDEPEND="
dev-python/aiohttp[${PYTHON_USEDEP}]
>=dev-python/oauthlib-3.0.0[${PYTHON_USEDEP}]"
-BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}]"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
-S="${WORKDIR}/${PN}-v${PV}"
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/aioresponses/aioresponses-0.7.6.ebuild b/dev-python/aioresponses/aioresponses-0.7.6.ebuild
index 77eb55cc5386..d48d5a4aee8e 100644
--- a/dev-python/aioresponses/aioresponses-0.7.6.ebuild
+++ b/dev-python/aioresponses/aioresponses-0.7.6.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/bitstring/Manifest b/dev-python/bitstring/Manifest
index 570b121cbe2c..fe2f27118e41 100644
--- a/dev-python/bitstring/Manifest
+++ b/dev-python/bitstring/Manifest
@@ -1,4 +1,2 @@
DIST bitstring-4.1.4.tar.gz 232014 BLAKE2B fad74a1a2931504b44c7d95c4e88b058c17ee189ab7b4ec6987d1284c273329b7850cd1aff8e93eb6badf7d52284db006f1f1118ee5f871694f2bd5b4b10e449 SHA512 e05d983ac340565b193c4b4d5f7f5fceea3ba68f04c348ab42cd1d783ac64e1b1adb0ce9bcaac20335137f103d51df198421c7cfee1e5c1ad9f3c9b89b77b679
-DIST bitstring-4.2.1.tar.gz 249982 BLAKE2B f13212c3e4a6a516d045e5c6da3a2a943b05e5fa8f406b74d81972fc553d5032bec285766b7057bbaef5fc66aedcdb3f6efbbe72b89711dad7a451182801f419 SHA512 e54f5941b357d783e2951da8673cf38f6498d4e51949ab3200a05ce590208ca35ab7a300075013b6b2d6dfe6422cd81aa2d29b55c6a8088d9417d8c7a58f4716
-DIST bitstring-4.2.2.tar.gz 249409 BLAKE2B ff9d9eb6d789a13632f00e1a7361ad03e8c21e74f2b5b9158fab3ee336aafa884cfe90a30f56cba97f81ee9aed023a974f35571e47640c0bebc7bd2d116db2d0 SHA512 4700b45c9a56c21a09d61c464a4b2de899bb1cbdb1c5057e5c0f7c388adbda8feb260bdd56f073e53e256c39825cf7cd4b105bf9f57dd6d9d4916717941ff4bf
DIST bitstring-4.2.3.tar.gz 250537 BLAKE2B 81902038a0b422533b5fe863a4dc71ec7b828d55a45e9edabb632ffc4682e1bf5d5620edce69c245b877d0ee93dff474533db3d46ddd57435a7a4c0b0bd71f9a SHA512 caf53aeb746f4c132d7b91e2c0983bc96f33cb240033872e9d6fc15318f3ced2638427ccc6fc5bfbac05d221fbb4cad4791213b32f97d8a1f8d57e8841a3e176
diff --git a/dev-python/bitstring/bitstring-4.2.1-r1.ebuild b/dev-python/bitstring/bitstring-4.2.1-r1.ebuild
deleted file mode 100644
index e9ab7827747a..000000000000
--- a/dev-python/bitstring/bitstring-4.2.1-r1.ebuild
+++ /dev/null
@@ -1,32 +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 pypi
-
-DESCRIPTION="A pure Python module for creation and analysis of binary data"
-HOMEPAGE="
- https://github.com/scott-griffiths/bitstring/
- https://pypi.org/project/bitstring/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- <dev-python/bitarray-3[${PYTHON_USEDEP}]
- >=dev-python/bitarray-2.9.0[${PYTHON_USEDEP}]
- <dev-python/gfloat-0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/bitstring/bitstring-4.2.2.ebuild b/dev-python/bitstring/bitstring-4.2.2.ebuild
deleted file mode 100644
index 5b67ed9a14c3..000000000000
--- a/dev-python/bitstring/bitstring-4.2.2.ebuild
+++ /dev/null
@@ -1,32 +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 pypi
-
-DESCRIPTION="A pure Python module for creation and analysis of binary data"
-HOMEPAGE="
- https://github.com/scott-griffiths/bitstring/
- https://pypi.org/project/bitstring/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- <dev-python/bitarray-3[${PYTHON_USEDEP}]
- >=dev-python/bitarray-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/gfloat-0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/cattrs/cattrs-23.2.3.ebuild b/dev-python/cattrs/cattrs-23.2.3-r1.ebuild
index f1b18f4f7e21..b61de0b5f1a8 100644
--- a/dev-python/cattrs/cattrs-23.2.3.ebuild
+++ b/dev-python/cattrs/cattrs-23.2.3-r1.ebuild
@@ -25,9 +25,9 @@ IUSE="test-rust"
RDEPEND="
>=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/exceptiongroup[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
' 3.10)
"
BDEPEND="
diff --git a/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild b/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
index 5081165bbb0f..64467c106e71 100644
--- a/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
+++ b/dev-python/dictdiffer/dictdiffer-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
@@ -15,8 +15,8 @@ HOMEPAGE="
"
LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
diff --git a/dev-python/fitsio/Manifest b/dev-python/fitsio/Manifest
index f7d234d76cce..c8dcf5810f42 100644
--- a/dev-python/fitsio/Manifest
+++ b/dev-python/fitsio/Manifest
@@ -1 +1,2 @@
+DIST fitsio-1.2.1-gcc-14.patch 28560 BLAKE2B 14a98317e6ad8f53b7f7d4501926e59bdc6fdc0d0540f03c1b8628ece79857b1e06086e261745dcfe6f980413f62a2e2740d6b1b0fb278b38df2abc9d0b727ef SHA512 ec2093e9430ecb49820338577b2b51a6057777fa4b94170657a1e6f044d57de7b83c1947870e1c188510a10b081b9cf6adad6dc2ca6002eb406596593c508504
DIST fitsio-1.2.1.gh.tar.gz 4584464 BLAKE2B 376d2afe2e637075fca88c24c17117600973dc81fbb006e3e8bf4ddab023db6a466653187b686a4beb75339559cb4b77e0bf927f09c991d9205ffb0e66ad17a6 SHA512 645c117c394a18cdbb0c5033a1446e1f6e6473f54d9556b7591f33873855a70860343b3e4811284d7dfa16696ef23a1abb74ee638318d7295eb85ec4b17f0309
diff --git a/dev-python/fitsio/files/fitsio-1.2.1-numpy-2.patch b/dev-python/fitsio/files/fitsio-1.2.1-numpy-2.patch
new file mode 100644
index 000000000000..cfc0b99a8f17
--- /dev/null
+++ b/dev-python/fitsio/files/fitsio-1.2.1-numpy-2.patch
@@ -0,0 +1,159 @@
+diff --git a/fitsio/fitslib.py b/fitsio/fitslib.py
+index 7ef718b..3d43549 100644
+--- a/fitsio/fitslib.py
++++ b/fitsio/fitslib.py
+@@ -25,7 +25,7 @@
+ import numpy
+
+ from . import _fitsio_wrap
+-from .util import IS_PY3, mks, array_to_native, isstring
++from .util import IS_PY3, mks, array_to_native, isstring, copy_if_needed
+ from .header import FITSHDR
+ from .hdu import (
+ ANY_HDU, IMAGE_HDU, BINARY_TBL, ASCII_TBL,
+@@ -957,7 +957,7 @@ def create_image_hdu(self,
+ if IS_PY3 and img2send.dtype.char == 'U':
+ # for python3, we convert unicode to ascii
+ # this will error if the character is not in ascii
+- img2send = img2send.astype('S', copy=False)
++ img2send = img2send.astype('S', copy=copy_if_needed)
+
+ else:
+ self._ensure_empty_image_ok()
+@@ -1738,7 +1738,7 @@ def npy_obj2fits(data, name=None):
+ else:
+ fits_dtype = _table_npy2fits_form['S']
+ else:
+- arr0 = numpy.array(first, copy=False)
++ arr0 = numpy.array(first, copy=copy_if_needed)
+ dtype0 = arr0.dtype
+ npy_dtype = dtype0.descr[0][1][1:]
+ if npy_dtype[0] == 'S' or npy_dtype[0] == 'U':
+diff --git a/fitsio/hdu/image.py b/fitsio/hdu/image.py
+index 8c06bcf..a2d16c8 100644
+--- a/fitsio/hdu/image.py
++++ b/fitsio/hdu/image.py
+@@ -27,7 +27,7 @@
+
+ from math import floor
+ from .base import HDUBase, IMAGE_HDU
+-from ..util import IS_PY3, array_to_native
++from ..util import IS_PY3, array_to_native, copy_if_needed
+
+ # for python3 compat
+ if IS_PY3:
+@@ -146,7 +146,7 @@ def write(self, img, start=0, **keys):
+ if IS_PY3 and img_send.dtype.char == 'U':
+ # for python3, we convert unicode to ascii
+ # this will error if the character is not in ascii
+- img_send = img_send.astype('S', copy=False)
++ img_send = img_send.astype('S', copy=copy_if_needed)
+
+ if not numpy.isscalar(start):
+ # convert to scalar offset
+diff --git a/fitsio/hdu/table.py b/fitsio/hdu/table.py
+index f210121..3b462b1 100644
+--- a/fitsio/hdu/table.py
++++ b/fitsio/hdu/table.py
+@@ -36,7 +36,8 @@
+ array_to_native,
+ array_to_native_c,
+ FITSRuntimeWarning,
+- mks
++ mks,
++ copy_if_needed,
+ )
+ from .base import HDUBase, ASCII_TBL, IMAGE_HDU, _hdu_type_map
+
+@@ -282,7 +283,7 @@ def write(self, data, firstrow=0, columns=None, names=None, slow=False,
+ if IS_PY3 and colref.dtype.char == 'U':
+ # for python3, we convert unicode to ascii
+ # this will error if the character is not in ascii
+- colref = colref.astype('S', copy=False)
++ colref = colref.astype('S', copy=copy_if_needed)
+
+ nonobj_arrays.append(colref)
+
+@@ -347,7 +348,7 @@ def write_column(self, column, data, firstrow=0, **keys):
+ if IS_PY3 and data_send.dtype.char == 'U':
+ # for python3, we convert unicode to ascii
+ # this will error if the character is not in ascii
+- data_send = data_send.astype('S', copy=False)
++ data_send = data_send.astype('S', copy=copy_if_needed)
+
+ self._verify_column_data(colnum, data_send)
+
+@@ -1420,13 +1421,13 @@ def _extract_rows(self, rows, sort=False):
+ Extract an array of rows from an input scalar or sequence
+ """
+ if rows is not None:
+- rows = np.array(rows, ndmin=1, copy=False, dtype='i8')
++ rows = np.array(rows, ndmin=1, copy=copy_if_needed, dtype='i8')
+ if sort:
+ rows = np.unique(rows)
+ return rows, None
+
+ # returns unique, sorted. Force i8 for 32-bit systems
+- sortind = np.array(rows.argsort(), dtype='i8', copy=False)
++ sortind = np.array(rows.argsort(), dtype='i8', copy=copy_if_needed)
+
+ maxrow = self._info['nrows']-1
+ if rows.size > 0:
+@@ -1583,7 +1584,7 @@ def _maybe_decode_fits_ascii_strings_to_unicode_py3(self, array):
+ else:
+ new_dt.append(_dt)
+ if do_conversion:
+- array = array.astype(new_dt, copy=False)
++ array = array.astype(new_dt, copy=copy_if_needed)
+ return array
+
+ def _convert_bool_array(self, array):
+@@ -1721,7 +1722,7 @@ def _read_var_column(self, colnum, rows, sortind, vstorage):
+ descr = 'S%d' % max_size
+ array = np.fromiter(dlist, descr)
+ if IS_PY3:
+- array = array.astype('U', copy=False)
++ array = array.astype('U', copy=copy_if_needed)
+ else:
+ descr = dlist[0].dtype.str
+ array = np.zeros((len(dlist), max_size), dtype=descr)
+diff --git a/fitsio/util.py b/fitsio/util.py
+index 562b609..5d337be 100644
+--- a/fitsio/util.py
++++ b/fitsio/util.py
+@@ -41,7 +41,10 @@ def cfitsio_version(asfloat=False):
+ numpy.uint64, numpy.int64)
+
+ # different for py3
+-_stypes += (numpy.string_, numpy.str_)
++if numpy.lib.NumpyVersion(numpy.__version__) < "1.28.0":
++ _stypes += (numpy.string_, numpy.str_,)
++else:
++ _stypes += (numpy.bytes_, numpy.str_,)
+
+ # for header keywords
+ _ftypes = (float, numpy.float32, numpy.float64)
+@@ -134,9 +137,22 @@ def array_to_native(array, inplace=False):
+ return output
+
+
++if numpy.lib.NumpyVersion(numpy.__version__) >= "2.0.0":
++ copy_if_needed = None
++elif numpy.lib.NumpyVersion(numpy.__version__) < "1.28.0":
++ copy_if_needed = False
++else:
++ # 2.0.0 dev versions, handle cases where copy may or may not exist
++ try:
++ numpy.array([1]).__array__(copy=None)
++ copy_if_needed = None
++ except TypeError:
++ copy_if_needed = False
++
++
+ def array_to_native_c(array_in, inplace=False):
+ # copy only made if not C order
+- arr = numpy.array(array_in, order='C', copy=False)
++ arr = numpy.array(array_in, order='C', copy=copy_if_needed)
+ return array_to_native(arr, inplace=inplace)
+
+
diff --git a/dev-python/fitsio/fitsio-1.2.1-r2.ebuild b/dev-python/fitsio/fitsio-1.2.1-r2.ebuild
new file mode 100644
index 000000000000..df63d18ed64d
--- /dev/null
+++ b/dev-python/fitsio/fitsio-1.2.1-r2.ebuild
@@ -0,0 +1,50 @@
+# 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
+
+DESCRIPTION="Python library to read from and write to FITS files"
+HOMEPAGE="
+ https://github.com/esheldon/fitsio/
+ https://pypi.org/project/fitsio/
+"
+SRC_URI="
+ https://github.com/esheldon/fitsio/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ https://github.com/esheldon/fitsio/pull/394.patch
+ -> fitsio-1.2.1-gcc-14.patch
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ >=dev-python/numpy-1.11:=[${PYTHON_USEDEP}]
+ sci-libs/cfitsio:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/esheldon/fitsio/pull/394
+ "${DISTDIR}/${P}-gcc-14.patch"
+ # https://github.com/esheldon/fitsio/pull/390
+ "${FILESDIR}/${P}-numpy-2.patch"
+)
+
+export FITSIO_USE_SYSTEM_FITSIO=1
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest
+}
diff --git a/dev-python/frozenlist/files/frozenlist-1.4.1-py313.patch b/dev-python/frozenlist/files/frozenlist-1.4.1-py313.patch
new file mode 100644
index 000000000000..5607461c9229
--- /dev/null
+++ b/dev-python/frozenlist/files/frozenlist-1.4.1-py313.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/test_frozenlist.py b/tests/test_frozenlist.py
+index c0d91b5..b65a998 100644
+--- a/tests/test_frozenlist.py
++++ b/tests/test_frozenlist.py
+@@ -11,7 +11,7 @@ from frozenlist import FrozenList, PyFrozenList
+ class FrozenListMixin:
+ FrozenList = NotImplemented
+
+- SKIP_METHODS = {"__abstractmethods__", "__slots__"}
++ SKIP_METHODS = {"__abstractmethods__", "__slots__", "__static_attributes__", "__firstlineno__"}
+
+ def test___class_getitem__(self) -> None:
+ assert self.FrozenList[str] is not None
diff --git a/dev-python/frozenlist/frozenlist-1.4.1.ebuild b/dev-python/frozenlist/frozenlist-1.4.1.ebuild
index a4effc6e8400..fc5534616d99 100644
--- a/dev-python/frozenlist/frozenlist-1.4.1.ebuild
+++ b/dev-python/frozenlist/frozenlist-1.4.1.ebuild
@@ -37,6 +37,11 @@ BDEPEND="
distutils_enable_tests pytest
+PATCHES=(
+ # https://github.com/aio-libs/frozenlist/issues/588#issuecomment-2139078800
+ "${FILESDIR}/${P}-py313.patch"
+)
+
python_compile() {
# pypy is not using the C extension
if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
diff --git a/dev-python/funcy/funcy-2.0.ebuild b/dev-python/funcy/funcy-2.0.ebuild
index e451383d8608..ea6130783ffe 100644
--- a/dev-python/funcy/funcy-2.0.ebuild
+++ b/dev-python/funcy/funcy-2.0.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/gfloat/Manifest b/dev-python/gfloat/Manifest
index e5094f7205e2..66b114c0ad1e 100644
--- a/dev-python/gfloat/Manifest
+++ b/dev-python/gfloat/Manifest
@@ -1,3 +1 @@
-DIST gfloat-0.0.5.tar.gz 17493 BLAKE2B d2eb75b6ecdf58b0875481fb2428ee2bed998988ded0e0bf212dc5834c428a8a2af0796e6badf2ff2c400432db266a82312743bc338cb6444bbb3133526dcf7b SHA512 b08d4f8cb3c8e2e629d32c96ecf3efb81280363bba9ac90a489ffcd2418a9a4a0c9248ce3f524d9873a295b5e5e520c70ebd098e7cfdfe9a3dc92d8ee58920ca
-DIST gfloat-0.1.tar.gz 38500 BLAKE2B 7549af8cb4204176c8f6d9c9bbd1e8047530ca347c1f882cb3ed5ae36a8c2a3e5c1293c8e4ac14527b3846ec0055ed4bb30cef7bb703c30c375d4b8c872c1bb6 SHA512 7c5d01b25172b3e5c4dbd34e99652316f50478b0c34076608e7d56a80f5db9174a1173dc9bcbea0da2121df54e5a22a7972196ee47cb22a69bd4b8afcc1e2782
DIST gfloat-0.2.1.tar.gz 40460 BLAKE2B 9103140b2523c1e0f430bdf066c1625c71783d30d3d6754cd44c626ce6ca4204742188d967489ff2dba65df6ac51989551c14ee6ae66302c452c765d5a0eca20 SHA512 50bb770795b8284c9071f345667772ecd334a7c44368acf173dd65094f9fe9ac473ae0cc250f35dfafdb19d5fe039ad3258c4256fbc281feac41f192ed139cc5
diff --git a/dev-python/gfloat/gfloat-0.0.5.ebuild b/dev-python/gfloat/gfloat-0.0.5.ebuild
deleted file mode 100644
index c3a8c400ca7c..000000000000
--- a/dev-python/gfloat/gfloat-0.0.5.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# 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="Generic floating-point types in Python"
-HOMEPAGE="
- https://github.com/graphcore-research/gfloat/
- https://pypi.org/project/gfloat/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ml-dtypes[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/gfloat/gfloat-0.1.ebuild b/dev-python/gfloat/gfloat-0.1.ebuild
deleted file mode 100644
index c3a8c400ca7c..000000000000
--- a/dev-python/gfloat/gfloat-0.1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# 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="Generic floating-point types in Python"
-HOMEPAGE="
- https://github.com/graphcore-research/gfloat/
- https://pypi.org/project/gfloat/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ml-dtypes[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/housekeeping/housekeeping-1.1.ebuild b/dev-python/housekeeping/housekeeping-1.1.ebuild
index 396ee39d06e7..1f3efa29ee82 100644
--- a/dev-python/housekeeping/housekeeping-1.1.ebuild
+++ b/dev-python/housekeeping/housekeeping-1.1.ebuild
@@ -18,8 +18,6 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-distutils_enable_tests pytest
-
RDEPEND="
>=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
"
@@ -27,6 +25,7 @@ RDEPEND="
BDEPEND="
test? (
>=dev-python/kgb-7.1.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.3.1[${PYTHON_USEDEP}]
)
"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jc/Manifest b/dev-python/jc/Manifest
index 146485c5d2aa..dcddadd6b14d 100644
--- a/dev-python/jc/Manifest
+++ b/dev-python/jc/Manifest
@@ -1,2 +1 @@
-DIST jc-1.25.1.gh.tar.gz 13459638 BLAKE2B 0ad2d106145330529bdf67496e6eb1e60960679f57c11c5aed1797eb437e1fa4df7ef39143f72e933b10d0a4d0b0b32efe1a617f935b45bd99715d68b20a2d2f SHA512 48279932b21bfd88458e22c077d1e6c5109efe2feee8e42c770c1bf7f9f1faadc980d2d3a2ab0a38070fd7ed26603273e86394c26e75fdc335c6cc4255e834da
DIST jc-1.25.2.gh.tar.gz 13483247 BLAKE2B 2c7ff002d45ed587e1d6578a8f4be9f25a3e1f182e2652faceaa513684b5a02616708f0225217942ba9a20df54675d7cee792ad11bdfdef5bd89f87e53d2df86 SHA512 853c1c4e2b63c2ba1e428a429e7b0635c1916cfd9f8df6026acd7b761c051efd1052328ebfbcc503aa3d36429ee5c7ce0cb76a178cf3d3724f0597e229d57123
diff --git a/dev-python/jc/jc-1.25.1.ebuild b/dev-python/jc/jc-1.25.1.ebuild
deleted file mode 100644
index ad48d697b77f..000000000000
--- a/dev-python/jc/jc-1.25.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022-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="Converts the output of popular command-line tools and file-types to JSON"
-HOMEPAGE="
- https://github.com/kellyjonbrazil/jc/
- https://pypi.org/project/jc/
-"
-# no tests in sdist, as of 1.23.2
-SRC_URI="
- https://github.com/kellyjonbrazil/jc/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
-
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/jsonpickle/files/jsonpickle-3.2.1-numpy-2.patch b/dev-python/jsonpickle/files/jsonpickle-3.2.1-numpy-2.patch
new file mode 100644
index 000000000000..6fdc989d990e
--- /dev/null
+++ b/dev-python/jsonpickle/files/jsonpickle-3.2.1-numpy-2.patch
@@ -0,0 +1,157 @@
+From 0ab3cf0ffcdb364a8a75e71acfb267e5aaabc0a0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 10 Jun 2024 03:55:47 +0200
+Subject: [PATCH 1/2] Fix data types in tests for NumPy 2
+
+Fix a number of test compatibility issues with NumPy 2. That is:
+
+- replace `np.float_` with `np.float64`,
+- replace `np.complex_` with `np.complex128`,
+- remove `np.unicode_` as equivalent to `np.str_`.
+
+The LHS types are also aliases to the RHS types in NumPy 1.x, so this
+is NFC on NumPy 1.x. These aliases were removed in 2.x, so the code
+needs to be updated for tests to pass on NumPy 2.x.
+---
+ tests/numpy_test.py | 7 ++-----
+ tests/pandas_test.py | 13 +++++--------
+ 2 files changed, 7 insertions(+), 13 deletions(-)
+
+diff --git a/tests/numpy_test.py b/tests/numpy_test.py
+index e271725..dd50d5e 100644
+--- a/tests/numpy_test.py
++++ b/tests/numpy_test.py
+@@ -32,9 +32,7 @@ def test_dtype_roundtrip():
+ dtypes = [
+ np.int_,
+ np.int32,
+- np.float_,
+ np.float64,
+- np.complex_,
+ np.complex128,
+ np.str_,
+ np.object_,
+@@ -86,15 +84,14 @@ def test_generic_roundtrip():
+ values = [
+ np.int_(1),
+ np.int32(-2),
+- np.float_(2.5),
++ np.float64(2.5),
+ np.nan,
+ -np.inf,
+ np.inf,
+ np.datetime64('2014-01-01'),
+ np.str_('foo'),
+- np.unicode_('bar'),
+ np.object_({'a': 'b'}),
+- np.complex_(1 - 2j),
++ np.complex128(1 - 2j),
+ ]
+ for value in values:
+ decoded = roundtrip(value)
+diff --git a/tests/pandas_test.py b/tests/pandas_test.py
+index 532563f..414bd65 100644
+--- a/tests/pandas_test.py
++++ b/tests/pandas_test.py
+@@ -34,14 +34,13 @@ def test_series_roundtrip():
+ ser = pd.Series(
+ {
+ 'an_int': np.int_(1),
+- 'a_float': np.float_(2.5),
++ 'a_float': np.float64(2.5),
+ 'a_nan': np.nan,
+ 'a_minus_inf': -np.inf,
+ 'an_inf': np.inf,
+ 'a_str': np.str_('foo'),
+- 'a_unicode': np.unicode_('bar'),
+ 'date': np.datetime64('2014-01-01'),
+- 'complex': np.complex_(1 - 2j),
++ 'complex': np.complex128(1 - 2j),
+ # TODO: the following dtypes are not currently supported.
+ # 'object': np.object_({'a': 'b'}),
+ }
+@@ -54,14 +53,13 @@ def test_dataframe_roundtrip():
+ df = pd.DataFrame(
+ {
+ 'an_int': np.int_([1, 2, 3]),
+- 'a_float': np.float_([2.5, 3.5, 4.5]),
++ 'a_float': np.float64([2.5, 3.5, 4.5]),
+ 'a_nan': np.array([np.nan] * 3),
+ 'a_minus_inf': np.array([-np.inf] * 3),
+ 'an_inf': np.array([np.inf] * 3),
+ 'a_str': np.str_('foo'),
+- 'a_unicode': np.unicode_('bar'),
+ 'date': np.array([np.datetime64('2014-01-01')] * 3, dtype="datetime64[s]"),
+- 'complex': np.complex_([1 - 2j, 2 - 1.2j, 3 - 1.3j]),
++ 'complex': np.complex128([1 - 2j, 2 - 1.2j, 3 - 1.3j]),
+ # TODO: the following dtypes are not currently supported.
+ # 'object': np.object_([{'a': 'b'}]*3),
+ }
+@@ -76,12 +74,11 @@ def test_multindex_dataframe_roundtrip():
+ 'idx_lvl0': ['a', 'b', 'c'],
+ 'idx_lvl1': np.int_([1, 1, 2]),
+ 'an_int': np.int_([1, 2, 3]),
+- 'a_float': np.float_([2.5, 3.5, 4.5]),
++ 'a_float': np.float64([2.5, 3.5, 4.5]),
+ 'a_nan': np.array([np.nan] * 3),
+ 'a_minus_inf': np.array([-np.inf] * 3),
+ 'an_inf': np.array([np.inf] * 3),
+ 'a_str': np.str_('foo'),
+- 'a_unicode': np.unicode_('bar'),
+ }
+ )
+ df = df.set_index(['idx_lvl0', 'idx_lvl1'])
+
+From 8bc2bdd42bc111d90edbcef8005640d5a51627bf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 10 Jun 2024 04:02:17 +0200
+Subject: [PATCH 2/2] Fix `newbyteorder()` use for NumPy 2.x
+
+Replace the `arr.newbyteorder()` use with:
+
+ arr.view(arr.dtype.newbyteorder())
+
+as suggested in the exception that's raised when the tests are run
+in NumPy 2.x. With this change, the code works both with NumPy 1.x
+and NumPy 2.x.
+---
+ tests/numpy_test.py | 24 ++++++++++++++----------
+ 1 file changed, 14 insertions(+), 10 deletions(-)
+
+diff --git a/tests/numpy_test.py b/tests/numpy_test.py
+index dd50d5e..2e6725b 100644
+--- a/tests/numpy_test.py
++++ b/tests/numpy_test.py
+@@ -306,18 +306,22 @@ def test_immutable():
+ def test_byteorder():
+ """Test the byteorder for text and binary encodings"""
+ # small arr is stored as text
+- a = np.arange(10).newbyteorder()
+- b = a[:].newbyteorder()
+- _a, _b = roundtrip([a, b])
+- npt.assert_array_equal(a, _a)
+- npt.assert_array_equal(b, _b)
++ a = np.arange(10)
++ av = a.view(a.dtype.newbyteorder())
++ b = a[:]
++ bv = b.view(b.dtype.newbyteorder())
++ _av, _bv = roundtrip([av, bv])
++ npt.assert_array_equal(av, _av)
++ npt.assert_array_equal(bv, _bv)
+
+ # bigger arr is stored as binary
+- a = np.arange(100).newbyteorder()
+- b = a[:].newbyteorder()
+- _a, _b = roundtrip([a, b])
+- npt.assert_array_equal(a, _a)
+- npt.assert_array_equal(b, _b)
++ a = np.arange(100)
++ av = a.view(a.dtype.newbyteorder())
++ b = a[:]
++ bv = b.view(b.dtype.newbyteorder())
++ _av, _bv = roundtrip([av, bv])
++ npt.assert_array_equal(av, _av)
++ npt.assert_array_equal(bv, _bv)
+
+
+ def test_zero_dimensional_array():
diff --git a/dev-python/jsonpickle/jsonpickle-3.2.1.ebuild b/dev-python/jsonpickle/jsonpickle-3.2.1.ebuild
index 06ddd6c77cca..724106ceb896 100644
--- a/dev-python/jsonpickle/jsonpickle-3.2.1.ebuild
+++ b/dev-python/jsonpickle/jsonpickle-3.2.1.ebuild
@@ -38,8 +38,14 @@ BDEPEND="
distutils_enable_tests pytest
python_prepare_all() {
- sed -i -e 's:--cov::' pytest.ini || die
+ local PATCHES=(
+ # https://github.com/jsonpickle/jsonpickle/pull/512
+ "${FILESDIR}/${P}-numpy-2.patch"
+ )
+
distutils-r1_python_prepare_all
+
+ sed -i -e 's:--cov::' pytest.ini || die
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
}
diff --git a/dev-python/jupyterlab/Manifest b/dev-python/jupyterlab/Manifest
index cd0d3ada8275..ba6bccb794b0 100644
--- a/dev-python/jupyterlab/Manifest
+++ b/dev-python/jupyterlab/Manifest
@@ -1 +1,2 @@
DIST jupyterlab-4.2.1.tar.gz 21505297 BLAKE2B 10f3ed9a3f223623b7414f24791dfe488bc5b94a1bef8c4dae462c246c03fc265254516d39452c79a9226a44afd0fb0a8d3a1b5958f8fd34b125b79c0694e85a SHA512 0235d1561a043c75613289204242c349dcee55ae2c30e4fb3dd04ac4ca5bc13d57d13926603e46a64dcc46aeb3cbc8b5eaad56c3824760ac54e62d20d6eb2b8c
+DIST jupyterlab-4.2.2.tar.gz 21505687 BLAKE2B 3a55aa4cb51c3c8972b44793c1f65c9a773c284d3248c31b0e5e4b1ec26531cecd3504cd7e226a9e237a0783b823b71539f1ebb90a195271f9853267c367b64c SHA512 2e93bcdb0948d1db05e7053582e6a427c1f7133fbb96aa0a7205b6d6eb14e050dde1076807cedc1231e27fd9729acb7a88dff3e6369a8b300b73e093783efcd7
diff --git a/dev-python/jupyterlab/jupyterlab-4.2.2.ebuild b/dev-python/jupyterlab/jupyterlab-4.2.2.ebuild
new file mode 100644
index 000000000000..7e7785d9fc2c
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.2.2.ebuild
@@ -0,0 +1,81 @@
+# 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 xdg
+
+DESCRIPTION="JupyterLab computational environment"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyterlab/jupyterlab/
+ https://pypi.org/project/jupyterlab/
+"
+
+LICENSE="BSD MIT GPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/async-lru[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.5.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
+ dev-python/jupyter-core[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.27.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-40.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+ net-libs/nodejs
+"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ >=dev-python/pytest-jupyter-0.5.3[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-cache[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # These tests call npm and want internet
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_uninstall_core_extension
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned_folder
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom_minimal_core_config
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_check
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_clear
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_build
+)
+
+EPYTEST_IGNORE=(
+ jupyterlab/tests/test_announcements.py
+)
+
+distutils_enable_tests pytest
+# TODO: package sphinx_copybutton
+#distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme dev-python/myst-parser
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/libvirt-python/libvirt-python-10.3.0.ebuild b/dev-python/libvirt-python/libvirt-python-10.3.0.ebuild
index d84f0116ce8e..0fb1915fceb5 100644
--- a/dev-python/libvirt-python/libvirt-python-10.3.0.ebuild
+++ b/dev-python/libvirt-python/libvirt-python-10.3.0.ebuild
@@ -23,7 +23,7 @@ else
MY_P="${P/_rc/-rc}"
SRC_URI="https://libvirt.org/sources/python/${MY_P}.tar.gz
verify-sig? ( https://libvirt.org/sources/python/${MY_P}.tar.gz.asc )"
- KEYWORDS="~amd64 ~arm arm64 ppc64 x86"
+ KEYWORDS="amd64 ~arm arm64 ppc64 x86"
RDEPEND="app-emulation/libvirt:0/${PV}"
fi
S="${WORKDIR}/${P%_rc*}"
diff --git a/dev-python/miniupnpc/Manifest b/dev-python/miniupnpc/Manifest
index 1bfa020c464e..1ae860948ae7 100644
--- a/dev-python/miniupnpc/Manifest
+++ b/dev-python/miniupnpc/Manifest
@@ -1,2 +1,4 @@
DIST miniupnpc-2.2.7.tar.gz 104258 BLAKE2B 5681c1747c8e330442a0ad46d673e1739283bfc23571cb2225abf82326caa7da979911b3182cab2e3eea49140b90619f4e00bb5b1e2f0cd6067c28017cf87016 SHA512 d24e653c2f7bfed4485342c5ec8d18b4dd4c3430975b5fae392d3534f38bb3fb59e6638e76d57847f49045e22f3afd6cac128d7d9d10ef05bd6ad24ef38303b6
DIST miniupnpc-2.2.7.tar.gz.sig 543 BLAKE2B 6649e5866afd13034b05a9d771c25c419e85631ca17ed7457e5811aee0ba8c38b0ad34033caa5b611cde21a63251e902e3f24cc4748e52a4a379ef075bf59dc5 SHA512 188837275b20c61c05babac916bff86178774030dbc191ecd0e5314c6e9b6dbb627680b512c554a8b27a020bd7503b141be26a134e0ed7e2cc56c7e2c01d9e81
+DIST miniupnpc-2.2.8.tar.gz 104603 BLAKE2B eae4d97bdf8c494ea6744edfeb870f9d92df8468d23f974e0e44e735fc7c8925189ea58f60a71c37315aebff1269ae69e9413cdf80dc292c4b90df5f12bf58a4 SHA512 526c9df1485302d4c9c78062fb058cfd433463f6e7a9f4025a9f5228aef41ee61a4b9e7a76b6cfa8779b91cc3c663846a997dc1470902d7108b129155e6a3360
+DIST miniupnpc-2.2.8.tar.gz.sig 543 BLAKE2B b4d056972fc7e46c1e41a658d301db8e9a0d3b99af2220c264d06267b4e8ae45847e2bf2cd6583fded67f12c2e0a3c833ba7e38d9c05b5a0cc363e0c1fc8feae SHA512 b5eec0d24a84183021cd16bfd6ecedda587dee0bbb017fe6d107e8c2815ef90cf5f904c6fb9aa32e2e4d5f0b63de8566814c9a0d921b338b26b60ea35c23ecae
diff --git a/dev-python/miniupnpc/miniupnpc-2.2.8.ebuild b/dev-python/miniupnpc/miniupnpc-2.2.8.ebuild
new file mode 100644
index 000000000000..0c5282eed456
--- /dev/null
+++ b/dev-python/miniupnpc/miniupnpc-2.2.8.ebuild
@@ -0,0 +1,51 @@
+# 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 verify-sig
+
+MY_P=${P/python-}
+DESCRIPTION="Python bindings for UPnP client library"
+HOMEPAGE="
+ http://miniupnp.free.fr/
+ https://miniupnp.tuxfamily.org/
+ https://github.com/miniupnp/miniupnp/
+"
+SRC_URI="
+ https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz
+ verify-sig? (
+ https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz.sig
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+DEPEND="
+ >=net-libs/miniupnpc-${PV}:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-miniupnp )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/miniupnp.asc
+
+PATCHES=(
+ "${FILESDIR}"/miniupnpc-2.2.3-shared-lib.patch
+)
+
+# DOCS are installed by net-libs/miniupnpc.
+DOCS=()
+
+# Example test command:
+# python -c 'import miniupnpc; u = miniupnpc.UPnP(); u.discover(); u.selectigd(); print(u.externalipaddress())'
diff --git a/dev-python/oauthlib/files/oauthlib-3.2.2-py313.patch b/dev-python/oauthlib/files/oauthlib-3.2.2-py313.patch
new file mode 100644
index 000000000000..2d000e5e1b1b
--- /dev/null
+++ b/dev-python/oauthlib/files/oauthlib-3.2.2-py313.patch
@@ -0,0 +1,37 @@
+From fe020db74199d5284c00d7735aa7d4ddc90f5d61 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Tue, 24 Oct 2023 15:08:10 +0200
+Subject: [PATCH] Make UtilsTests.test_filter_params Python 3.13+ compatible
+
+Since Python 3.13.0a1, docstrings are automatically dedented.
+See https://github.com/python/cpython/issues/81283
+and https://docs.python.org/3.13/whatsnew/3.13.html#other-language-changes
+
+As a result, using a docstring with leading space as a test case
+breaks the test assumption.
+
+The initial commit which introduced this test a decade ago
+(6c0c7914f3a57823834b1be492b307992f943629)
+does not specify why testing the spaces is important.
+---
+ tests/oauth1/rfc5849/test_utils.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/oauth1/rfc5849/test_utils.py b/tests/oauth1/rfc5849/test_utils.py
+index 013c71a9..22128908 100644
+--- a/tests/oauth1/rfc5849/test_utils.py
++++ b/tests/oauth1/rfc5849/test_utils.py
+@@ -53,11 +53,11 @@ def test_filter_params(self):
+ # The following is an isolated test function used to test the filter_params decorator.
+ @filter_params
+ def special_test_function(params, realm=None):
+- """ I am a special test function """
++ """I am a special test function"""
+ return 'OAuth ' + ','.join(['='.join([k, v]) for k, v in params])
+
+ # check that the docstring got through
+- self.assertEqual(special_test_function.__doc__, " I am a special test function ")
++ self.assertEqual(special_test_function.__doc__, "I am a special test function")
+
+ # Check that the decorator filtering works as per design.
+ # Any param that does not start with 'oauth'
diff --git a/dev-python/oauthlib/oauthlib-3.2.2.ebuild b/dev-python/oauthlib/oauthlib-3.2.2.ebuild
index e2f65b835931..99d38e83d42d 100644
--- a/dev-python/oauthlib/oauthlib-3.2.2.ebuild
+++ b/dev-python/oauthlib/oauthlib-3.2.2.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
@@ -26,3 +26,8 @@ RDEPEND="
"
distutils_enable_tests unittest
+
+PATCHES=(
+ # https://github.com/oauthlib/oauthlib/commit/fe020db74199d5284c00d7735aa7d4ddc90f5d61
+ "${FILESDIR}/${P}-py313.patch"
+)
diff --git a/dev-python/pbr/pbr-6.0.0.ebuild b/dev-python/pbr/pbr-6.0.0.ebuild
index c8c3191faabb..8e299869648f 100644
--- a/dev-python/pbr/pbr-6.0.0.ebuild
+++ b/dev-python/pbr/pbr-6.0.0.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/prompt-toolkit/Manifest b/dev-python/prompt-toolkit/Manifest
index e3a040e312bd..ee8fd871c93f 100644
--- a/dev-python/prompt-toolkit/Manifest
+++ b/dev-python/prompt-toolkit/Manifest
@@ -2,3 +2,4 @@ DIST prompt_toolkit-3.0.43.tar.gz 425733 BLAKE2B 663b3f675e004de9f2d6dce09320bc0
DIST prompt_toolkit-3.0.44.tar.gz 425654 BLAKE2B 48d080ad6cab2ed192284ae376c65b43a500b7c642b9298af6afc109a16ddf53d8242748af772dd556a568356ab4af95bb71dfb36ec345ee9d4904f0de15fa20 SHA512 09202d023e52eae2200e23be1ed9bfa91ce072c1c6970d00d92fe9f0fabfaa4117b9e174b43b9ae041f4e0605c77a990625e51e51925d1ff63a65a10e09734a8
DIST prompt_toolkit-3.0.45.tar.gz 425324 BLAKE2B 771b1c4b80475f52547d725bbcc5e12223ab15cce9ca5a63c4364615c3f1c6ab23c9e14023178bf2e30467138f1b8407132eb22208fdc29c3c34992c6899c016 SHA512 6e8758e06fac7462821bd803a99f961017cd4e889eb39744fc1a3665983c12fced7bdf0538d83d709040cfb182e3694c1dc31e0c9e62aa08c4b1a7336955d35e
DIST prompt_toolkit-3.0.46.tar.gz 425591 BLAKE2B 74d10e5bb93cbdf9625f621ca80f15bb012c2839956fa0edaecab7f7af4ce1209eea4eb8fcd403563be5da514f3d08f550d605d44ec2e3b7af136950a9f9428c SHA512 c75dc84a45c24ddbf6074c65aa5e5e0e4ba6d2f1c1a9211e771a534118571b1ad31db57457304365d08091fdf5ad0f8827893269d3963fc1f29b0dd56a12ca64
+DIST prompt_toolkit-3.0.47.tar.gz 425859 BLAKE2B fa12151c48126c971b2dc468a6e1de4ede49ade08f637e9c02d2284f74f07cbcf4d3167447e616af3385eef0355f8928bfc50632f0cf61138320d7e75777c07e SHA512 c27dc03929f0bd373e41bf70e19f82f97c8f0a6308e51e079e89d6233f1e638c34703cc056fe8c86cc9b63f91b5d345c28ce0e418f79f6e450ca06bcda5820fd
diff --git a/dev-python/prompt-toolkit/prompt-toolkit-3.0.47.ebuild b/dev-python/prompt-toolkit/prompt-toolkit-3.0.47.ebuild
new file mode 100644
index 000000000000..3a9463cfb5dd
--- /dev/null
+++ b/dev-python/prompt-toolkit/prompt-toolkit-3.0.47.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Building powerful interactive command lines in Python"
+HOMEPAGE="
+ https://pypi.org/project/prompt-toolkit/
+ https://github.com/prompt-toolkit/python-prompt-toolkit/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # requires tree-sitter-languages
+ src/prompt_toolkit/lexers/tree_sitter_test.py
+)
diff --git a/dev-python/pycpio/Manifest b/dev-python/pycpio/Manifest
index 3737b3e93fb0..1de5d63fe067 100644
--- a/dev-python/pycpio/Manifest
+++ b/dev-python/pycpio/Manifest
@@ -2,3 +2,4 @@ DIST pycpio-1.0.0.tar.gz 17890 BLAKE2B beeec891fc17416280247e8a15373628f40be1094
DIST pycpio-1.1.2.tar.gz 18207 BLAKE2B acc92b626b5a110b8aa1672449fa1065283edfeb300c406b654e5a045bc554d9f79d3cd8f7edb53142405e600ceec21fa811a863907af3464d310482aa3fc528 SHA512 9a420edabec91e633b618f68878942d047d851eecad861255705f3db3f9fa8d14fa364f19320eb22758bbb7f1b23e7231b5db7aca117e670286e73f1dcb289ce
DIST pycpio-1.1.4.tar.gz 18235 BLAKE2B 5b7aa4f9af1903b02361cad228673a83deaa497b3259ef7094d1b6995860eed8710e0d0aa6fc4603a4f52f6f7ab3c4356bc37134a70f80f0a1e4f36ce782beb3 SHA512 46cf8f43cb95332d55b75318b5620f81632151010d1329177243853bca5cf8dbc2881805d2d304bfd1889d504fa0f03ac54e5377a42ba1e0b8f1166c12e9fa3c
DIST pycpio-1.1.6.tar.gz 18281 BLAKE2B c0a6d39ec20c91ec39d6f7ef99cb05d039ea1e89369205196fe40c924f8ed9757e26ea8f31a8036693f8ea04901343421405c4b50cec33df90b548550f0f2f81 SHA512 34a59a279ff1d271fb824c9f7be94da0b3bfedd49c09a8fe8855851363200f104b67a9d7686cc8f1364f325b8d8c86e6fe3dff162bb49ddc6a9b8ec10ee75724
+DIST pycpio-1.2.1.tar.gz 18512 BLAKE2B e835e3810d174d8f4cd5afc2984c0d84d55f9492725c16afdcd1b760dc8c58b4b83a1d13c0b266c8ec9407ab5c1114fe95468d742b202ba99e3c4a76a69dff15 SHA512 4611829339a45a848deb0c5c35098215ac7c378714e4fb1e10975e00b386e5e6bcd295fde83f361998f234f506276b906a4424a7d4aa925fe2bd92a0d7311d86
diff --git a/dev-python/pycpio/pycpio-1.2.1.ebuild b/dev-python/pycpio/pycpio-1.2.1.ebuild
new file mode 100644
index 000000000000..5b7d2938a5d7
--- /dev/null
+++ b/dev-python/pycpio/pycpio-1.2.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2023-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 CPIO library"
+HOMEPAGE="https://github.com/desultory/pycpio"
+SRC_URI="https://github.com/desultory/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND=">=dev-python/zenlib-2.1.2[${PYTHON_USEDEP}]"
diff --git a/dev-python/pycpio/pycpio-9999.ebuild b/dev-python/pycpio/pycpio-9999.ebuild
new file mode 100644
index 000000000000..783dffb95352
--- /dev/null
+++ b/dev-python/pycpio/pycpio-9999.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
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+inherit distutils-r1 git-r3
+
+DESCRIPTION="Python CPIO library"
+HOMEPAGE="https://github.com/desultory/pycpio"
+EGIT_REPO_URI="https://github.com/desultory/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+RDEPEND=">=dev-python/zenlib-2.1.2[${PYTHON_USEDEP}]"
diff --git a/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch b/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch
new file mode 100644
index 000000000000..889405c00fad
--- /dev/null
+++ b/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch
@@ -0,0 +1,48 @@
+From 398f003660dda242b97217390718a2a90c3d7a88 Mon Sep 17 00:00:00 2001
+From: Stanislav Levin <slev@altlinux.org>
+Date: Tue, 13 Feb 2024 12:44:53 +0300
+Subject: [PATCH] Sync expected test_xfail's xpassed summary to Pytest 8
+
+With Pytest 8:
+https://docs.pytest.org/en/stable/changelog.html#pytest-8-0-0rc2-2024-01-17
+
+> For xpasses, add - in summary between test name and reason, to match how xfail is displayed.
+
+Fixes: https://github.com/pytest-dev/pytest-forked/issues/89
+Signed-off-by: Stanislav Levin <slev@altlinux.org>
+---
+ testing/test_xfail_behavior.py | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/testing/test_xfail_behavior.py b/testing/test_xfail_behavior.py
+index 15edd93..d4e5ee7 100644
+--- a/testing/test_xfail_behavior.py
++++ b/testing/test_xfail_behavior.py
+@@ -7,6 +7,7 @@ import pytest
+ IS_PYTEST4_PLUS = int(pytest.__version__[0]) >= 4 # noqa: WPS609
+ FAILED_WORD = "FAILED" if IS_PYTEST4_PLUS else "FAIL"
+ PYTEST_GTE_7_2 = hasattr(pytest, "version_tuple") and pytest.version_tuple >= (7, 2) # type: ignore[attr-defined]
++PYTEST_GTE_8_0 = hasattr(pytest, "version_tuple") and pytest.version_tuple >= (8, 0) # type: ignore[attr-defined]
+
+ pytestmark = pytest.mark.skipif( # pylint: disable=invalid-name
+ not hasattr(os, "fork"), # noqa: WPS421
+@@ -60,12 +61,10 @@ def test_xfail(is_crashing, is_strict, testdir):
+ if expected_lowercase == "xpassed":
+ # XPASS wouldn't have the crash message from
+ # pytest-forked because the crash doesn't happen
+- short_test_summary = " ".join(
+- (
+- short_test_summary,
+- "The process gets terminated",
+- )
+- )
++ if PYTEST_GTE_8_0:
++ short_test_summary += " -"
++ short_test_summary += " The process gets terminated"
++
+ reason_string = (
+ f"reason: The process gets terminated; "
+ f"pytest-forked reason: "
+--
+2.45.2
+
diff --git a/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild b/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild
index 5a7d8c9cfc6e..425763b03788 100644
--- a/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild
+++ b/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild
@@ -15,8 +15,8 @@ HOMEPAGE="
https://github.com/pytest-dev/pytest-forked/
"
-SLOT="0"
LICENSE="MIT"
+SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
# Please do not RDEPEND on pytest; this package won't do anything
@@ -31,16 +31,20 @@ BDEPEND="
distutils_enable_tests pytest
-python_test() {
- [[ ${PV} != 1.6.0 ]] && die "Recheck the deselect, please"
- local EPYTEST_DESELECT=()
- if [[ ${EPYTHON} == python3.12 ]]; then
- EPYTEST_DESELECT+=(
- # failing due to warnings coming from pytest
- # https://github.com/gentoo/gentoo/pull/31151
- testing/test_xfail_behavior.py::test_xfail
- )
- fi
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/pytest-dev/pytest-forked/pull/90
+ "${FILESDIR}/${P}-pytest-8.patch"
+ )
+
+ distutils-r1_src_prepare
- epytest -p no:flaky -o tmp_path_retention_count=1
+ # this is not printed when loaded via PYTEST_PLUGINS
+ sed -i -e '/loaded_pytest_plugins/d' testing/test_xfail_behavior.py || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_forked
+ epytest -o tmp_path_retention_count=1
}
diff --git a/dev-python/pyzbar/pyzbar-0.1.9.ebuild b/dev-python/pyzbar/pyzbar-0.1.9.ebuild
index 6fbed1c279eb..dc87847b148a 100644
--- a/dev-python/pyzbar/pyzbar-0.1.9.ebuild
+++ b/dev-python/pyzbar/pyzbar-0.1.9.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/qrcode/qrcode-7.4.2.ebuild b/dev-python/qrcode/qrcode-7.4.2.ebuild
index 9cb9040b2b48..f01c304ed198 100644
--- a/dev-python/qrcode/qrcode-7.4.2.ebuild
+++ b/dev-python/qrcode/qrcode-7.4.2.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
@@ -30,8 +30,10 @@ RDEPEND="
distutils_enable_tests pytest
EPYTEST_DESELECT=(
- # TODO
+ # sys.stdout is not properly mocked, see
+ # https://github.com/lincolnloop/python-qrcode/pull/364
qrcode/tests/test_script.py::ScriptTest::test_factory
+ qrcode/tests/test_script.py::ScriptTest::test_pipe
# release process-specific tests, broken on py3.12
qrcode/tests/test_release.py
)
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.9.0.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.9.0.ebuild
index bdd5bcfccc49..c324fc05c77b 100644
--- a/dev-python/rapidfuzz/rapidfuzz-3.9.0.ebuild
+++ b/dev-python/rapidfuzz/rapidfuzz-3.9.0.ebuild
@@ -28,7 +28,6 @@ DEPEND="
"
BDEPEND="
>=dev-python/cython-3[${PYTHON_USEDEP}]
- dev-python/rapidfuzz-capi[${PYTHON_USEDEP}]
>=dev-python/scikit-build-0.16.2[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.9.1.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.9.1.ebuild
index 1e9383f7c17e..15d991547071 100644
--- a/dev-python/rapidfuzz/rapidfuzz-3.9.1.ebuild
+++ b/dev-python/rapidfuzz/rapidfuzz-3.9.1.ebuild
@@ -28,7 +28,6 @@ DEPEND="
"
BDEPEND="
>=dev-python/cython-3[${PYTHON_USEDEP}]
- dev-python/rapidfuzz-capi[${PYTHON_USEDEP}]
>=dev-python/scikit-build-0.16.2[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.9.2.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.9.2.ebuild
index a4692879cd32..07799bef55b1 100644
--- a/dev-python/rapidfuzz/rapidfuzz-3.9.2.ebuild
+++ b/dev-python/rapidfuzz/rapidfuzz-3.9.2.ebuild
@@ -28,7 +28,6 @@ DEPEND="
"
BDEPEND="
>=dev-python/cython-3[${PYTHON_USEDEP}]
- dev-python/rapidfuzz-capi[${PYTHON_USEDEP}]
>=dev-python/scikit-build-0.16.2[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.9.3.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.9.3-r1.ebuild
index a4692879cd32..07799bef55b1 100644
--- a/dev-python/rapidfuzz/rapidfuzz-3.9.3.ebuild
+++ b/dev-python/rapidfuzz/rapidfuzz-3.9.3-r1.ebuild
@@ -28,7 +28,6 @@ DEPEND="
"
BDEPEND="
>=dev-python/cython-3[${PYTHON_USEDEP}]
- dev-python/rapidfuzz-capi[${PYTHON_USEDEP}]
>=dev-python/scikit-build-0.16.2[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
diff --git a/dev-python/sdnotify/Manifest b/dev-python/sdnotify/Manifest
deleted file mode 100644
index 73384e074664..000000000000
--- a/dev-python/sdnotify/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sdnotify-0.3.2.tar.gz 2459 BLAKE2B 1d1846e37889c36cfa7242d14e4040ebb9b73d3e53f5a3423447ae1a4912373e4249faa7803ac212e3c7d64371d1fe9e1be2d56f8604791cead2cbe22e422053 SHA512 f7e7d38c8d7f56ebad8b0343361a0bf6177208b94916430343a0a392015622d7bb62aa391e17956e5aa9a0d7189c79268cb86c46bb52b36488df5aebca5cfbd3
diff --git a/dev-python/sdnotify/metadata.xml b/dev-python/sdnotify/metadata.xml
deleted file mode 100644
index 3335ff021f22..000000000000
--- a/dev-python/sdnotify/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>ceamac@gentoo.org</email>
- <description>Primary maintainer</description>
- </maintainer>
-
- <origin>gentoo-guru-overlay</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/sdnotify/sdnotify-0.3.2.ebuild b/dev-python/sdnotify/sdnotify-0.3.2.ebuild
deleted file mode 100644
index 4588fa3dbc7f..000000000000
--- a/dev-python/sdnotify/sdnotify-0.3.2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021-2023 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="Python implementation of the systemd sd_notify protocol"
-HOMEPAGE="
- https://github.com/bb4242/sdnotify
- https://pypi.org/project/sdnotify/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-python_prepare_all() {
- # Fix QA warning. No point in reporting upstream, the project seems abandoned
- sed 's/description-file/description_file/' -i setup.cfg
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/sympy/sympy-1.12.1.ebuild b/dev-python/sympy/sympy-1.12.1.ebuild
index c5d2404c5223..cdfcbf4488cc 100644
--- a/dev-python/sympy/sympy-1.12.1.ebuild
+++ b/dev-python/sympy/sympy-1.12.1.ebuild
@@ -48,6 +48,11 @@ RDEPEND="
symengine? ( dev-python/symengine[${PYTHON_USEDEP}] )
texmacs? ( app-office/texmacs )
"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
EPYTEST_XDIST=1
distutils_enable_tests pytest
diff --git a/dev-python/testtools/Manifest b/dev-python/testtools/Manifest
index a428d17f9cc8..5a9a0658afde 100644
--- a/dev-python/testtools/Manifest
+++ b/dev-python/testtools/Manifest
@@ -1 +1,2 @@
DIST testtools-2.7.1.tar.gz 200953 BLAKE2B b410735faf153749e3996c8889f56fbffab67a8f49b52f21afa60e72af201a12891d4db00b808324d52159b02e9212b81ab958c1dcf0cae5551471540f8fec0b SHA512 78af1c2af6f93671074dafedeaaf3ddbcc806e78c3153a3b90f88874c967e34a18cb85e5649b08fabb4ba4ae649eeb401e79c77c3b9233d9eee2a3c2267a4596
+DIST testtools-2.7.2.tar.gz 201430 BLAKE2B d827d8e66c85908f4d16aa0762c3b0a454d374a0d23323fc3c123027f55f0e85f4fea9a24b5d1d0279266af2185f08abbcbbdcb785014b237df45a6448587611 SHA512 5815519d2b72d6b1e9f453c02793c70eb7d3b6580a211fb3708cd6121aed3c6100ceb1e35321f481a63b1f999ede030e43f1ae91d3621faf461c1908db767551
diff --git a/dev-python/testtools/testtools-2.7.2.ebuild b/dev-python/testtools/testtools-2.7.2.ebuild
new file mode 100644
index 000000000000..964a31144f79
--- /dev/null
+++ b/dev-python/testtools/testtools-2.7.2.ebuild
@@ -0,0 +1,38 @@
+# 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
+
+DESCRIPTION="Extensions to the Python standard library unit testing framework"
+HOMEPAGE="
+ https://github.com/testing-cabal/testtools/
+ https://pypi.org/project/testtools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-2.0.0[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/testresources[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc
+
+python_test() {
+ "${PYTHON}" -m testtools.run testtools.tests.test_suite ||
+ die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/ubelt/Manifest b/dev-python/ubelt/Manifest
index 3867c1579418..c0e2bb4ecd1a 100644
--- a/dev-python/ubelt/Manifest
+++ b/dev-python/ubelt/Manifest
@@ -1 +1,2 @@
DIST ubelt-1.3.5.gh.tar.gz 361497 BLAKE2B 68887d1147faf44cc6c0b62441362c903d20bf141921c62122bbd846fb5d886f8bc4d7012262e2a146670996fc7c39238534f9d9e768f073d279f6234ea23fd8 SHA512 bf54345a1dd8cd737525b91050e587e86fbde29fef7ae787dba8c5dae675ee763e193a460f567d89229592c43c780a65091ffcab008383e06dd1318c7a9f3dd3
+DIST ubelt-1.3.6.gh.tar.gz 370002 BLAKE2B 1c3674ada7d2e0b9db7cbd28da50e453d6a56a81f8f874d4f791f6d41b5b8427d3dec84aa4c0cb283f6a38f5e413539193c4120a18b87442fb80507720f0b5c8 SHA512 bde288aca46bb62ac189a7ee2f3fc0771a766097b0ffca954ac90d8edd8ca156bad87c07163e812e99929ad8032b77d12cbfa984145cb7bc053fa4ab30d39a4a
diff --git a/dev-python/ubelt/ubelt-1.3.6.ebuild b/dev-python/ubelt/ubelt-1.3.6.ebuild
new file mode 100644
index 000000000000..abc8a87156cb
--- /dev/null
+++ b/dev-python/ubelt/ubelt-1.3.6.ebuild
@@ -0,0 +1,42 @@
+# 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="A stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress"
+HOMEPAGE="
+ https://github.com/Erotemic/ubelt/
+ https://pypi.org/project/ubelt/
+"
+SRC_URI="
+ https://github.com/Erotemic/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
+ dev-python/xdoctest[${PYTHON_USEDEP}]
+ >=dev-python/xxhash-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ tests/test_editable_modules.py::test_import_of_editable_install
+ # relies on passwd home being equal to ${HOME}
+ ubelt/util_path.py::userhome:0
+)
diff --git a/dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild b/dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild
index a617d0d99077..5d34377fba56 100644
--- a/dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild
+++ b/dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.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/verboselogs/verboselogs-1.7-r1.ebuild b/dev-python/verboselogs/verboselogs-1.7-r1.ebuild
index d72133b409ac..7439ddc1ce6a 100644
--- a/dev-python/verboselogs/verboselogs-1.7-r1.ebuild
+++ b/dev-python/verboselogs/verboselogs-1.7-r1.ebuild
@@ -14,8 +14,8 @@ HOMEPAGE="
https://pypi.org/project/verboselogs/
"
-SLOT="0"
LICENSE="MIT"
+SLOT="0"
KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
BDEPEND="
diff --git a/dev-python/wrapio/Manifest b/dev-python/wrapio/Manifest
deleted file mode 100644
index 4556e129adb8..000000000000
--- a/dev-python/wrapio/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST wrapio-2.0.0.tar.gz 5197 BLAKE2B 1fc6bc0792b0a14b4c39bf9be85baa33580e98535d44d2aae726713a838e99b0b8e3ce69d17242843a754966dc6fc502452a8c095079b785f622883620ed9a68 SHA512 ae15cf05c7689a738514f4c6bd815bdbc90b6929a1da958486cd3b0bd5ee7055fa13d7e8edccbff6cb5fdf07088ddad316d9cd42e2d2e97fe56687b8f73cc84c
diff --git a/dev-python/wrapio/metadata.xml b/dev-python/wrapio/metadata.xml
deleted file mode 100644
index 3335ff021f22..000000000000
--- a/dev-python/wrapio/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>ceamac@gentoo.org</email>
- <description>Primary maintainer</description>
- </maintainer>
-
- <origin>gentoo-guru-overlay</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/wrapio/wrapio-2.0.0.ebuild b/dev-python/wrapio/wrapio-2.0.0.ebuild
deleted file mode 100644
index dc7b9a8ddbc9..000000000000
--- a/dev-python/wrapio/wrapio-2.0.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2021-2022 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="Handling event-based streams in Python"
-HOMEPAGE="
- https://github.com/Exahilosys/wrapio
- https://pypi.org/project/wrapio/
- "
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/wrapt/files/wrapt-1.16.0-py313.patch b/dev-python/wrapt/files/wrapt-1.16.0-py313.patch
new file mode 100644
index 000000000000..b404bc0762b9
--- /dev/null
+++ b/dev-python/wrapt/files/wrapt-1.16.0-py313.patch
@@ -0,0 +1,113 @@
+From 185f1f2692a64f7b908b98a25d890b951a12c3c7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Fri, 8 Mar 2024 00:40:11 +0100
+Subject: [PATCH] Fix classmethod tests with Python 3.13+
+
+Fixes https://github.com/GrahamDumpleton/wrapt/issues/259
+
+---
+ tests/test_outer_classmethod.py | 18 ++++++++++--------
+ tests/test_synchronized_lock.py | 26 ++++++++++++++------------
+ 2 files changed, 24 insertions(+), 20 deletions(-)
+
+diff --git a/tests/test_outer_classmethod.py b/tests/test_outer_classmethod.py
+index ab807646..c08d34a5 100644
+--- a/tests/test_outer_classmethod.py
++++ b/tests/test_outer_classmethod.py
+@@ -128,18 +128,20 @@ def test_class_call_function(self):
+ # first argument with the actual arguments following that. This
+ # was only finally fixed in Python 3.9. For more details see:
+ # https://bugs.python.org/issue19072
++ # Starting with Python 3.13 the old behavior is back.
++ # For more details see https://github.com/python/cpython/issues/89519
+
+ _args = (1, 2)
+ _kwargs = {'one': 1, 'two': 2}
+
+ @wrapt.decorator
+ def _decorator(wrapped, instance, args, kwargs):
+- if PYXY < (3, 9):
+- self.assertEqual(instance, None)
+- self.assertEqual(args, (Class,)+_args)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ self.assertEqual(instance, Class)
+ self.assertEqual(args, _args)
++ else:
++ self.assertEqual(instance, None)
++ self.assertEqual(args, (Class,)+_args)
+
+ self.assertEqual(kwargs, _kwargs)
+ self.assertEqual(wrapped.__module__, _function.__module__)
+@@ -176,12 +178,12 @@ def test_instance_call_function(self):
+
+ @wrapt.decorator
+ def _decorator(wrapped, instance, args, kwargs):
+- if PYXY < (3, 9):
+- self.assertEqual(instance, None)
+- self.assertEqual(args, (Class,)+_args)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ self.assertEqual(instance, Class)
+ self.assertEqual(args, _args)
++ else:
++ self.assertEqual(instance, None)
++ self.assertEqual(args, (Class,)+_args)
+
+ self.assertEqual(kwargs, _kwargs)
+ self.assertEqual(wrapped.__module__, _function.__module__)
+diff --git a/tests/test_synchronized_lock.py b/tests/test_synchronized_lock.py
+index 0e43f7af..7c41aa5a 100644
+--- a/tests/test_synchronized_lock.py
++++ b/tests/test_synchronized_lock.py
+@@ -165,36 +165,38 @@ def test_synchronized_outer_classmethod(self):
+ # function to the class before calling and just calls it direct,
+ # explicitly passing the class as first argument. For more
+ # details see: https://bugs.python.org/issue19072
++ # Starting with Python 3.13 the old behavior is back.
++ # For more details see https://github.com/python/cpython/issues/89519
+
+- if PYXY < (3, 9):
+- _lock0 = getattr(C4.function2, '_synchronized_lock', None)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ _lock0 = getattr(C4, '_synchronized_lock', None)
++ else:
++ _lock0 = getattr(C4.function2, '_synchronized_lock', None)
+ self.assertEqual(_lock0, None)
+
+ c4.function2()
+
+- if PYXY < (3, 9):
+- _lock1 = getattr(C4.function2, '_synchronized_lock', None)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ _lock1 = getattr(C4, '_synchronized_lock', None)
++ else:
++ _lock1 = getattr(C4.function2, '_synchronized_lock', None)
+ self.assertNotEqual(_lock1, None)
+
+ C4.function2()
+
+- if PYXY < (3, 9):
+- _lock2 = getattr(C4.function2, '_synchronized_lock', None)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ _lock2 = getattr(C4, '_synchronized_lock', None)
++ else:
++ _lock2 = getattr(C4.function2, '_synchronized_lock', None)
+ self.assertNotEqual(_lock2, None)
+ self.assertEqual(_lock2, _lock1)
+
+ C4.function2()
+
+- if PYXY < (3, 9):
+- _lock3 = getattr(C4.function2, '_synchronized_lock', None)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ _lock3 = getattr(C4, '_synchronized_lock', None)
++ else:
++ _lock3 = getattr(C4.function2, '_synchronized_lock', None)
+ self.assertNotEqual(_lock3, None)
+ self.assertEqual(_lock3, _lock2)
+
diff --git a/dev-python/wrapt/wrapt-1.16.0.ebuild b/dev-python/wrapt/wrapt-1.16.0.ebuild
index 91ef6973f344..5165eadd2e36 100644
--- a/dev-python/wrapt/wrapt-1.16.0.ebuild
+++ b/dev-python/wrapt/wrapt-1.16.0.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
@@ -29,6 +29,11 @@ IUSE="+native-extensions"
distutils_enable_tests pytest
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+PATCHES=(
+ # https://github.com/GrahamDumpleton/wrapt/pull/260
+ "${FILESDIR}/${P}-py313.patch"
+)
+
python_compile() {
local -x WRAPT_INSTALL_EXTENSIONS=$(usex native-extensions true false)
distutils-r1_python_compile
diff --git a/dev-python/xxhash/xxhash-3.4.1.ebuild b/dev-python/xxhash/xxhash-3.4.1.ebuild
index 251bcfd5f122..e1550cf7967a 100644
--- a/dev-python/xxhash/xxhash-3.4.1.ebuild
+++ b/dev-python/xxhash/xxhash-3.4.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