commit:     972c07327c96c1fda202d1cd3b81ca8d4e252208
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 14 18:19:16 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 14 18:19:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=972c0732

dev-python/tables: Bump to 3.10.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/tables/Manifest                       |  1 +
 dev-python/tables/files/tables-3.10.0-pypy.patch | 42 +++++++++++++
 dev-python/tables/tables-3.10.0.ebuild           | 80 ++++++++++++++++++++++++
 3 files changed, 123 insertions(+)

diff --git a/dev-python/tables/Manifest b/dev-python/tables/Manifest
index 9498bdb0d829..9783a85cf9d5 100644
--- a/dev-python/tables/Manifest
+++ b/dev-python/tables/Manifest
@@ -1 +1,2 @@
+DIST tables-3.10.0.tar.gz 4762618 BLAKE2B 
351ec7e1bb9f0e4a43686b51911793aac32260d88418e1dac0b4fb815fd0f48543e139d1b7ea5607c1368578db4c6513a36d6379f4038cc53fbead4a436ce50d
 SHA512 
10b4d2d1df5c692b72ad599cebc81fc2ef56f432a8d8059c2cede25a201076d12aff3e8874dafb8ef1d41dcc6c9151523f7e4fae3971443f79d051c6f8fcbc88
 DIST tables-3.9.2.tar.gz 4683437 BLAKE2B 
7044aede85d9eca67260a309d19b5c80944b80b2107f665296ad7ae6a3c3f9a8717a41ae7298a5ae45e5b9de7ae0a6678a83d4bd914bd8709512333e783367bc
 SHA512 
9b416222304b7798585a20d4d7d61934023f151d4262a58a4f0ee969aa365264270c12a734461a194d2c857a13a8e09fb7a1386042267113f601560c041cecd9

diff --git a/dev-python/tables/files/tables-3.10.0-pypy.patch 
b/dev-python/tables/files/tables-3.10.0-pypy.patch
new file mode 100644
index 000000000000..f27c99eadfb8
--- /dev/null
+++ b/dev-python/tables/files/tables-3.10.0-pypy.patch
@@ -0,0 +1,42 @@
+From c04a456a3e3f7c55722b8c77144991c657fc3af6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
+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/tables-3.10.0.ebuild 
b/dev-python/tables/tables-3.10.0.ebuild
new file mode 100644
index 000000000000..c6e4633a70ff
--- /dev/null
+++ b/dev-python/tables/tables-3.10.0.ebuild
@@ -0,0 +1,80 @@
+# 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 ~ia64 ~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
+}

Reply via email to