1{
2 lib,
3 fetchFromGitHub,
4 python3Packages,
5}:
6
7python3Packages.buildPythonApplication rec {
8 pname = "cyclonedx-python";
9 version = "7.1.0";
10 pyproject = true;
11
12 src = fetchFromGitHub {
13 owner = "CycloneDX";
14 repo = "cyclonedx-python";
15 tag = "v${version}";
16 hash = "sha256-RHw+FYj1oYM5Yf8YcU8tOsxG+3qu0ti/AYzcGxYAp/8=";
17 };
18
19 build-system = with python3Packages; [ poetry-core ];
20
21 dependencies =
22 with python3Packages;
23 [
24 chardet
25 cyclonedx-python-lib
26 packageurl-python
27 pip-requirements-parser
28 packaging
29 tomli
30 ]
31 ++ cyclonedx-python-lib.optional-dependencies.validation;
32
33 pythonImportsCheck = [ "cyclonedx" ];
34
35 meta = {
36 description = "Creates CycloneDX Software Bill of Materials (SBOM) from Python projects";
37 homepage = "https://github.com/CycloneDX/cyclonedx-python";
38 changelog = "https://github.com/CycloneDX/cyclonedx-python/releases/tag/${src.tag}";
39 license = lib.licenses.asl20;
40 teams = [ lib.teams.cyberus ];
41 mainProgram = "cyclonedx-py";
42 };
43}