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.

nikstur 02843300 272717e3

+30 -14
+5 -5
lib/licenses.nix
··· 140 140 fullName = "Apache License 2.0"; 141 141 }; 142 142 143 - asl20-llvm = { 144 - spdxId = "Apache-2.0 WITH LLVM-exception"; 145 - fullName = "Apache License 2.0 with LLVM Exceptions"; 146 - }; 147 - 148 143 bitstreamVera = { 149 144 spdxId = "Bitstream-Vera"; 150 145 fullName = "Bitstream Vera Font License"; ··· 857 852 llgpl21 = { 858 853 fullName = "Lisp LGPL; GNU Lesser General Public License version 2.1 with Franz Inc. preamble for clarification of LGPL terms in context of Lisp"; 859 854 url = "https://opensource.franz.com/preamble.html"; 855 + }; 856 + 857 + llvm-exception = { 858 + spdxId = "LLVM-exception"; 859 + fullName = "LLVM Exception"; # LLVM exceptions to the Apache 2.0 License 860 860 }; 861 861 862 862 lppl1 = {
+4 -1
pkgs/by-name/co/codechecker/package.nix
··· 113 113 homepage = "https://github.com/Ericsson/codechecker"; 114 114 changelog = "https://github.com/Ericsson/codechecker/releases/tag/v${version}"; 115 115 description = "Analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy"; 116 - license = licenses.asl20-llvm; 116 + license = with licenses; [ 117 + asl20 118 + llvm-exception 119 + ]; 117 120 maintainers = with maintainers; [ 118 121 zebreus 119 122 felixsinger
+4 -1
pkgs/by-name/en/enzyme/package.nix
··· 44 44 description = "High-performance automatic differentiation of LLVM and MLIR"; 45 45 maintainers = with lib.maintainers; [ kiranshila ]; 46 46 platforms = lib.platforms.all; 47 - license = lib.licenses.asl20-llvm; 47 + license = with lib.licenses; [ 48 + asl20 49 + llvm-exception 50 + ]; 48 51 }; 49 52 }
+4 -1
pkgs/by-name/ko/kokkos/package.nix
··· 38 38 description = "C++ Performance Portability Programming EcoSystem"; 39 39 homepage = "https://github.com/kokkos/kokkos"; 40 40 changelog = "https://github.com/kokkos/kokkos/blob/${finalAttrs.src.rev}/CHANGELOG.md"; 41 - license = with licenses; [ asl20-llvm ]; 41 + license = with licenses; [ 42 + asl20 43 + llvm-exception 44 + ]; 42 45 maintainers = with maintainers; [ Madouura ]; 43 46 platforms = platforms.unix; 44 47 broken = stdenv.hostPlatform.isDarwin;
+4 -1
pkgs/by-name/li/libabigail/package.nix
··· 58 58 meta = with lib; { 59 59 description = "ABI Generic Analysis and Instrumentation Library"; 60 60 homepage = "https://sourceware.org/libabigail/"; 61 - license = licenses.asl20-llvm; 61 + license = with licenses; [ 62 + asl20 63 + llvm-exception 64 + ]; 62 65 maintainers = [ ]; 63 66 platforms = platforms.linux; 64 67 };
+4 -1
pkgs/by-name/sh/shader-slang/package.nix
··· 144 144 meta = { 145 145 description = "A shading language that makes it easier to build and maintain large shader codebases in a modular and extensible fashion"; 146 146 homepage = "https://github.com/shader-slang/slang"; 147 - license = lib.licenses.asl20-llvm; 147 + license = with lib.licenses; [ 148 + asl20 149 + llvm-exception 150 + ]; 148 151 maintainers = with lib.maintainers; [ niklaskorz ]; 149 152 mainProgram = "slangc"; 150 153 platforms = lib.platforms.all;
+3 -3
pkgs/development/compilers/llvm/common/common-let.nix
··· 10 10 rec { 11 11 llvm_meta = { 12 12 license = with lib.licenses; [ ncsa ] ++ 13 - # Contributions after June 1st, 2024 are only licensed under asl20-llvm: 14 - # https://github.com/llvm/llvm-project/pull/92394 15 - lib.optional (lib.versionAtLeast release_version "19") asl20-llvm; 13 + # Contributions after June 1st, 2024 are only licensed under asl20 and 14 + # llvm-exception: https://github.com/llvm/llvm-project/pull/92394 15 + lib.optionals (lib.versionAtLeast release_version "19") [ asl20 llvm-exception ]; 16 16 maintainers = lib.teams.llvm.members; 17 17 18 18 # See llvm/cmake/config-ix.cmake.
+2 -1
pkgs/development/libraries/wasilibc/default.nix
··· 72 72 rvolosatovs 73 73 ]; 74 74 license = with licenses; [ 75 - asl20-llvm 75 + asl20 76 + llvm-exception 76 77 mit 77 78 ]; 78 79 };