nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitHub,
4 git,
5 python3,
6}:
7
8python3.pkgs.buildPythonApplication (finalAttrs: {
9 pname = "vunnel";
10 version = "0.48.0";
11 pyproject = true;
12
13 src = fetchFromGitHub {
14 owner = "anchore";
15 repo = "vunnel";
16 tag = "v${finalAttrs.version}";
17 hash = "sha256-D0/DoYmmLeAvGnr6ljE8p0B6dmFi4UHwcWCQRb85OkM=";
18 leaveDotGit = true;
19 };
20
21 pythonRelaxDeps = [
22 "defusedxml"
23 "ijson"
24 "importlib-metadata"
25 "sqlalchemy"
26 "websockets"
27 "xsdata"
28 ];
29
30 build-system = with python3.pkgs; [
31 hatchling
32 uv-dynamic-versioning
33 ];
34
35 dependencies =
36 with python3.pkgs;
37 [
38 click
39 colorlog
40 cvss
41 defusedxml
42 ijson
43 importlib-metadata
44 iso8601
45 lxml
46 mashumaro
47 mergedeep
48 oras
49 orjson
50 packageurl-python
51 pytest-snapshot
52 python-dateutil
53 pyyaml
54 requests
55 sqlalchemy
56 xsdata
57 xxhash
58 zstandard
59 ]
60 ++ xsdata.optional-dependencies.cli
61 ++ xsdata.optional-dependencies.lxml
62 ++ xsdata.optional-dependencies.soap;
63
64 nativeCheckInputs = [
65 git
66 ]
67 ++ (with python3.pkgs; [
68 jsonschema
69 pytest-mock
70 pytest-unordered
71 pytestCheckHook
72 ]);
73
74 pythonImportsCheck = [ "vunnel" ];
75
76 disabledTests = [
77 # Compare output
78 "test_status"
79 # TypeError
80 "test_parser"
81 # Test require network access
82 "test_rhel_provider_supports_ignore_hydra_errors"
83 ];
84
85 meta = {
86 description = "Tool for collecting vulnerability data from various sources";
87 homepage = "https://github.com/anchore/vunnel";
88 changelog = "https://github.com/anchore/vunnel/releases/tag/${finalAttrs.src.tag}";
89 license = lib.licenses.asl20;
90 maintainers = with lib.maintainers; [ fab ];
91 mainProgram = "vunnel";
92 };
93})