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