{ lib , buildPythonPackage , dissect-cstruct , dissect-util , fetchFromGitHub , pycryptodome , pytestCheckHook , pythonOlder , rich , setuptools , setuptools-scm }: buildPythonPackage rec { pname = "dissect-hypervisor"; version = "3.9"; format = "pyproject"; disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "fox-it"; repo = "dissect.hypervisor"; rev = "refs/tags/${version}"; hash = "sha256-AcDlyLKrRyt1mhh7nb9Oln/cjVKw8s1g78J8sgE2p2g="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; nativeBuildInputs = [ setuptools setuptools-scm ]; propagatedBuildInputs = [ dissect-cstruct dissect-util ]; passthru.optional-dependencies = { full = [ pycryptodome rich ]; }; 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/${version}"; license = licenses.agpl3Only; maintainers = with maintainers; [ fab ]; }; }