Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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.8"; 17 format = "pyproject"; 18 19 disabled = pythonOlder "3.8"; 20 21 src = fetchFromGitHub { 22 owner = "fox-it"; 23 repo = "dissect.hypervisor"; 24 rev = "refs/tags/${version}"; 25 hash = "sha256-PTF1PSFsjD9lYa3SLd7329+ZZuSC07tN1GqwOndo8Go="; 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 nativeCheckInputs = [ 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 changelog = "https://github.com/fox-it/dissect.hypervisor/releases/tag/${version}"; 59 license = licenses.agpl3Only; 60 maintainers = with maintainers; [ fab ]; 61 }; 62}