1{
2 lib,
3 buildPythonPackage,
4 dissect-cstruct,
5 dissect-util,
6 fetchFromGitHub,
7 lz4,
8 python-lzo,
9 pythonOlder,
10 setuptools,
11 setuptools-scm,
12 zstandard,
13}:
14
15buildPythonPackage rec {
16 pname = "dissect-squashfs";
17 version = "1.10";
18 pyproject = true;
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "fox-it";
24 repo = "dissect.squashfs";
25 tag = version;
26 hash = "sha256-DFcC633TboQAwpLUKlRsVLN4PBGS8acOh/zCrv8ao8Y=";
27 };
28
29 build-system = [
30 setuptools
31 setuptools-scm
32 ];
33
34 dependencies = [
35 dissect-cstruct
36 dissect-util
37 ];
38
39 optional-dependencies = {
40 full = [
41 lz4
42 python-lzo
43 zstandard
44 ];
45 };
46
47 pythonImportsCheck = [ "dissect.squashfs" ];
48
49 meta = with lib; {
50 description = "Dissect module implementing a parser for the SquashFS file system";
51 homepage = "https://github.com/fox-it/dissect.squashfs";
52 changelog = "https://github.com/fox-it/dissect.squashfs/releases/tag/${src.tag}";
53 license = licenses.agpl3Only;
54 maintainers = with maintainers; [ fab ];
55 };
56}