diff options
Diffstat (limited to 'pkgs/development/python-modules/h5py/default.nix')
-rw-r--r-- | pkgs/development/python-modules/h5py/default.nix | 54 |
1 files changed, 34 insertions, 20 deletions
diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix index bc23ce61c1765..b2bd668d679bf 100644 --- a/pkgs/development/python-modules/h5py/default.nix +++ b/pkgs/development/python-modules/h5py/default.nix @@ -1,17 +1,18 @@ -{ lib -, fetchPypi -, buildPythonPackage -, pythonOlder -, setuptools -, wheel -, numpy -, hdf5 -, cython_0 -, pkgconfig -, mpi4py ? null -, openssh -, pytestCheckHook -, cached-property +{ + lib, + fetchPypi, + buildPythonPackage, + pythonOlder, + setuptools, + wheel, + numpy, + hdf5, + cython_0, + pkgconfig, + mpi4py ? null, + openssh, + pytestCheckHook, + cached-property, }: assert hdf5.mpiSupport -> mpi4py != null && hdf5.mpi == mpi4py.mpi; @@ -19,7 +20,8 @@ assert hdf5.mpiSupport -> mpi4py != null && hdf5.mpi == mpi4py.mpi; let mpi = hdf5.mpi; mpiSupport = hdf5.mpiSupport; -in buildPythonPackage rec { +in +buildPythonPackage rec { version = "3.11.0"; pname = "h5py"; pyproject = true; @@ -31,6 +33,12 @@ in buildPythonPackage rec { hash = "sha256-e36PeAcqLt7IfJg28l80ID/UkqRHVwmhi0F6M8+yH6k="; }; + patches = [ + # Unlock an overly strict locking of mpi4py version (seems not to be necessary). + # See also: https://github.com/h5py/h5py/pull/2418/files#r1589372479 + ./mpi4py-requirement.patch + ]; + # avoid strict pinning of numpy postPatch = '' substituteInPlace pyproject.toml \ @@ -56,16 +64,22 @@ in buildPythonPackage rec { wheel ]; - buildInputs = [ hdf5 ] - ++ lib.optional mpiSupport mpi; + buildInputs = [ hdf5 ] ++ lib.optional mpiSupport mpi; - propagatedBuildInputs = [ numpy ] - ++ lib.optionals mpiSupport [ mpi4py openssh ] + propagatedBuildInputs = + [ numpy ] + ++ lib.optionals mpiSupport [ + mpi4py + openssh + ] ++ lib.optionals (pythonOlder "3.8") [ cached-property ]; # tests now require pytest-mpi, which isn't available and difficult to package doCheck = false; - nativeCheckInputs = [ pytestCheckHook openssh ]; + nativeCheckInputs = [ + pytestCheckHook + openssh + ]; pythonImportsCheck = [ "h5py" ]; |