forked from mirrors/nixpkgs
cross-stdenv: Only prune most overrides in the final stage
Before all overrides were also pruned in the previous stage, now only gcc and binutils are, because they alone care about about the target platform. The rest of the overrides don't, so it's better to preserve them in order to avoid spurious rebuilds.
This commit is contained in:
parent
a7068ace35
commit
49c99b70cf
|
@ -58,6 +58,10 @@ rec {
|
|||
# builds.
|
||||
makeStdenvCross = stdenv: cross: binutilsCross: gccCross: stdenv // {
|
||||
|
||||
# Overrides are surely not valid as packages built with this run on a
|
||||
# different platform.
|
||||
overrides = _: _: {};
|
||||
|
||||
mkDerivation =
|
||||
{ name ? "", buildInputs ? [], nativeBuildInputs ? []
|
||||
, propagatedBuildInputs ? [], propagatedNativeBuildInputs ? []
|
||||
|
|
|
@ -21,9 +21,7 @@ in bootStages ++ [
|
|||
selfBuild = false;
|
||||
# It's OK to change the built-time dependencies
|
||||
allowCustomOverrides = true;
|
||||
stdenv = vanillaPackages.stdenv // {
|
||||
overrides = _: _: {};
|
||||
};
|
||||
inherit (vanillaPackages) stdenv;
|
||||
})
|
||||
|
||||
# Run Packages
|
||||
|
|
|
@ -253,7 +253,7 @@ in rec {
|
|||
inherit
|
||||
gnumake gzip gnused bzip2 gawk ed xz patch bash
|
||||
libcxxabi libcxx ncurses libffi zlib icu llvm gmp pcre gnugrep
|
||||
coreutils findutils diffutils patchutils binutils binutils-raw;
|
||||
coreutils findutils diffutils patchutils;
|
||||
|
||||
llvmPackages = super.llvmPackages // {
|
||||
inherit (llvmPackages) llvm clang-unwrapped;
|
||||
|
@ -262,6 +262,9 @@ in rec {
|
|||
darwin = super.darwin // {
|
||||
inherit (darwin) dyld Libsystem cctools libiconv;
|
||||
};
|
||||
} // lib.optionalAttrs (super.targetPlatform == localSystem) {
|
||||
# Need to get rid of these when cross-compiling.
|
||||
inherit binutils binutils-raw;
|
||||
};
|
||||
|
||||
stdenvDarwin = prevStage: let pkgs = prevStage; in import ../generic rec {
|
||||
|
|
|
@ -298,12 +298,14 @@ in
|
|||
*/
|
||||
|
||||
overrides = self: super: {
|
||||
gcc = cc;
|
||||
|
||||
inherit (prevStage)
|
||||
gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
|
||||
gzip bzip2 xz bash coreutils diffutils findutils gawk
|
||||
glibc gnumake gnused gnutar gnugrep gnupatch patchelf
|
||||
attr acl paxctl zlib pcre;
|
||||
} // lib.optionalAttrs (super.targetPlatform == localSystem) {
|
||||
# Need to get rid of these when cross-compiling.
|
||||
inherit (prevStage) binutils;
|
||||
gcc = cc;
|
||||
};
|
||||
};
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue