diff options
author | Sergei Trofimovich <slyich@gmail.com> | 2022-07-14 23:42:24 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyich@gmail.com> | 2022-07-29 19:34:09 +0100 |
commit | f6ee60dde4a00f94d57f44ae768b3f5ccb228672 (patch) | |
tree | 080d45a9b4e971db3778af5c736aa7d48ead6109 /pkgs/stdenv | |
parent | f0df0acc162dd31ab0b1b5f2f64394da43cf6ea0 (diff) |
gnumake: unconditionally disable guileSupport on bootstrap
Before the change an attempt to use `gnumake.override { guileSupport = true; }` caused recursion in bootstrap stages as guileSupport pulls in guile and it's dependencies. To restore the bootstrap the change unconditionally sets `guileSupport = false;` for `gnumake`. Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r-- | pkgs/stdenv/linux/default.nix | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index ff9602722bf3a..09a0a50c0037b 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -356,6 +356,10 @@ in # stage5.gcc -> stage4.coreutils -> stage3.glibc -> bootstrap gmp = lib.makeOverridable (super.gmp.override { stdenv = self.stdenv; }).overrideAttrs (a: { pname = "${a.pname}-stage4"; }); + # To allow users' overrides inhibit dependencies too heavy for + # bootstrap, like guile: https://github.com/NixOS/nixpkgs/issues/181188 + gnumake = super.gnumake.override { inBootstrap = true; }; + gcc = lib.makeOverridable (import ../../build-support/cc-wrapper) { nativeTools = false; nativeLibc = false; @@ -446,7 +450,7 @@ in overrides = self: super: { inherit (prevStage) gzip bzip2 xz bash coreutils diffutils findutils gawk - gnumake gnused gnutar gnugrep gnupatch patchelf + gnused gnutar gnugrep gnupatch patchelf attr acl zlib pcre libunistring; ${localSystem.libc} = getLibc prevStage; @@ -457,6 +461,7 @@ in inherit (self) stdenv runCommandLocal patchelf libunistring; }; + gnumake = super.gnumake.override { inBootstrap = false; }; } // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) { # Need to get rid of these when cross-compiling. inherit (prevStage) binutils binutils-unwrapped; |