1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, paho-mqtt
5, poetry-core
6, psutil
7, pytestCheckHook
8, python-gnupg
9, pythonOlder
10, pythonRelaxDepsHook
11, sentry-sdk
12, tomli
13}:
14
15buildPythonPackage rec {
16 pname = "notus-scanner";
17 version = "22.6.2";
18 format = "pyproject";
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "greenbone";
24 repo = pname;
25 rev = "refs/tags/v${version}";
26 hash = "sha256-V70cFSfQ9SuLhCSUa8DuYA7qaabwiK9IbIkYcQMgVUk=";
27 };
28
29 pythonRelaxDeps = [
30 "python-gnupg"
31 ];
32
33 nativeBuildInputs = [
34 poetry-core
35 pythonRelaxDepsHook
36 ];
37
38 propagatedBuildInputs = [
39 paho-mqtt
40 psutil
41 python-gnupg
42 sentry-sdk
43 ] ++ lib.optionals (pythonOlder "3.11") [
44 tomli
45 ];
46
47 nativeCheckInputs = [
48 pytestCheckHook
49 ];
50
51 pythonImportsCheck = [
52 "notus.scanner"
53 ];
54
55 meta = with lib; {
56 description = "Helper to create results from local security checks";
57 homepage = "https://github.com/greenbone/notus-scanner";
58 changelog = "https://github.com/greenbone/notus-scanner/releases/tag/v${version}";
59 license = with licenses; [ agpl3Plus ];
60 maintainers = with maintainers; [ fab ];
61 };
62}