1{
2 lib,
3 buildPythonPackage,
4 dissect-cstruct,
5 dissect-util,
6 fetchFromGitHub,
7 pytestCheckHook,
8 pythonOlder,
9 setuptools,
10 setuptools-scm,
11}:
12
13buildPythonPackage rec {
14 pname = "dissect-sql";
15 version = "3.12";
16 pyproject = true;
17
18 disabled = pythonOlder "3.10";
19
20 src = fetchFromGitHub {
21 owner = "fox-it";
22 repo = "dissect.sql";
23 tag = version;
24 hash = "sha256-pkyiPyw6TOdi4kh/LusqWL2/UknQC48XkFiZr/4/fHg=";
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.sql" ];
40
41 disabledTests = [
42 # Invalid header magic
43 "test_sqlite"
44 "test_empty"
45 ];
46
47 meta = with lib; {
48 description = "Dissect module implementing a parsers for the SQLite database file format";
49 homepage = "https://github.com/fox-it/dissect.sql";
50 changelog = "https://github.com/fox-it/dissect.sql/releases/tag/${src.tag}";
51 license = licenses.agpl3Only;
52 maintainers = with maintainers; [ fab ];
53 };
54}