about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2023-11-21 01:14:37 +0200
committerArtturin <Artturin@artturin.com>2023-11-21 01:46:51 +0200
commit5ac86a99e7e1c3374c8a5bd28599026e5450ae06 (patch)
treeee16ebb6549f1e26af9381593de3ff4489877f90 /pkgs/development
parent2902f99c5734c0eebf265b4009dfccb5703aa9e1 (diff)
downloadnixlib-5ac86a99e7e1c3374c8a5bd28599026e5450ae06.tar
nixlib-5ac86a99e7e1c3374c8a5bd28599026e5450ae06.tar.gz
nixlib-5ac86a99e7e1c3374c8a5bd28599026e5450ae06.tar.bz2
nixlib-5ac86a99e7e1c3374c8a5bd28599026e5450ae06.tar.lz
nixlib-5ac86a99e7e1c3374c8a5bd28599026e5450ae06.tar.xz
nixlib-5ac86a99e7e1c3374c8a5bd28599026e5450ae06.tar.zst
nixlib-5ac86a99e7e1c3374c8a5bd28599026e5450ae06.zip
llvmPackages: Dedupe releaseInfo
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/llvm/15/default.nix18
-rw-r--r--pkgs/development/compilers/llvm/16/default.nix18
-rw-r--r--pkgs/development/compilers/llvm/common/common-let.nix21
-rw-r--r--pkgs/development/compilers/llvm/git/default.nix19
4 files changed, 30 insertions, 46 deletions
diff --git a/pkgs/development/compilers/llvm/15/default.nix b/pkgs/development/compilers/llvm/15/default.nix
index 1fbef0bb6c15..0082ae8505e7 100644
--- a/pkgs/development/compilers/llvm/15/default.nix
+++ b/pkgs/development/compilers/llvm/15/default.nix
@@ -54,19 +54,6 @@ in
 let
   monorepoSrc' = monorepoSrc;
 in let
-  releaseInfo = if gitRelease != null then rec {
-    original = gitRelease;
-    release_version = original.version;
-    version = gitRelease.rev-version;
-  } else rec {
-    original = officialRelease;
-    release_version = original.version;
-    version = if original ? candidate then
-      "${release_version}-${original.candidate}"
-    else
-      release_version;
-  };
-
   monorepoSrc = if monorepoSrc' != null then
     monorepoSrc'
   else let
@@ -81,9 +68,10 @@ in let
     inherit rev sha256;
   };
 
+  # Import releaseInfo separately to avoid infinite recursion
+  inherit (import ../common/common-let.nix { inherit lib gitRelease officialRelease; }) releaseInfo;
   inherit (releaseInfo) release_version version;
-
-  inherit (import ../common/common-let.nix { inherit lib release_version; }) llvm_meta;
+  inherit (import ../common/common-let.nix { inherit lib release_version gitRelease officialRelease; }) llvm_meta;
 
   tools = lib.makeExtensible (tools: let
     callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; });
diff --git a/pkgs/development/compilers/llvm/16/default.nix b/pkgs/development/compilers/llvm/16/default.nix
index 94888d4ef53d..5213ebc37b47 100644
--- a/pkgs/development/compilers/llvm/16/default.nix
+++ b/pkgs/development/compilers/llvm/16/default.nix
@@ -54,19 +54,6 @@ in
 let
   monorepoSrc' = monorepoSrc;
 in let
-  releaseInfo = if gitRelease != null then rec {
-    original = gitRelease;
-    release_version = original.version;
-    version = gitRelease.rev-version;
-  } else rec {
-    original = officialRelease;
-    release_version = original.version;
-    version = if original ? candidate then
-      "${release_version}-${original.candidate}"
-    else
-      release_version;
-  };
-
   monorepoSrc = if monorepoSrc' != null then
     monorepoSrc'
   else let
@@ -81,9 +68,10 @@ in let
     inherit rev sha256;
   };
 
+  # Import releaseInfo separately to avoid infinite recursion
+  inherit (import ../common/common-let.nix { inherit lib gitRelease officialRelease; }) releaseInfo;
   inherit (releaseInfo) release_version version;
-
-  inherit (import ../common/common-let.nix { inherit lib release_version; }) llvm_meta;
+  inherit (import ../common/common-let.nix { inherit lib release_version gitRelease officialRelease; }) llvm_meta;
 
   tools = lib.makeExtensible (tools: let
     callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; });
diff --git a/pkgs/development/compilers/llvm/common/common-let.nix b/pkgs/development/compilers/llvm/common/common-let.nix
index ca5a2f8b805c..d56063f1bc43 100644
--- a/pkgs/development/compilers/llvm/common/common-let.nix
+++ b/pkgs/development/compilers/llvm/common/common-let.nix
@@ -1,4 +1,8 @@
-{ lib, release_version }:
+{ lib
+, release_version ? null
+, gitRelease ? null
+, officialRelease ? null
+}:
 
 {
   llvm_meta = {
@@ -18,4 +22,19 @@
       lib.optionals (lib.versionAtLeast release_version "14") lib.platforms.m68k;
   };
 
+  releaseInfo =
+    if gitRelease != null then rec {
+      original = gitRelease;
+      release_version = original.version;
+      version = gitRelease.rev-version;
+    } else rec {
+      original = officialRelease;
+      release_version = original.version;
+      version =
+        if original ? candidate then
+          "${release_version}-${original.candidate}"
+        else
+          release_version;
+    };
+
 }
diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix
index e6e2f7113dab..dc5ea642995c 100644
--- a/pkgs/development/compilers/llvm/git/default.nix
+++ b/pkgs/development/compilers/llvm/git/default.nix
@@ -53,19 +53,6 @@ in
 let
   monorepoSrc' = monorepoSrc;
 in let
-  releaseInfo = if gitRelease != null then rec {
-    original = gitRelease;
-    release_version = original.version;
-    version = gitRelease.rev-version;
-  } else rec {
-    original = officialRelease;
-    release_version = original.version;
-    version = if original ? candidate then
-      "${release_version}-${original.candidate}"
-    else
-      release_version;
-  };
-
   monorepoSrc = if monorepoSrc' != null then
     monorepoSrc'
   else let
@@ -80,9 +67,11 @@ in let
     inherit rev sha256;
   };
 
-  inherit (releaseInfo) release_version version;
 
-  inherit (import ../common/common-let.nix { inherit lib release_version; }) llvm_meta;
+  # Import releaseInfo separately to avoid infinite recursion
+  inherit (import ../common/common-let.nix { inherit lib gitRelease officialRelease; }) releaseInfo;
+  inherit (releaseInfo) release_version version;
+  inherit (import ../common/common-let.nix { inherit lib release_version gitRelease officialRelease; }) llvm_meta;
 
   tools = lib.makeExtensible (tools: let
     callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; });