From cfb97cae7dffd8bcc439f846f46f4cc6455f9fb4 Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 10:52:39 +0200 Subject: [PATCH 01/13] python3Packages.osadl-matrix: init at 2024.05.23.010555 Assisted-By: nix-init --- .../python-modules/osadl-matrix/default.nix | 68 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 70 insertions(+) create mode 100644 pkgs/development/python-modules/osadl-matrix/default.nix diff --git a/pkgs/development/python-modules/osadl-matrix/default.nix b/pkgs/development/python-modules/osadl-matrix/default.nix new file mode 100644 index 000000000000..405fcc7e1e7d --- /dev/null +++ b/pkgs/development/python-modules/osadl-matrix/default.nix @@ -0,0 +1,68 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # tests + pytestCheckHook, + requests, +}: + +buildPythonPackage (finalAttrs: { + pname = "osadl-matrix"; + version = "2024.05.23.010555"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "priv-kweihmann"; + repo = "osadl-matrix"; + tag = finalAttrs.version; + hash = "sha256-vcSaWDX8P07Bj035vGq5dZYO+WkZOod7tTubWygl27k="; + }; + + build-system = [ + setuptools + ]; + + nativeCheckInputs = [ + pytestCheckHook + requests + ]; + + # Upstream setup.cfg has addopts, requiring pytest-{cov,forked,random-order}. + # Clearing it is simpler than replicating those plugins, especially since + # they only affect how tests run. + pytestFlags = [ + "--override-ini=addopts=" + ]; + + disabledTests = [ + # earlier in the tests, a full license db is cached and used, but these + # require a different db afterward, but it's not loaded + "test_compats" + "test_supported_licenes_size" + "test_supported_licenses" + + # requires internet access + "test_license" + ]; + + pythonImportsCheck = [ + "osadl_matrix" + ]; + + meta = { + description = "OSADL license compatibility matrix as a CSV"; + homepage = "https://github.com/priv-kweihmann/osadl-matrix"; + license = with lib.licenses; [ + cc-by-40 + unlicense + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fec3053e53d8..b6b53dfe39c8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12053,6 +12053,8 @@ self: super: with self; { os-service-types = callPackage ../development/python-modules/os-service-types { }; + osadl-matrix = callPackage ../development/python-modules/osadl-matrix/default.nix { }; + osc = callPackage ../development/python-modules/osc { }; osc-diagram = callPackage ../development/python-modules/osc-diagram { }; From 43bf06d2a1fdf0769b2d090ebd538623133904cb Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 10:53:05 +0200 Subject: [PATCH 02/13] python3Packages.spdx-license-list: init at 3.28.0 Assisted-By: nix-init --- .../spdx-license-list/default.nix | 40 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 42 insertions(+) create mode 100644 pkgs/development/python-modules/spdx-license-list/default.nix diff --git a/pkgs/development/python-modules/spdx-license-list/default.nix b/pkgs/development/python-modules/spdx-license-list/default.nix new file mode 100644 index 000000000000..6a7b914c3a70 --- /dev/null +++ b/pkgs/development/python-modules/spdx-license-list/default.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, +}: + +buildPythonPackage (finalAttrs: { + pname = "spdx-license-list"; + version = "3.28.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "JJMC89"; + repo = "spdx-license-list"; + tag = "v${finalAttrs.version}"; + hash = "sha256-qzEWa2SY4XfW+DgAl6UNUItYWGJ/dJM6jZ/ZekoVgNc="; + }; + + build-system = [ + poetry-core + ]; + + # upstream has no tests + doCheck = false; + + pythonImportsCheck = [ + "spdx_license_list" + ]; + + meta = { + description = "SPDX License List as a Python dictionary"; + homepage = "https://github.com/JJMC89/spdx-license-list"; + changelog = "https://github.com/JJMC89/spdx-license-list/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b6b53dfe39c8..4323712b78d8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18417,6 +18417,8 @@ self: super: with self; { spdx = callPackage ../development/python-modules/spdx { }; + spdx-license-list = callPackage ../development/python-modules/spdx-license-list { }; + spdx-tools = callPackage ../development/python-modules/spdx-tools { }; speak2mary = callPackage ../development/python-modules/speak2mary { }; From e65518d7b343e2071d41972089b41e7e4ad3318f Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 10:57:40 +0200 Subject: [PATCH 03/13] {python3Packages.,}foss-flame: init at 0.21.8 Assisted-By: nix-init --- pkgs/by-name/fo/foss-flame/package.nix | 3 + .../python-modules/foss-flame/default.nix | 86 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 91 insertions(+) create mode 100644 pkgs/by-name/fo/foss-flame/package.nix create mode 100644 pkgs/development/python-modules/foss-flame/default.nix diff --git a/pkgs/by-name/fo/foss-flame/package.nix b/pkgs/by-name/fo/foss-flame/package.nix new file mode 100644 index 000000000000..9948ec41f3e6 --- /dev/null +++ b/pkgs/by-name/fo/foss-flame/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.foss-flame diff --git a/pkgs/development/python-modules/foss-flame/default.nix b/pkgs/development/python-modules/foss-flame/default.nix new file mode 100644 index 000000000000..e5d125716872 --- /dev/null +++ b/pkgs/development/python-modules/foss-flame/default.nix @@ -0,0 +1,86 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + jsonschema, + license-expression, + osadl-matrix, + pyyaml, + spdx-license-list, + + # tests + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "foss-flame"; + version = "0.21.8"; + __structuredAttrs = true; + pyproject = true; + + src = fetchFromGitHub { + owner = "hesa"; + repo = "foss-licenses"; + tag = finalAttrs.version; + hash = "sha256-vtiwY5l9zlNKQdoO3NSOG+9U1chqD5tvzBE20xSnGPA="; + postFetch = '' + # We have `CONSIDERATIONS.md` and `considerations.md` with almost the + # same contents, but because Darwin is case-insensitive, having both + # files results in a conflict, and therefore different source hashes than + # other platforms. + find $out -iname "considerations.md" -delete + ''; + }; + + sourceRoot = "${finalAttrs.src.name}/python"; + + build-system = [ + setuptools + ]; + + dependencies = [ + jsonschema + license-expression + osadl-matrix + pyyaml + spdx-license-list + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + # Upstream setup.cfg has addopts, requiring pytest-{cov,forked,random-order}. + # Clearing it is simpler than replicating those plugins, especially since + # they only affect how tests run. + pytestFlags = [ + "--override-ini=addopts=" + ]; + + preCheck = '' + ln -s ../tests . + ''; + + pythonImportsCheck = [ + "flame" + ]; + + meta = { + description = "License meta data: data and python module/cli"; + homepage = "https://github.com/hesa/foss-licenses"; + changelog = "https://github.com/hesa/foss-licenses/releases/tag/${finalAttrs.src.tag}"; + mainProgram = "flame"; + license = with lib.licenses; [ + bsd2 + cc-by-40 + gpl3Plus + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4323712b78d8..8ee5bf59d131 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5964,6 +5964,8 @@ self: super: with self; { fortune = callPackage ../development/python-modules/fortune { }; + foss-flame = callPackage ../development/python-modules/foss-flame { }; + foundationdb = callPackage ../development/python-modules/foundationdb { inherit (pkgs) foundationdb; }; From ca1f3b250fbbd58aa60dfd1ff425e18f8fe4cc33 Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 15:14:06 +0200 Subject: [PATCH 04/13] python3Packages.licomp: init at 0.5.22 Assisted-By: nix-init --- .../python-modules/licomp/default.nix | 57 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 59 insertions(+) create mode 100644 pkgs/development/python-modules/licomp/default.nix diff --git a/pkgs/development/python-modules/licomp/default.nix b/pkgs/development/python-modules/licomp/default.nix new file mode 100644 index 000000000000..961ed68edb69 --- /dev/null +++ b/pkgs/development/python-modules/licomp/default.nix @@ -0,0 +1,57 @@ +{ + lib, + buildPythonPackage, + fetchFromGitea, + + # build-system + setuptools, + + # dependencies + pyyaml, + + # tests + pytestCheckHook, + jsonschema, +}: + +buildPythonPackage (finalAttrs: { + pname = "licomp"; + version = "0.5.22"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "software-compliance-org"; + repo = "licomp"; + tag = finalAttrs.version; + hash = "sha256-yZZfWinXdMmF/FQQ3+MwHRypK5Xz2EEMruJLCAtl/6Q="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + pyyaml + ]; + + nativeCheckInputs = [ + pytestCheckHook + jsonschema + ]; + + pythonImportsCheck = [ + "licomp" + ]; + + meta = { + description = "License Compatibility - Generalised API for use in license compatibility"; + homepage = "https://codeberg.org/software-compliance-org/licomp"; + license = with lib.licenses; [ + gpl3Plus + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8ee5bf59d131..fd7c76d9e1d2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9059,6 +9059,8 @@ self: super: with self; { license-expression = callPackage ../development/python-modules/license-expression { }; + licomp = callPackage ../development/python-modules/licomp { }; + lida = callPackage ../development/python-modules/lida { }; lief = (toPythonModule (pkgs.lief.override { python3 = python; })).py; From d59ee28de810d686b35e16b7712a81d67d9af47e Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 15:20:28 +0200 Subject: [PATCH 05/13] python3Packages.licomp-doubleopen: init at 0.1.5 Assisted-By: nix-init --- .../licomp-doubleopen/default.nix | 60 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 62 insertions(+) create mode 100644 pkgs/development/python-modules/licomp-doubleopen/default.nix diff --git a/pkgs/development/python-modules/licomp-doubleopen/default.nix b/pkgs/development/python-modules/licomp-doubleopen/default.nix new file mode 100644 index 000000000000..2243caa52b1f --- /dev/null +++ b/pkgs/development/python-modules/licomp-doubleopen/default.nix @@ -0,0 +1,60 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + licomp, + + # tests + pytestCheckHook, + jsonschema, +}: + +buildPythonPackage (finalAttrs: { + pname = "licomp-doubleopen"; + version = "0.1.5"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "hesa"; + repo = "licomp-doubleopen"; + tag = finalAttrs.version; + hash = "sha256-ju+Ewp5q3bzanLeldtE7NSSlfLpMe6muM4ZlpFgBDh0="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + licomp + ]; + + nativeCheckInputs = [ + pytestCheckHook + jsonschema + ]; + + pythonImportsCheck = [ + "licomp_doubleopen" + ]; + + meta = { + description = "Licomp implementation of Double Open Project's license classifications"; + homepage = "https://github.com/hesa/licomp-doubleopen"; + changelog = "https://github.com/hesa/licomp-doubleopen/releases/tag/${finalAttrs.src.tag}"; + license = with lib.licenses; [ + cc-by-30 + cc-by-40 + cc0 + gpl3Plus + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fd7c76d9e1d2..b009b907e064 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9061,6 +9061,8 @@ self: super: with self; { licomp = callPackage ../development/python-modules/licomp { }; + licomp-doubleopen = callPackage ../development/python-modules/licomp-doubleopen { }; + lida = callPackage ../development/python-modules/lida { }; lief = (toPythonModule (pkgs.lief.override { python3 = python; })).py; From 88eebbf39407ca700627ac5dd67c562fc1b10ce8 Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 15:43:11 +0200 Subject: [PATCH 06/13] python3Packages.licomp-dwheeler: init at 0.5.1 Assisted-By: nix-init --- .../licomp-dwheeler/default.nix | 58 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 60 insertions(+) create mode 100644 pkgs/development/python-modules/licomp-dwheeler/default.nix diff --git a/pkgs/development/python-modules/licomp-dwheeler/default.nix b/pkgs/development/python-modules/licomp-dwheeler/default.nix new file mode 100644 index 000000000000..39fb76e1905d --- /dev/null +++ b/pkgs/development/python-modules/licomp-dwheeler/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + licomp, + + # tests + pytestCheckHook, + jsonschema, +}: + +buildPythonPackage (finalAttrs: { + pname = "licomp-dwheeler"; + version = "0.5.1"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "hesa"; + repo = "licomp-dwheeler"; + tag = finalAttrs.version; + hash = "sha256-p6BSedKqauJCVpkr18UN6oNLwI2NknfJx8FHBIbi3I4="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + licomp + ]; + + nativeCheckInputs = [ + pytestCheckHook + jsonschema + ]; + + pythonImportsCheck = [ + "licomp_dwheeler" + ]; + + meta = { + description = "Implementation of Licomp using David Wheeler's graph"; + homepage = "https://github.com/hesa/licomp-dwheeler"; + changelog = "https://github.com/hesa/licomp-dwheeler/releases/tag/${finalAttrs.src.tag}"; + license = with lib.licenses; [ + cc-by-sa-30 + gpl3Plus + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b009b907e064..6ff3f38c1d16 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9063,6 +9063,8 @@ self: super: with self; { licomp-doubleopen = callPackage ../development/python-modules/licomp-doubleopen { }; + licomp-dwheeler = callPackage ../development/python-modules/licomp-dwheeler { }; + lida = callPackage ../development/python-modules/lida { }; lief = (toPythonModule (pkgs.lief.override { python3 = python; })).py; From 163895d92b36065a11e3fc51e863876e45a2d56e Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 15:45:36 +0200 Subject: [PATCH 07/13] python3Packages.licomp-gnuguide: init at 0.5.2 Assisted-By: nix-init --- .../licomp-gnuguide/default.nix | 58 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 60 insertions(+) create mode 100644 pkgs/development/python-modules/licomp-gnuguide/default.nix diff --git a/pkgs/development/python-modules/licomp-gnuguide/default.nix b/pkgs/development/python-modules/licomp-gnuguide/default.nix new file mode 100644 index 000000000000..8d90a79f53a2 --- /dev/null +++ b/pkgs/development/python-modules/licomp-gnuguide/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + licomp, + + # tests + pytestCheckHook, + jsonschema, +}: + +buildPythonPackage (finalAttrs: { + pname = "licomp-gnuguide"; + version = "0.5.2"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "hesa"; + repo = "licomp-gnuguide"; + tag = finalAttrs.version; + hash = "sha256-DfjrmEktlTFvKqHIlmM/XeWZ4s24cRtWqs65OLDYZNQ="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + licomp + ]; + + nativeCheckInputs = [ + pytestCheckHook + jsonschema + ]; + + pythonImportsCheck = [ + "licomp_gnuguide" + ]; + + meta = { + description = "Implementation of Licomp using GNU resources"; + homepage = "https://github.com/hesa/licomp-gnuguide"; + changelog = "https://github.com/hesa/licomp-gnuguide/releases/tag/${finalAttrs.src.tag}"; + license = with lib.licenses; [ + cc-by-nd-40 # licomp-gnuguide.png & licomp_gnuguide/data/gnu-quick-guide-licenses.json + gpl3Plus + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6ff3f38c1d16..5f77b3f8349f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9065,6 +9065,8 @@ self: super: with self; { licomp-dwheeler = callPackage ../development/python-modules/licomp-dwheeler { }; + licomp-gnuguide = callPackage ../development/python-modules/licomp-gnuguide { }; + lida = callPackage ../development/python-modules/lida { }; lief = (toPythonModule (pkgs.lief.override { python3 = python; })).py; From 8018498ead81ceccb10dfc5f7a7d85c575c9adce Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 15:47:02 +0200 Subject: [PATCH 08/13] python3Packages.licomp-hermione: init at 0.5.2 Assisted-By: nix-init --- .../licomp-hermione/default.nix | 53 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/development/python-modules/licomp-hermione/default.nix diff --git a/pkgs/development/python-modules/licomp-hermione/default.nix b/pkgs/development/python-modules/licomp-hermione/default.nix new file mode 100644 index 000000000000..9bf2a5f827cf --- /dev/null +++ b/pkgs/development/python-modules/licomp-hermione/default.nix @@ -0,0 +1,53 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + licomp, + pytestCheckHook, + jsonschema, +}: + +buildPythonPackage (finalAttrs: { + pname = "licomp-hermione"; + version = "0.5.2"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "hesa"; + repo = "licomp-hermione"; + tag = finalAttrs.version; + hash = "sha256-TIfi7E+BBChOz/EXRJxjFRYavVRPfnSkBHTaiY87k/Y="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + licomp + ]; + + nativeCheckInputs = [ + pytestCheckHook + jsonschema + ]; + + pythonImportsCheck = [ + "licomp_hermione" + ]; + + meta = { + description = "Implementation of Licomp using the Hermine license resource"; + homepage = "https://github.com/hesa/licomp-hermione"; + changelog = "https://github.com/hesa/licomp-hermione/releases/tag/${finalAttrs.src.tag}"; + license = with lib.licenses; [ + bsd0 + gpl3Plus + odbl + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5f77b3f8349f..86b8884d53be 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9067,6 +9067,8 @@ self: super: with self; { licomp-gnuguide = callPackage ../development/python-modules/licomp-gnuguide { }; + licomp-hermione = callPackage ../development/python-modules/licomp-hermione { }; + lida = callPackage ../development/python-modules/lida { }; lief = (toPythonModule (pkgs.lief.override { python3 = python; })).py; From 65bb792228d08a29207f24b8f027fc0ba70b122d Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 15:48:55 +0200 Subject: [PATCH 09/13] python3Packages.licomp-osadl: init at 0.5.1 Assisted-By: nix-init --- .../python-modules/licomp-osadl/default.nix | 58 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 60 insertions(+) create mode 100644 pkgs/development/python-modules/licomp-osadl/default.nix diff --git a/pkgs/development/python-modules/licomp-osadl/default.nix b/pkgs/development/python-modules/licomp-osadl/default.nix new file mode 100644 index 000000000000..7796128e0463 --- /dev/null +++ b/pkgs/development/python-modules/licomp-osadl/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + licomp, + + # tests + pytestCheckHook, + jsonschema, +}: + +buildPythonPackage (finalAttrs: { + pname = "licomp-osadl"; + version = "0.5.1"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "hesa"; + repo = "licomp-osadl"; + tag = finalAttrs.version; + hash = "sha256-aWJG7HxYs/8/Km3EpY8/XewCILlgePoKsdJyL8CM6LI="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + licomp + ]; + + nativeCheckInputs = [ + pytestCheckHook + jsonschema + ]; + + pythonImportsCheck = [ + "licomp_osadl" + ]; + + meta = { + description = "Implementation of Licomp using OSADL's matrix"; + homepage = "https://github.com/hesa/licomp-osadl"; + changelog = "https://github.com/hesa/licomp-osadl/releases/tag/${finalAttrs.src.tag}"; + license = with lib.licenses; [ + cc-by-40 + gpl3Plus + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 86b8884d53be..c5ec38a8248d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9069,6 +9069,8 @@ self: super: with self; { licomp-hermione = callPackage ../development/python-modules/licomp-hermione { }; + licomp-osadl = callPackage ../development/python-modules/licomp-osadl { }; + lida = callPackage ../development/python-modules/lida { }; lief = (toPythonModule (pkgs.lief.override { python3 = python; })).py; From eb5ad54d3f413d069b18ded1de8105c7cb71baab Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 15:52:56 +0200 Subject: [PATCH 10/13] python3Pakcages.licomp-oslc-handbook: init at 0.1.2 Assisted-By: nix-init --- .../licomp-oslc-handbook/default.nix | 67 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 69 insertions(+) create mode 100644 pkgs/development/python-modules/licomp-oslc-handbook/default.nix diff --git a/pkgs/development/python-modules/licomp-oslc-handbook/default.nix b/pkgs/development/python-modules/licomp-oslc-handbook/default.nix new file mode 100644 index 000000000000..ddc265f9bf1a --- /dev/null +++ b/pkgs/development/python-modules/licomp-oslc-handbook/default.nix @@ -0,0 +1,67 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + licomp, + + # tests + pytestCheckHook, + jsonschema, +}: + +buildPythonPackage (finalAttrs: { + pname = "licomp-oslc-handbook"; + version = "0.1.2"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "hesa"; + repo = "licomp-oslc-handbook"; + tag = finalAttrs.version; + hash = "sha256-cE3X7oT5Xg1W9lAMLJCYE6qRqrrXpVGLfBp18ynUYLE="; + postFetch = '' + # conflicts with `licenses` on Darwin, thus producing a different source + # hash. + mv $out/LICENSES $out/LICENSES_ + ''; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + licomp + ]; + + nativeCheckInputs = [ + pytestCheckHook + jsonschema + ]; + + pythonImportsCheck = [ + "licomp_oslc_handbook" + ]; + + meta = { + description = "Licomp implementaiton of OSLC-handbook"; + homepage = "https://github.com/hesa/licomp-oslc-handbook"; + changelog = "https://github.com/hesa/licomp-oslc-handbook/releases/tag/${finalAttrs.src.tag}"; + license = with lib.licenses; [ + cc-by-40 + cc-by-sa-40 + gpl3Plus + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + # TODO: remove when this is resolved: + # https://github.com/hesa/licomp-oslc-handbook/issues/4 + badPlatforms = lib.platforms.darwin; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c5ec38a8248d..a51e226ce31f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9071,6 +9071,8 @@ self: super: with self; { licomp-osadl = callPackage ../development/python-modules/licomp-osadl { }; + licomp-oslc-handbook = callPackage ../development/python-modules/licomp-oslc-handbook { }; + lida = callPackage ../development/python-modules/lida { }; lief = (toPythonModule (pkgs.lief.override { python3 = python; })).py; From b94eeafa6eb19523c3e51b24322be6613025f795 Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 15:54:38 +0200 Subject: [PATCH 11/13] python3Packages.licomp-proprietary: init at 0.5.3 Assisted-By: nix-init --- .../licomp-proprietary/default.nix | 58 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 60 insertions(+) create mode 100644 pkgs/development/python-modules/licomp-proprietary/default.nix diff --git a/pkgs/development/python-modules/licomp-proprietary/default.nix b/pkgs/development/python-modules/licomp-proprietary/default.nix new file mode 100644 index 000000000000..4132f0e709ed --- /dev/null +++ b/pkgs/development/python-modules/licomp-proprietary/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + licomp, + + # tests + pytestCheckHook, + jsonschema, +}: + +buildPythonPackage (finalAttrs: { + pname = "licomp-proprietary"; + version = "0.5.3"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "hesa"; + repo = "licomp-proprietary"; + tag = finalAttrs.version; + hash = "sha256-elEy/BOcuvo29ciRRSNQABWoBrOhRPDCNoaypuvWsx0="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + licomp + ]; + + nativeCheckInputs = [ + pytestCheckHook + jsonschema + ]; + + pythonImportsCheck = [ + "licomp_proprietary" + ]; + + meta = { + description = "Implementation of Licomp for linking a Propriettary licensed module"; + homepage = "https://github.com/hesa/licomp-proprietary"; + changelog = "https://github.com/hesa/licomp-proprietary/releases/tag/${finalAttrs.src.tag}"; + license = with lib.licenses; [ + cc-by-40 + gpl3Plus + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a51e226ce31f..6b7f53ef95ee 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9073,6 +9073,8 @@ self: super: with self; { licomp-oslc-handbook = callPackage ../development/python-modules/licomp-oslc-handbook { }; + licomp-proprietary = callPackage ../development/python-modules/licomp-proprietary { }; + lida = callPackage ../development/python-modules/lida { }; lief = (toPythonModule (pkgs.lief.override { python3 = python; })).py; From 63afe699213f50d17b476a32ee4d46f9b9da4ef7 Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 15:57:22 +0200 Subject: [PATCH 12/13] python3Packages.licomp-reclicense: init at 0.5.1 Assisted-By: nix-init --- .../licomp-reclicense/default.nix | 58 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 60 insertions(+) create mode 100644 pkgs/development/python-modules/licomp-reclicense/default.nix diff --git a/pkgs/development/python-modules/licomp-reclicense/default.nix b/pkgs/development/python-modules/licomp-reclicense/default.nix new file mode 100644 index 000000000000..89b3822e3dc6 --- /dev/null +++ b/pkgs/development/python-modules/licomp-reclicense/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + licomp, + + # tests + pytestCheckHook, + jsonschema, +}: + +buildPythonPackage (finalAttrs: { + pname = "licomp-reclicense"; + version = "0.5.1"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "hesa"; + repo = "licomp-reclicense"; + tag = finalAttrs.version; + hash = "sha256-dCUsSZ70iKNCk8QcTtQ6Kn8BdyqK2E3Arkfx4aHmhmM="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + licomp + ]; + + nativeCheckInputs = [ + pytestCheckHook + jsonschema + ]; + + pythonImportsCheck = [ + "licomp_reclicense" + ]; + + meta = { + description = "Implementation of Licomp using the Recliense matrix"; + homepage = "https://github.com/hesa/licomp-reclicense"; + changelog = "https://github.com/hesa/licomp-reclicense/releases/tag/${finalAttrs.src.tag}"; + license = with lib.licenses; [ + gpl3Plus + mulan-psl2 + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6b7f53ef95ee..60a9f05a10f5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9075,6 +9075,8 @@ self: super: with self; { licomp-proprietary = callPackage ../development/python-modules/licomp-proprietary { }; + licomp-reclicense = callPackage ../development/python-modules/licomp-reclicense { }; + lida = callPackage ../development/python-modules/lida { }; lief = (toPythonModule (pkgs.lief.override { python3 = python; })).py; From c913cd16d4a35bc7cdeb9e12d68d0f6a3905f629 Mon Sep 17 00:00:00 2001 From: eljamm Date: Wed, 3 Jun 2026 16:04:11 +0200 Subject: [PATCH 13/13] {python3Packages.,}licomp-toolkit: init at 0.5.20 Assisted-By: nix-init --- pkgs/by-name/li/licomp-toolkit/package.nix | 3 + .../python-modules/licomp-toolkit/default.nix | 79 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 84 insertions(+) create mode 100644 pkgs/by-name/li/licomp-toolkit/package.nix create mode 100644 pkgs/development/python-modules/licomp-toolkit/default.nix diff --git a/pkgs/by-name/li/licomp-toolkit/package.nix b/pkgs/by-name/li/licomp-toolkit/package.nix new file mode 100644 index 000000000000..e1205fa3a563 --- /dev/null +++ b/pkgs/by-name/li/licomp-toolkit/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.licomp-toolkit diff --git a/pkgs/development/python-modules/licomp-toolkit/default.nix b/pkgs/development/python-modules/licomp-toolkit/default.nix new file mode 100644 index 000000000000..f34d8ea1d8c5 --- /dev/null +++ b/pkgs/development/python-modules/licomp-toolkit/default.nix @@ -0,0 +1,79 @@ +{ + lib, + buildPythonPackage, + fetchFromGitea, + + # build-system + setuptools, + + # dependencies + foss-flame, + licomp, + licomp-doubleopen, + licomp-dwheeler, + licomp-gnuguide, + licomp-hermione, + licomp-osadl, + licomp-oslc-handbook, + licomp-proprietary, + licomp-reclicense, + pyyaml, + + # tests + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "licomp-toolkit"; + version = "0.5.20"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "software-compliance-org"; + repo = "licomp-toolkit"; + tag = finalAttrs.version; + hash = "sha256-E6ehhQj1EcpW+8Cf2b+dtYSCH7fQ/AgS8uWIN4ipeCQ="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + foss-flame + licomp + licomp-doubleopen + licomp-dwheeler + licomp-gnuguide + licomp-hermione + licomp-osadl + licomp-oslc-handbook + licomp-proprietary + licomp-reclicense + pyyaml + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "licomp_toolkit" + ]; + + meta = { + description = "Python module and program to check compatibility between two licenses with context"; + homepage = "https://codeberg.org/software-compliance-org/licomp-toolkit"; + mainProgram = "licomp-toolkit"; + license = with lib.licenses; [ + gpl3Plus + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + # TODO: remove when this is resolved: + # https://github.com/hesa/licomp-oslc-handbook/issues/4 + badPlatforms = lib.platforms.darwin; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 60a9f05a10f5..5b4b56834eda 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9077,6 +9077,8 @@ self: super: with self; { licomp-reclicense = callPackage ../development/python-modules/licomp-reclicense { }; + licomp-toolkit = callPackage ../development/python-modules/licomp-toolkit { }; + lida = callPackage ../development/python-modules/lida { }; lief = (toPythonModule (pkgs.lief.override { python3 = python; })).py;