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