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