diff options
author | root <root@raspberrypi.(none)> | 2012-12-06 15:51:52 +0000 |
---|---|---|
committer | LluĂs Batlle i Rossell <viric@viric.name> | 2012-12-26 21:59:54 +0000 |
commit | 1b29d29c7610402cb278130f12b27900bb5a99f0 (patch) | |
tree | 7a731c60aafd237f5218bc227564b86dfbba7e78 /pkgs/stdenv | |
parent | 1af2ada7d4c61e79356a0f3f8bcced6159a6e751 (diff) | |
download | nixlib-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')
-rw-r--r-- | pkgs/stdenv/default.nix | 1 | ||||
-rw-r--r-- | pkgs/stdenv/generic/default.nix | 2 | ||||
-rw-r--r-- | pkgs/stdenv/linux/default.nix | 13 |
3 files changed, 12 insertions, 4 deletions
diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix index 8e0da288eec7..3c75597afca9 100644 --- a/pkgs/stdenv/default.nix +++ b/pkgs/stdenv/default.nix @@ -55,6 +55,7 @@ rec { if stdenvType == "i686-linux" then stdenvLinux else if stdenvType == "x86_64-linux" then stdenvLinux else if stdenvType == "armv5tel-linux" then stdenvLinux else + if stdenvType == "armv6l-linux" then stdenvLinux else if stdenvType == "armv7l-linux" then stdenvLinux else if stdenvType == "mips64el-linux" then stdenvLinux else if stdenvType == "powerpc-linux" then /* stdenvLinux */ stdenvNative else diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 20cbb1b455ca..ea101ddb075c 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -87,6 +87,7 @@ let || result.system == "x86_64-linux" || result.system == "powerpc-linux" || result.system == "armv5tel-linux" + || result.system == "armv6l-linux" || result.system == "armv7l-linux" || result.system == "mips64el-linux"; isGNU = result.system == "i686-gnu"; # GNU/Hurd @@ -120,6 +121,7 @@ let isMips = result.system == "mips-linux" || result.system == "mips64el-linux"; isArm = result.system == "armv5tel-linux" + || result.system == "armv6l-linux" || result.system == "armv7l-linux"; # Utility function: allow stdenv to be easily regenerated with 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; }; |