summary refs log tree commit diff
path: root/pkgs/stdenv/linux
diff options
context:
space:
mode:
authorroot <root@raspberrypi.(none)>2012-12-06 15:51:52 +0000
committerLluĂ­s Batlle i Rossell <viric@viric.name>2012-12-26 21:59:54 +0000
commit1b29d29c7610402cb278130f12b27900bb5a99f0 (patch)
tree7a731c60aafd237f5218bc227564b86dfbba7e78 /pkgs/stdenv/linux
parent1af2ada7d4c61e79356a0f3f8bcced6159a6e751 (diff)
downloadnixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar.gz
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar.bz2
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar.lz
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar.xz
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.tar.zst
nixlib-1b29d29c7610402cb278130f12b27900bb5a99f0.zip
First movement to get the raspberrypi stdenv building.
Diffstat (limited to 'pkgs/stdenv/linux')
-rw-r--r--pkgs/stdenv/linux/default.nix13
1 files changed, 9 insertions, 4 deletions
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 3105e76f8177..6a202951c7c1 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -16,6 +16,7 @@ rec {
     else if system == "x86_64-linux" then import ./bootstrap/x86_64
     else if system == "powerpc-linux" then import ./bootstrap/powerpc
     else if system == "armv5tel-linux" then import ./bootstrap/armv5tel
+    else if system == "armv6l-linux" then import ./bootstrap/armv5tel
     else if system == "armv7l-linux" then import ./bootstrap/armv5tel
     else if system == "mips64el-linux" then import ./bootstrap/loongson2f
     else abort "unsupported platform for the pure Linux stdenv";
@@ -57,7 +58,7 @@ rec {
     builder = bootstrapFiles.sh;
     
     args =
-      if system == "armv5tel-linux"
+      if (system == "armv5tel-linux" || system == "arm6l-linux")
       then [ ./scripts/unpack-bootstrap-tools-arm.sh ]
       else [ ./scripts/unpack-bootstrap-tools.sh ];
     
@@ -189,7 +190,7 @@ rec {
   
   # 5) Build Glibc with the bootstrap tools.  The result is the full,
   #    dynamically linked, final Glibc.
-  stdenvLinuxGlibc = stdenvLinuxBoot2Pkgs.glibc;
+  stdenvLinuxGlibc = stdenvLinuxBoot2Pkgs.glibc.override { recentGcc = false; };
 
   
   # 6) Construct a third stdenv identical to the 2nd, except that
@@ -201,19 +202,23 @@ rec {
       coreutils = bootstrapTools;
       libc = stdenvLinuxGlibc;
     };
-    overrides = pkgs: {
+    overrides = pkgs: ({
       glibc = stdenvLinuxGlibc;
       inherit (stdenvLinuxBoot1Pkgs) perl;
+    } // (if (platform ? name && platform.name != "raspberrypi") then {
       # Link GCC statically against GMP etc.  This makes sense because
       # these builds of the libraries are only used by GCC, so it
       # reduces the size of the stdenv closure.
+
+      # On raspberry pi we can't do that, because libgcc/libstdc++ are made
+      # without hardfp, and can't be linked with the new hardfp code in gcc.
       gmp = pkgs.gmp.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       mpfr = pkgs.mpfr.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       mpc = pkgs.mpc.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       isl = pkgs.isl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       cloog = pkgs.cloog.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       ppl = pkgs.ppl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
-    };
+    } else {}));
     inherit fetchurl;
   };