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.11";
22 pyproject = true;
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-BT7nZCiOeLjlOs90jpczJorL1Xm42CpCexgFRTYl10s=";
27 };
28
29 patches = [ ./01-add-kaitai-compress.patch ];
30
31 preBuild = ''
32 ln -s ${kaitai_compress}/python/kaitai kaitai
33 '';
34
35 build-system = [ setuptools ];
36
37 propagatedBuildInputs = [
38 brotli
39 lz4
40 ];
41
42 doCheck = false; # no tests in upstream
43
44 pythonImportsCheck = [
45 "kaitaistruct"
46 "kaitai.compress"
47 ];
48
49 meta = with lib; {
50 description = "Kaitai Struct: runtime library for Python";
51 homepage = "https://github.com/kaitai-io/kaitai_struct_python_runtime";
52 license = licenses.mit;
53 maintainers = [ ];
54 };
55}