45 buildPythonPackage rec {
46 pname = "dissect-target";
50 disabled = pythonOlder "3.9";
52 src = fetchFromGitHub {
54 repo = "dissect.target";
55 rev = "refs/tags/${version}";
56 hash = "sha256-D5YgCAKcnPyBrZTpcSuvKfWfIIcCxKGxn+mj8Jqzmws=";
60 substituteInPlace pyproject.toml \
61 --replace-fail "flow.record~=" "flow.record>="
83 optional-dependencies = {
104 ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
105 yara = [ yara-python ] ++ optional-dependencies.full;
106 smb = [ impacket ] ++ optional-dependencies.full;
107 mqtt = [ paho-mqtt ] ++ optional-dependencies.full;
110 nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.full;
112 pythonImportsCheck = [ "dissect.target" ];
117 # Test requires rdump
118 "test_exec_target_command"
119 # Issue with tar file
120 "test_dpapi_decrypt_blob"
123 "test_notifications_appdb"
124 "test_notifications_wpndatabase"
125 "test_tar_anonymous_filesystems"
126 "test_tar_sensitive_drive_letter"
127 # Tests compare dates and times
129 # Filesystem access, windows defender tests
130 "test_config_tree_plugin"
131 "test_defender_quarantine_recovery"
132 "test_execute_pipeline"
133 "test_keychain_register_keychain_file"
134 "test_plugins_child_docker"
135 "test_plugins_child_wsl"
138 "test_systemd_basic_syntax"
139 "test_target_cli_unicode_argparse"
145 # test is broken on Darwin
146 lib.optional stdenv.hostPlatform.isDarwin "test_fs_attrs_no_os_listxattr";
148 disabledTestPaths = [
149 # Tests are using Windows paths, missing test files
150 "tests/plugins/apps/"
151 # ValueError: Invalid Locate file magic. Expected /x00LOCATE02/x00
152 "tests/plugins/os/unix/locate/"
153 # Missing plugin support
154 "tests/tools/test_dump.py"
156 "tests/plugins/filesystem/"
157 "tests/test_registration.py"
159 "tests/test_filesystem.py"
164 description = "Dissect module that provides a programming API and command line tools";
165 homepage = "https://github.com/fox-it/dissect.target";
166 changelog = "https://github.com/fox-it/dissect.target/releases/tag/${version}";
167 license = licenses.agpl3Only;
168 maintainers = with maintainers; [ fab ];