about summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2005-10-02 18:48:08 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2005-10-02 18:48:08 +0000
commitefdb847441313ad355e25058dc69ccc527f2ea33 (patch)
tree64af765d9828c2e1f60b9369a970958817c0cb24 /pkgs/development/compilers
parente11a1e014c63fc3832432ddc1075e2446d5e45b0 (diff)
downloadnixlib-efdb847441313ad355e25058dc69ccc527f2ea33.tar
nixlib-efdb847441313ad355e25058dc69ccc527f2ea33.tar.gz
nixlib-efdb847441313ad355e25058dc69ccc527f2ea33.tar.bz2
nixlib-efdb847441313ad355e25058dc69ccc527f2ea33.tar.lz
nixlib-efdb847441313ad355e25058dc69ccc527f2ea33.tar.xz
nixlib-efdb847441313ad355e25058dc69ccc527f2ea33.tar.zst
nixlib-efdb847441313ad355e25058dc69ccc527f2ea33.zip
* Use the new patchelf to build GHC in a fully pure way. Should be
  checked on NixOS.

svn path=/nixpkgs/trunk/; revision=3993
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/ghc/boot.nix15
-rw-r--r--pkgs/development/compilers/ghc/boot.sh11
-rw-r--r--pkgs/development/compilers/ghc/default.nix8
3 files changed, 22 insertions, 12 deletions
diff --git a/pkgs/development/compilers/ghc/boot.nix b/pkgs/development/compilers/ghc/boot.nix
index c46b3aa2fffb..a6e04b4d4489 100644
--- a/pkgs/development/compilers/ghc/boot.nix
+++ b/pkgs/development/compilers/ghc/boot.nix
@@ -1,14 +1,15 @@
-{stdenv, fetchurl, perl}:
-
-assert perl != null;
+{stdenv, fetchurl, perl, patchelf, readline, ncurses}:
 
 assert stdenv.system == "i686-linux";
 
 stdenv.mkDerivation {
-  name = "ghc-6.2.1";
+  name = "ghc-6.4.1";
+  builder = ./boot.sh;
   src = fetchurl {
-    url = http://nix.cs.uu.nl/dist/tarballs/ghc-6.2.1-i386-unknown-linux.tar.bz2;
-    md5 = "48d9d6b9f7bf1f15d69e8bd732ee254c";
+    url = http://www.haskell.org/ghc/dist/6.4.1/ghc-6.4.1-i386-unknown-linux.tar.bz2;
+    md5 = "9cd18a8e946da91b373b8ec855cd842e";
   };
-  buildInputs = [perl];
+  buildInputs = [perl patchelf];
+  propagatedBuildInputs = [readline ncurses];
+  inherit readline ncurses;
 }
diff --git a/pkgs/development/compilers/ghc/boot.sh b/pkgs/development/compilers/ghc/boot.sh
new file mode 100644
index 000000000000..c4db43d735f8
--- /dev/null
+++ b/pkgs/development/compilers/ghc/boot.sh
@@ -0,0 +1,11 @@
+source $stdenv/setup
+
+postBuild=postBuild
+postBuild () {
+    glibc=$(cat $NIX_GCC/nix-support/orig-glibc)
+    find . -type f -perm +100 \
+        -exec patchelf --interpreter $glibc/lib/ld-linux.so.* \
+        --set-rpath "$readline/lib:$ncurses/lib" {} \;
+}
+
+genericBuild
diff --git a/pkgs/development/compilers/ghc/default.nix b/pkgs/development/compilers/ghc/default.nix
index f6142f434ecf..b26a5154bf60 100644
--- a/pkgs/development/compilers/ghc/default.nix
+++ b/pkgs/development/compilers/ghc/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl, perl, ghc, m4}:
 
-assert perl != null && ghc != null && m4 != null;
-
 stdenv.mkDerivation {
-  name = "ghc-6.2.1";
+  name = "ghc-6.4.1";
   src = fetchurl {
-    url = http://nix.cs.uu.nl/dist/tarballs/ghc-6.2.1-src.tar.bz2;
-    md5 = "fa9f90fd6b8852679c5fc16509e94d7a";
+    url = http://www.haskell.org/ghc/dist/6.4.1/ghc-6.4.1-src.tar.bz2;
+    md5 = "fd289bc7c3afa272ff831a71a50b5b00";
   };
   buildInputs = [perl ghc m4];
 }