1{
2 lib,
3 buildPythonPackage,
4 defusedxml,
5 dissect-cstruct,
6 dissect-util,
7 fetchFromGitHub,
8 setuptools,
9 setuptools-scm,
10 pytestCheckHook,
11 pythonOlder,
12}:
13
14buildPythonPackage rec {
15 pname = "dissect-etl";
16 version = "3.11";
17 pyproject = true;
18
19 disabled = pythonOlder "3.10";
20
21 src = fetchFromGitHub {
22 owner = "fox-it";
23 repo = "dissect.etl";
24 tag = version;
25 hash = "sha256-soJH7kx/029yXyOjv6OsWjWAMMHXKx711GLPBClDAK0=";
26 };
27
28 build-system = [
29 setuptools
30 setuptools-scm
31 ];
32
33 dependencies = [
34 defusedxml
35 dissect-cstruct
36 dissect-util
37 ];
38
39 nativeCheckInputs = [ pytestCheckHook ];
40
41 pythonImportsCheck = [ "dissect.etl" ];
42
43 disabledTests = [
44 # Invalid header magic
45 "test_sqlite"
46 "test_empty"
47 ];
48
49 meta = with lib; {
50 description = "Dissect module implementing a parser for Event Trace Log (ETL) files";
51 homepage = "https://github.com/fox-it/dissect.etl";
52 changelog = "https://github.com/fox-it/dissect.etl/releases/tag/${src.tag}";
53 license = licenses.agpl3Only;
54 maintainers = with maintainers; [ fab ];
55 };
56}