summaryrefslogtreecommitdiff
path: root/dev-python/tables
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-22 14:47:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-22 14:47:12 +0100
commit1802160f23e91c618b3c7379fd99127682cfce19 (patch)
tree094c5349b2f0bd88633709f2f1ad322398475815 /dev-python/tables
parent439c34b3917f0757b9c83eb64a687cac0d477140 (diff)
gentoo auto-resync : 22:09:2024 - 14:47:12
Diffstat (limited to 'dev-python/tables')
-rw-r--r--dev-python/tables/Manifest9
-rw-r--r--dev-python/tables/files/tables-3.10.0-pypy.patch42
-rw-r--r--dev-python/tables/files/tables-3.9.2-numpy-2.patch264
-rw-r--r--dev-python/tables/files/tables-3.9.2-py313.patch73
-rw-r--r--dev-python/tables/tables-3.10.0.ebuild80
-rw-r--r--dev-python/tables/tables-3.10.1.ebuild2
-rw-r--r--dev-python/tables/tables-3.9.2-r1.ebuild89
7 files changed, 2 insertions, 557 deletions
diff --git a/dev-python/tables/Manifest b/dev-python/tables/Manifest
index 8c662d8ee83a..71129f2d4efa 100644
--- a/dev-python/tables/Manifest
+++ b/dev-python/tables/Manifest
@@ -1,10 +1,3 @@
-AUX tables-3.10.0-pypy.patch 1755 BLAKE2B a08edae632ebddf56c38d57b839e1e4bb8206fe4800065a99833412826d17236a8c71bd42acda5ff70217b0456e560e4b9737dea48099701583acfe8e86411c1 SHA512 9f52467bc8bd49fa1745264372b5f833c4377c39207fafd78ecba3eea5a63524a7bf3f355ff482ae1f0196ed01087b0ae03d447453d0ce832e3e70a9546d2e2e
-AUX tables-3.9.2-numpy-2.patch 10742 BLAKE2B 6c172a961e25d610b4f3cb72277512bcf8b493c5eec3122cd8a609ba6b8fef4b79d4c0c6b386b82cccabc8beeca54c05bd9057f655c2b5bb4f811a4ff747e639 SHA512 045fb1f3c2cc713f2e39aa6176190923a3441f473801f4258f2642324d2677f927bc34164911b5fee6ed88f4ed5589fafea0e113a5d426ffdc86eb46ce27fe0b
-AUX tables-3.9.2-py313.patch 2674 BLAKE2B 5735b61bc189b3f09dda468e7e371db8b57a3dd49fd3363865afc9c9676b414d46b0b41e745aa6d90fca20ab43e0e778bf0638cb879c3c2a8efe444ed8348fb6 SHA512 7f649c331be6d6f096564d17704f738e3872a77272ea2561e83fcb8f778769dfdde1ebaeaa9d3d34d640954fb53056436bf513d2c52c33929937f704c68d546e
-DIST tables-3.10.0.tar.gz 4762618 BLAKE2B 351ec7e1bb9f0e4a43686b51911793aac32260d88418e1dac0b4fb815fd0f48543e139d1b7ea5607c1368578db4c6513a36d6379f4038cc53fbead4a436ce50d SHA512 10b4d2d1df5c692b72ad599cebc81fc2ef56f432a8d8059c2cede25a201076d12aff3e8874dafb8ef1d41dcc6c9151523f7e4fae3971443f79d051c6f8fcbc88
DIST tables-3.10.1.tar.gz 4762413 BLAKE2B b185e839767cb339bf5e3760d6d37593eb57551776c563bd99eaaeabc5ee3c041f3b86a03995294dbfaa1a27b0581b0c4544fac0dbdfacd507fe487c1256a2cc SHA512 7590dccefdd718d170ac288d391173ed540760a911f53fd39e37dd74237dc554f9363c8d9d4d518f067da299d71a1d8cb4a40134b1afaf79daa0a17de248caf5
-DIST tables-3.9.2.tar.gz 4683437 BLAKE2B 7044aede85d9eca67260a309d19b5c80944b80b2107f665296ad7ae6a3c3f9a8717a41ae7298a5ae45e5b9de7ae0a6678a83d4bd914bd8709512333e783367bc SHA512 9b416222304b7798585a20d4d7d61934023f151d4262a58a4f0ee969aa365264270c12a734461a194d2c857a13a8e09fb7a1386042267113f601560c041cecd9
-EBUILD tables-3.10.0.ebuild 1823 BLAKE2B 9ee766f45131fa66ccf513d4765ec2b1a00df7f0c76796ddb4441479d0a1d4607686cd2947ad003b23a3212c6de8c954598c8ec7903c8d973ebcb9df409e1b6b SHA512 b877e07cad589a720b453674ebcab8b4d9490d70ec67c8528b79b71349cd63961193e4a0f76e7fc296edfc58132d339085aa8c510745db038fe6d0ac27be882b
-EBUILD tables-3.10.1.ebuild 1694 BLAKE2B 98c69f98eda60ae94d8f2c5f7910ce1117178cbb117464766f550577574d61dcb47cc867bf6476409a2f106423b3084da806fb7b1f47fb706404c894b27c368e SHA512 f933b5bf1aac78f86cffa6ab67c93c753a8c3f684ca486dccd34dddb3d635cd50d0dfa3d0b6a547224d1347f65ccd0242d17bb9d95bf2f1544e9e714d6178457
-EBUILD tables-3.9.2-r1.ebuild 2278 BLAKE2B 1c04d06ddc56700b0d4d35f493fcd164b0d2a157f412606c319181d24a397b89bbfa6a652cc050ce0257f101ec1d869d1414dfe75c69500934d1062e3deed489 SHA512 33766a45fc4b0729460953dc631721f11b71678c340976a458a88b23a055cdc92620a7a3aa400797c9cb6215ea97aee4fb9b90a910ffd79c4eae3fa4738f2868
+EBUILD tables-3.10.1.ebuild 1693 BLAKE2B 13044d54df119842cc244977eda60d7e0df0df38f6317234fd866e09e5ea95d2b514a3209e80ac42cf0da2c8b2fdcf6fc8606c56528480e5690217a390576aec SHA512 be000bd1933a3bccc0f92fdc6a8fa8279e986f1a1781f5ef69e7225c619760c460a906207dc5e8954bdbf042616515c90b53b47b9d13d162c81e3c9433c83821
MISC metadata.xml 1090 BLAKE2B cc213079beb7f2888b5eab4886711fe8a4b7a4bc3cf13ff4d2247bd04edc05fdaed19c464ae28beac27de511ea997bcc873866bf9d544d6efe8cacd095e8640a SHA512 bd322eade443a3b1b610d262a0a6a30088246b3f772624fdfbf6eac85f240deb3f9001be1e2e20e334e65701c24e1d57100c67864d14067b1ae16e99f2136e8a
diff --git a/dev-python/tables/files/tables-3.10.0-pypy.patch b/dev-python/tables/files/tables-3.10.0-pypy.patch
deleted file mode 100644
index f27c99eadfb8..000000000000
--- a/dev-python/tables/files/tables-3.10.0-pypy.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From c04a456a3e3f7c55722b8c77144991c657fc3af6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 14 Aug 2024 13:34:22 +0200
-Subject: [PATCH] FIX: Pass `refcheck=False` to `np.ndarray.resize()` for PyPy
- compat
-
-Pass `refcheck=False` when resizing an `np.ndarray` in place, in order
-to fix a test failure on PyPy3:
-
-```
-Traceback (most recent call last):
- File "/tmp/PyTables/tables/tests/test_direct_chunk.py", line 266, in test_write_chunk_missing1
- return self._test_write_chunk_missing(shrink_after=False)
- File "/tmp/PyTables/tables/tests/test_direct_chunk.py", line 255, in _test_write_chunk_missing
- new_obj.resize(self.array.shape)
-ValueError: cannot resize an array with refcheck=True on PyPy.
-Use the np.resize function or refcheck=False
-```
-
-Since the object is created immediately above the `.resize()` call,
-adding `refcheck=False` should be entirely safe. Furthermore,
-unlike `np.resize()` this preserves the current behavior when new shape
-is larger than the original.
-
-Fixes #1202
----
- tables/tests/test_direct_chunk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tables/tests/test_direct_chunk.py b/tables/tests/test_direct_chunk.py
-index ccc82516d..ed290d7e6 100644
---- a/tables/tests/test_direct_chunk.py
-+++ b/tables/tests/test_direct_chunk.py
-@@ -252,7 +252,7 @@ def _test_write_chunk_missing(self, shrink_after):
- self.array.truncate(self.shape[0] - 1)
-
- new_obj = self.obj.copy()
-- new_obj.resize(self.array.shape)
-+ new_obj.resize(self.array.shape, refcheck=False)
- obj_slice = tuple(slice(s, s + cs) for (s, cs)
- in zip(chunk_start, self.chunkshape))
- if not shrink_after:
diff --git a/dev-python/tables/files/tables-3.9.2-numpy-2.patch b/dev-python/tables/files/tables-3.9.2-numpy-2.patch
deleted file mode 100644
index a3d56d13f1a8..000000000000
--- a/dev-python/tables/files/tables-3.9.2-numpy-2.patch
+++ /dev/null
@@ -1,264 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 48dc6ca5..e8957c1f 100755
---- a/setup.py
-+++ b/setup.py
-@@ -736,7 +736,10 @@ if __name__ == "__main__":
-
- # -----------------------------------------------------------------
-
-- def_macros = [("NDEBUG", 1)]
-+ def_macros = [
-+ ("NDEBUG", 1),
-+ ("NPY_TARGET_VERSION", "NPY_1_20_API_VERSION"),
-+ ]
-
- # Define macros for Windows platform
- if os.name == "nt":
-diff --git a/src/utils.c b/src/utils.c
-index 15fce02d..b28dbc90 100644
---- a/src/utils.c
-+++ b/src/utils.c
-@@ -765,8 +765,8 @@ hid_t create_ieee_complex64(const char *byteorder) {
- return float_id;
- }
-
-- H5Tinsert(complex_id, "r", HOFFSET(npy_complex64, real), float_id);
-- H5Tinsert(complex_id, "i", HOFFSET(npy_complex64, imag), float_id);
-+ H5Tinsert(complex_id, "r", 0, float_id);
-+ H5Tinsert(complex_id, "i", 4, float_id);
- H5Tclose(float_id);
- return complex_id;
- }
-@@ -790,8 +790,8 @@ hid_t create_ieee_complex128(const char *byteorder) {
- return float_id;
- }
-
-- H5Tinsert(complex_id, "r", HOFFSET(npy_complex128, real), float_id);
-- H5Tinsert(complex_id, "i", HOFFSET(npy_complex128, imag), float_id);
-+ H5Tinsert(complex_id, "r", 0, float_id);
-+ H5Tinsert(complex_id, "i", 8, float_id);
- H5Tclose(float_id);
- return complex_id;
- }
-@@ -822,8 +822,8 @@ hid_t create_ieee_complex192(const char *byteorder) {
- return err;
- }
-
-- H5Tinsert(complex_id, "r", HOFFSET(npy_complex192, real), float_id);
-- H5Tinsert(complex_id, "i", HOFFSET(npy_complex192, imag), float_id);
-+ H5Tinsert(complex_id, "r", 0, float_id);
-+ H5Tinsert(complex_id, "i", 12, float_id);
- H5Tclose(float_id);
- return complex_id;
- }
-@@ -854,8 +854,8 @@ hid_t create_ieee_complex256(const char *byteorder) {
- return err;
- }
-
-- H5Tinsert(complex_id, "r", HOFFSET(npy_complex256, real), float_id);
-- H5Tinsert(complex_id, "i", HOFFSET(npy_complex256, imag), float_id);
-+ H5Tinsert(complex_id, "r", 0, float_id);
-+ H5Tinsert(complex_id, "i", 16, float_id);
- H5Tclose(float_id);
- return complex_id;
- }
-diff --git a/tables/atom.py b/tables/atom.py
-index 56ab6423..5d4fba2b 100644
---- a/tables/atom.py
-+++ b/tables/atom.py
-@@ -276,15 +276,15 @@ class Atom(metaclass=MetaAtom):
- >>> atom1 = StringAtom(itemsize=10) # same as ``atom2``
- >>> atom2 = Atom.from_kind('string', 10) # same as ``atom1``
- >>> atom3 = IntAtom()
-- >>> atom1 == 'foo'
-+ >>> bool(atom1 == 'foo')
- False
-- >>> atom1 == atom2
-+ >>> bool(atom1 == atom2)
- True
-- >>> atom2 != atom1
-+ >>> bool(atom2 != atom1)
- False
-- >>> atom1 == atom3
-+ >>> bool(atom1 == atom3)
- False
-- >>> atom3 != atom2
-+ >>> bool(atom3 != atom2)
- True
-
- """
-diff --git a/tables/index.py b/tables/index.py
-index e8c8caf7..28ff37e2 100644
---- a/tables/index.py
-+++ b/tables/index.py
-@@ -581,7 +581,8 @@ class Index(NotLoggedMixin, Group, indexesextension.Index):
- # Add a second offset in this case
- # First normalize the number of rows
- offset2 = (nrow % self.nslicesblock) * slicesize // lbucket
-- idx += offset2
-+ assert offset2 < 2**(indsize*8)
-+ idx += np.asarray(offset2).astype(idx.dtype)
- # Add the last row at the beginning of arr & idx (if needed)
- if (indsize == 8 and nelementsILR > 0):
- # It is possible that the values in LR are already sorted.
-@@ -622,11 +623,11 @@ class Index(NotLoggedMixin, Group, indexesextension.Index):
- show_stats("Entering final_idx32", tref)
- # Do an upcast first in order to add the offset.
- idx = idx.astype('uint64')
-- idx += offset
-+ idx += np.asarray(offset).astype(idx.dtype)
- # The next partition is valid up to table sizes of
- # 2**30 * 2**18 = 2**48 bytes, that is, 256 Tera-elements,
- # which should be a safe figure, at least for a while.
-- idx //= self.lbucket
-+ idx //= np.asarray(self.lbucket).astype(idx.dtype)
- # After the division, we can downsize the indexes to 'uint32'
- idx = idx.astype('uint32')
- if profile:
-@@ -2002,7 +2003,7 @@ class Index(NotLoggedMixin, Group, indexesextension.Index):
- else:
- self.indicesLR._read_index_slice(start, stop, idx)
- if indsize == 8:
-- idx //= lbucket
-+ idx //= np.asarray(lbucket).astype(idx.dtype)
- elif indsize == 2:
- # The chunkmap size cannot be never larger than 'int_'
- idx = idx.astype("int_")
-diff --git a/tables/tests/common.py b/tables/tests/common.py
-index 31378a88..1992f39a 100644
---- a/tables/tests/common.py
-+++ b/tables/tests/common.py
-@@ -205,7 +205,7 @@ def allequal(a, b, flavor="numpy"):
- return result
-
-
--def areArraysEqual(arr1, arr2):
-+def areArraysEqual(arr1, arr2, *, check_type=True):
- """Are both `arr1` and `arr2` equal arrays?
-
- Arguments can be regular NumPy arrays, chararray arrays or
-@@ -217,8 +217,8 @@ def areArraysEqual(arr1, arr2):
- t1 = type(arr1)
- t2 = type(arr2)
-
-- if not ((hasattr(arr1, 'dtype') and arr1.dtype == arr2.dtype) or
-- issubclass(t1, t2) or issubclass(t2, t1)):
-+ if check_type and not ((hasattr(arr1, 'dtype') and arr1.dtype == arr2.dtype) or
-+ issubclass(t1, t2) or issubclass(t2, t1)):
- return False
-
- return np.all(arr1 == arr2)
-diff --git a/tables/tests/test_expression.py b/tables/tests/test_expression.py
-index 018d4208..d9c0e990 100644
---- a/tables/tests/test_expression.py
-+++ b/tables/tests/test_expression.py
-@@ -265,9 +265,12 @@ class MixedContainersTestCase(common.TempFileMixin, common.PyTablesTestCase):
- if common.verbose:
- print("Computed expression:", repr(r1), r1.dtype)
- print("Should look like:", repr(r2), r2.dtype)
-- self.assertTrue(
-- r1.shape == r2.shape and r1.dtype == r2.dtype and r1 == r2,
-- "Evaluate is returning a wrong value.")
-+ msg = f"Evaluate is returning a wrong value: {expr_str}\n{r1=}\n{r2=}"
-+ self.assertEqual(r1.shape, r2.shape, msg=msg)
-+ # In something like 2 * np.in16(3) + np.int16(2) the result is still a
-+ # np.int16 in NumPy 2.0, so we shouldn't actually check this:
-+ # self.assertEqual(r1.dtype, r2.dtype, msg=msg)
-+ self.assertEqual(r1, r2, msg=msg)
-
- def test01a_out(self):
- """Checking expressions with mixed objects (`out` param)"""
-@@ -305,8 +308,9 @@ class MixedContainersTestCase(common.TempFileMixin, common.PyTablesTestCase):
- if common.verbose:
- print("Computed expression:", repr(r1), r1.dtype)
- print("Should look like:", repr(r2), r2.dtype)
-- self.assertTrue(common.areArraysEqual(r1, r2),
-- "Evaluate is returning a wrong value.")
-+ msg = f"Evaluate is returning a wrong value: {expr_str}\n{r1=}\n{r2=}"
-+ # On NumPy 2 type promotion is different so don't check type here
-+ self.assertTrue(common.areArraysEqual(r1, r2, check_type=False), msg=msg)
-
- def test02a_sss(self):
- """Checking mixed objects and start, stop, step (I)"""
-diff --git a/tables/tests/test_indexvalues.py b/tables/tests/test_indexvalues.py
-index fac33af8..85ca38c3 100644
---- a/tables/tests/test_indexvalues.py
-+++ b/tables/tests/test_indexvalues.py
-@@ -2296,6 +2296,11 @@ class SelectValuesTestCase(common.TempFileMixin, common.PyTablesTestCase):
- self.assertFalse(t1var3.index.dirty)
- self.assertFalse(t1var4.index.dirty)
-
-+ # TODO: IT IS DIRTY BECAUSE THIS FIXES THINGS FOR FINSV2aTestCase,
-+ # which otherwise fails a test a few lines below!
-+ for col in table1.colinstances.values():
-+ col.reindex()
-+
- # Do some selections and check the results
- # First selection: string
- # Convert the limits to the appropriate type
-@@ -2318,11 +2323,15 @@ class SelectValuesTestCase(common.TempFileMixin, common.PyTablesTestCase):
- # Second selection: bool
- results1 = [p["var2"] for p in table1.where('t1var2 == True')]
- results2 = [p["var2"] for p in table2 if p["var2"] is True]
-- if common.verbose:
-- print("Length results:", len(results1))
-- print("Should be:", len(results2))
-- self.assertEqual(len(results1), len(results2))
-- self.assertEqual(results1, results2)
-+ t2var1_vals = [p["var1"] for p in table2]
-+ t2var2_vals = [p["var2"] for p in table2]
-+ msg = (
-+ f"Incorrect results for t1var2[n] == True where\n"
-+ f"t2var1_vals={repr(t2var1_vals)}\nt2var2_vals={repr(t2var2_vals)}\n"
-+ f"\n{results1=}\n{results2=}"
-+ )
-+ self.assertEqual(len(results1), len(results2), msg=msg)
-+ self.assertEqual(results1, results2, msg=msg)
-
- # Third selection: int
- # Convert the limits to the appropriate type
-@@ -3228,7 +3237,9 @@ class LastRowReuseBuffers(common.PyTablesTestCase):
-
-
- normal_tests = (
-- "SV1aTestCase", "SV2aTestCase", "SV3aTestCase",
-+ "SV1aTestCase",
-+ "SV2aTestCase",
-+ "SV3aTestCase",
- )
-
- heavy_tests = (
-diff --git a/tables/utils.py b/tables/utils.py
-index e11e5ba7..7d786e32 100644
---- a/tables/utils.py
-+++ b/tables/utils.py
-@@ -25,6 +25,11 @@ byteorders = {
- SizeType = np.int64
-
-
-+copy_if_needed = (
-+ None if np.lib.NumpyVersion(np.__version__) >= "2.0.0" else False
-+)
-+
-+
- def correct_byteorder(ptype, byteorder):
- """Fix the byteorder depending on the PyTables types."""
-
-@@ -78,7 +83,7 @@ def idx2long(index):
- # with atom from a generic python type. If copy is stated as True, it
- # is assured that it will return a copy of the object and never the same
- # object or a new one sharing the same memory.
--def convert_to_np_atom(arr, atom, copy=False):
-+def convert_to_np_atom(arr, atom, copy=copy_if_needed):
- """Convert a generic object into a NumPy object compliant with atom."""
-
- # First, convert the object into a NumPy array
-@@ -112,7 +117,7 @@ def convert_to_np_atom2(object, atom):
-
- # Check whether the object needs to be copied to make the operation
- # safe to in-place conversion.
-- copy = atom.type in ['time64']
-+ copy = True if atom.type in ['time64'] else copy_if_needed
- nparr = convert_to_np_atom(object, atom, copy)
- # Finally, check the byteorder and change it if needed
- byteorder = byteorders[nparr.dtype.byteorder]
diff --git a/dev-python/tables/files/tables-3.9.2-py313.patch b/dev-python/tables/files/tables-3.9.2-py313.patch
deleted file mode 100644
index 660c5615765f..000000000000
--- a/dev-python/tables/files/tables-3.9.2-py313.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 4a1b480e7e3758cf2cf06354ec5720020db16ce7 Mon Sep 17 00:00:00 2001
-From: Antonio Valentino <antonio.valentino@tiscali.it>
-Date: Sun, 19 May 2024 17:39:47 +0200
-Subject: [PATCH] Fix compatibility with Python v3.13 (Closes: #1166)
-
-The unittest.makeSuite function is not available in Python 3.13.
----
-diff --git a/tables/tests/test_aux.py b/tables/tests/test_aux.py
-index 95f34ee16..cf4f022de 100644
---- a/tables/tests/test_aux.py
-+++ b/tables/tests/test_aux.py
-@@ -2,6 +2,7 @@
- import numpy as np
-
- import tables as tb
-+from tables.tests.common import make_suite
-
-
- class TestAuxiliaryFunctions(unittest.TestCase):
-diff --git a/tables/nodes/tests/test_filenode.py b/tables/nodes/tests/test_filenode.py
-index c2754218a..3572cc38f 100644
---- a/tables/nodes/tests/test_filenode.py
-+++ b/tables/nodes/tests/test_filenode.py
-@@ -9,7 +9,7 @@
- from ... import open_file, file, NoSuchNodeError
- from ...nodes import filenode
- from ...tests.common import (
-- unittest, TempFileMixin, parse_argv, print_versions,
-+ unittest, TempFileMixin, parse_argv, print_versions, make_suite,
- PyTablesTestCase as TestCase)
-
-
-diff --git a/tables/tests/common.py b/tables/tests/common.py
-index 31378a880..918b17247 100644
---- a/tables/tests/common.py
-+++ b/tables/tests/common.py
-@@ -366,3 +366,10 @@ def test00(self):
- print(f"VmSize: {vmsize:>7} kB\tVmRSS: {vmrss:>7} kB")
- print(f"VmData: {vmdata:>7} kB\tVmStk: {vmstk:>7} kB")
- print(f"VmExe: {vmexe:>7} kB\tVmLib: {vmlib:>7} kB")
-+
-+
-+try:
-+ from unittest import makeSuite as make_suite
-+except ImportError:
-+ def make_suite(test_case_class):
-+ return unittest.TestLoader().loadTestsFromTestCase(test_case_class)
-From 424784895b0fb15ad06707ce60f9829cef4f11e2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
-Date: Mon, 3 Jun 2024 17:21:38 +0200
-Subject: [PATCH] Make tables.tests.common.make_suite() accept the prefix
- argument
-
-...as test_queries.py uses it.
----
- tables/tests/common.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/tables/tests/common.py b/tables/tests/common.py
-index 918b17247..1d2e5feab 100644
---- a/tables/tests/common.py
-+++ b/tables/tests/common.py
-@@ -371,5 +371,8 @@ def test00(self):
- try:
- from unittest import makeSuite as make_suite
- except ImportError:
-- def make_suite(test_case_class):
-- return unittest.TestLoader().loadTestsFromTestCase(test_case_class)
-+ def make_suite(test_case_class, *, prefix=None):
-+ loader = unittest.TestLoader()
-+ if prefix:
-+ loader.testMethodPrefix = prefix
-+ return loader.loadTestsFromTestCase(test_case_class)
diff --git a/dev-python/tables/tables-3.10.0.ebuild b/dev-python/tables/tables-3.10.0.ebuild
deleted file mode 100644
index 457bf9dd44aa..000000000000
--- a/dev-python/tables/tables-3.10.0.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..13} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 prefix pypi
-
-DESCRIPTION="Hierarchical datasets for Python"
-HOMEPAGE="
- https://www.pytables.org/
- https://github.com/PyTables/PyTables/
- https://pypi.org/project/tables/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+cpudetection examples test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- app-arch/bzip2:0=
- app-arch/lz4:0=
- >=app-arch/zstd-1.0.0:=
- >=dev-libs/c-blosc-1.11.1:0=
- >=dev-libs/c-blosc2-2.11.0:=
- dev-libs/lzo:2=
- >=dev-python/numpy-1.19.0:=[${PYTHON_USEDEP}]
- >=sci-libs/hdf5-1.8.4:=
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/numexpr-2.6.2[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- >=dev-python/cython-0.21[${PYTHON_USEDEP}]
- virtual/pkgconfig
- cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
- test? (
- ${RDEPEND}
- )
-"
-
-python_prepare_all() {
- local PATCHES=(
- # https://github.com/PyTables/PyTables/pull/1205
- "${FILESDIR}/${P}-pypy.patch"
- )
-
- rm -r c-blosc/{blosc,internal-complibs} || die
-
- distutils-r1_python_prepare_all
-
- sed -i -e '/blosc2/d' -e '/numpy/s:, <2::' pyproject.toml || die
- hprefixify -w '/prefixes =/' setup.py
-
- export PYTABLES_NO_EMBEDDED_LIBS=1
- export USE_PKGCONFIG=TRUE
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" tables/tests/test_all.py -v || die
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r contrib examples
- docompress -x /usr/share/doc/${PF}/{contrib,examples}
- fi
-}
diff --git a/dev-python/tables/tables-3.10.1.ebuild b/dev-python/tables/tables-3.10.1.ebuild
index 7235247cd72f..22c659a3d63f 100644
--- a/dev-python/tables/tables-3.10.1.ebuild
+++ b/dev-python/tables/tables-3.10.1.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="+cpudetection examples test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/tables/tables-3.9.2-r1.ebuild b/dev-python/tables/tables-3.9.2-r1.ebuild
deleted file mode 100644
index 03c62e62a5a9..000000000000
--- a/dev-python/tables/tables-3.9.2-r1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..13} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 prefix pypi
-
-DESCRIPTION="Hierarchical datasets for Python"
-HOMEPAGE="
- https://www.pytables.org/
- https://github.com/PyTables/PyTables/
- https://pypi.org/project/tables/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+cpudetection examples test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- app-arch/bzip2:0=
- app-arch/lz4:0=
- >=app-arch/zstd-1.0.0:=
- >=dev-libs/c-blosc-1.11.1:0=
- >=dev-libs/c-blosc2-2.11.0:=
- dev-libs/lzo:2=
- >=dev-python/numpy-1.19.0:=[${PYTHON_USEDEP}]
- >=sci-libs/hdf5-1.8.4:=
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/numexpr-2.6.2[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- >=dev-python/cython-0.21[${PYTHON_USEDEP}]
- virtual/pkgconfig
- cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
- test? (
- ${RDEPEND}
- )
-"
-
-python_prepare_all() {
- local PATCHES=(
- # https://github.com/PyTables/PyTables/pull/1176
- "${FILESDIR}/${P}-numpy-2.patch"
- # https://github.com/PyTables/PyTables/commit/4a1b480e7e3758cf2cf06354ec5720020db16ce7
- # https://github.com/PyTables/PyTables/commit/424784895b0fb15ad06707ce60f9829cef4f11e2
- "${FILESDIR}/${P}-py313.patch"
- )
-
- rm -r c-blosc/{blosc,internal-complibs} || die
-
- # part of https://github.com/PyTables/PyTables/commit/4a1b480e7e3758cf2cf06354ec5720020db16ce7
- # (warning: do it *before* patching, so it doesn't modify
- # the added function)
- find -name '*.py' -exec \
- sed -i -e 's:unittest[.]makeSuite:make_suite:' {} + || die
-
- distutils-r1_python_prepare_all
-
- sed -i -e '/blosc2/d' pyproject.toml || die
- hprefixify -w '/prefixes =/' setup.py
-
- export PYTABLES_NO_EMBEDDED_LIBS=1
- export USE_PKGCONFIG=TRUE
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" tables/tests/test_all.py -v || die
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r contrib examples
- docompress -x /usr/share/doc/${PF}/{contrib,examples}
- fi
-}