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