Unverified Commit 25e07e7c authored by Tristan Ross's avatar Tristan Ross Committed by GitHub
Browse files

llvmPackages: Reinstate overriding across whole package set (#341855)

parents 423788f5 ddafd4b1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -27,6 +27,9 @@
  officialRelease ? null,
  monorepoSrc ? null,
  version ? null,
  # Allows passthrough to packages via newScope. This makes it possible to
  # do `(llvmPackages.override { <someLlvmDependency> = bar; }).clang` and get
  # an llvmPackages whose packages are overridden in an internally consistent way.
  ...
}@args:

+29 −20
Original line number Diff line number Diff line
@@ -14,7 +14,12 @@
  bootBintoolsNoLibc ? if stdenv.targetPlatform.linker == "lld" then null else pkgs.bintoolsNoLibc,
  bootBintools ? if stdenv.targetPlatform.linker == "lld" then null else pkgs.bintools,
  llvmVersions ? { },
}:
  # Allows passthrough to packages via newScope in ./common/default.nix.
  # This makes it possible to do
  # `(llvmPackages.override { <someLlvmDependency> = bar; }).clang` and get
  # an llvmPackages whose packages are overridden in an internally consistent way.
  ...
}@packageSetArgs:
let
  versions = {
    "13.0.1".officialRelease.sha256 = "06dv6h5dmvzdxbif2s8njki6h32796v368dyb5945x8gjj72xh7k";
@@ -53,18 +58,13 @@ let
    in
    lib.nameValuePair attrName (
      recurseIntoAttrs (
        callPackage ./common {
        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
@@ -72,6 +72,15 @@ let
              version
              ;
          }
          // packageSetArgs # Allow overrides.
          // {
            stdenv =
              if (lib.versions.major release_version == "13" && stdenv.cc.cc.isGNU or false) then
                gcc12Stdenv
              else
                stdenv; # does not build with gcc13
          }
        )
      )
    );