1{
2 lib,
3 buildPythonPackage,
4 dissect-archive,
5 dissect-btrfs,
6 dissect-cim,
7 dissect-clfs,
8 dissect-cramfs,
9 dissect-cstruct,
10 dissect-esedb,
11 dissect-etl,
12 dissect-eventlog,
13 dissect-evidence,
14 dissect-executable,
15 dissect-extfs,
16 dissect-fat,
17 dissect-ffs,
18 dissect-fve,
19 dissect-hypervisor,
20 dissect-jffs,
21 dissect-ntfs,
22 dissect-ole,
23 dissect-qnxfs,
24 dissect-regf,
25 dissect-shellitem,
26 dissect-sql,
27 dissect-squashfs,
28 dissect-target,
29 dissect-util,
30 dissect-vmfs,
31 dissect-volume,
32 dissect-xfs,
33 fetchFromGitHub,
34 pythonOlder,
35 setuptools,
36 setuptools-scm,
37}:
38
39buildPythonPackage rec {
40 pname = "dissect";
41 version = "3.20.1";
42 pyproject = true;
43
44 disabled = pythonOlder "3.11";
45
46 src = fetchFromGitHub {
47 owner = "fox-it";
48 repo = "dissect";
49 tag = version;
50 hash = "sha256-Zc9NBrRDbSP5Yk3gJoMG+6nAGFxBHiPKvvfQLMcu+tk=";
51 };
52
53 pythonRelaxDeps = true;
54
55 build-system = [
56 setuptools
57 setuptools-scm
58 ];
59
60 dependencies = [
61 dissect-archive
62 dissect-btrfs
63 dissect-cim
64 dissect-clfs
65 dissect-cramfs
66 dissect-cstruct
67 dissect-esedb
68 dissect-etl
69 dissect-eventlog
70 dissect-evidence
71 dissect-executable
72 dissect-extfs
73 dissect-fat
74 dissect-ffs
75 dissect-fve
76 dissect-hypervisor
77 dissect-jffs
78 dissect-ntfs
79 dissect-ole
80 dissect-qnxfs
81 dissect-regf
82 dissect-shellitem
83 dissect-sql
84 dissect-squashfs
85 dissect-target
86 dissect-util
87 dissect-vmfs
88 dissect-volume
89 dissect-xfs
90 ]
91 ++ dissect-target.optional-dependencies.full;
92
93 # Module has no tests
94 doCheck = false;
95
96 pythonImportsCheck = [ "dissect" ];
97
98 meta = with lib; {
99 description = "Dissect meta module";
100 homepage = "https://github.com/fox-it/dissect";
101 changelog = "https://github.com/fox-it/dissect/releases/tag/${src.tag}";
102 license = licenses.agpl3Only;
103 maintainers = with maintainers; [ fab ];
104 };
105}