diff --git a/pkgs/development/compilers/ghc/7.4.1.nix b/pkgs/development/compilers/ghc/7.4.1.nix new file mode 100644 index 00000000000..9a554a467d8 --- /dev/null +++ b/pkgs/development/compilers/ghc/7.4.1.nix @@ -0,0 +1,44 @@ +{stdenv, fetchurl, ghc, perl, gmp, ncurses, darwinInstallNameToolUtility}: + +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] ++ + (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 + stdenv.lib.maintainers.simons + ]; + platforms = ghc.meta.platforms; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ed955eceb3c..ba8051b6f3e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2274,16 +2274,20 @@ let (x : x.ghc704Prefs) false false (x : x); haskellPackages_ghc721 = - recurseIntoAttrs - (haskellPackagesFun ../development/compilers/ghc/7.2.1.nix - (if stdenv.isDarwin then ghc704Binary else ghc6121Binary) - (x : x.ghc721Prefs) false false lowPrio); + haskellPackagesFun ../development/compilers/ghc/7.2.1.nix + (if stdenv.isDarwin then ghc704Binary else ghc6121Binary) + (x : x.ghc721Prefs) false false lowPrio; haskellPackages_ghc722 = + haskellPackagesFun ../development/compilers/ghc/7.2.2.nix + (if stdenv.isDarwin then ghc704Binary else ghc6121Binary) + (x : x.ghc722Prefs) false false lowPrio; + + haskellPackages_ghc741 = recurseIntoAttrs - (haskellPackagesFun ../development/compilers/ghc/7.2.2.nix + (haskellPackagesFun ../development/compilers/ghc/7.4.1.nix (if stdenv.isDarwin then ghc704Binary else ghc6121Binary) - (x : x.ghc722Prefs) false false lowPrio); + (x : x.ghc741Prefs) false false lowPrio); # Reasonably current HEAD snapshot. Should *always* be lowPrio. haskellPackages_ghcHEAD = diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 5f445ef9f4f..030d4a87a59 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -90,6 +90,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); ghc704Prefs = super : super // super.haskellPlatformDefaults_2011_4_0_0 super; # link ghc721Prefs = super : super // super.haskellPlatformDefaults_future super; ghc722Prefs = super : super // super.haskellPlatformDefaults_future super; #link + ghc741Prefs = super : super // super.haskellPlatformDefaults_HEAD super; ghcHEADPrefs = super : super // super.haskellPlatformDefaults_HEAD super; # GHC and its wrapper