From a87f5eb7d0afdc6c2f59cc33967ad4c770450d98 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Wed, 7 Aug 2024 20:05:28 -0700 Subject: [PATCH] llvmPackages_{13,14,15,16,17,18,git}: add recurse into attrs --- pkgs/development/compilers/llvm/default.nix | 41 +++++++++++---------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index 5eb28661e992..40c0e54cd3f2 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -7,6 +7,7 @@ stdenv, gcc12Stdenv, pkgs, + recurseIntoAttrs, # This is the default binutils, but with *this* version of LLD rather # than the default LLVM version's, if LLD is the choice. We use these for # the `useLLVM` bootstrapping below. @@ -51,25 +52,27 @@ let args.name or (if (gitRelease != null) then "git" else lib.versions.major release_version); in lib.nameValuePair attrName ( - callPackage ./common { - inherit (stdenvAdapters) overrideCC; - buildLlvmTools = buildPackages."llvmPackages_${attrName}".tools; - targetLlvmLibraries = - targetPackages."llvmPackages_${attrName}".libraries or llvmPackages."${attrName}".libraries; - targetLlvm = targetPackages."llvmPackages_${attrName}".llvm or llvmPackages."${attrName}".llvm; - stdenv = - if (lib.versions.major release_version == "13" && stdenv.cc.cc.isGNU or false) then - gcc12Stdenv - else - stdenv; # does not build with gcc13 - inherit bootBintoolsNoLibc bootBintools; - inherit - officialRelease - gitRelease - monorepoSrc - version - ; - } + recurseIntoAttrs ( + callPackage ./common { + inherit (stdenvAdapters) overrideCC; + buildLlvmTools = buildPackages."llvmPackages_${attrName}".tools; + targetLlvmLibraries = + targetPackages."llvmPackages_${attrName}".libraries or llvmPackages."${attrName}".libraries; + targetLlvm = targetPackages."llvmPackages_${attrName}".llvm or llvmPackages."${attrName}".llvm; + stdenv = + if (lib.versions.major release_version == "13" && stdenv.cc.cc.isGNU or false) then + gcc12Stdenv + else + stdenv; # does not build with gcc13 + inherit bootBintoolsNoLibc bootBintools; + inherit + officialRelease + gitRelease + monorepoSrc + version + ; + } + ) ); llvmPackages = lib.mapAttrs' (version: args: mkPackage (args // { inherit version; })) versions;