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