commit: 61beab47461cbaf2f2467d25eb9808583c34f84a Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Mon Apr 12 10:13:17 2021 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Mon Apr 12 10:13:17 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61beab47
dev-python/h5py: Fix skipping inconvenient types on x86 Closes: https://bugs.gentoo.org/782238 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> dev-python/h5py/files/h5py-3.2.1-i686-types.patch | 55 +++++++++++++++++++++++ dev-python/h5py/h5py-3.2.1.ebuild | 4 ++ 2 files changed, 59 insertions(+) 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 00000000000..80bbb112e7b --- /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?= <[email protected]> +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 9ece42a61cf..89ba32dc7da 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
