about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/stdenv/default.nix4
-rw-r--r--pkgs/stdenv/linux/default.nix14
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 12 insertions, 8 deletions
diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix
index 037a60da7e68..940df3e224de 100644
--- a/pkgs/stdenv/default.nix
+++ b/pkgs/stdenv/default.nix
@@ -10,7 +10,7 @@
 # system, e.g., cygwin and mingw builds on i686-cygwin.  Most people
 # can ignore it.
 
-{system, stdenvType ? system, allPackages ? import ../..}:
+{system, stdenvType ? system, allPackages ? import ../.., platform}:
 
 assert system != "i686-cygwin" -> system == stdenvType;
 
@@ -41,7 +41,7 @@ rec {
 
 
   # Linux standard environment.
-  stdenvLinux = (import ./linux {inherit system allPackages;}).stdenvLinux;
+  stdenvLinux = (import ./linux {inherit system allPackages platform;}).stdenvLinux;
 
     
   # MinGW/MSYS standard environment.
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 04009fd5bee6..5654a8ccaf58 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -5,7 +5,7 @@
 # ensuring purity of components produced by it.
 
 # The function defaults are for easy testing.
-{system ? "i686-linux", allPackages ? import ../../top-level/all-packages.nix}:
+{system ? "i686-linux", allPackages ? import ../../top-level/all-packages.nix, platform}:
 
 rec {
 
@@ -91,7 +91,10 @@ rec {
       shell = "${bootstrapTools}/bin/sh";
       initialPath = [bootstrapTools] ++ extraPath;
       fetchurlBoot = fetchurl;
-      inherit gcc extraAttrs;
+      inherit gcc;
+      # Having the proper 'platform' in all the stdenvs allows getting proper
+      # linuxHeaders for example.
+      extraAttrs = extraAttrs // { inherit platform; };
       overrides = overrides // {
         inherit fetchurl;
       };
@@ -153,7 +156,7 @@ rec {
   # 2) These are the packages that we can build with the first
   #    stdenv.  We only need Glibc (in step 3).
   stdenvLinuxBoot1Pkgs = allPackages {
-    inherit system;
+    inherit system platform;
     bootStdenv = stdenvLinuxBoot1;
   };
 
@@ -182,7 +185,7 @@ rec {
   
   # 5) The packages that can be built using the second stdenv.
   stdenvLinuxBoot2Pkgs = allPackages {
-    inherit system;
+    inherit system platform;
     bootStdenv = stdenvLinuxBoot2;
   };
 
@@ -220,7 +223,7 @@ rec {
   
   # 7) The packages that can be built using the third stdenv.
   stdenvLinuxBoot3Pkgs = allPackages {
-    inherit system;
+    inherit system platform;
     bootStdenv = stdenvLinuxBoot3;
   };
 
@@ -257,6 +260,7 @@ rec {
     
     extraAttrs = {
       inherit (stdenvLinuxBoot2Pkgs) glibc;
+      inherit platform;
     };
 
     overrides = {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index bb652f691c03..e6c196eed5d3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -177,7 +177,7 @@ let
 
 
   allStdenvs = import ../stdenv {
-    inherit system stdenvType;
+    inherit system stdenvType platform;
     allPackages = args: import ./all-packages.nix ({ inherit config; } // args);
   };