1{ lib
2, buildPythonPackage
3, dissect-cstruct
4, dissect-util
5, fetchFromGitHub
6, pytestCheckHook
7, pythonOlder
8, setuptools
9, setuptools-scm
10}:
11
12buildPythonPackage rec {
13 pname = "dissect-esedb";
14 version = "3.9";
15 pyproject = true;
16
17 disabled = pythonOlder "3.9";
18
19 src = fetchFromGitHub {
20 owner = "fox-it";
21 repo = "dissect.esedb";
22 rev = "refs/tags/${version}";
23 hash = "sha256-MdEKAArdbOG/FnTSksuJCt8o8161NY3vL0KGnUHJEdQ=";
24 };
25
26 SETUPTOOLS_SCM_PRETEND_VERSION = version;
27
28 nativeBuildInputs = [
29 setuptools
30 setuptools-scm
31 ];
32
33 propagatedBuildInputs = [
34 dissect-cstruct
35 dissect-util
36 ];
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 ];
41
42 pythonImportsCheck = [
43 "dissect.esedb"
44 ];
45
46 meta = with lib; {
47 description = "Dissect module implementing a parser for Microsofts Extensible Storage Engine Database (ESEDB)";
48 homepage = "https://github.com/fox-it/dissect.esedb";
49 changelog = "https://github.com/fox-it/dissect.esedb/releases/tag/${version}";
50 license = licenses.agpl3Only;
51 maintainers = with maintainers; [ fab ];
52 };
53}