1{ 2 lib, 3 buildPythonPackage, 4 defusedxml, 5 dissect-cstruct, 6 dissect-util, 7 fetchFromGitHub, 8 pycryptodome, 9 pytestCheckHook, 10 pythonOlder, 11 setuptools, 12 setuptools-scm, 13}: 14 15buildPythonPackage rec { 16 pname = "dissect-hypervisor"; 17 version = "3.19"; 18 pyproject = true; 19 20 disabled = pythonOlder "3.9"; 21 22 src = fetchFromGitHub { 23 owner = "fox-it"; 24 repo = "dissect.hypervisor"; 25 tag = version; 26 hash = "sha256-P08gTV/gcwsk1JqwCUHc6jPKAm9MTaCgdmzPxAx23Ts="; 27 }; 28 29 build-system = [ 30 setuptools 31 setuptools-scm 32 ]; 33 34 dependencies = [ 35 defusedxml 36 dissect-cstruct 37 dissect-util 38 ]; 39 40 optional-dependencies = { 41 full = [ 42 pycryptodome 43 ]; 44 }; 45 46 nativeCheckInputs = [ pytestCheckHook ]; 47 48 pythonImportsCheck = [ "dissect.hypervisor" ]; 49 50 meta = with lib; { 51 description = "Dissect module implementing parsers for various hypervisor disk, backup and configuration files"; 52 homepage = "https://github.com/fox-it/dissect.hypervisor"; 53 changelog = "https://github.com/fox-it/dissect.hypervisor/releases/tag/${src.tag}"; 54 license = licenses.agpl3Only; 55 maintainers = with maintainers; [ fab ]; 56 }; 57}