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