summary refs log tree commit diff
path: root/pkgs/stdenv/default.nix
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-12-04 21:06:46 -0600
committerMatthew Bauer <mjbauer95@gmail.com>2018-12-04 21:06:46 -0600
commita3a6ad7a01e943a4097c87cb144d331910693d82 (patch)
tree2f45f710bebba782423e8b64a71ba3c44e9af046 /pkgs/stdenv/default.nix
parent9d8de9ffaa1bcdd4dc54b0e40666f0c42026a43c (diff)
downloadnixpkgs-a3a6ad7a01e943a4097c87cb144d331910693d82.tar
nixpkgs-a3a6ad7a01e943a4097c87cb144d331910693d82.tar.gz
nixpkgs-a3a6ad7a01e943a4097c87cb144d331910693d82.tar.bz2
nixpkgs-a3a6ad7a01e943a4097c87cb144d331910693d82.tar.lz
nixpkgs-a3a6ad7a01e943a4097c87cb144d331910693d82.tar.xz
nixpkgs-a3a6ad7a01e943a4097c87cb144d331910693d82.tar.zst
nixpkgs-a3a6ad7a01e943a4097c87cb144d331910693d82.zip
stdenv: implement crossOverlays
crossOverlays only apply to the packages being built, not the build
packages. It is useful when you don’t care what is used to build your
packages, just what is being built. The idea relies heavily on the
cross compiling infrastructure. Using this implies that we need to
create a cross stdenv.
Diffstat (limited to 'pkgs/stdenv/default.nix')
-rw-r--r--pkgs/stdenv/default.nix4
1 files changed, 2 insertions, 2 deletions
diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix
index 210e0439c0b..c0bbe24e521 100644
--- a/pkgs/stdenv/default.nix
+++ b/pkgs/stdenv/default.nix
@@ -7,7 +7,7 @@
 { # Args just for stdenvs' usage
   lib
   # Args to pass on to the pkgset builder, too
-, localSystem, crossSystem, config, overlays
+, localSystem, crossSystem, config, overlays, crossOverlays ? []
 } @ args:
 
 let
@@ -36,7 +36,7 @@ let
 
   # Select the appropriate stages for the platform `system'.
 in
-  if crossSystem != null then stagesCross
+  if crossSystem != localSystem || crossOverlays != [] then stagesCross
   else if config ? replaceStdenv then stagesCustom
   else { # switch
     "i686-linux" = stagesLinux;