1{ lib 2, buildPythonPackage 3, defusedxml 4, dissect-cstruct 5, dissect-target 6, fetchFromGitHub 7, minio 8, pycryptodome 9, pytestCheckHook 10, pythonOlder 11, requests 12, requests-toolbelt 13, rich 14, setuptools 15, setuptools-scm 16}: 17 18buildPythonPackage rec { 19 pname = "acquire"; 20 version = "3.10"; 21 pyproject = true; 22 23 disabled = pythonOlder "3.9"; 24 25 src = fetchFromGitHub { 26 owner = "fox-it"; 27 repo = "acquire"; 28 rev = "refs/tags/${version}"; 29 hash = "sha256-8fvVK/mH+pgPaaxNKvKOw1qU0ElWAmNVP6YAqvBTwio="; 30 }; 31 32 SETUPTOOLS_SCM_PRETEND_VERSION = version; 33 34 nativeBuildInputs = [ 35 setuptools 36 setuptools-scm 37 ]; 38 39 propagatedBuildInputs = [ 40 defusedxml 41 dissect-cstruct 42 dissect-target 43 ]; 44 45 passthru.optional-dependencies = { 46 full = [ 47 dissect-target 48 minio 49 pycryptodome 50 requests 51 requests-toolbelt 52 rich 53 ] ++ dissect-target.optional-dependencies.full; 54 }; 55 56 nativeCheckInputs = [ 57 pytestCheckHook 58 ] ++ passthru.optional-dependencies.full; 59 60 pythonImportsCheck = [ 61 "acquire" 62 ]; 63 64 meta = with lib; { 65 description = "Tool to quickly gather forensic artifacts from disk images or a live system"; 66 homepage = "https://github.com/fox-it/acquire"; 67 changelog = "https://github.com/fox-it/acquire/releases/tag/${version}"; 68 license = licenses.agpl3Only; 69 maintainers = with maintainers; [ fab ]; 70 }; 71}