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