From 02843300bb56919a326cc99ef580f2f208f28d1f Mon Sep 17 00:00:00 2001 From: nikstur Date: Mon, 17 Mar 2025 12:08:48 +0100 Subject: [PATCH] lib.licenses.asl20-llvm: replace with separate llvm-exception This essentially reverts 7ce8e7c4cf90492a631e96bcfe70724104914381 asl20-llvm does not produce a valid SPDX ID, it produces a valid SPDX Expression. However, this is not what the spdxId field promises. This is relevant because we cannot produce valid SBOMs (e.g. CycloneDX) using this field as the schemas for these SBOMs check that the IDs are valid. This change leaves us with consistently valid SPDX IDs at the cost of slightly less convenience. --- lib/licenses.nix | 10 +++++----- pkgs/by-name/co/codechecker/package.nix | 5 ++++- pkgs/by-name/en/enzyme/package.nix | 5 ++++- pkgs/by-name/ko/kokkos/package.nix | 5 ++++- pkgs/by-name/li/libabigail/package.nix | 5 ++++- pkgs/by-name/sh/shader-slang/package.nix | 5 ++++- pkgs/development/compilers/llvm/common/common-let.nix | 6 +++--- pkgs/development/libraries/wasilibc/default.nix | 3 ++- 8 files changed, 30 insertions(+), 14 deletions(-) diff --git a/lib/licenses.nix b/lib/licenses.nix index 44fca61afbbd..97ed489bd1ab 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -140,11 +140,6 @@ lib.mapAttrs mkLicense ({ fullName = "Apache License 2.0"; }; - asl20-llvm = { - spdxId = "Apache-2.0 WITH LLVM-exception"; - fullName = "Apache License 2.0 with LLVM Exceptions"; - }; - bitstreamVera = { spdxId = "Bitstream-Vera"; fullName = "Bitstream Vera Font License"; @@ -859,6 +854,11 @@ lib.mapAttrs mkLicense ({ url = "https://opensource.franz.com/preamble.html"; }; + llvm-exception = { + spdxId = "LLVM-exception"; + fullName = "LLVM Exception"; # LLVM exceptions to the Apache 2.0 License + }; + lppl1 = { spdxId = "LPPL-1.0"; fullName = "LaTeX Project Public License v1.0"; diff --git a/pkgs/by-name/co/codechecker/package.nix b/pkgs/by-name/co/codechecker/package.nix index 26a7f6279945..f09011e8e68b 100644 --- a/pkgs/by-name/co/codechecker/package.nix +++ b/pkgs/by-name/co/codechecker/package.nix @@ -113,7 +113,10 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/Ericsson/codechecker"; changelog = "https://github.com/Ericsson/codechecker/releases/tag/v${version}"; description = "Analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy"; - license = licenses.asl20-llvm; + license = with licenses; [ + asl20 + llvm-exception + ]; maintainers = with maintainers; [ zebreus felixsinger diff --git a/pkgs/by-name/en/enzyme/package.nix b/pkgs/by-name/en/enzyme/package.nix index c9401596663a..9872a0f77d2a 100644 --- a/pkgs/by-name/en/enzyme/package.nix +++ b/pkgs/by-name/en/enzyme/package.nix @@ -44,6 +44,9 @@ llvmPackages.stdenv.mkDerivation rec { description = "High-performance automatic differentiation of LLVM and MLIR"; maintainers = with lib.maintainers; [ kiranshila ]; platforms = lib.platforms.all; - license = lib.licenses.asl20-llvm; + license = with lib.licenses; [ + asl20 + llvm-exception + ]; }; } diff --git a/pkgs/by-name/ko/kokkos/package.nix b/pkgs/by-name/ko/kokkos/package.nix index 6560faa0e64c..e682cbe13da8 100644 --- a/pkgs/by-name/ko/kokkos/package.nix +++ b/pkgs/by-name/ko/kokkos/package.nix @@ -38,7 +38,10 @@ stdenv.mkDerivation (finalAttrs: { description = "C++ Performance Portability Programming EcoSystem"; homepage = "https://github.com/kokkos/kokkos"; changelog = "https://github.com/kokkos/kokkos/blob/${finalAttrs.src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20-llvm ]; + license = with licenses; [ + asl20 + llvm-exception + ]; maintainers = with maintainers; [ Madouura ]; platforms = platforms.unix; broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/li/libabigail/package.nix b/pkgs/by-name/li/libabigail/package.nix index f8f257808950..89bd65ccae6f 100644 --- a/pkgs/by-name/li/libabigail/package.nix +++ b/pkgs/by-name/li/libabigail/package.nix @@ -58,7 +58,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "ABI Generic Analysis and Instrumentation Library"; homepage = "https://sourceware.org/libabigail/"; - license = licenses.asl20-llvm; + license = with licenses; [ + asl20 + llvm-exception + ]; maintainers = [ ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/sh/shader-slang/package.nix b/pkgs/by-name/sh/shader-slang/package.nix index 2036350ae206..9a272e4418e8 100644 --- a/pkgs/by-name/sh/shader-slang/package.nix +++ b/pkgs/by-name/sh/shader-slang/package.nix @@ -144,7 +144,10 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "A shading language that makes it easier to build and maintain large shader codebases in a modular and extensible fashion"; homepage = "https://github.com/shader-slang/slang"; - license = lib.licenses.asl20-llvm; + license = with lib.licenses; [ + asl20 + llvm-exception + ]; maintainers = with lib.maintainers; [ niklaskorz ]; mainProgram = "slangc"; platforms = lib.platforms.all; diff --git a/pkgs/development/compilers/llvm/common/common-let.nix b/pkgs/development/compilers/llvm/common/common-let.nix index a33d8db3ad48..c32fced3fc8e 100644 --- a/pkgs/development/compilers/llvm/common/common-let.nix +++ b/pkgs/development/compilers/llvm/common/common-let.nix @@ -10,9 +10,9 @@ rec { llvm_meta = { license = with lib.licenses; [ ncsa ] ++ - # Contributions after June 1st, 2024 are only licensed under asl20-llvm: - # https://github.com/llvm/llvm-project/pull/92394 - lib.optional (lib.versionAtLeast release_version "19") asl20-llvm; + # Contributions after June 1st, 2024 are only licensed under asl20 and + # llvm-exception: https://github.com/llvm/llvm-project/pull/92394 + lib.optionals (lib.versionAtLeast release_version "19") [ asl20 llvm-exception ]; maintainers = lib.teams.llvm.members; # See llvm/cmake/config-ix.cmake. diff --git a/pkgs/development/libraries/wasilibc/default.nix b/pkgs/development/libraries/wasilibc/default.nix index b2cafcea35b7..3d605f04b1f4 100644 --- a/pkgs/development/libraries/wasilibc/default.nix +++ b/pkgs/development/libraries/wasilibc/default.nix @@ -72,7 +72,8 @@ stdenv.mkDerivation { rvolosatovs ]; license = with licenses; [ - asl20-llvm + asl20 + llvm-exception mit ]; };