{ lib, buildPythonPackage, defusedxml, dissect-cstruct, dissect-util, fetchFromGitHub, pycryptodome, pytestCheckHook, pythonOlder, setuptools, setuptools-scm, }: buildPythonPackage rec { pname = "dissect-hypervisor"; version = "3.18"; pyproject = true; disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "fox-it"; repo = "dissect.hypervisor"; tag = version; hash = "sha256-1M9KDbLNFBmB/iSMqRdNlW3WEZugJxhXJJgcijK61kA="; }; build-system = [ setuptools setuptools-scm ]; dependencies = [ defusedxml dissect-cstruct dissect-util ]; optional-dependencies = { full = [ pycryptodome ]; }; nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "dissect.hypervisor" ]; meta = with lib; { description = "Dissect module implementing parsers for various hypervisor disk, backup and configuration files"; homepage = "https://github.com/fox-it/dissect.hypervisor"; changelog = "https://github.com/fox-it/dissect.hypervisor/releases/tag/${src.tag}"; license = licenses.agpl3Only; maintainers = with maintainers; [ fab ]; }; }