diff --git a/pkgs/development/compilers/ghc/boot.nix b/pkgs/development/compilers/ghc/boot.nix new file mode 100644 index 00000000000..a11f93a33fa --- /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 00000000000..d08c31c9b31 --- /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 00000000000..9a2a235158f --- /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 00000000000..5872c81eb8b --- /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 00000000000..82667936e43 --- /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 00000000000..e45aab344e8 --- /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 41559900e65..878f5f2eee1 100644 --- a/pkgs/system/all-packages-generic.nix +++ b/pkgs/system/all-packages-generic.nix @@ -180,6 +180,48 @@ inherit fetchurl stdenv binutils; }; + jikes = (import ../development/compilers/jikes) { + inherit fetchurl stdenv; + }; + + j2sdk = (import ../development/compilers/j2sdk) { + inherit fetchurl stdenv; + }; + + 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; }; @@ -196,14 +238,6 @@ inherit fetchurl stdenv; }; - jikes = (import ../development/compilers/jikes) { - inherit fetchurl stdenv; - }; - - j2sdk = (import ../development/compilers/j2sdk) { - inherit fetchurl stdenv; - }; - apacheant = (import ../development/tools/build-managers/apache-ant) { inherit fetchurl stdenv j2sdk; }; @@ -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 9f57ce738ed..bb79fcead4b 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