1{
2 lib,
3 buildPythonPackage,
4 dissect-cstruct,
5 dissect-util,
6 fetchFromGitHub,
7 setuptools,
8 setuptools-scm,
9 pytestCheckHook,
10 pythonOlder,
11}:
12
13buildPythonPackage rec {
14 pname = "dissect-volume";
15 version = "3.16";
16 pyproject = true;
17
18 disabled = pythonOlder "3.13";
19
20 src = fetchFromGitHub {
21 owner = "fox-it";
22 repo = "dissect.volume";
23 tag = version;
24 hash = "sha256-xJioreloRqxIoM5h1Uh0gLkIel5XScjvMvNWtSu1dqY=";
25 };
26
27 build-system = [
28 setuptools
29 setuptools-scm
30 ];
31
32 dependencies = [
33 dissect-cstruct
34 dissect-util
35 ];
36
37 nativeCheckInputs = [ pytestCheckHook ];
38
39 pythonImportsCheck = [ "dissect.volume" ];
40
41 disabledTests = [
42 # gzip.BadGzipFile: Not a gzipped file
43 "test_apm"
44 "test_bsd"
45 "test_bsd64"
46 "test_ddf_read"
47 "test_dm_thin"
48 "test_gpt_4k"
49 "test_gpt_esxi_no_name_xff"
50 "test_gpt_esxi"
51 "test_gpt"
52 "test_hybrid_gpt"
53 "test_lvm_mirro"
54 "test_lvm_thin"
55 "test_lvm"
56 "test_lvm"
57 "test_mbr"
58 "test_md_raid0_zones"
59 "test_md_raid1_multiple_disks"
60 "test_md_read"
61 "test_vinum"
62 ];
63
64 meta = with lib; {
65 description = "Dissect module implementing various utility functions for the other Dissect modules";
66 homepage = "https://github.com/fox-it/dissect.volume";
67 changelog = "https://github.com/fox-it/dissect.volume/releases/tag/${src.tag}";
68 license = licenses.agpl3Only;
69 maintainers = with maintainers; [ fab ];
70 };
71}