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}