diff --git a/pkgs/development/compilers/gcc/all.nix b/pkgs/development/compilers/gcc/all.nix index 1aba286411bd..8deba6c6f07c 100644 --- a/pkgs/development/compilers/gcc/all.nix +++ b/pkgs/development/compilers/gcc/all.nix @@ -2,6 +2,8 @@ lib, stdenv, pkgs, + overrideCC, + buildPackages, targetPackages, callPackage, isl_0_20, @@ -62,7 +64,7 @@ let ) && stdenv.cc.isGNU then - pkgs."gcc${majorVersion}Stdenv" + overrideCC stdenv buildPackages."gcc${majorVersion}" else stdenv; } diff --git a/pkgs/os-specific/windows/default.nix b/pkgs/os-specific/windows/default.nix index 137a948960b7..e0f7e5b5f79e 100644 --- a/pkgs/os-specific/windows/default.nix +++ b/pkgs/os-specific/windows/default.nix @@ -27,11 +27,11 @@ lib.makeScope newScope ( else buildPackages.gccWithoutTargetLibc.override (old: { bintools = old.bintools.override { - libc = pkgs.libc; + libc = pkgs.pkgsHostTarget.libc; noLibc = pkgs.libc == null; nativeLibc = false; }; - libc = pkgs.libc; + libc = pkgs.pkgsHostTarget.libc; noLibc = pkgs.libc == null; nativeLibc = false; }) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bf6fce27ce61..7cfde09d7f0e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6320,7 +6320,7 @@ with pkgs; null; bintoolsNoLibc = wrapBintoolsWith { bintools = bintools-unwrapped; - libc = targetPackages.preLibcHeaders; + libc = targetPackages.preLibcHeaders or preLibcHeaders; }; bintools = wrapBintoolsWith { bintools = bintools-unwrapped; diff --git a/pkgs/top-level/splice.nix b/pkgs/top-level/splice.nix index fe4566bb175e..afbf3b12991a 100644 --- a/pkgs/top-level/splice.nix +++ b/pkgs/top-level/splice.nix @@ -173,6 +173,8 @@ in newScope = extra: lib.callPackageWith (pkgsForCall // extra); + pkgs = if actuallySplice then splicedPackages // { recurseForDerivations = false; } else pkgs; + # prefill 2 fields of the function for convenience makeScopeWithSplicing = lib.makeScopeWithSplicing splicePackages pkgs.newScope; makeScopeWithSplicing' = lib.makeScopeWithSplicing' {