summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2021-04-12 12:13:17 +0200
committerMichał Górny <mgorny@gentoo.org>2021-04-12 12:13:17 +0200
commit61beab47461cbaf2f2467d25eb9808583c34f84a (patch)
treee50d5c6c07e7ad49ffa34c29edf4af392d9e20d4 /dev-python/h5py
parentdev-python/hypothesis: Bump to 6.9.1 (diff)
downloadgentoo-61beab47461cbaf2f2467d25eb9808583c34f84a.tar.gz
gentoo-61beab47461cbaf2f2467d25eb9808583c34f84a.tar.bz2
gentoo-61beab47461cbaf2f2467d25eb9808583c34f84a.zip
dev-python/h5py: Fix skipping inconvenient types on x86
Closes: https://bugs.gentoo.org/782238 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/h5py')
-rw-r--r--dev-python/h5py/files/h5py-3.2.1-i686-types.patch55
-rw-r--r--dev-python/h5py/h5py-3.2.1.ebuild4
2 files changed, 59 insertions, 0 deletions
diff --git a/dev-python/h5py/files/h5py-3.2.1-i686-types.patch b/dev-python/h5py/files/h5py-3.2.1-i686-types.patch
new file mode 100644
index 000000000000..80bbb112e7bd
--- /dev/null
+++ b/dev-python/h5py/files/h5py-3.2.1-i686-types.patch
@@ -0,0 +1,55 @@
+From 76c9c8c4049943c490556fa888cf7743d1a677e5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 12 Apr 2021 11:48:16 +0200
+Subject: [PATCH] TST: Skip problematic datatypes based on their length
+
+Filter datatypes for tests based on their length rather than keeping
+a list of illegal platform+type combinations. This is more robust
+than the previous solution and fixes the test failures with new numpy
+versions (1.19.5 is the oldest I have tested) that declare 'float96'
+and 'complex192' on i686 rather than 'float128' and 'complex256'.
+
+This fixes the following test failure:
+
+ E AttributeError: module 'numpy' has no attribute 'float128'
+
+plus, later on (again):
+
+ E TypeError: Illegal length 24 for complex dtype
+---
+ h5py/tests/test_dtype.py | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git a/h5py/tests/test_dtype.py b/h5py/tests/test_dtype.py
+index c5fac97e..ec4eda21 100644
+--- a/h5py/tests/test_dtype.py
++++ b/h5py/tests/test_dtype.py
+@@ -13,8 +13,6 @@ except ImportError:
+
+ from .common import ut, TestCase
+
+-UNSUPPORTED_LONG_DOUBLE = ('i386', 'i486', 'i586', 'i686', 'ppc64le')
+-
+
+ class TestVlen(TestCase):
+
+@@ -289,13 +287,9 @@ class TestOffsets(TestCase):
+ if (np.issubdtype(f, np.floating) or
+ np.issubdtype(f, np.complexfloating)))
+
+- if platform.machine() in UNSUPPORTED_LONG_DOUBLE:
+- dtype_dset_map = {str(j): d
+- for j, d in enumerate(dtypes)
+- if d not in (np.float128, np.complex256)}
+- else:
+- dtype_dset_map = {str(j): d
+- for j, d in enumerate(dtypes)}
++ dtype_dset_map = {str(j): d
++ for j, d in enumerate(dtypes)
++ if d().nbytes in [4, 8, 16, 32]}
+
+ fname = self.mktemp()
+
+--
+2.31.1
+
diff --git a/dev-python/h5py/h5py-3.2.1.ebuild b/dev-python/h5py/h5py-3.2.1.ebuild
index 9ece42a61cf4..89ba32dc7dab 100644
--- a/dev-python/h5py/h5py-3.2.1.ebuild
+++ b/dev-python/h5py/h5py-3.2.1.ebuild
@@ -45,6 +45,10 @@ distutils_enable_sphinx docs \
# use mpi && export CC=mpicc
#}
+PATCHES=(
+ "${FILESDIR}"/h5py-3.2.1-i686-types.patch
+)
+
python_prepare_all() {
# avoid pytest-mpi dep, we do not use mpi anyway
sed -i -e 's:pytest-mpi::' pytest.ini || die