Files
nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix
T
Ihar Hrachyshka 567e8dfd8e treewide: clean up 'meta = with' pattern
This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.

Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
2025-12-10 18:09:49 +01:00

83 lines
1.6 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
py-cpuinfo,
h5py,
pkgconfig,
c-blosc2,
charls,
lz4,
zlib,
zstd,
}:
buildPythonPackage rec {
pname = "hdf5plugin";
version = "5.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "silx-kit";
repo = "hdf5plugin";
tag = "v${version}";
hash = "sha256-12OWsNZfKToNLyokNrwgPc7WRISJI4nRA0J/zwgCZwI=";
};
build-system = [
setuptools
py-cpuinfo
pkgconfig # only needed if HDF5PLUGIN_SYSTEM_LIBRARIES is used
];
dependencies = [ h5py ];
buildInputs = [
#c-blosc
c-blosc2
# bzip2_1_1
charls
lz4
# snappy
# zfp
zlib
zstd
];
# opt-in to use use system libs instead
env.HDF5PLUGIN_SYSTEM_LIBRARIES = lib.concatStringsSep "," [
#"blosc" # AssertionError: 4000 not less than 4000
"blosc2"
# "bz2" # only works with bzip2_1_1
"charls"
"lz4"
# "snappy" # snappy tests fail
# "sperr" # not packaged?
# "zfp" # pkgconfig: (lib)zfp not found
"zlib"
"zstd"
];
checkPhase = ''
python test/test.py
'';
pythonImportsCheck = [ "hdf5plugin" ];
preBuild = ''
mkdir src/hdf5plugin/plugins
'';
meta = {
description = "Additional compression filters for h5py";
longDescription = ''
hdf5plugin provides HDF5 compression filters and makes them usable from h5py.
Supported encodings: Blosc, Blosc2, BitShuffle, BZip2, FciDecomp, LZ4, SZ, SZ3, Zfp, ZStd
'';
homepage = "http://www.silx.org/doc/hdf5plugin/latest/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pbsds ];
};
}