1{ lib
2, buildPythonPackage
3, colorful
4, fetchFromGitHub
5, git
6, httpx
7, packaging
8, poetry-core
9, pytestCheckHook
10, pythonOlder
11, rich
12, tomlkit
13}:
14
15buildPythonPackage rec {
16 pname = "pontos";
17 version = "22.10.0";
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-z+oJakeZARnyZrkkNjLlyFcOB73u9+G0tXhbI13neyc=";
27 };
28
29 nativeBuildInputs = [
30 poetry-core
31 ];
32
33 propagatedBuildInputs = [
34 colorful
35 httpx
36 packaging
37 rich
38 tomlkit
39 ];
40
41 checkInputs = [
42 git
43 pytestCheckHook
44 ];
45
46 postPatch = ''
47 substituteInPlace pyproject.toml \
48 --replace 'packaging = "^20.3"' 'packaging = "*"'
49 '';
50
51 disabledTests = [
52 "PrepareTestCase"
53 # Signing fails
54 "test_find_no_signing_key"
55 "test_find_signing_key"
56 "test_find_unreleased_information"
57 # CLI test fails
58 "test_missing_cmd"
59 "test_update_file_changed"
60 # Network access
61 "test_fail_sign_on_upload_fail"
62 "test_successfully_sign"
63 ];
64
65 pythonImportsCheck = [
66 "pontos"
67 ];
68
69 meta = with lib; {
70 description = "Collection of Python utilities, tools, classes and functions";
71 homepage = "https://github.com/greenbone/pontos";
72 license = with licenses; [ gpl3Plus ];
73 maintainers = with maintainers; [ fab ];
74 };
75}