Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 23.05 124 lines 2.3 kB view raw
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-thumbcache 20, dissect-util 21, dissect-volume 22, dissect-xfs 23, fetchFromGitHub 24, flow-record 25, fusepy 26, ipython 27, pycryptodome 28, pytestCheckHook 29, pythonOlder 30, pyyaml 31, setuptools 32, setuptools-scm 33, structlog 34, yara-python 35, zstandard 36}: 37 38buildPythonPackage rec { 39 pname = "dissect-target"; 40 version = "3.8"; 41 format = "pyproject"; 42 43 disabled = pythonOlder "3.8"; 44 45 src = fetchFromGitHub { 46 owner = "fox-it"; 47 repo = "dissect.target"; 48 rev = "refs/tags/${version}"; 49 hash = "sha256-CPN8g6LDeS77fveFOK6gExIJq9g+5qXhwDhjw3tWuJc="; 50 }; 51 52 SETUPTOOLS_SCM_PRETEND_VERSION = version; 53 54 nativeBuildInputs = [ 55 setuptools 56 setuptools-scm 57 ]; 58 59 propagatedBuildInputs = [ 60 defusedxml 61 dissect-cstruct 62 dissect-eventlog 63 dissect-evidence 64 dissect-hypervisor 65 dissect-ntfs 66 dissect-regf 67 dissect-util 68 dissect-volume 69 flow-record 70 structlog 71 ]; 72 73 passthru.optional-dependencies = { 74 full = [ 75 asn1crypto 76 dissect-cim 77 dissect-clfs 78 dissect-esedb 79 dissect-etl 80 dissect-extfs 81 dissect-fat 82 dissect-ffs 83 dissect-sql 84 dissect-thumbcache 85 dissect-xfs 86 fusepy 87 ipython 88 pycryptodome 89 pyyaml 90 yara-python 91 zstandard 92 ]; 93 }; 94 95 nativeCheckInputs = [ 96 pytestCheckHook 97 ] ++ passthru.optional-dependencies.full; 98 99 pythonImportsCheck = [ 100 "dissect.target" 101 ]; 102 103 disabledTests = [ 104 # Test requires rdump 105 "test_exec_target_command" 106 # Issue with tar file 107 "test_tar_sensitive_drive_letter" 108 # Tests compare dates and times 109 "yum" 110 ]; 111 112 disabledTestPaths = [ 113 # Tests are using Windows paths 114 "tests/test_plugins_browsers.py" 115 ]; 116 117 meta = with lib; { 118 description = "Dissect module that provides a programming API and command line tools"; 119 homepage = "https://github.com/fox-it/dissect.target"; 120 changelog = "https://github.com/fox-it/dissect.target/releases/tag/${version}"; 121 license = licenses.agpl3Only; 122 maintainers = with maintainers; [ fab ]; 123 }; 124}