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