at master 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchPypi, 6 pythonOlder, 7 8 # build-system 9 setuptools, 10 setuptools-scm, 11 cython, 12 py-cpuinfo, 13 14 # dependencies 15 deprecated, 16 numpy, 17 18 # optional-dependencies 19 crc32c, 20 21 # tests 22 msgpack, 23 pytestCheckHook, 24 importlib-metadata, 25}: 26 27buildPythonPackage rec { 28 pname = "numcodecs"; 29 version = "0.16.1"; 30 pyproject = true; 31 32 disabled = pythonOlder "3.8"; 33 34 src = fetchPypi { 35 inherit pname version; 36 hash = "sha256-xH8g1lZFRWjGtGl84CCB5ru1EvGYc4xqVvr+gCnJf7E="; 37 }; 38 39 build-system = [ 40 setuptools 41 setuptools-scm 42 cython 43 py-cpuinfo 44 ]; 45 46 dependencies = [ 47 deprecated 48 numpy 49 ]; 50 51 optional-dependencies = { 52 crc32c = [ crc32c ]; 53 msgpack = [ msgpack ]; 54 # zfpy = [ zfpy ]; 55 }; 56 57 preBuild = lib.optionalString (stdenv.hostPlatform.isx86 && !stdenv.hostPlatform.avx2Support) '' 58 export DISABLE_NUMCODECS_AVX2=1 59 ''; 60 61 nativeCheckInputs = [ 62 pytestCheckHook 63 importlib-metadata 64 ] 65 ++ lib.flatten (lib.attrValues optional-dependencies); 66 67 # https://github.com/NixOS/nixpkgs/issues/255262 68 preCheck = "pushd $out"; 69 postCheck = "popd"; 70 71 meta = { 72 homepage = "https://github.com/zarr-developers/numcodecs"; 73 license = lib.licenses.mit; 74 description = "Buffer compression and transformation codecs for use in data storage and communication applications"; 75 maintainers = with lib.maintainers; [ doronbehar ]; 76 }; 77}