1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 fetchFromGitHub,
6 brotli,
7 lz4,
8 setuptools,
9}:
10
11let
12 kaitai_compress = fetchFromGitHub {
13 owner = "kaitai-io";
14 repo = "kaitai_compress";
15 rev = "12f4cffb45d95b17033ee4f6679987656c6719cc";
16 hash = "sha256-l3rGbblUgxO6Y7grlsMEiT3nRIgUZV1VqTyjIgIDtyA=";
17 };
18in
19buildPythonPackage rec {
20 pname = "kaitaistruct";
21 version = "0.10";
22 pyproject = true;
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-oETe4pFz1q+6zye8rDna+JtlTdQYz6AJq4LZF4qa5So=";
27 };
28
29 preBuild = ''
30 ln -s ${kaitai_compress}/python/kaitai kaitai
31 sed '32ipackages = kaitai/compress' -i setup.cfg
32 '';
33
34 build-system = [ setuptools ];
35
36 propagatedBuildInputs = [
37 brotli
38 lz4
39 ];
40
41 doCheck = false; # no tests in upstream
42
43 pythonImportsCheck = [
44 "kaitaistruct"
45 "kaitai.compress"
46 ];
47
48 meta = with lib; {
49 description = "Kaitai Struct: runtime library for Python";
50 homepage = "https://github.com/kaitai-io/kaitai_struct_python_runtime";
51 license = licenses.mit;
52 maintainers = [ ];
53 };
54}