lol

llvmPackages: Dedupe releaseInfo

Artturin 5ac86a99 2902f99c

+30 -46
+3 -15
pkgs/development/compilers/llvm/15/default.nix
··· 54 54 let 55 55 monorepoSrc' = monorepoSrc; 56 56 in let 57 - releaseInfo = if gitRelease != null then rec { 58 - original = gitRelease; 59 - release_version = original.version; 60 - version = gitRelease.rev-version; 61 - } else rec { 62 - original = officialRelease; 63 - release_version = original.version; 64 - version = if original ? candidate then 65 - "${release_version}-${original.candidate}" 66 - else 67 - release_version; 68 - }; 69 - 70 57 monorepoSrc = if monorepoSrc' != null then 71 58 monorepoSrc' 72 59 else let ··· 81 68 inherit rev sha256; 82 69 }; 83 70 71 + # Import releaseInfo separately to avoid infinite recursion 72 + inherit (import ../common/common-let.nix { inherit lib gitRelease officialRelease; }) releaseInfo; 84 73 inherit (releaseInfo) release_version version; 85 - 86 - inherit (import ../common/common-let.nix { inherit lib release_version; }) llvm_meta; 74 + inherit (import ../common/common-let.nix { inherit lib release_version gitRelease officialRelease; }) llvm_meta; 87 75 88 76 tools = lib.makeExtensible (tools: let 89 77 callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; });
+3 -15
pkgs/development/compilers/llvm/16/default.nix
··· 54 54 let 55 55 monorepoSrc' = monorepoSrc; 56 56 in let 57 - releaseInfo = if gitRelease != null then rec { 58 - original = gitRelease; 59 - release_version = original.version; 60 - version = gitRelease.rev-version; 61 - } else rec { 62 - original = officialRelease; 63 - release_version = original.version; 64 - version = if original ? candidate then 65 - "${release_version}-${original.candidate}" 66 - else 67 - release_version; 68 - }; 69 - 70 57 monorepoSrc = if monorepoSrc' != null then 71 58 monorepoSrc' 72 59 else let ··· 81 68 inherit rev sha256; 82 69 }; 83 70 71 + # Import releaseInfo separately to avoid infinite recursion 72 + inherit (import ../common/common-let.nix { inherit lib gitRelease officialRelease; }) releaseInfo; 84 73 inherit (releaseInfo) release_version version; 85 - 86 - inherit (import ../common/common-let.nix { inherit lib release_version; }) llvm_meta; 74 + inherit (import ../common/common-let.nix { inherit lib release_version gitRelease officialRelease; }) llvm_meta; 87 75 88 76 tools = lib.makeExtensible (tools: let 89 77 callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; });
+20 -1
pkgs/development/compilers/llvm/common/common-let.nix
··· 1 - { lib, release_version }: 1 + { lib 2 + , release_version ? null 3 + , gitRelease ? null 4 + , officialRelease ? null 5 + }: 2 6 3 7 { 4 8 llvm_meta = { ··· 17 21 lib.optionals (lib.versionAtLeast release_version "7") lib.platforms.riscv ++ 18 22 lib.optionals (lib.versionAtLeast release_version "14") lib.platforms.m68k; 19 23 }; 24 + 25 + releaseInfo = 26 + if gitRelease != null then rec { 27 + original = gitRelease; 28 + release_version = original.version; 29 + version = gitRelease.rev-version; 30 + } else rec { 31 + original = officialRelease; 32 + release_version = original.version; 33 + version = 34 + if original ? candidate then 35 + "${release_version}-${original.candidate}" 36 + else 37 + release_version; 38 + }; 20 39 21 40 }
+4 -15
pkgs/development/compilers/llvm/git/default.nix
··· 53 53 let 54 54 monorepoSrc' = monorepoSrc; 55 55 in let 56 - releaseInfo = if gitRelease != null then rec { 57 - original = gitRelease; 58 - release_version = original.version; 59 - version = gitRelease.rev-version; 60 - } else rec { 61 - original = officialRelease; 62 - release_version = original.version; 63 - version = if original ? candidate then 64 - "${release_version}-${original.candidate}" 65 - else 66 - release_version; 67 - }; 68 - 69 56 monorepoSrc = if monorepoSrc' != null then 70 57 monorepoSrc' 71 58 else let ··· 80 67 inherit rev sha256; 81 68 }; 82 69 83 - inherit (releaseInfo) release_version version; 84 70 85 - inherit (import ../common/common-let.nix { inherit lib release_version; }) llvm_meta; 71 + # Import releaseInfo separately to avoid infinite recursion 72 + inherit (import ../common/common-let.nix { inherit lib gitRelease officialRelease; }) releaseInfo; 73 + inherit (releaseInfo) release_version version; 74 + inherit (import ../common/common-let.nix { inherit lib release_version gitRelease officialRelease; }) llvm_meta; 86 75 87 76 tools = lib.makeExtensible (tools: let 88 77 callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; });