diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix index da4a94e34b01a..1fed692fd1cee 100644 --- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix +++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix @@ -1,7 +1,5 @@ { pkgspath ? ../../.., test-pkgspath ? pkgspath -, localSystem ? { system = builtins.currentSystem; } -, crossSystem ? null -, bootstrapFiles ? null +, system ? builtins.currentSystem, crossSystem ? null, bootstrapFiles ? null }: let cross = if crossSystem != null @@ -13,7 +11,7 @@ let cross = if crossSystem != null in (import "${pkgspath}/pkgs/stdenv/darwin" args').stagesDarwin; } else {}; -in with import pkgspath ({ inherit localSystem; } // cross // custom-bootstrap); +in with import pkgspath ({ inherit system; } // cross // custom-bootstrap); let llvmPackages = llvmPackages_11; @@ -366,7 +364,7 @@ in rec { test-pkgs = import test-pkgspath { # if the bootstrap tools are for another platform, we should be testing # that platform. - localSystem = if crossSystem != null then crossSystem else localSystem; + system = if crossSystem != null then crossSystem else system; 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 b2d04c8667d5f..d23a996dfcb48 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -1,6 +1,9 @@ -{ pkgs ? import ../../.. {} }: +{ localSystem ? { system = builtins.currentSystem; } +, crossSystem ? null +}: 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 9af17a4d2253c..dcdae6713d01b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2054,18 +2054,13 @@ with pkgs; brewtarget = libsForQt514.callPackage ../applications/misc/brewtarget { } ; - # Derivation's result is not used by nixpkgs. Useful for validation for - # regressions of bootstrapTools on hydra and on ofborg. Example: - # pkgsCross.aarch64-multiplatform.freshBootstrapTools.build - freshBootstrapTools = 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 "freshBootstrapTools: unknown hostPlatform ${stdenv.hostPlatform.config}"; + freshBootstrapTools = + 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 "freshBootstrapTools: unknown hostPlatform ${stdenv.hostPlatform.config}"; boxes = callPackage ../tools/text/boxes { };