1{ lib 2, asn1crypto 3, buildPythonPackage 4, defusedxml 5, dissect-cim 6, dissect-clfs 7, dissect-cstruct 8, dissect-esedb 9, dissect-etl 10, dissect-eventlog 11, dissect-evidence 12, dissect-extfs 13, dissect-fat 14, dissect-ffs 15, dissect-hypervisor 16, dissect-ntfs 17, dissect-regf 18, dissect-sql 19, dissect-util 20, dissect-volume 21, dissect-xfs 22, fetchFromGitHub 23, flow-record 24, fusepy 25, ipython 26, pytestCheckHook 27, pythonOlder 28, pyyaml 29, setuptools 30, setuptools-scm 31, structlog 32, yara-python 33, zstandard 34}: 35 36buildPythonPackage rec { 37 pname = "dissect-target"; 38 version = "3.3"; 39 format = "pyproject"; 40 41 disabled = pythonOlder "3.7"; 42 43 src = fetchFromGitHub { 44 owner = "fox-it"; 45 repo = "dissect.target"; 46 rev = version; 47 hash = "sha256-EWUYN2OsYeDo3C+QgjAVq9NXiVk1KWGILwtT0cI0tB0="; 48 }; 49 50 SETUPTOOLS_SCM_PRETEND_VERSION = version; 51 52 nativeBuildInputs = [ 53 setuptools 54 setuptools-scm 55 ]; 56 57 propagatedBuildInputs = [ 58 dissect-cstruct 59 dissect-eventlog 60 dissect-evidence 61 dissect-hypervisor 62 dissect-ntfs 63 dissect-regf 64 dissect-util 65 dissect-volume 66 flow-record 67 structlog 68 ]; 69 70 passthru.optional-dependencies = { 71 full = [ 72 asn1crypto 73 defusedxml 74 dissect-cim 75 dissect-clfs 76 dissect-esedb 77 dissect-etl 78 dissect-extfs 79 dissect-fat 80 dissect-ffs 81 dissect-sql 82 dissect-xfs 83 fusepy 84 ipython 85 pyyaml 86 yara-python 87 zstandard 88 ]; 89 }; 90 91 checkInputs = [ 92 pytestCheckHook 93 ] ++ passthru.optional-dependencies.full; 94 95 pythonImportsCheck = [ 96 "dissect.target" 97 ]; 98 99 disabledTests = [ 100 # Test requires rdump 101 "test_exec_target_command" 102 ]; 103 104 meta = with lib; { 105 description = "Dissect module that provides a programming API and command line tools"; 106 homepage = "https://github.com/fox-it/dissect.target"; 107 license = licenses.agpl3Only; 108 maintainers = with maintainers; [ fab ]; 109 }; 110}