diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix index 1fed692fd1cee50..da4a94e34b01a7b 100644 --- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix +++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix @@ -1,5 +1,7 @@ { pkgspath ? ../../.., test-pkgspath ? pkgspath -, system ? builtins.currentSystem, crossSystem ? null, bootstrapFiles ? null +, localSystem ? { system = builtins.currentSystem; } +, crossSystem ? null +, bootstrapFiles ? null }: let cross = if crossSystem != null @@ -11,7 +13,7 @@ let cross = if crossSystem != null in (import "${pkgspath}/pkgs/stdenv/darwin" args').stagesDarwin; } else {}; -in with import pkgspath ({ inherit system; } // cross // custom-bootstrap); +in with import pkgspath ({ inherit localSystem; } // cross // custom-bootstrap); let llvmPackages = llvmPackages_11; @@ -364,7 +366,7 @@ in rec { test-pkgs = import test-pkgspath { # if the bootstrap tools are for another platform, we should be testing # that platform. - system = if crossSystem != null then crossSystem else system; + localSystem = if crossSystem != null then crossSystem else localSystem; stdenvStages = args: let args' = args // { inherit bootstrapLlvmVersion bootstrapFiles; }; diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index d23a996dfcb48f2..b2d04c8667d5f5f 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -1,9 +1,6 @@ -{ localSystem ? { system = builtins.currentSystem; } -, crossSystem ? null -}: +{ pkgs ? import ../../.. {} }: let - pkgs = import ../../.. { inherit localSystem crossSystem; }; libc = pkgs.stdenv.cc.libc; in with pkgs; rec { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cd897ea89774530..1df7461b98decc2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1918,13 +1918,15 @@ with pkgs; brewtarget = libsForQt514.callPackage ../applications/misc/brewtarget { } ; - stdenvBootstrapTools = - let args = { crossSystem = stdenv.hostPlatform.system; }; in - if stdenv.hostPlatform.isDarwin - then callPackage ../stdenv/darwin/make-bootstrap-tools.nix args - else if stdenv.hostPlatform.isLinux - then callPackage ../stdenv/linux/make-bootstrap-tools.nix args - else throw "stdenvBootstrapTools: unknown hostPlatform ${stdenv.hostPlatform.config}"; + stdenvBootstrapTools = if stdenv.hostPlatform.isDarwin then + callPackage ../stdenv/darwin/make-bootstrap-tools.nix { + localSystem = stdenv.buildPlatform; + crossSystem = + if stdenv.buildPlatform == stdenv.hostPlatform then null else stdenv.hostPlatform; + } + else if stdenv.hostPlatform.isLinux then + callPackage ../stdenv/linux/make-bootstrap-tools.nix {} + else throw "stdenvBootstrapTools: unknown hostPlatform ${stdenv.hostPlatform.config}"; boxes = callPackage ../tools/text/boxes { };