diff --git a/pkgs/development/compilers/ghc-6.8/default.nix b/pkgs/development/compilers/ghc-6.8/ghc-6.8.2.nix similarity index 100% rename from pkgs/development/compilers/ghc-6.8/default.nix rename to pkgs/development/compilers/ghc-6.8/ghc-6.8.2.nix diff --git a/pkgs/development/compilers/ghc-6.8/snapshot.nix b/pkgs/development/compilers/ghc-6.8/ghc-6.8.3.nix similarity index 84% rename from pkgs/development/compilers/ghc-6.8/snapshot.nix rename to pkgs/development/compilers/ghc-6.8/ghc-6.8.3.nix index 8258e45e6bb..96655d5d7b3 100644 --- a/pkgs/development/compilers/ghc-6.8/snapshot.nix +++ b/pkgs/development/compilers/ghc-6.8/ghc-6.8.3.nix @@ -1,15 +1,15 @@ {stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses}: stdenv.mkDerivation (rec { - name = "ghc-6.8.2.20080602"; + name = "ghc-6.8.3"; homepage = "http://www.haskell.org/ghc"; src = map fetchurl [ { url = "${homepage}/dist/stable/dist/${name}-src.tar.bz2"; - sha256 = "06374d2a65671a21b4ce44a84333cedf4a5f5e0adbb837e8985c6b46b5de4249"; + sha256 = "1fc1ff82a555532f1c9d2dc628fd9de5e6ebab2ce6ee9490a34174ceb6f76e6b"; } { url = "${homepage}/dist/stable/dist/${name}-src-extralibs.tar.bz2"; - sha256 = "0dfea592d6be5838fa7db85a65b7d38b97451b829afe3b03a790350a9591b470"; + sha256 = "ee2f5ba6a46157fc53eae515cb6fa1ed3c5023e7eac15981d92af0af00ee2ba2"; } ]; diff --git a/pkgs/development/compilers/ghc-6.8/head.nix b/pkgs/development/compilers/ghc-6.8/head.nix new file mode 100644 index 00000000000..21f5859d28a --- /dev/null +++ b/pkgs/development/compilers/ghc-6.8/head.nix @@ -0,0 +1,46 @@ +{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses}: + +stdenv.mkDerivation (rec { + name = "ghc-6.9.20080615"; + homepage = "http://www.haskell.org/ghc"; + + src = map fetchurl [ + { url = "${homepage}/dist/current/dist/${name}-src.tar.bz2"; + sha256 = "705a43506a4e4c2449c26eb5179c810dbeab7eda519c222670e67313eae167c1"; + } + { url = "${homepage}/dist/current/dist/${name}-src-extralibs.tar.bz2"; + sha256 = "39c573e57346069d80adff61cea239d382f66c43201948e4cee4305bb58eca88"; + } + ]; + + buildInputs = [ghc readline perl m4 gmp]; + + # The setup hook is executed by other packages building with ghc. + # It then looks for package configurations that are available and + # build a package database on the fly. + setupHook = ./setup-hook.sh; + + meta = { + description = "The Glasgow Haskell Compiler"; + }; + + configureFlags=[ + "--with-gmp-libraries=${gmp}/lib" + "--with-gmp-includes=${gmp}/include" + "--with-readline-libraries=${readline}/lib" + "--with-gcc=${gcc}/bin/gcc" + ]; + + # preConfigure = " + # # still requires a hack for ncurses + # sed -i \"s|^\\\(ld-options.*$\\\)|\\\1 -L${ncurses}/lib|\" libraries/readline/readline.buildinfo.in + # "; + + preConfigure = '' + # should not be present in a clean distribution + rm utils/pwd/pwd + ''; + + inherit (stdenv) gcc; + inherit readline gmp ncurses; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f7061b36bfc..1b2a1498747 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1528,18 +1528,23 @@ let pkgs = rec { # m4 = gnum4; #}; - ghc = ghc68; + ghc = ghc683; - ghc68 = import ../development/compilers/ghc-6.8 { + ghc682 = import ../development/compilers/ghc-6.8/ghc-6.8.2.nix { inherit fetchurl stdenv readline perl gmp ncurses m4; ghc = ghcboot; }; - ghc683snapshot = import ../development/compilers/ghc-6.8/snapshot.nix { + ghc683 = import ../development/compilers/ghc-6.8/ghc-6.8.3.nix { inherit fetchurl stdenv readline perl gmp ncurses m4; ghc = ghcboot; }; + ghc69snapshot = import ../development/compilers/ghc-6.8/head.nix { + inherit fetchurl stdenv readline perl gmp ncurses m4; + ghc = ghc683; + }; + ghc661 = import ../development/compilers/ghc-6.6.1 { inherit fetchurl stdenv readline perl58 gmp ncurses m4; ghc = ghcboot; @@ -3648,12 +3653,19 @@ let pkgs = rec { # cabal is a utility function to build cabal-based # Haskell packages - cabal68 = import ../development/libraries/haskell/cabal/cabal.nix { + cabal682 = import ../development/libraries/haskell/cabal/cabal.nix { inherit stdenv fetchurl; - ghc = ghc68; + ghc = ghc682; }; - cabal = cabal68; + # cabal is a utility function to build cabal-based + # Haskell packages + cabal683 = import ../development/libraries/haskell/cabal/cabal.nix { + inherit stdenv fetchurl; + ghc = ghc683; + }; + + cabal = cabal683; Crypto = import ../development/libraries/haskell/Crypto { inherit cabal;