sbom-compliance-tool: init at 0.0.11 (#534213)

This commit is contained in:
Ivan Mincik
2026-06-23 07:08:01 +00:00
committed by GitHub
4 changed files with 155 additions and 0 deletions
@@ -0,0 +1,3 @@
{ python3Packages }:
python3Packages.toPythonApplication python3Packages.lookup-license
@@ -0,0 +1,61 @@
{
lib,
python3Packages,
fetchFromGitea,
cyclonedx-python,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "sbom-compliance-tool";
version = "0.0.11";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitea {
domain = "codeberg.org";
owner = "software-compliance-org";
repo = "sbom-compliance-tool";
tag = finalAttrs.version;
hash = "sha256-6ZaHY1EKjJ78PrCov0wenj5doc93Ot9/yN4hEaagSmE=";
};
postPatch = ''
# https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#finding-namespace-packages
substituteInPlace setup.py \
--replace-fail \
"packages=['sbom_compliance_tool']" \
"packages=setuptools.find_namespace_packages(include=['sbom_compliance_tool*'])"
'';
build-system = with python3Packages; [
setuptools
];
dependencies = with python3Packages; [
cyclonedx-python
foss-flame
licomp
licomp-toolkit
lookup-license
];
# upstream has no tests
doCheck = false;
pythonImportsCheck = [
"sbom_compliance_tool"
"sbom_compliance_tool.reader"
];
meta = {
description = "Tool to assist your compliance work with SBoM";
homepage = "https://codeberg.org/software-compliance-org/sbom-compliance-tool";
mainProgram = "sbom_compliance_tool";
license = with lib.licenses; [
gpl3Only
gpl3Plus
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})
@@ -0,0 +1,89 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
appdirs,
cachetools,
diskcache,
foss-flame,
license-expression,
packageurl-python,
python-magic,
requests,
scancode-toolkit,
xmltodict,
# tests
pytestCheckHook,
writableTmpDirAsHomeHook,
}:
buildPythonPackage (finalAttrs: {
pname = "lookup-license";
version = "0.1.30";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "hesa";
repo = "lookup-license";
tag = finalAttrs.version;
hash = "sha256-zFDqh62bjYkO3Duze3suS8LlrlzuqQes7ZaH+9G+yQ4=";
};
build-system = [
setuptools
];
dependencies = [
appdirs
cachetools
diskcache
foss-flame
license-expression
packageurl-python
python-magic
requests
scancode-toolkit
xmltodict
];
pythonRelaxDeps = [
"requests"
];
nativeCheckInputs = [
pytestCheckHook
writableTmpDirAsHomeHook
];
disabledTests = [
# UnboundLocalError: cannot access local variable 'ret' where it is not associated with a value
"test_lookup_license_url_bad"
"test_lookup_license_url_good"
];
pythonImportsCheck = [
"lookup_license"
];
meta = {
description = "Python tool to identify license from license text";
homepage = "https://github.com/hesa/lookup-license";
changelog = "https://github.com/hesa/lookup-license/releases/tag/${finalAttrs.src.tag}";
mainProgram = "lookup-license";
license = with lib.licenses; [
gpl3Only
asl20
cc-by-40
gpl3Plus
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})
+2
View File
@@ -9514,6 +9514,8 @@ self: super: with self; {
london-tube-status = callPackage ../development/python-modules/london-tube-status { };
lookup-license = callPackage ../development/python-modules/lookup-license { };
lookyloo-models = callPackage ../development/python-modules/lookyloo-models { };
loompy = callPackage ../development/python-modules/loompy { };