1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, fetchpatch
5, packaging
6, poetry-core
7, pyparsing
8, pytestCheckHook
9, pythonOlder
10, pythonRelaxDepsHook
11, pyyaml
12, requests
13}:
14
15buildPythonPackage rec {
16 pname = "pysigma";
17 version = "0.9.11";
18 format = "pyproject";
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "SigmaHQ";
24 repo = "pySigma";
25 rev = "refs/tags/v${version}";
26 hash = "sha256-lbpx5THSegZK09jREH15RpokmdfOng2vX4tClsc/x/A=";
27 };
28
29 nativeBuildInputs = [
30 poetry-core
31 pythonRelaxDepsHook
32 ];
33
34 pythonRelaxDeps = [
35 "packaging"
36 ];
37
38 propagatedBuildInputs = [
39 packaging
40 pyparsing
41 pyyaml
42 requests
43 ];
44
45 nativeCheckInputs = [
46 pytestCheckHook
47 ];
48
49 disabledTests = [
50 # require network connection
51 "test_sigma_plugin_directory_default"
52 "test_sigma_plugin_installation"
53 ];
54
55 pythonImportsCheck = [
56 "sigma"
57 ];
58
59 meta = with lib; {
60 description = "Library to parse and convert Sigma rules into queries";
61 homepage = "https://github.com/SigmaHQ/pySigma";
62 changelog = "https://github.com/SigmaHQ/pySigma/releases/tag/v${version}";
63 license = with licenses; [ lgpl21Only ];
64 maintainers = with maintainers; [ fab ];
65 };
66}