1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8
9 # native dependencies
10 isa-l,
11
12 # tests
13 pytest-timeout,
14 pytestCheckHook,
15}:
16
17buildPythonPackage rec {
18 pname = "isal";
19 version = "1.6.1";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "pycompression";
24 repo = "python-isal";
25 rev = "v${version}";
26 hash = "sha256-EhdKT2ftyU2zevFg9Yi3q2FVx0FmKwJMzszsK1NS3Qg=";
27 };
28
29 build-system = [ setuptools ];
30
31 buildInputs = [ isa-l ];
32
33 env.PYTHON_ISAL_LINK_DYNAMIC = true;
34
35 nativeCheckInputs = [
36 pytest-timeout
37 pytestCheckHook
38 ];
39
40 pytestFlagsArray = [ "tests" ];
41
42 disabledTests = [
43 # calls `python -m isal` and fails on import
44 "test_compress_fast_best_are_exclusive"
45 "test_compress_infile_outfile"
46 "test_compress_infile_outfile_default"
47 "test_decompress_cannot_have_flags_compression"
48 "test_decompress_infile_outfile_error"
49 ];
50
51 pythonImportsCheck = [ "isal" ];
52
53 meta = with lib; {
54 changelog = "https://github.com/pycompression/python-isal/blob/${src.rev}/CHANGELOG.rst";
55 description = "Faster zlib and gzip compatible compression and decompression by providing python bindings for the isa-l library";
56 homepage = "https://github.com/pycompression/python-isal";
57 license = licenses.psfl;
58 maintainers = with maintainers; [ hexa ];
59 };
60}