about summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2004-03-30 12:46:52 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2004-03-30 12:46:52 +0000
commit01a1658c6b8cdf75ad87ea24d1f82bc6c17670d4 (patch)
treef47da9f336227f99789f4f819837dcd25cc566c0 /pkgs/stdenv
parent68327c3a9dbbea3cd647c509d8cfd2db8ccd0c72 (diff)
downloadnixlib-01a1658c6b8cdf75ad87ea24d1f82bc6c17670d4.tar
nixlib-01a1658c6b8cdf75ad87ea24d1f82bc6c17670d4.tar.gz
nixlib-01a1658c6b8cdf75ad87ea24d1f82bc6c17670d4.tar.bz2
nixlib-01a1658c6b8cdf75ad87ea24d1f82bc6c17670d4.tar.lz
nixlib-01a1658c6b8cdf75ad87ea24d1f82bc6c17670d4.tar.xz
nixlib-01a1658c6b8cdf75ad87ea24d1f82bc6c17670d4.tar.zst
nixlib-01a1658c6b8cdf75ad87ea24d1f82bc6c17670d4.zip
* Finally we have a working stdenvLinux again.
  On the downside, the build process of stdenvLinux builds gcc 9 times
  (3 x 3 bootstrap stages).  That's a bit excessive.

svn path=/nixpkgs/trunk/; revision=880
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/generic/builder.sh1
-rw-r--r--pkgs/stdenv/generic/default.nix8
-rw-r--r--pkgs/stdenv/generic/setup.sh1
-rw-r--r--pkgs/stdenv/initial/default.nix8
-rw-r--r--pkgs/stdenv/native/default.nix2
-rw-r--r--pkgs/stdenv/native/prehook.sh2
-rw-r--r--pkgs/stdenv/nix-linux/boot.nix19
-rw-r--r--pkgs/stdenv/nix-linux/default.nix7
-rw-r--r--pkgs/stdenv/nix-linux/prehook-boot.sh3
-rw-r--r--pkgs/stdenv/nix-linux/prehook.sh2
-rw-r--r--pkgs/stdenv/nix/default.nix5
-rw-r--r--pkgs/stdenv/nix/prehook.sh3
12 files changed, 20 insertions, 41 deletions
diff --git a/pkgs/stdenv/generic/builder.sh b/pkgs/stdenv/generic/builder.sh
index b3d464322499..bbcd19448cb7 100644
--- a/pkgs/stdenv/generic/builder.sh
+++ b/pkgs/stdenv/generic/builder.sh
@@ -13,6 +13,7 @@ sed \
  -e "s^@postHook@^$postHook^g" \
  -e "s^@initialPath@^$initialPath^g" \
  -e "s^@gcc@^$gcc^g" \
+ -e "s^@shell@^$shell^g" \
  -e "s^@param1@^$p1^g" \
  -e "s^@param2@^$p2^g" \
  -e "s^@param3@^$p3^g" \
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index d7b953ffb056..3aa2d3bfac07 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, name, preHook ? null, postHook ? null, initialPath, gcc, bash
+{ stdenv, name, preHook ? null, postHook ? null, initialPath, gcc, shell
 , param1 ? "", param2 ? "", param3 ? "", param4 ? "", param5 ? ""
 }:
 
@@ -13,17 +13,17 @@ let {
 
       setup = ./setup.sh;
 
-      inherit preHook postHook initialPath gcc;
+      inherit preHook postHook initialPath gcc shell;
 
       # TODO: make this more elegant.
       inherit param1 param2 param3 param4 param5;
     }
 
     # Add a utility function to produce derivations that use this
-    # stdenv and its the bash shell.
+    # stdenv and its shell.
     // {
       mkDerivation = attrs: derivation (attrs // {
-        builder = bash;
+        builder = shell;
         args = ["-e" (if attrs ? builder then attrs.builder else ./default-builder.sh)];
         stdenv = body;
         system = body.system;
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index 074e738dca37..4f1485f224bf 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -15,6 +15,7 @@ fi
 
 
 # Execute the pre-hook.
+export SHELL=@shell@
 param1=@param1@
 param2=@param2@
 param3=@param3@
diff --git a/pkgs/stdenv/initial/default.nix b/pkgs/stdenv/initial/default.nix
index 6a62751b0370..4c67fee7cd5a 100644
--- a/pkgs/stdenv/initial/default.nix
+++ b/pkgs/stdenv/initial/default.nix
@@ -7,21 +7,25 @@
 
 let {
 
+  shell = "/bin/sh";
+
   body = 
 
     derivation {
       inherit system name;
-      builder = "/bin/sh";
+      builder = shell;
       args = ["-e" ./builder.sh];
     }
 
     // {
       mkDerivation = attrs: derivation (attrs // {
-        builder = "/bin/sh";
+        builder = shell;
         args = ["-e" attrs.builder];
         stdenv = body;
         system = body.system;
       });
+
+      inherit shell;
     };
 
 }
diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix
index 143230fbd893..2dae9c9fbf43 100644
--- a/pkgs/stdenv/native/default.nix
+++ b/pkgs/stdenv/native/default.nix
@@ -15,5 +15,5 @@ genericStdenv {
     inherit stdenv;
   };
 
-  bash = "/bin/sh";
+  shell = "/bin/sh";
 }
diff --git a/pkgs/stdenv/native/prehook.sh b/pkgs/stdenv/native/prehook.sh
index 21248e16cdb2..1714586999e1 100644
--- a/pkgs/stdenv/native/prehook.sh
+++ b/pkgs/stdenv/native/prehook.sh
@@ -1,3 +1 @@
-export SHELL=/bin/sh
-
 export NIX_ENFORCE_PURITY=
diff --git a/pkgs/stdenv/nix-linux/boot.nix b/pkgs/stdenv/nix-linux/boot.nix
deleted file mode 100644
index b556ba9ba361..000000000000
--- a/pkgs/stdenv/nix-linux/boot.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{stdenv, glibc, genericStdenv, gccWrapper}:
-
-genericStdenv {
-  name = "stdenv-nix-linux-boot";
-  preHook = ./prehook-boot.sh;
-  initialPath = "/usr/local /usr /";
-
-  inherit stdenv;
-
-  gcc = gccWrapper {
-    name = "gcc-native";
-    nativeTools = true;
-    nativeGlibc = false;
-    nativePrefix = "/usr";
-    inherit stdenv glibc;
-  };
-
-  bash = "/bin/sh";
-}
diff --git a/pkgs/stdenv/nix-linux/default.nix b/pkgs/stdenv/nix-linux/default.nix
index 9b4231962c30..c06f2cf815a1 100644
--- a/pkgs/stdenv/nix-linux/default.nix
+++ b/pkgs/stdenv/nix-linux/default.nix
@@ -12,10 +12,9 @@ genericStdenv {
     nativeTools = false;
     nativeGlibc = false;
     inherit (pkgs) gcc binutils;
-    inherit glibc;
+    inherit stdenv glibc;
+    shell = pkgs.bash ~ /bin/sh;
   };
 
-  bash = pkgs.bash ~ /bin/sh;
-
-  param1 = pkgs.bash;
+  shell = pkgs.bash ~ /bin/sh;
 }
diff --git a/pkgs/stdenv/nix-linux/prehook-boot.sh b/pkgs/stdenv/nix-linux/prehook-boot.sh
deleted file mode 100644
index 21248e16cdb2..000000000000
--- a/pkgs/stdenv/nix-linux/prehook-boot.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-export SHELL=/bin/sh
-
-export NIX_ENFORCE_PURITY=
diff --git a/pkgs/stdenv/nix-linux/prehook.sh b/pkgs/stdenv/nix-linux/prehook.sh
index 0e0bada4fcb2..08bb6c0332c9 100644
--- a/pkgs/stdenv/nix-linux/prehook.sh
+++ b/pkgs/stdenv/nix-linux/prehook.sh
@@ -1,3 +1 @@
-export SHELL=$param1
-
 export NIX_ENFORCE_PURITY=1
diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix
index 5634553dd500..f3fb4a4f9517 100644
--- a/pkgs/stdenv/nix/default.nix
+++ b/pkgs/stdenv/nix/default.nix
@@ -13,9 +13,8 @@ genericStdenv {
     nativeGlibc = true;
     inherit (pkgs) gcc binutils;
     inherit stdenv;
+    shell = pkgs.bash ~ /bin/sh;
   };
 
-  bash = pkgs.bash ~ /bin/sh;
-
-  param1 = pkgs.bash;
+  shell = pkgs.bash ~ /bin/sh;
 }
diff --git a/pkgs/stdenv/nix/prehook.sh b/pkgs/stdenv/nix/prehook.sh
index af5121f49c38..734d0f1ae83a 100644
--- a/pkgs/stdenv/nix/prehook.sh
+++ b/pkgs/stdenv/nix/prehook.sh
@@ -1 +1,2 @@
-export SHELL=$param1
+export NIX_ENFORCE_PURITY=1
+export NIX_IGNORE_LD_THROUGH_GCC=1