1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pyyaml,
6 semantic-version,
7 defusedxml,
8 pytestCheckHook,
9}:
10
11buildPythonPackage rec {
12 pname = "lib4sbom";
13 version = "0.7.1";
14 format = "setuptools";
15
16 src = fetchFromGitHub {
17 owner = "anthonyharrison";
18 repo = pname;
19 rev = "v${version}";
20 hash = "sha256-UQZZYTRDbUqSH6F8hjhp9L70025cRO3zXQ8Aoznotg4=";
21 };
22
23 dependencies = [
24 pyyaml
25 semantic-version
26 defusedxml
27 ];
28
29 nativeCheckInputs = [ pytestCheckHook ];
30
31 disabledTests = [
32 # stub tests that always fail
33 "TestCycloneDXGenerator"
34 "TestCcycloneDX_parser"
35 "TestGenerator"
36 "TestOutput"
37 "TestParser"
38 "TestSPDX_Generator"
39 "TestSPDX_Parser"
40 # tests with missing getters
41 "test_set_downloadlocation"
42 "test_set_homepage"
43 "test_set_checksum"
44 "test_set_externalreference"
45 # checks for invalid return type
46 "test_set_type"
47 # wrong capilatization
48 "test_set_supplier"
49 "test_set_originator"
50 ];
51
52 pythonImportsCheck = [ "lib4sbom" ];
53
54 meta = with lib; {
55 description = "Library to ingest and generate SBOMs";
56 homepage = "https://github.com/anthonyharrison/lib4sbom";
57 license = licenses.asl20;
58 maintainers = with maintainers; [ teatwig ];
59 };
60}