summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2004-02-12 13:18:24 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2004-02-12 13:18:24 +0000
commit191a465665ae1bbed18aed0431a58ad53876d3e2 (patch)
tree6cab95b23e53ceb3ad8f04d1c50c48da0716e6e7
parent73049cea22e00786e949eb3e4c95659715935fa9 (diff)
* Added GHC and Helium. Note that GHC is built using a pre-built GHC
  for Linux/x86, which is not pure and doesn't work on other
  platforms!

svn path=/nixpkgs/trunk/; revision=776
-rw-r--r--pkgs/development/compilers/ghc/boot.nix16
-rwxr-xr-xpkgs/development/compilers/ghc/boot.sh11
-rwxr-xr-xpkgs/development/compilers/ghc/builder.sh11
-rw-r--r--pkgs/development/compilers/ghc/default.nix14
-rwxr-xr-xpkgs/development/compilers/helium/builder.sh15
-rw-r--r--pkgs/development/compilers/helium/default.nix14
-rw-r--r--pkgs/system/all-packages-generic.nix66
-rw-r--r--pkgs/system/populate-cache.nix4
8 files changed, 124 insertions, 27 deletions
diff --git a/pkgs/development/compilers/ghc/boot.nix b/pkgs/development/compilers/ghc/boot.nix
new file mode 100644
index 0000000000000..a11f93a33fa04
--- /dev/null
+++ b/pkgs/development/compilers/ghc/boot.nix
@@ -0,0 +1,16 @@
+{stdenv, fetchurl, perl}:
+
+assert perl != null;
+
+assert stdenv.system == "i686-linux";
+
+derivation {
+  name = "ghc-6.2";
+  system = stdenv.system;
+  builder = ./boot.sh;
+  src = fetchurl {
+    url = http://www.haskell.org/ghc/dist/6.2/ghc-6.2-i386-unknown-linux.tar.bz2;
+    md5 = "5b2f19ca00fd7494002047d7fb4dce3e";
+  };
+  inherit stdenv perl;
+}
diff --git a/pkgs/development/compilers/ghc/boot.sh b/pkgs/development/compilers/ghc/boot.sh
new file mode 100755
index 0000000000000..d08c31c9b3107
--- /dev/null
+++ b/pkgs/development/compilers/ghc/boot.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+buildinputs="$perl"
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd ghc-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
+strip -S $out/lib/*/*.a || exit 1
diff --git a/pkgs/development/compilers/ghc/builder.sh b/pkgs/development/compilers/ghc/builder.sh
new file mode 100755
index 0000000000000..9a2a235158f56
--- /dev/null
+++ b/pkgs/development/compilers/ghc/builder.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+buildinputs="$perl $ghc $m4"
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd ghc-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
+strip -S $out/lib/*/*.a || exit 1
diff --git a/pkgs/development/compilers/ghc/default.nix b/pkgs/development/compilers/ghc/default.nix
new file mode 100644
index 0000000000000..5872c81eb8bca
--- /dev/null
+++ b/pkgs/development/compilers/ghc/default.nix
@@ -0,0 +1,14 @@
+{stdenv, fetchurl, perl, ghc, m4}:
+
+assert perl != null && ghc != null && m4 != null;
+
+derivation {
+  name = "ghc-6.2";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://www.haskell.org/ghc/dist/6.2/ghc-6.2-src.tar.bz2;
+    md5 = "cc495e263f4384e1d6b38e851bf6eca0";
+  };
+  inherit stdenv perl ghc m4;
+}
diff --git a/pkgs/development/compilers/helium/builder.sh b/pkgs/development/compilers/helium/builder.sh
new file mode 100755
index 0000000000000..82667936e43e0
--- /dev/null
+++ b/pkgs/development/compilers/helium/builder.sh
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+buildinputs="$ghc"
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd helium-* || exit 1
+cd lvm/src || exit 1
+./configure --prefix $out || exit 1
+cd ../../heliumNT || exit 1
+./configure --prefix=$out || exit 1
+cd src || exit 1
+make depend || exit 1
+make EXTRA_HC_OPTS=-O2 || exit 1
+make install
diff --git a/pkgs/development/compilers/helium/default.nix b/pkgs/development/compilers/helium/default.nix
new file mode 100644
index 0000000000000..e45aab344e845
--- /dev/null
+++ b/pkgs/development/compilers/helium/default.nix
@@ -0,0 +1,14 @@
+{stdenv, fetchurl, ghc}:
+
+assert ghc != null;
+
+derivation {
+  name = "helium-1.2";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://www.cs.uu.nl/helium/distr/helium-1.2-src.tar.gz;
+    md5 = "6ea1d6e4436e137d75f5354b4758f299";
+  };
+  inherit stdenv ghc;
+}
diff --git a/pkgs/system/all-packages-generic.nix b/pkgs/system/all-packages-generic.nix
index 41559900e6537..878f5f2eee196 100644
--- a/pkgs/system/all-packages-generic.nix
+++ b/pkgs/system/all-packages-generic.nix
@@ -180,27 +180,61 @@
     inherit fetchurl stdenv binutils;
   };
 
-  perl = (import ../development/interpreters/perl) {
+  jikes = (import ../development/compilers/jikes) {
     inherit fetchurl stdenv;
   };
 
-  python = (import ../development/interpreters/python) {
+  j2sdk = (import ../development/compilers/j2sdk) {
     inherit fetchurl stdenv;
   };
 
-  python = (import ../development/interpreters/python) {
+  strategoxt = (import ../development/compilers/strategoxt) {
+    inherit fetchurl stdenv aterm;
+    sdf = sdf2;
+  };
+
+  strategoxtsvn = (import ../development/compilers/strategoxt/trunk.nix) {
+    inherit fetchsvn stdenv autotools which aterm;
+    sdf = sdf2;
+  };
+
+  strategoxt093 = (import ../development/compilers/strategoxt/strategoxt-0.9.3.nix) {
+    inherit fetchurl stdenv aterm;
+    sdf = sdf2;
+  };
+
+  tiger = (import ../development/compilers/tiger) {
+    inherit fetchurl stdenv aterm strategoxt;
+    sdf = sdf2;
+  };
+
+  ghcboot = (import ../development/compilers/ghc/boot.nix) {
+    inherit fetchurl stdenv perl;
+  };
+
+  ghc = (import ../development/compilers/ghc) {
+    inherit fetchurl stdenv perl;
+    ghc = ghcboot;
+    m4 = gnum4;
+  };
+
+  helium = (import ../development/compilers/helium) {
+    inherit fetchurl stdenv ghc;
+  };
+
+  perl = (import ../development/interpreters/perl) {
     inherit fetchurl stdenv;
   };
 
-  j2re = (import ../development/interpreters/j2re) {
+  python = (import ../development/interpreters/python) {
     inherit fetchurl stdenv;
   };
 
-  jikes = (import ../development/compilers/jikes) {
+  python = (import ../development/interpreters/python) {
     inherit fetchurl stdenv;
   };
 
-  j2sdk = (import ../development/compilers/j2sdk) {
+  j2re = (import ../development/interpreters/j2re) {
     inherit fetchurl stdenv;
   };
 
@@ -278,26 +312,6 @@
     sglr = sglr_3_10_2;
   };
 
-  strategoxt = (import ../development/compilers/strategoxt) {
-    inherit fetchurl stdenv aterm;
-    sdf = sdf2;
-  };
-
-  strategoxtsvn = (import ../development/compilers/strategoxt/trunk.nix) {
-    inherit fetchsvn stdenv autotools which aterm;
-    sdf = sdf2;
-  };
-
-  strategoxt093 = (import ../development/compilers/strategoxt/strategoxt-0.9.3.nix) {
-    inherit fetchurl stdenv aterm;
-    sdf = sdf2;
-  };
-
-  tiger = (import ../development/compilers/tiger) {
-    inherit fetchurl stdenv aterm strategoxt;
-    sdf = sdf2;
-  };
-
   expat = (import ../development/libraries/expat) {
     inherit fetchurl stdenv;
   };
diff --git a/pkgs/system/populate-cache.nix b/pkgs/system/populate-cache.nix
index 9f57ce738ede6..bb79fcead4bc1 100644
--- a/pkgs/system/populate-cache.nix
+++ b/pkgs/system/populate-cache.nix
@@ -24,9 +24,11 @@ let {
       pkgs.bisonnew
       pkgs.flexnew
       pkgs.gcc
+      pkgs.strategoxt093
+      pkgs.ghc
+      pkgs.helium
       pkgs.perl
       pkgs.python
-      pkgs.strategoxt093
       pkgs.libxml2
       pkgs.libxslt
       pkgs.docbook_xml_dtd