diff options
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r-- | pkgs/stdenv/generic/make-derivation.nix | 2 | ||||
-rw-r--r-- | pkgs/stdenv/linux/bootstrap-files/mipsel.nix | 25 | ||||
-rw-r--r-- | pkgs/stdenv/linux/default.nix | 7 | ||||
-rw-r--r-- | pkgs/stdenv/linux/make-bootstrap-tools.nix | 1 |
4 files changed, 32 insertions, 3 deletions
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 73030e7d941e8..78cbad190a6e3 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -384,7 +384,7 @@ else let crossFile = builtins.toFile "cross-file.conf" '' [properties] - needs_exe_wrapper = true + needs_exe_wrapper = ${lib.boolToString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform)} [host_machine] system = '${stdenv.targetPlatform.parsed.kernel.name}' diff --git a/pkgs/stdenv/linux/bootstrap-files/mipsel.nix b/pkgs/stdenv/linux/bootstrap-files/mipsel.nix new file mode 100644 index 0000000000000..42f2e871d92e5 --- /dev/null +++ b/pkgs/stdenv/linux/bootstrap-files/mipsel.nix @@ -0,0 +1,25 @@ +# +# Files came from this Hydra build: +# +# https://hydra.nixos.org/build/185311909 +# +# Which used nixpkgs revision 5bd14b3cfe2f87a2e2b074645aba39c69563e4bc +# to instantiate: +# +# /nix/store/184fa520zv8ls9fzcqyfa5dmkp8kf6xr-stdenv-bootstrap-tools-mipsel-unknown-linux-gnu.drv +# +# and then built: +# +# /nix/store/i46mrzinxi9a5incliwhksmk947ff4wn-stdenv-bootstrap-tools-mipsel-unknown-linux-gnu +# +{ + busybox = import <nix/fetchurl.nix> { + url = "http://tarballs.nixos.org/stdenv-linux/mipsel/5bd14b3cfe2f87a2e2b074645aba39c69563e4bc/busybox"; + hash = "sha256-EhuzjL52VEIOfEcFdVGZaDMClQbMc9V9ISrTUNaA7HQ="; + executable = true; + }; + bootstrapTools = import <nix/fetchurl.nix> { + url = "http://tarballs.nixos.org/stdenv-linux/mipsel/5bd14b3cfe2f87a2e2b074645aba39c69563e4bc/bootstrap-tools.tar.xz"; + hash = "sha256-OEGgLJOLnV+aobsb+P8mY3Dp8qbeVODBH6x3aUE/MGM="; + }; +} diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 7c0209b33aedd..6e61b6f12be11 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; diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index b2d04c8667d5f..c6112766781ee 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -152,7 +152,6 @@ in with pkgs; rec { cp -d ${mpfr.out}/lib/libmpfr*.so* $out/lib cp -d ${libmpc.out}/lib/libmpc*.so* $out/lib cp -d ${zlib.out}/lib/libz.so* $out/lib - cp -d ${libelf}/lib/libelf.so* $out/lib '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' # These needed for cross but not native tools because the stdenv |