1{ lib
2, buildPythonPackage
3, dissect-cstruct
4, dissect-util
5, fetchFromGitHub
6, setuptools
7, setuptools-scm
8, pythonOlder
9}:
10
11buildPythonPackage rec {
12 pname = "dissect-fat";
13 version = "3.7";
14 pyproject = true;
15
16 disabled = pythonOlder "3.9";
17
18 src = fetchFromGitHub {
19 owner = "fox-it";
20 repo = "dissect.fat";
21 rev = "refs/tags/${version}";
22 hash = "sha256-YfWshytfj4p2MqLpzE3b1/RtrL1/+Xd/5+RNbrH/Jfc=";
23 };
24
25 SETUPTOOLS_SCM_PRETEND_VERSION = version;
26
27 nativeBuildInputs = [
28 setuptools
29 setuptools-scm
30 ];
31
32 propagatedBuildInputs = [
33 dissect-cstruct
34 dissect-util
35 ];
36
37 # dissect.fat.exceptions.InvalidBPB: Invalid BS_jmpBoot
38 doCheck = false;
39
40 pythonImportsCheck = [
41 "dissect.fat"
42 ];
43
44 meta = with lib; {
45 description = "Dissect module implementing a parser for the FAT file system";
46 homepage = "https://github.com/fox-it/dissect.fat";
47 changelog = "https://github.com/fox-it/dissect.fat/releases/tag/${version}";
48 license = licenses.agpl3Only;
49 maintainers = with maintainers; [ fab ];
50 };
51}