summaryrefslogtreecommitdiff
path: root/dev-python/pytables
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-06-21 17:32:00 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-06-21 17:32:00 +0100
commit61f10f985e19dfe20a4d9552902625edd5b6eabb (patch)
tree50db31971b38c4e0358253ef5005058a46fc773e /dev-python/pytables
parent34dea8e38f88007799629d0a56b12dec480b1d21 (diff)
gentoo resync : 21.06.2021
Diffstat (limited to 'dev-python/pytables')
-rw-r--r--dev-python/pytables/Manifest4
-rw-r--r--dev-python/pytables/files/pytables-3.6.1-numpy-float.patch176
-rw-r--r--dev-python/pytables/files/pytables-3.6.1-py310.patch49
-rw-r--r--dev-python/pytables/pytables-3.6.1.ebuild31
4 files changed, 247 insertions, 13 deletions
diff --git a/dev-python/pytables/Manifest b/dev-python/pytables/Manifest
index 0569c648710c..041cb176e785 100644
--- a/dev-python/pytables/Manifest
+++ b/dev-python/pytables/Manifest
@@ -1,3 +1,5 @@
+AUX pytables-3.6.1-numpy-float.patch 7336 BLAKE2B 7322dea9dcc5d115dd7fe8a92e5547359c2496326f7195d6b14f596ea8eaf69b8b3e583a7de68bb22c9346073de31e46e9bf36babc423eecd1e36772d6a6e094 SHA512 2807aa3ddcb9a9e0cd086e621d9a906c6de9c49ac1668f261ac284b7b28841c36645e42557fbe3b45b21dab9c8551fc022d5496658d8ed267516d54021791ef5
+AUX pytables-3.6.1-py310.patch 1960 BLAKE2B fd0dede7bf5b515e03d7f936b2e512b815053aed8a4e5fad6f68844a3cb99b3d51a44d8c665d6113c79bb44cafd4f85d12142d1a94e70bef454970498b1909b3 SHA512 06d28a86fad569373304167440d364341a32121c6f7fb6d777d7c320c97c6e3903f862f5372dc85b5c6f953b168aa26029d0559004003526730e9b5af3284dda
DIST tables-3.6.1.tar.gz 4641089 BLAKE2B 4ef44b1263f40babe6719bac911ab191e9cb0c58c377705b755fa83f1fba5af1d0fab10b0b45bd6af619a9dce4842a80afad8d8fbab64c3be4f35a1b3f117ee3 SHA512 7f018b70251095049bce9075be4e19f72efba9d39121a35c4521f634b1dd5b81ab6de47df3bb44ad6b8b2dbdbff4e6d0985ad1a7b2f13b44f920c0935e5830ff
-EBUILD pytables-3.6.1.ebuild 1683 BLAKE2B a2ae71e2caf405cde677f9f17b61fa388cf51cc5ffceec7d17bbfaecffaffed6832a7038ed09cbb17545e1d268bc6c06df58ec73c77a3b4c6c9e56e03994b2ac SHA512 02d1329941bf7d3accff065dc0f6512a2f8068817e94648b63fa6cece9ccea342c8b236b976bbddb7bbdf659c456981897680b9a1ba65efd94c2571e6cf823ba
+EBUILD pytables-3.6.1.ebuild 1764 BLAKE2B 89b8f0309c49c54e4c2dc991cf21bd8271616c917f79b9f52ca21da9d755672cd00138741c664b41249b160467d73563cc7db1fb190baf9d56f0fb288d8a5f5b SHA512 bce9783d8f90e6543d6680c866be5fcd7c06d22d3c8011e1d1934926f87c0ba87d05767a09bbd2e0470b818efe431aec61f2986cb2d500bab6224f906fd6f23b
MISC metadata.xml 894 BLAKE2B 279b64a5124a6471b3ea6ed8d2f82b8d62e5d8bc809168fb2ae1c3bfd8cfa07428c2ff7f07deb5042a6ccb5ba7af43bc45d0db82b9cfc79fa5d19c090d0500a3 SHA512 88dd752e6014f6f133b5df7db6c2aafce0b9da8cdbc057493916dbfbe1da4bf52e0ed43d570d68035fc8f12302794a381a54f5b07b9726b52601724163bc672c
diff --git a/dev-python/pytables/files/pytables-3.6.1-numpy-float.patch b/dev-python/pytables/files/pytables-3.6.1-numpy-float.patch
new file mode 100644
index 000000000000..71fa3b85dacf
--- /dev/null
+++ b/dev-python/pytables/files/pytables-3.6.1-numpy-float.patch
@@ -0,0 +1,176 @@
+From d2a480d14f29fb1d2baee292bc6a2cca4817dcbd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Sun, 24 Jan 2021 16:36:21 +0100
+Subject: [PATCH] Use lowercase float/int as numpy dtype
+
+Float64 is gone with numpy 1.20, which causes doctests to fail
+(https://bugzilla.redhat.com/show_bug.cgi?id=1914335).
+
+Similarly all uses of Float32, Int32 should be replaced by float32 and int32.
+
+>>> numpy.__version__
+'1.19.4'
+>>> [k for k in numpy.sctypeDict.keys() if str(k).lower().startswith('float')]
+['float16', 'Float16', 'float32', 'Float32', 'float64', 'Float64', 'float128', 'Float128', 'float_', 'float']
+
+>>> numpy.__version__
+'1.20.0rc2'
+>>> [k for k in numpy.sctypeDict.keys() if str(k).lower().startswith('float')]
+['float16', 'float32', 'float64', 'float128', 'float_', 'float']
+---
+ bench/bsddb-table-bench.py | 10 +++++-----
+ bench/postgres-search-bench.py | 4 ++--
+ bench/pytables-search-bench.py | 6 +++---
+ bench/recarray2-test.py | 2 +-
+ bench/shelve-bench.py | 10 +++++-----
+ bench/sqlite-search-bench.py | 4 ++--
+ tables/atom.py | 2 +-
+ 7 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/bench/bsddb-table-bench.py b/bench/bsddb-table-bench.py
+index dd9f875b..a2e02361 100644
+--- a/bench/bsddb-table-bench.py
++++ b/bench/bsddb-table-bench.py
+@@ -83,11 +83,11 @@ def createFile(filename, totalrows, recsize, verbose):
+ # Get the record object associated with the new table
+ if recsize == "big":
+ isrec = Big()
+- arr = np.array(np.arange(32), type=np.Float64)
+- arr2 = np.array(np.arange(32), type=np.Float64)
++ arr = np.array(np.arange(32), type=np.float64)
++ arr2 = np.array(np.arange(32), type=np.float64)
+ elif recsize == "medium":
+ isrec = Medium()
+- arr = np.array(np.arange(2), type=np.Float64)
++ arr = np.array(np.arange(2), type=np.float64)
+ else:
+ isrec = Small()
+ # print d
+@@ -107,8 +107,8 @@ def createFile(filename, totalrows, recsize, verbose):
+ #d['TDCcount'] = i % 256
+ d['ADCcount'] = (i * 256) % (1 << 16)
+ if recsize == "big":
+- #d.float1 = np.array([i]*32, np.Float64)
+- #d.float2 = np.array([i**2]*32, np.Float64)
++ #d.float1 = np.array([i]*32, np.float64)
++ #d.float2 = np.array([i**2]*32, np.float64)
+ arr[0] = 1.1
+ d['float1'] = arr
+ arr2[0] = 2.2
+diff --git a/bench/postgres-search-bench.py b/bench/postgres-search-bench.py
+index d2c9f4f4..7fe83f6a 100644
+--- a/bench/postgres-search-bench.py
++++ b/bench/postgres-search-bench.py
+@@ -15,11 +15,11 @@ def flatten(l):
+
+
+ def fill_arrays(start, stop):
+- col_i = numpy.arange(start, stop, type=numpy.Int32)
++ col_i = numpy.arange(start, stop, type=numpy.int32)
+ if userandom:
+ col_j = numpy.random.uniform(0, nrows, size=[stop - start])
+ else:
+- col_j = numpy.array(col_i, type=numpy.Float64)
++ col_j = numpy.array(col_i, type=numpy.float64)
+ return col_i, col_j
+
+ # Generator for ensure pytables benchmark compatibility
+diff --git a/bench/pytables-search-bench.py b/bench/pytables-search-bench.py
+index 726d30b1..6417186b 100644
+--- a/bench/pytables-search-bench.py
++++ b/bench/pytables-search-bench.py
+@@ -37,11 +37,11 @@ def create_db(filename, nrows):
+ stop = (j + 1) * step
+ if stop > nrows:
+ stop = nrows
+- arr_f8 = np.arange(i, stop, type=np.Float64)
+- arr_i4 = np.arange(i, stop, type=np.Int32)
++ arr_f8 = np.arange(i, stop, type=np.float64)
++ arr_i4 = np.arange(i, stop, type=np.int32)
+ if userandom:
+ arr_f8 += np.random.normal(0, stop * scale, shape=[stop - i])
+- arr_i4 = np.array(arr_f8, type=np.Int32)
++ arr_i4 = np.array(arr_f8, type=np.int32)
+ recarr = np.rec.fromarrays([arr_i4, arr_i4, arr_f8, arr_f8])
+ table.append(recarr)
+ j += 1
+diff --git a/bench/recarray2-test.py b/bench/recarray2-test.py
+index a8602d80..bf55389d 100644
+--- a/bench/recarray2-test.py
++++ b/bench/recarray2-test.py
+@@ -22,7 +22,7 @@ delta = 0.000001
+ # Creation of recarrays objects for test
+ x1 = np.array(np.arange(reclen))
+ x2 = chararray.array(None, itemsize=7, shape=reclen)
+-x3 = np.array(np.arange(reclen, reclen * 3, 2), np.Float64)
++x3 = np.array(np.arange(reclen, reclen * 3, 2), np.float64)
+ r1 = recarray.fromarrays([x1, x2, x3], names='a,b,c')
+ r2 = recarray2.fromarrays([x1, x2, x3], names='a,b,c')
+
+diff --git a/bench/shelve-bench.py b/bench/shelve-bench.py
+index d30739d8..a591ed1e 100644
+--- a/bench/shelve-bench.py
++++ b/bench/shelve-bench.py
+@@ -65,8 +65,8 @@ def createFile(filename, totalrows, recsize):
+ # Get the record object associated with the new table
+ if recsize == "big":
+ d = Big()
+- arr = NA.array(NA.arange(32), type=NA.Float64)
+- arr2 = NA.array(NA.arange(32), type=NA.Float64)
++ arr = NA.array(NA.arange(32), type=NA.float64)
++ arr2 = NA.array(NA.arange(32), type=NA.float64)
+ elif recsize == "medium":
+ d = Medium()
+ else:
+@@ -87,15 +87,15 @@ def createFile(filename, totalrows, recsize):
+ #d.TDCcount = i % 256
+ d.ADCcount = (i * 256) % (1 << 16)
+ if recsize == "big":
+- #d.float1 = NA.array([i]*32, NA.Float64)
+- #d.float2 = NA.array([i**2]*32, NA.Float64)
++ #d.float1 = NA.array([i]*32, NA.float64)
++ #d.float2 = NA.array([i**2]*32, NA.float64)
+ arr[0] = 1.1
+ d.float1 = arr
+ arr2[0] = 2.2
+ d.float2 = arr2
+ pass
+ else:
+- d.float1 = NA.array([i ** 2] * 2, NA.Float64)
++ d.float1 = NA.array([i ** 2] * 2, NA.float64)
+ #d.float1 = float(i)
+ #d.float2 = float(i)
+ d.grid_i = i
+diff --git a/bench/sqlite-search-bench.py b/bench/sqlite-search-bench.py
+index 76dc7c57..dc611695 100644
+--- a/bench/sqlite-search-bench.py
++++ b/bench/sqlite-search-bench.py
+@@ -136,10 +136,10 @@ CREATE INDEX ivar3 ON small(var3);
+ if randomvalues:
+ var3 = np.random.uniform(minimum, maximum, shape=[j - i])
+ else:
+- var3 = np.arange(i, j, type=np.Float64)
++ var3 = np.arange(i, j, type=np.float64)
+ if noise:
+ var3 += np.random.uniform(-3, 3, shape=[j - i])
+- var2 = np.array(var3, type=np.Int32)
++ var2 = np.array(var3, type=np.int32)
+ var1 = np.array(None, shape=[j - i], dtype='s4')
+ if not heavy:
+ for n in range(j - i):
+diff --git a/tables/atom.py b/tables/atom.py
+index f92e16ad..f93d915b 100644
+--- a/tables/atom.py
++++ b/tables/atom.py
+@@ -338,7 +338,7 @@ class Atom(metaclass=MetaAtom):
+ Traceback (most recent call last):
+ ...
+ ValueError: unknown NumPy scalar type: 'S5'
+- >>> Atom.from_sctype('Float64')
++ >>> Atom.from_sctype('float64')
+ Float64Atom(shape=(), dflt=0.0)
+
+ """
+--
+2.32.0
+
diff --git a/dev-python/pytables/files/pytables-3.6.1-py310.patch b/dev-python/pytables/files/pytables-3.6.1-py310.patch
new file mode 100644
index 000000000000..600516d16396
--- /dev/null
+++ b/dev-python/pytables/files/pytables-3.6.1-py310.patch
@@ -0,0 +1,49 @@
+From 2431150d691f5ccdb3da204a46e346c156ea2523 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Mon, 16 Nov 2020 10:53:05 +0100
+Subject: [PATCH] doctest: adjust __init__ TypeError formatting
+
+Python3.10 includes the class name in the TypeError string for
+__init__(), so the literal match does not work anymore.
+---
+ tables/atom.py | 4 ++--
+ tables/filters.py | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tables/atom.py b/tables/atom.py
+index 81d37c54..9cfd8609 100644
+--- a/tables/atom.py
++++ b/tables/atom.py
+@@ -569,10 +569,10 @@ class Atom(metaclass=MetaAtom):
+ >>> atom3 = atom1.copy(shape=(2, 2))
+ >>> print(atom3)
+ Int32Atom(shape=(2, 2), dflt=0)
+- >>> atom1.copy(foobar=42)
++ >>> atom1.copy(foobar=42) #doctest: +ELLIPSIS
+ Traceback (most recent call last):
+ ...
+- TypeError: __init__() got an unexpected keyword argument 'foobar'
++ TypeError: ...__init__() got an unexpected keyword argument 'foobar'
+
+ """
+ newargs = self._get_init_args()
+diff --git a/tables/filters.py b/tables/filters.py
+index f809ce77..7cb9b02d 100644
+--- a/tables/filters.py
++++ b/tables/filters.py
+@@ -432,10 +432,10 @@ class Filters:
+ Filters(complevel=0, shuffle=False, bitshuffle=False, fletcher32=False, least_significant_digit=None)
+ >>> print(filters3)
+ Filters(complevel=1, complib='zlib', shuffle=False, bitshuffle=False, fletcher32=False, least_significant_digit=None)
+- >>> filters1.copy(foobar=42)
++ >>> filters1.copy(foobar=42) #doctest: +ELLIPSIS
+ Traceback (most recent call last):
+ ...
+- TypeError: __init__() got an unexpected keyword argument 'foobar'
++ TypeError: ...__init__() got an unexpected keyword argument 'foobar'
+
+ """
+
+--
+2.32.0
+
diff --git a/dev-python/pytables/pytables-3.6.1.ebuild b/dev-python/pytables/pytables-3.6.1.ebuild
index 0c4f1afc0ab4..67448098a5b3 100644
--- a/dev-python/pytables/pytables-3.6.1.ebuild
+++ b/dev-python/pytables/pytables-3.6.1.ebuild
@@ -1,10 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-DISTUTILS_USE_SETUPTOOLS=rdepend
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..10} )
PYTHON_REQ_USE="threads(+)"
MY_PN=tables
@@ -15,6 +14,7 @@ inherit distutils-r1 flag-o-matic
DESCRIPTION="Hierarchical datasets for Python"
HOMEPAGE="https://www.pytables.org/"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
@@ -22,26 +22,33 @@ LICENSE="BSD"
IUSE="doc examples test"
RESTRICT="!test? ( test )"
-RDEPEND="
+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/lzo:2=
>=dev-python/numpy-1.8.1[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.5.2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
>=sci-libs/hdf5-1.8.15:0=
"
-DEPEND="${RDEPEND}
+RDEPEND="${DEPEND}
+ >=dev-python/numexpr-2.5.2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+BDEPEND="
>=dev-python/cython-0.21[${PYTHON_USEDEP}]
- test? ( dev-python/mock[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )
"
-S="${WORKDIR}/${MY_P}"
-
DOCS=( RELEASE_NOTES.txt THANKS )
+PATCHES=(
+ "${FILESDIR}"/${P}-numpy-float.patch
+ "${FILESDIR}"/${P}-py310.patch
+)
+
python_prepare_all() {
export HDF5_DIR="${EPREFIX}"/usr
rm tables/*.c || die
@@ -58,7 +65,7 @@ python_compile() {
python_test() {
cd "${BUILD_DIR}"/lib* || die
- ${EPYTHON} tables/tests/test_all.py || die
+ "${EPYTHON}" tables/tests/test_all.py -v || die
}
python_install_all() {