diff --git a/pkgs/development/compilers/ghc/7.0.4.nix b/pkgs/development/compilers/ghc/7.0.4.nix new file mode 100644 index 000000000000..3892efd05468 --- /dev/null +++ b/pkgs/development/compilers/ghc/7.0.4.nix @@ -0,0 +1,43 @@ +{stdenv, fetchurl, ghc, perl, gmp, ncurses, darwinInstallNameToolUtility}: + +stdenv.mkDerivation rec { + version = "7.0.4"; + name = "ghc-${version}"; + + src = fetchurl { + url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; + sha256 = "1a9b78d9d66c9c21de6c0932e36bb87406a4856f1611bf83bd44539bdc6ed0ed"; + }; + + buildInputs = [ghc perl gmp ncurses] ++ + (if stdenv.isDarwin then [darwinInstallNameToolUtility] else []); + + 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" + ''; + + preConfigure = '' + echo "${buildMK}" > mk/build.mk + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + ''; + + configureFlags=[ + "--with-gcc=${stdenv.gcc}/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 + ]; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3315184f6422..e7594c691c56 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2053,11 +2053,16 @@ let haskellPackages_ghc702 = haskellPackagesFun ../development/compilers/ghc/7.0.2.nix (x : x.ghc702Prefs) false (x : x); - # Can become default after a short testing phase. There's also a minor platform - # release planned based on 703. Please keep at lowPrio until then. + # The only thing that keeps this one from becoming default is that + # the Haskell Platform based on 703 is released improperly. + # Please keep at lowPrio until fixed. haskellPackages_ghc703 = haskellPackagesFun ../development/compilers/ghc/7.0.3.nix (x : x.ghc703Prefs) false lowPrio; + # Just released. Needs some testing first. Please keep at lowPrio for now. + haskellPackages_ghc704 = + haskellPackagesFun ../development/compilers/ghc/7.0.4.nix (x : x.ghc704Prefs) false lowPrio; + haskellPackages_ghcHEAD = haskellPackagesFun ../development/compilers/ghc/head.nix (x : x.ghcHEADPrefs) false lowPrio; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 3447737b90b4..46e25e1d153b 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -87,6 +87,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); ghc701Prefs = super : super // super.haskellPlatformDefaults_2011_2_0_0 super; # link ghc702Prefs = super : super // super.haskellPlatformDefaults_2011_2_0_0 super; ghc703Prefs = super : super // super.haskellPlatformDefaults_2011_2_0_1 super; + ghc704Prefs = super : super // super.haskellPlatformDefaults_2011_2_0_1 super; # link ghcHEADPrefs = super : super // super.haskellPlatformDefaults_2011_2_0_1 super; # link # GHC and its wrapper