about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2015-01-16 22:51:21 +0100
committerPeter Simons <simons@cryp.to>2015-01-17 20:29:00 +0100
commit20560e667aabe660db7bbfa13e6841dc2fdca1e2 (patch)
treec9af16c540eceaeeae53a7f50e4b847a3bbfa289
parent54bbfd544087dcaf422899191db2a0ce4425b67f (diff)
Remove obsolete, broken, and unnecessary versions of GHC.
These versions have been removed:

 - 6.4.2-binary.nix
 - 6.4.2.nix
 - 6.6.1.nix
 - 6.8.2.nix
 - 6.8.3.nix
 - 6.10.1-binary.nix
 - 6.10.1.nix
 - 6.10.2.nix
 - 6.10.3.nix
 - 6.11.nix
 - 6.12.1-binary.nix
 - 6.12.1.nix
 - 6.12.2.nix
 - 7.0.1.nix
 - 7.0.2.nix
 - 7.0.3.nix
 - 7.2.1.nix
 - 7.4.1.nix
 - 7.6.1.nix
 - 7.6.2.nix
 - 7.8.3-binary.nix

As a rule of thumb, we keep the latest version in every major release. If
someone feels up to the task of fixing versions 6.4.x, 6.6.x, and 6.8.x, then
please don't hesitate to revive those builds.

Fixes https://github.com/NixOS/nixpkgs/issues/5630.
-rw-r--r--pkgs/development/compilers/ghc/6.10.1-binary.nix103
-rw-r--r--pkgs/development/compilers/ghc/6.10.1.nix59
-rw-r--r--pkgs/development/compilers/ghc/6.10.2.nix58
-rw-r--r--pkgs/development/compilers/ghc/6.10.3.nix59
-rw-r--r--pkgs/development/compilers/ghc/6.11.nix32
-rw-r--r--pkgs/development/compilers/ghc/6.12.1-binary.nix104
-rw-r--r--pkgs/development/compilers/ghc/6.12.1.nix83
-rw-r--r--pkgs/development/compilers/ghc/6.12.2.nix83
-rw-r--r--pkgs/development/compilers/ghc/6.4.2-binary.nix67
-rw-r--r--pkgs/development/compilers/ghc/6.4.2.nix28
-rw-r--r--pkgs/development/compilers/ghc/6.6.1.nix46
-rw-r--r--pkgs/development/compilers/ghc/6.8.2.nix35
-rw-r--r--pkgs/development/compilers/ghc/6.8.3.nix37
-rw-r--r--pkgs/development/compilers/ghc/7.0.1.nix83
-rw-r--r--pkgs/development/compilers/ghc/7.0.2.nix45
-rw-r--r--pkgs/development/compilers/ghc/7.0.3.nix45
-rw-r--r--pkgs/development/compilers/ghc/7.2.1.nix45
-rw-r--r--pkgs/development/compilers/ghc/7.4.1.nix45
-rw-r--r--pkgs/development/compilers/ghc/7.6.1.nix46
-rw-r--r--pkgs/development/compilers/ghc/7.6.2.nix47
-rw-r--r--pkgs/development/compilers/ghc/7.8.3-binary.nix78
-rw-r--r--pkgs/top-level/haskell-defaults.nix71
-rw-r--r--pkgs/top-level/haskell-ng.nix1
23 files changed, 10 insertions, 1290 deletions
diff --git a/pkgs/development/compilers/ghc/6.10.1-binary.nix b/pkgs/development/compilers/ghc/6.10.1-binary.nix
deleted file mode 100644
index 02e37cc42cf16..0000000000000
--- a/pkgs/development/compilers/ghc/6.10.1-binary.nix
+++ /dev/null
@@ -1,103 +0,0 @@
-{stdenv, fetchurl, perl, libedit, ncurses, gmp}:
-
-stdenv.mkDerivation rec {
-  version = "6.10.1";
-
-  name = "ghc-${version}-binary";
-
-  src =
-    if stdenv.system == "i686-linux" then
-      fetchurl {
-        # This binary requires libedit.so.0 (rather than libedit.so.2).
-        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
-        sha256 = "18l0vwlf7y86s65klpdvz4ccp8kydvcmyh03c86hld8jvx16q7zz";
-      }
-    else if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        # Idem.
-        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
-        sha256 = "14jvvn333i36wm7mmvi47jr93f5hxrw1h2dpjvqql0rp00svhzzg";
-      }
-    else if stdenv.system == "i686-darwin" then
-      fetchurl {
-        # Idem.
-        url = "http://haskell.org/ghc/dist/${version}/maeder/ghc-${version}-i386-apple-darwin.tar.bz2";
-        sha256 = "0lax61cfzxkrjb7an3magdax6c8fygsirpw9qfmc651k2sfby1mq";
-      }
-    else throw "cannot bootstrap GHC on this platform";
-
-  buildInputs = [perl];
-
-  postUnpack =
-    # Strip is harmful, see also below. It's important that this happens
-    # first. The GHC Cabal build system makes use of strip by default and
-    # has hardcoded paths to /usr/bin/strip in many places. We replace
-    # those below, making them point to our dummy script.
-     ''
-      mkdir "$TMP/bin"
-      for i in strip; do
-        echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
-        chmod +x "$TMP/bin/$i"
-      done
-      PATH="$TMP/bin:$PATH"
-     '' +
-    # On Linux, use patchelf to modify the executables so that they can
-    # find editline/gmp.
-    (if stdenv.isLinux then ''
-      find . -type f -perm +100 \
-          -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "${libedit}/lib:${ncurses}/lib:${gmp}/lib" {} \;
-      for prog in ld ar gcc strip ranlib; do
-        find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
-      done
-     '' else "");
-
-  configurePhase = ''
-    ${if stdenv.isDarwin then "export DYLD_LIBRARY_PATH=${gmp}/lib" else ""}
-    cp $(type -P pwd) utils/pwd/pwd
-    ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
-  '';
-
-  # Stripping combined with patchelf breaks the executables (they die
-  # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
-  dontStrip = true;
-
-  # No building is necessary, but calling make without flags ironically
-  # calls install-strip ...
-  buildPhase = "true";
-
-  # The binaries for Darwin use frameworks, so fake those frameworks,
-  # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
-  # that the executables work with no special setup.
-  postInstall =
-    (if stdenv.isDarwin then
-      ''
-        mv $out/bin $out/bin-orig
-        mkdir $out/bin
-        for i in $(cd $out/bin-orig && ls); do
-            echo "#! $SHELL -e" >> $out/bin/$i
-            echo "export DYLD_LIBRARY_PATH=\"${gmp}/lib:${libedit}/lib\"" >> $out/bin/$i
-            echo "exec $out/bin-orig/$i \"\$@\"" >> $out/bin/$i
-            chmod +x $out/bin/$i
-        done
-      '' else "")
-    +
-      ''
-        # bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
-        sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
-
-        # Sanity check, can ghc create executables?
-        cd $TMP
-        mkdir test-ghc; cd test-ghc
-        cat > main.hs << EOF
-          module Main where
-          main = putStrLn "yes"
-        EOF
-        $out/bin/ghc --make main.hs
-        echo compilation ok
-        [ $(./main) == "yes" ]
-      '';
-
-  meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
-}
diff --git a/pkgs/development/compilers/ghc/6.10.1.nix b/pkgs/development/compilers/ghc/6.10.1.nix
deleted file mode 100644
index 7c18d76626e2b..0000000000000
--- a/pkgs/development/compilers/ghc/6.10.1.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "6.10.1";
-
-  name = "ghc-${version}";
-
-  homepage = "http://haskell.org/ghc";
-
-  src = fetchurl {
-    url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "16q08cxxsmh4hgjhvkl739pc1hh81gljycfq1d2z6m1ld3jpbi22";
-  };
-
-  buildInputs = [ghc libedit perl gmp];
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  meta = {
-    inherit homepage;
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-
-  passthru = {
-    corePackages = [
-      [ "Cabal" "1.6.0.1" ]
-      [ "array" "0.2.0.0" ]
-      [ "base" "3.0.3.0" ]
-      [ "base" "4.0.0.0" ]
-      [ "bytestring" "0.9.1.4" ]
-      [ "containers" "0.2.0.0" ]
-      [ "directory" "1.0.0.2" ]
-      [ "editline" "0.2.1.0" ]
-      [ "filepath" "1.1.0.1" ]
-      [ "(ghc" "6.10.1)" ]
-      [ "ghc-prim" "0.1.0.0" ]
-      [ "haddock" "2.3.0" ]
-      [ "haskell98" "1.0.1.0" ]
-      [ "hpc" "0.5.0.2" ]
-      [ "integer" "0.1.0.0" ]
-      [ "old-locale" "1.0.0.1" ]
-      [ "old-time" "1.0.0.1" ]
-      [ "packedstring" "0.1.0.1" ]
-      [ "pretty" "1.0.1.0" ]
-      [ "process" "1.0.1.0" ]
-      [ "random" "1.0.0.1" ]
-      [ "rts" "1.0" ]
-      [ "syb" "0.1.0.0" ]
-      [ "template-haskell" "2.3.0.0" ]
-      [ "unix" "2.3.1.0" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.10.2.nix b/pkgs/development/compilers/ghc/6.10.2.nix
deleted file mode 100644
index 9261ead80d715..0000000000000
--- a/pkgs/development/compilers/ghc/6.10.2.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "6.10.2";
-
-  name = "ghc-${version}";
-
-  homepage = "http://haskell.org/ghc";
-
-  src = fetchurl {
-    url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "0q3wgp8svfl54kpyp55a1kh63cni5vzz811hqjsps84jdg0lg56m";
-  };
-
-  buildInputs = [ghc libedit perl gmp];
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  meta = {
-    inherit homepage;
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-  passthru = {
-    corePackages = [
-      [ "Cabal" "1.6.0.3" ]
-      [ "array" "0.2.0.0" ]
-      [ "base" "3.0.3.1" ]
-      [ "base" "4.1.0.0" ]
-      [ "bytestring" "0.9.1.4" ]
-      [ "containers" "0.2.0.1" ]
-      [ "directory" "1.0.0.3" ]
-      [ "editline" "0.2.1.0" ]
-      [ "filepath" "1.1.0.2" ]
-      [ "(ghc" "6.10.2)" ]
-      [ "ghc-prim" "0.1.0.0" ]
-      [ "haddock" "2.4.2" ]
-      [ "haskell98" "1.0.1.0" ]
-      [ "hpc" "0.5.0.3" ]
-      [ "integer" "0.1.0.1" ]
-      [ "old-locale" "1.0.0.1" ]
-      [ "old-time" "1.0.0.2" ]
-      [ "packedstring" "0.1.0.1" ]
-      [ "pretty" "1.0.1.0" ]
-      [ "process" "1.0.1.1" ]
-      [ "random" "1.0.0.1" ]
-      [ "rts" "1.0" ]
-      [ "syb" "0.1.0.1" ]
-      [ "template-haskell" "2.3.0.1" ]
-      [ "unix" "2.3.2.0" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.10.3.nix b/pkgs/development/compilers/ghc/6.10.3.nix
deleted file mode 100644
index 9ab6e2076b550..0000000000000
--- a/pkgs/development/compilers/ghc/6.10.3.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "6.10.3";
-
-  name = "ghc-${version}";
-
-  homepage = "http://haskell.org/ghc";
-
-  src = fetchurl {
-    url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "82d104ab8b24f27c3566b5693316c779427794a137237b3df925c55e20905893";
-  };
-
-  buildInputs = [ghc libedit perl gmp];
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  meta = {
-    inherit homepage;
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-
-  passthru = {
-    corePackages = [
-      [ "Cabal" "1.6.0.3" ]
-      [ "array" "0.2.0.0" ]
-      [ "base" "3.0.3.1" ]
-      [ "base" "4.1.0.0" ]
-      [ "bytestring" "0.9.1.4" ]
-      [ "containers" "0.2.0.1" ]
-      [ "directory" "1.0.0.3" ]
-      [ "extensible-exceptions" "0.1.1.0" ]
-      [ "filepath" "1.1.0.2" ]
-      [ "ghc" "6.10.3" ]
-      [ "ghc-prim" "0.1.0.0" ]
-      [ "haddock" "2.4.2" ]
-      [ "haskell98" "1.0.1.0" ]
-      [ "hpc" "0.5.0.3" ]
-      [ "integer" "0.1.0.1" ]
-      [ "old-locale" "1.0.0.1" ]
-      [ "old-time" "1.0.0.2" ]
-      [ "packedstring" "0.1.0.1" ]
-      [ "pretty" "1.0.1.0" ]
-      [ "process" "1.0.1.1" ]
-      [ "random" "1.0.0.1" ]
-      [ "rts" "1.0" ]
-      [ "syb" "0.1.0.1" ]
-      [ "template-haskell" "2.3.0.1" ]
-      [ "unix" "2.3.2.0" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.11.nix b/pkgs/development/compilers/ghc/6.11.nix
deleted file mode 100644
index 8d57ecd59ac66..0000000000000
--- a/pkgs/development/compilers/ghc/6.11.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses, happy, alex}:
-
-stdenv.mkDerivation rec {
-  version = "6.11.20090916";
-
-  name = "ghc-${version}";
-
-  homepage = "http://haskell.org/ghc";
-
-  src = fetchurl {
-    url = "${homepage}/dist/current/dist/${name}-src.tar.bz2";
-    sha256 = "a229c5052f401d03cdb77b8a96643eb80ba3faf1a9d0578c6fede1ce2a63cede";
-  };
-
-  buildInputs = [ghc libedit perl gmp happy alex];
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  preConfigure=[
-    "make distclean"
-  ];
-
-  meta = {
-    inherit homepage;
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.12.1-binary.nix b/pkgs/development/compilers/ghc/6.12.1-binary.nix
deleted file mode 100644
index 8d03ca404527c..0000000000000
--- a/pkgs/development/compilers/ghc/6.12.1-binary.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{stdenv, fetchurl, perl, ncurses, gmp}:
-
-stdenv.mkDerivation rec {
-  version = "6.12.1";
-
-  name = "ghc-${version}-binary";
-
-  src =
-    if stdenv.system == "i686-linux" then
-      fetchurl {
-        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux-n.tar.bz2";
-        sha256 = "15kp8mnm4ig6a7k1a1j12lyhdcs75myv6ralfywjzpl27pd77gmk";
-      }
-    else if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux-n.tar.bz2";
-        sha256 = "08cb4bgyj23qsbqay4pqs81jha40njkx63ng7l827cydx2pm3qxs";
-      }
-    else throw "cannot bootstrap GHC on this platform";
-
-  buildInputs = [perl];
-
-  postUnpack =
-    # Strip is harmful, see also below. It's important that this happens
-    # first. The GHC Cabal build system makes use of strip by default and
-    # has hardcoded paths to /usr/bin/strip in many places. We replace
-    # those below, making them point to our dummy script.
-     ''
-      mkdir "$TMP/bin"
-      for i in strip; do
-        echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
-        chmod +x "$TMP/bin/$i"
-      done
-      PATH="$TMP/bin:$PATH"
-     '' +
-    # We have to patch the GMP paths for the integer-gmp package.
-     ''
-      find . -name integer-gmp.buildinfo \
-          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \;
-     '' +
-    # On Linux, use patchelf to modify the executables so that they can
-    # find editline/gmp.
-    (if stdenv.isLinux then ''
-      find . -type f -perm +100 \
-          -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "${ncurses}/lib:${gmp}/lib" {} \;
-      sed -i "s|/usr/bin/perl|perl\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-      sed -i "s|/usr/bin/gcc|gcc\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-      for prog in ld ar gcc strip ranlib; do
-        find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
-      done
-     '' else "");
-
-  configurePhase = ''
-    ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
-  '';
-
-  # Stripping combined with patchelf breaks the executables (they die
-  # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
-  dontStrip = true;
-
-  # No building is necessary, but calling make without flags ironically
-  # calls install-strip ...
-  buildPhase = "true";
-
-  # The binaries for Darwin use frameworks, so fake those frameworks,
-  # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
-  # that the executables work with no special setup.
-  postInstall =
-    (if stdenv.isDarwin then
-      ''
-        mkdir -p $out/frameworks/GMP.framework/Versions/A
-        ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
-        ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
-        # !!! fix this
-
-        mv $out/bin $out/bin-orig
-        mkdir $out/bin
-        for i in $(cd $out/bin-orig && ls); do
-            echo \"#! $SHELL -e\" >> $out/bin/$i
-            echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \\\"\\$@\\\"\" >> $out/bin/$i
-            chmod +x $out/bin/$i
-        done
-      '' else "")
-    +
-      ''
-        # bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
-        # sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
-
-        # Sanity check, can ghc create executables?
-        cd $TMP
-        mkdir test-ghc; cd test-ghc
-        cat > main.hs << EOF
-          module Main where
-          main = putStrLn "yes"
-        EOF
-        $out/bin/ghc --make main.hs
-        echo compilation ok
-        [ $(./main) == "yes" ]
-      '';
-
-  meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["x86_64-linux" "i686-linux"];
-}
diff --git a/pkgs/development/compilers/ghc/6.12.1.nix b/pkgs/development/compilers/ghc/6.12.1.nix
deleted file mode 100644
index b92484973f060..0000000000000
--- a/pkgs/development/compilers/ghc/6.12.1.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "6.12.1";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = http://haskell.org/ghc/dist/6.12.1/ghc-6.12.1-src.tar.bz2;
-    sha256 = "0ajm4sypk4zgjp0m6i03fadyv5dm9vlqfnvsx1g94yk7vnd9zyfd";
-  };
-
-  buildInputs = [ghc perl gmp ncurses];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-  # TODO: requires a comment as to what it does and why it is needed.
-  passthru = {
-    corePackages = [
-       [ "Cabal" "1.8.0.2" ]
-       [ "array" "0.3.0.0" ]
-       [ "base" "3.0.3.2" ]
-       [ "base" "4.2.0.0" ]
-       [ "bin-package-db" "0.0.0.0" ]
-       [ "bytestring" "0.9.1.5" ]
-       [ "containers" "0.3.0.0" ]
-       [ "directory" "1.0.1.0" ]
-       [ "dph-base" "0.4.0" ]
-       [ "dph-par" "0.4.0" ]
-       [ "dph-prim-interface" "0.4.0" ]
-       [ "dph-prim-par" "0.4.0" ]
-       [ "dph-prim-seq" "0.4.0" ]
-       [ "dph-seq" "0.4.0" ]
-       [ "extensible-exceptions" "0.1.1.1" ]
-       [ "ffi" "1.0" ]
-       [ "filepath" "1.1.0.3" ]
-       [ "ghc" "6.12.1" ]
-       [ "ghc-binary" "0.5.0.2" ]
-       [ "ghc-prim" "0.2.0.0" ]
-       [ "haskell98" "1.0.1.1" ]
-       [ "hpc" "0.5.0.4" ]
-       [ "integer-gmp" "0.2.0.0" ]
-       [ "old-locale" "1.0.0.2" ]
-       [ "old-time" "1.0.0.3" ]
-       [ "pretty" "1.0.1.1" ]
-       [ "process" "1.0.1.2" ]
-       [ "random" "1.0.0.2" ]
-       [ "rts" "1.0" ]
-       [ "syb" "0.1.0.2" ]
-       [ "template-haskell" "2.4.0.0" ]
-       [ "time" "1.1.4" ]
-       [ "unix" "2.4.0.0" ]
-       [ "utf8-string" "0.3.4" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.12.2.nix b/pkgs/development/compilers/ghc/6.12.2.nix
deleted file mode 100644
index 8cf505488cb33..0000000000000
--- a/pkgs/development/compilers/ghc/6.12.2.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "6.12.2";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "7f1e39f0b3ddaca35b55cd430ca058d1c4678445a7177391c9cb6342b7c41a30";
-  };
-
-  buildInputs = [ghc perl gmp ncurses];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-  # TODO: requires a comment as to what it does and why it is needed.
-  passthru = {
-    corePackages = [
-       [ "Cabal" "1.8.0.2" ]
-       [ "array" "0.3.0.0" ]
-       [ "base" "3.0.3.2" ]
-       [ "base" "4.2.0.0" ]
-       [ "bin-package-db" "0.0.0.0" ]
-       [ "bytestring" "0.9.1.5" ]
-       [ "containers" "0.3.0.0" ]
-       [ "directory" "1.0.1.0" ]
-       [ "dph-base" "0.4.0" ]
-       [ "dph-par" "0.4.0" ]
-       [ "dph-prim-interface" "0.4.0" ]
-       [ "dph-prim-par" "0.4.0" ]
-       [ "dph-prim-seq" "0.4.0" ]
-       [ "dph-seq" "0.4.0" ]
-       [ "extensible-exceptions" "0.1.1.1" ]
-       [ "ffi" "1.0" ]
-       [ "filepath" "1.1.0.3" ]
-       [ "ghc" "6.12.1" ]
-       [ "ghc-binary" "0.5.0.2" ]
-       [ "ghc-prim" "0.2.0.0" ]
-       [ "haskell98" "1.0.1.1" ]
-       [ "hpc" "0.5.0.4" ]
-       [ "integer-gmp" "0.2.0.0" ]
-       [ "old-locale" "1.0.0.2" ]
-       [ "old-time" "1.0.0.3" ]
-       [ "pretty" "1.0.1.1" ]
-       [ "process" "1.0.1.2" ]
-       [ "random" "1.0.0.2" ]
-       [ "rts" "1.0" ]
-       [ "syb" "0.1.0.2" ]
-       [ "template-haskell" "2.4.0.0" ]
-       [ "time" "1.1.4" ]
-       [ "unix" "2.4.0.0" ]
-       [ "utf8-string" "0.3.4" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.4.2-binary.nix b/pkgs/development/compilers/ghc/6.4.2-binary.nix
deleted file mode 100644
index 5485326e2e7e7..0000000000000
--- a/pkgs/development/compilers/ghc/6.4.2-binary.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{stdenv, fetchurl, perl, readline, ncurses, gmp}:
-
-stdenv.mkDerivation {
-  name = if stdenv.system == "i686-darwin" then "ghc-6.6.1-binary" else "ghc-6.4.2-binary";
-
-  src =
-    if stdenv.system == "i686-linux" then
-      fetchurl {
-        url = http://tarballs.nixos.org/ghc-6.4.2-i386-unknown-linux.tar.bz2;
-        md5 = "092fe2e25dab22b926babe97cc77db1f";
-      }
-    else if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        url = http://haskell.org/ghc/dist/6.4.2/ghc-6.4.2-x86_64-unknown-linux.tar.bz2;
-        md5 = "8f5fe48798f715cd05214a10987bf6d5";
-      }
-    else if stdenv.system == "i686-darwin" then
-      /* Yes, this isn't GHC 6.4.2.  But IIRC either there was no
-         6.4.2 binary for Darwin, or it didn't work.  In any case, in
-         Nixpkgs we just need this bootstrapping a "real" GHC. */
-      fetchurl {
-        url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-i386-apple-darwin.tar.bz2;
-        sha256 = "1drbsicanr6jlykvs4vs6gbi2q9ac1bcaxz2vzwh3pfv3lfibwia";
-      }
-    else throw "cannot bootstrap GHC on this platform";
-
-  buildInputs = [perl];
-
-  # On Linux, use patchelf to modify the executables so that they can
-  # find readline/gmp.
-  postBuild = if stdenv.isLinux then "
-    find . -type f -perm +100 \\
-        -exec patchelf --interpreter \"$(cat $NIX_CC/nix-support/dynamic-linker)\" \\
-        --set-rpath \"${readline}/lib:${ncurses}/lib:${gmp}/lib\" {} \\;
-  " else "";
-
-  # Stripping combined with patchelf breaks the executables (they die
-  # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
-  dontStrip = true;
-
-  # The binaries for Darwin use frameworks, so fake those frameworks,
-  # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
-  # that the executables work with no special setup.
-  postInstall = if stdenv.isDarwin then ''
-
-    mkdir -p $out/frameworks/GMP.framework/Versions/A
-    ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
-    ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
-    mkdir -p $out/frameworks/GNUreadline.framework/Versions/A
-    ln -s ${readline}/lib/libreadline.dylib $out/frameworks/GNUreadline.framework/GNUreadline
-    ln -s ${readline}/lib/libreadline.dylib $out/frameworks/GNUreadline.framework/Versions/A/GNUreadline
-
-    mkdir $out/bin-orig
-    for i in $(cd $out/bin && ls *); do
-        mv $out/bin/$i $out/bin-orig/$i
-        echo "#! $SHELL -e" >> $out/bin/$i
-        extraFlag=
-        if test $i != ghc-pkg; then extraFlag="-framework-path $out/frameworks"; fi
-        echo "DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i $extraFlag \"\$@\"" >> $out/bin/$i
-        chmod +x $out/bin/$i
-    done
-
-  '' else "";
-
-  meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
-}
diff --git a/pkgs/development/compilers/ghc/6.4.2.nix b/pkgs/development/compilers/ghc/6.4.2.nix
deleted file mode 100644
index dfd38cc6a1a2b..0000000000000
--- a/pkgs/development/compilers/ghc/6.4.2.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{stdenv, fetchurl, perl, ghc, m4, readline, ncurses, gmp}:
-
-stdenv.mkDerivation {
-  name = "ghc-6.4.2";
-
-  src = fetchurl {
-    url = http://www.haskell.org/ghc/dist/6.4.2/ghc-6.4.2-src.tar.bz2;
-    md5 = "a394bf14e94c3bca5507d568fcc03375";
-  };
-
-  buildInputs = [perl ghc m4];
-
-  propagatedBuildInputs = [readline ncurses gmp];
-
-  configureFlags = "--with-gcc=${stdenv.cc}/bin/gcc";
-
-  preConfigure =
-    ''
-      # Don't you hate build processes that write in $HOME? :-(
-      export HOME=$(pwd)/fake-home
-      mkdir -p $HOME
-    '';
-
-  meta = {
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.6.1.nix b/pkgs/development/compilers/ghc/6.6.1.nix
deleted file mode 100644
index 0f91b9d5052ce..0000000000000
--- a/pkgs/development/compilers/ghc/6.6.1.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{stdenv, fetchurl, readline, ghc, perl58, m4, gmp, ncurses}:
-
-stdenv.mkDerivation (rec {
-  name = "ghc-6.6.1";
-
-  src = map fetchurl [
-    { url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-src.tar.bz2;
-      md5 = "ba9f4aec2fde5ff1e1548ae69b78aeb0";
-    }
-    { url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-src-extralibs.tar.bz2;
-      md5 = "43a26b81608b206c056adc3032f7da2a";
-    }
-  ];
-
-  buildInputs = [ghc readline perl58 m4 gmp];
-
-  meta = {
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-  postInstall = ''
-    mkdir -p "$out/nix-support"
-    echo "# Path to the GHC compiler directory in the store" > $out/nix-support/setup-hook
-    echo "ghc=$out" >> $out/nix-support/setup-hook
-    echo ""         >> $out/nix-support/setup-hook
-    cat $setupHook  >> $out/nix-support/setup-hook
-  '';
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-readline-libraries=${readline}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-gcc=${gcc}/bin/gcc"
-  ];
-
-  preConfigure = ''
-    # still requires a hack for ncurses
-    sed -i "s|^\(library-dirs.*$\)|\1 \"${ncurses}/lib\"|" libraries/readline/package.conf.in
-    # fix for gcc 4.2
-    echo "SplitObjs=NO" >> mk/build.mk
-  '';
-
-  inherit (stdenv) gcc;
-  inherit readline gmp ncurses;
-})
diff --git a/pkgs/development/compilers/ghc/6.8.2.nix b/pkgs/development/compilers/ghc/6.8.2.nix
deleted file mode 100644
index 0f649745a1ee1..0000000000000
--- a/pkgs/development/compilers/ghc/6.8.2.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses}:
-
-stdenv.mkDerivation (rec {
-  version = "6.8.2";
-  name = "ghc-${version}";
-  homepage = "http://www.haskell.org/ghc";
-
-  src = map fetchurl [
-    { url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
-      sha256 = "2d10f973c35e8d7d9f62b53e26fef90177a9a15105cda4b917340ba7696a22d9";
-    }
-    { url = "${homepage}/dist/${version}/${name}-src-extralibs.tar.bz2";
-      md5 = "d199c50814188fb77355d41058b8613c";
-    }
-  ];
-
-  buildInputs = [ghc readline perl m4 gmp];
-
-  meta = {
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-readline-libraries=${readline}/lib"
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  preConfigure = "
-    # still requires a hack for ncurses
-    sed -i \"s|^\\\(ld-options.*$\\\)|\\\1 -L${ncurses}/lib|\" libraries/readline/readline.buildinfo.in
-  ";
-})
diff --git a/pkgs/development/compilers/ghc/6.8.3.nix b/pkgs/development/compilers/ghc/6.8.3.nix
deleted file mode 100644
index ea116781afb37..0000000000000
--- a/pkgs/development/compilers/ghc/6.8.3.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses, haddock}:
-
-stdenv.mkDerivation rec {
-  version = "6.8.3";
-  name = "ghc-${version}";
-  homepage = "http://www.haskell.org/ghc";
-
-  src = map fetchurl [
-    { url    = "${homepage}/dist/${version}/${name}-src.tar.bz2";
-      sha256 = "1fc1ff82a555532f1c9d2dc628fd9de5e6ebab2ce6ee9490a34174ceb6f76e6b";
-    }
-    { url    = "${homepage}/dist/${version}/${name}-src-extralibs.tar.bz2";
-      sha256 = "ee2f5ba6a46157fc53eae515cb6fa1ed3c5023e7eac15981d92af0af00ee2ba2";
-    }
-  ];
-
-  buildInputs = [ghc readline perl m4 gmp haddock];
-
-  meta = {
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-readline-libraries=${readline}/lib"
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  preConfigure = ''
-    # still requires a hack for ncurses
-    sed -i "s|^\(ld-options.*$\)|\1 -L${ncurses}/lib|" libraries/readline/readline.buildinfo.in
-    # build haddock docs
-    echo "HADDOCK_DOCS = YES" >> mk/build.mk
-  '';
-}
diff --git a/pkgs/development/compilers/ghc/7.0.1.nix b/pkgs/development/compilers/ghc/7.0.1.nix
deleted file mode 100644
index b61375c66577c..0000000000000
--- a/pkgs/development/compilers/ghc/7.0.1.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "7.0.1";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://www.haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "1iciljngxmqy465cw3pkl6jp0ydiils4bfz6ixfaxk7aqv7r7xsi";
-  };
-
-  buildInputs = [ghc perl gmp ncurses];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-  # TODO: requires a comment as to what it does and why it is needed.
-  passthru = {
-    corePackages = [
-       [ "Cabal" "1.8.0.2" ]
-       [ "array" "0.3.0.0" ]
-       [ "base" "3.0.3.2" ]
-       [ "base" "4.2.0.0" ]
-       [ "bin-package-db" "0.0.0.0" ]
-       [ "bytestring" "0.9.1.5" ]
-       [ "containers" "0.3.0.0" ]
-       [ "directory" "1.0.1.0" ]
-       [ "dph-base" "0.4.0" ]
-       [ "dph-par" "0.4.0" ]
-       [ "dph-prim-interface" "0.4.0" ]
-       [ "dph-prim-par" "0.4.0" ]
-       [ "dph-prim-seq" "0.4.0" ]
-       [ "dph-seq" "0.4.0" ]
-       [ "extensible-exceptions" "0.1.1.1" ]
-       [ "ffi" "1.0" ]
-       [ "filepath" "1.1.0.3" ]
-       [ "ghc" "6.12.1" ]
-       [ "ghc-binary" "0.5.0.2" ]
-       [ "ghc-prim" "0.2.0.0" ]
-       [ "haskell98" "1.0.1.1" ]
-       [ "hpc" "0.5.0.4" ]
-       [ "integer-gmp" "0.2.0.0" ]
-       [ "old-locale" "1.0.0.2" ]
-       [ "old-time" "1.0.0.3" ]
-       [ "pretty" "1.0.1.1" ]
-       [ "process" "1.0.1.2" ]
-       [ "random" "1.0.0.2" ]
-       [ "rts" "1.0" ]
-       [ "syb" "0.1.0.2" ]
-       [ "template-haskell" "2.4.0.0" ]
-       [ "time" "1.1.4" ]
-       [ "unix" "2.4.0.0" ]
-       [ "utf8-string" "0.3.4" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/7.0.2.nix b/pkgs/development/compilers/ghc/7.0.2.nix
deleted file mode 100644
index 6c72527d36b0a..0000000000000
--- a/pkgs/development/compilers/ghc/7.0.2.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.0.2";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "f0551f1af2f008a8a14a888b70c0557e00dd04f9ae309ac91897306cd04a6668";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-    ];
-    inherit (ghc.meta) license platforms;
-    broken = true;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.0.3.nix b/pkgs/development/compilers/ghc/7.0.3.nix
deleted file mode 100644
index 580b1d229837b..0000000000000
--- a/pkgs/development/compilers/ghc/7.0.3.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.0.3";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "1nfc2c6bdcdfg3f3d9q5v109jrrwhz6by3qa4qi7k0xbip16jq8m";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-    ];
-    inherit (ghc.meta) license platforms;
-    broken = true;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.2.1.nix b/pkgs/development/compilers/ghc/7.2.1.nix
deleted file mode 100644
index 4417a0e6a7e28..0000000000000
--- a/pkgs/development/compilers/ghc/7.2.1.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.2.1";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "099w2bvx07jq4b1k8f1hspri30wbk35dz6ilsivxr2xg661c2qjm";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.simons
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.4.1.nix b/pkgs/development/compilers/ghc/7.4.1.nix
deleted file mode 100644
index 933e81b449509..0000000000000
--- a/pkgs/development/compilers/ghc/7.4.1.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.4.1";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "0ycscsagyy9n796a59q6761s6ar50d8inibvnrcp96siksj0j73j";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.simons
-    ];
-    platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.6.1.nix b/pkgs/development/compilers/ghc/7.6.1.nix
deleted file mode 100644
index ae22f747d768a..0000000000000
--- a/pkgs/development/compilers/ghc/7.6.1.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.6.1";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/7.6.1/${name}-src.tar.bz2";
-    sha256 = "1q5rqp8z90mq6ysf7h28zkbhfaxlrpva2qy0wnkr43d7214dzp7i";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.simons
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.6.2.nix b/pkgs/development/compilers/ghc/7.6.2.nix
deleted file mode 100644
index 732c3cc66a5a1..0000000000000
--- a/pkgs/development/compilers/ghc/7.6.2.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.6.2";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "d5f45184abeacf7e9c6b4f63c7101a5c1d7b4fe9007901159e2287ecf38de533";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags = [
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.simons
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.8.3-binary.nix b/pkgs/development/compilers/ghc/7.8.3-binary.nix
deleted file mode 100644
index 91a156ab4e266..0000000000000
--- a/pkgs/development/compilers/ghc/7.8.3-binary.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{stdenv, fetchurl, perl, ncurses, gmp}:
-
-stdenv.mkDerivation rec {
-  version = "7.8.3";
-
-  name = "ghc-${version}-binary";
-
-  src =
-    if stdenv.system == "x86_64-darwin" then
-      fetchurl {
-        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.bz2";
-        sha256 = "1ja0cq5xyjcvjpvjmm4nzhkpmwfs2kjlldbc48lxcs9rmqi7rnay";
-      }
-    else throw "cannot bootstrap GHC on this platform";
-
-  buildInputs = [perl];
-
-  postUnpack =
-    # Strip is harmful, see also below. It's important that this happens
-    # first. The GHC Cabal build system makes use of strip by default and
-    # has hardcoded paths to /usr/bin/strip in many places. We replace
-    # those below, making them point to our dummy script.
-     ''
-      mkdir "$TMP/bin"
-      for i in strip; do
-        echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
-        chmod +x "$TMP/bin/$i"
-      done
-      PATH="$TMP/bin:$PATH"
-     '' +
-    # We have to patch the GMP paths for the integer-gmp package.
-     ''
-      find . -name integer-gmp.buildinfo \
-          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \;
-     '' +
-    # On Linux, use patchelf to modify the executables so that they can
-    # find editline/gmp.
-    (if stdenv.isLinux then ''
-      find . -type f -perm +100 \
-          -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "${ncurses}/lib:${gmp}/lib" {} \;
-      sed -i "s|/usr/bin/perl|perl\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-      sed -i "s|/usr/bin/gcc|gcc\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
-      for prog in ld ar gcc strip ranlib; do
-        find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
-      done
-     '' else "");
-
-  configurePhase = ''
-    ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib \
-      --with-gmp-includes=${gmp}/include
-  '';
-
-  # Stripping combined with patchelf breaks the executables (they die
-  # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
-  dontStrip = true;
-
-  # No building is necessary, but calling make without flags ironically
-  # calls install-strip ...
-  buildPhase = "true";
-
-  postInstall =
-      ''
-        # Sanity check, can ghc create executables?
-        cd $TMP
-        mkdir test-ghc; cd test-ghc
-        cat > main.hs << EOF
-          module Main where
-          main = putStrLn "yes"
-        EOF
-        $out/bin/ghc --make main.hs
-        echo compilation ok
-        [ $(./main) == "yes" ]
-      '';
-
-  meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["x86_64-darwin"];
-}
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index 9e3c8b149d4ef..509c3d5acdf45 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -134,7 +134,6 @@
     binary = super.binary_0_7_2_2.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     cabalInstall_1_16_0_2 = super.cabalInstall_1_16_0_2;
     caseInsensitive = super.caseInsensitive.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
-    GLUT = self.GLUT_2_2_2_1;
     happy = super.happy.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     hashable = super.hashable.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     hashtables = super.hashtables.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
@@ -142,8 +141,6 @@
     HTTP = super.HTTP.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     HUnit = super.HUnit.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     network = super.network_2_2_1_7.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
-    OpenGLRaw = self.OpenGLRaw_1_3_0_0;
-    OpenGL = self.OpenGL_2_6_0_1;
     parsec = super.parsec.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     QuickCheck = super.QuickCheck.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     stm = self.stm_2_4_2.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
@@ -158,20 +155,17 @@
 
   # Abstraction for Haskell packages collections
   packagesFun = makeOverridable
-   ({ ghcPath
-    , ghcBinary ? ghc6101Binary
+   ({ ghc
     , prefFun
     , extension ? (self : super : {})
     , profExplicit ? false, profDefault ? false
     , modifyPrio ? lowPrio
-    , extraArgs ? {}
     } :
     let haskellPackagesClass = import ./haskell-packages.nix {
-          inherit pkgs newScope modifyPrio;
+          inherit pkgs newScope ghc modifyPrio;
           enableLibraryProfiling =
             if profExplicit then profDefault
                             else config.cabal.libraryProfiling or profDefault;
-          ghc = callPackage ghcPath ({ ghc = ghcBinary; } // extraArgs);
         };
         haskellPackagesPrefsClass = self : let super = haskellPackagesClass self; in super // prefFun self super;
         haskellPackagesExtensionClass = self : let super = haskellPackagesPrefsClass self; in super // extension self super;
@@ -195,60 +189,19 @@
                                                           modifyPrio   = defaultVersionPrioFun true; };
                              };
 
-  # Binary versions of GHC
-  #
-  # GHC binaries are around for bootstrapping purposes
-
-  ghc6101Binary = lowPrio (callPackage ../development/compilers/ghc/6.10.1-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc6102Binary = lowPrio (callPackage ../development/compilers/ghc/6.10.2-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc6121Binary = lowPrio (callPackage ../development/compilers/ghc/6.12.1-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc704Binary = lowPrio (callPackage ../development/compilers/ghc/7.0.4-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc742Binary = lowPrio (callPackage ../development/compilers/ghc/7.4.2-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc783Binary = lowPrio (callPackage ../development/compilers/ghc/7.8.3-binary.nix {});
-
-  ghc6101BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6101Binary;
-  ghc6121BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6121Binary;
-
   # Compiler configurations
   #
   # Here, we associate compiler versions with bootstrap compiler versions and
   # preference functions.
 
-  packages_ghcHEAD =
-    packages { ghcPath = ../development/compilers/ghc/head.nix;
-               ghcBinary = pkgs.haskellPackages.ghcPlain;
-               prefFun = ghcHEADPrefs;
-               extraArgs = {
-                 happy = pkgs.haskellPackages.happy;
-                 alex = pkgs.haskellPackages.alex;
-               };
-             };
-
   packages_ghc784 =
-    packages { ghcPath = ../development/compilers/ghc/7.8.4.nix;
-               ghcBinary = if stdenv.isDarwin then ghc783Binary else ghc742Binary;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc784;
                prefFun = ghc784Prefs;
              };
 
   packages_ghcjs =
     packages {
-      ghcPath = ../development/compilers/ghc/7.8.4.nix;
-      ghcBinary = if stdenv.isDarwin then ghc783Binary else ghc742Binary;
+      ghc = pkgs.haskell-ng.compiler.ghc784;
       prefFun = self : super : super // {
         ghc = let parent = packages_ghc784; in
           callPackage ../development/compilers/ghcjs/wrapper.nix {
@@ -329,36 +282,32 @@
     };
 
   packages_ghc763 =
-    packages { ghcPath = ../development/compilers/ghc/7.6.3.nix;
-               ghcBinary = ghc704Binary;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc763;
                prefFun = ghc763Prefs;
              };
 
   packages_ghc742 =
-    packages { ghcPath = ../development/compilers/ghc/7.4.2.nix;
-               ghcBinary = ghc6121BinaryDarwin;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc742;
                prefFun = ghc742Prefs;
              };
 
   packages_ghc722 =
-    packages { ghcPath = ../development/compilers/ghc/7.2.2.nix;
-               ghcBinary = ghc6121BinaryDarwin;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc722;
                prefFun = ghc722Prefs;
              };
 
   packages_ghc704 =
-    packages { ghcPath = ../development/compilers/ghc/7.0.4.nix;
-               ghcBinary = ghc6101BinaryDarwin;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc704;
                prefFun = ghc704Prefs;
              };
 
   packages_ghc6123 =
-    packages { ghcPath = ../development/compilers/ghc/6.12.3.nix;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc6123;
                prefFun = ghc6123Prefs;
              };
 
   packages_ghc6104 =
-    packages { ghcPath = ../development/compilers/ghc/6.10.4.nix;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc6104;
                prefFun = ghc6104Prefs;
              };
 
diff --git a/pkgs/top-level/haskell-ng.nix b/pkgs/top-level/haskell-ng.nix
index 17fe57df5e71b..19c70342c1b61 100644
--- a/pkgs/top-level/haskell-ng.nix
+++ b/pkgs/top-level/haskell-ng.nix
@@ -9,7 +9,6 @@ rec {
     ghc6102Binary = callPackage ../development/compilers/ghc/6.10.2-binary.nix { gmp = pkgs.gmp4; };
     ghc704Binary = callPackage ../development/compilers/ghc/7.0.4-binary.nix { gmp = pkgs.gmp4; };
     ghc742Binary = callPackage ../development/compilers/ghc/7.4.2-binary.nix { gmp = pkgs.gmp4; };
-    ghc783Binary = callPackage ../development/compilers/ghc/7.8.3-binary.nix { gmp = pkgs.gmp4; };
 
     ghc6104 = callPackage ../development/compilers/ghc/6.10.4.nix { ghc = compiler.ghc6102Binary; gmp = pkgs.gmp.override { withStatic = true; }; };
     ghc6123 = callPackage ../development/compilers/ghc/6.12.3.nix { ghc = compiler.ghc6102Binary; gmp = pkgs.gmp.override { withStatic = true; }; };