e7ec2969af
GitOrigin-RevId: 9b19f5e77dd906cb52dade0b7bd280339d2a1f3d
85 lines
1.8 KiB
Nix
85 lines
1.8 KiB
Nix
{ lib
|
|
, stdenv
|
|
, buildPythonPackage
|
|
, fetchpatch
|
|
, fetchPypi
|
|
, setuptools
|
|
, setuptools-scm
|
|
, cython
|
|
, numpy
|
|
, msgpack
|
|
, py-cpuinfo
|
|
, pytestCheckHook
|
|
, python
|
|
, pythonOlder
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "numcodecs";
|
|
version = "0.12.1";
|
|
pyproject = true;
|
|
|
|
disabled = pythonOlder "3.8";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-BdkaQzcz5+7yaNfoDsImoCMtokQolhSo84JpAa7BCY4=";
|
|
};
|
|
|
|
patches = [
|
|
# https://github.com/zarr-developers/numcodecs/pull/487
|
|
(fetchpatch {
|
|
name = "fix-tests.patch";
|
|
url = "https://github.com/zarr-developers/numcodecs/commit/4896680087d3ff1f959401c51cf5aea0fd56554e.patch";
|
|
hash = "sha256-+lMWK5IsNzJ7H2SmLckgxbSSRIIcC7FtGYSBKQtuo+Y=";
|
|
})
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
setuptools
|
|
setuptools-scm
|
|
cython
|
|
py-cpuinfo
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
numpy
|
|
];
|
|
|
|
passthru.optional-dependencies = {
|
|
msgpack = [ msgpack ];
|
|
# zfpy = [ zfpy ];
|
|
};
|
|
|
|
preBuild = if (stdenv.hostPlatform.isx86 && !stdenv.hostPlatform.avx2Support) then ''
|
|
export DISABLE_NUMCODECS_AVX2=
|
|
'' else null;
|
|
|
|
nativeCheckInputs = [
|
|
pytestCheckHook
|
|
msgpack
|
|
];
|
|
|
|
pytestFlagsArray = [
|
|
"$out/${python.sitePackages}/numcodecs"
|
|
];
|
|
|
|
disabledTests = [
|
|
"test_backwards_compatibility"
|
|
|
|
"test_encode_decode"
|
|
"test_legacy_codec_broken"
|
|
"test_bytes"
|
|
|
|
# ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (3,) + inhomogeneous part.
|
|
# with numpy 1.24
|
|
"test_non_numpy_inputs"
|
|
];
|
|
|
|
meta = with lib;{
|
|
homepage = "https://github.com/zarr-developers/numcodecs";
|
|
license = licenses.mit;
|
|
description = "Buffer compression and transformation codecs for use in data storage and communication applications";
|
|
maintainers = [ ];
|
|
};
|
|
}
|