summary refs log tree commit diff
path: root/pkgs/development/libraries/glibc
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-03-21 13:08:19 +0100
committerLudovic Courtès <ludo@gnu.org>2013-03-21 13:08:38 +0100
commitd69e680035775ada41ff043a07652d79cf1a8fd7 (patch)
tree659d67e183f1bd7beb85b117cf01253078d6e7fa /pkgs/development/libraries/glibc
parent899367760726d33e883d7428acffff72db3a0c02 (diff)
downloadnixlib-d69e680035775ada41ff043a07652d79cf1a8fd7.tar
nixlib-d69e680035775ada41ff043a07652d79cf1a8fd7.tar.gz
nixlib-d69e680035775ada41ff043a07652d79cf1a8fd7.tar.bz2
nixlib-d69e680035775ada41ff043a07652d79cf1a8fd7.tar.lz
nixlib-d69e680035775ada41ff043a07652d79cf1a8fd7.tar.xz
nixlib-d69e680035775ada41ff043a07652d79cf1a8fd7.tar.zst
nixlib-d69e680035775ada41ff043a07652d79cf1a8fd7.zip
glibc 2.17: Reinstate support for cross-GNU builds.
Diffstat (limited to 'pkgs/development/libraries/glibc')
-rw-r--r--pkgs/development/libraries/glibc/2.17/common.nix22
-rw-r--r--pkgs/development/libraries/glibc/2.17/default.nix8
2 files changed, 20 insertions, 10 deletions
diff --git a/pkgs/development/libraries/glibc/2.17/common.nix b/pkgs/development/libraries/glibc/2.17/common.nix
index 3006ff490136..fb4083066de5 100644
--- a/pkgs/development/libraries/glibc/2.17/common.nix
+++ b/pkgs/development/libraries/glibc/2.17/common.nix
@@ -3,7 +3,7 @@
 
 cross:
 
-{ name, fetchurl, stdenv, installLocales ? false
+{ name, fetchurl, fetchgit ? null, stdenv, installLocales ? false
 , gccCross ? null, kernelHeaders ? null
 , machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
 , mig ? null
@@ -118,16 +118,26 @@ stdenv.mkDerivation ({
 
 # Remove the `gccCross' attribute so that the *native* glibc store path
 # doesn't depend on whether `gccCross' is null or not.
-// (removeAttrs args [ "gccCross" "fetchurl" ]) //
+// (removeAttrs args [ "gccCross" "fetchurl" "fetchgit" ]) //
 
 {
   name = name + "-${version}" +
     stdenv.lib.optionalString (cross != null) "-${cross.config}";
 
-  src = fetchurl {
-    url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
-    sha256 = "0ym3zk9ii64279wgw7pw9xkbxczy2ci7ka6mnfs05rhlainhicm3";
-  };
+  src =
+    if hurdHeaders != null
+    then fetchgit {
+      # Shamefully the "official" glibc won't build on GNU, so use the one
+      # maintained by the Hurd folks, `tschwinge/Roger_Whittaker' branch.
+      # See <http://www.gnu.org/software/hurd/source_repositories/glibc.html>.
+      url = "git://git.sv.gnu.org/hurd/glibc.git";
+      sha256 = "cecec9dd5a2bafc875c56b058b6d7628a22b250b53747513dec304f31ffdb82d";
+      rev = "d3cdecf18e6550b0984a42b43ed48c5fb26501e1";
+    }
+    else fetchurl {
+      url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
+      sha256 = "0ym3zk9ii64279wgw7pw9xkbxczy2ci7ka6mnfs05rhlainhicm3";
+    };
 
   # Remove absolute paths from `configure' & co.; build out-of-tree.
   preConfigure = ''
diff --git a/pkgs/development/libraries/glibc/2.17/default.nix b/pkgs/development/libraries/glibc/2.17/default.nix
index 0a0752570f32..1985790e9a1f 100644
--- a/pkgs/development/libraries/glibc/2.17/default.nix
+++ b/pkgs/development/libraries/glibc/2.17/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernelHeaders
+{ stdenv, fetchurl, fetchgit, kernelHeaders
 , machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
 , mig ? null
 , installLocales ? true
@@ -18,8 +18,8 @@ in
       + stdenv.lib.optionalString (hurdHeaders != null) "-hurd"
       + stdenv.lib.optionalString debugSymbols "-debug";
 
-    inherit fetchurl stdenv kernelHeaders installLocales profilingLibraries
-      gccCross;
+    inherit fetchurl fetchgit stdenv kernelHeaders installLocales
+      profilingLibraries gccCross;
 
     builder = ./builder.sh;
 
@@ -56,7 +56,7 @@ in
 
   (if hurdHeaders != null
    then rec {
-     inherit machHeaders hurdHeaders libpthreadHeaders mig;
+     inherit machHeaders hurdHeaders libpthreadHeaders mig fetchgit;
 
      propagatedBuildInputs = [ machHeaders hurdHeaders libpthreadHeaders ];