From b2b4e46198dc1ef3aa267296707befc9e3ccd651 Mon Sep 17 00:00:00 2001 From: Andres Loeh Date: Thu, 6 Mar 2014 11:40:51 +0100 Subject: [PATCH] Add GHC-7.8.1-rc2. --- pkgs/development/compilers/ghc/7.8.1.nix | 45 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + pkgs/top-level/haskell-defaults.nix | 15 ++++++++ 3 files changed, 61 insertions(+) create mode 100644 pkgs/development/compilers/ghc/7.8.1.nix diff --git a/pkgs/development/compilers/ghc/7.8.1.nix b/pkgs/development/compilers/ghc/7.8.1.nix new file mode 100644 index 000000000000..c9ca6fd8719b --- /dev/null +++ b/pkgs/development/compilers/ghc/7.8.1.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, ghc, perl, gmp, ncurses }: + +stdenv.mkDerivation rec { + version = "7.8.0.20140228"; + name = "ghc-${version}"; + + src = fetchurl { + url = "http://www.haskell.org/ghc/dist/7.8.1-rc2/${name}-src.tar.bz2"; + sha256 = "09xlgz1xg0182wjy62h3j0xvnhllhjlyvj30vc3him98parnr76w"; + }; + + buildInputs = [ ghc perl gmp ncurses ]; + + enableParallelBuilding = true; + + 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" + DYNAMIC_BY_DEFAULT = NO + ''; + + preConfigure = '' + echo "${buildMK}" > mk/build.mk + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}" + ''; + + 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 + ]; + inherit (ghc.meta) license platforms; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 953dd6a96c86..43cf09faa8ed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2729,6 +2729,7 @@ let haskellPackages_ghc763_profiling = recurseIntoAttrs (haskell.packages_ghc763.profiling); haskellPackages_ghc763 = recurseIntoAttrs (haskell.packages_ghc763.highPrio); # Reasonably current HEAD snapshot. + haskellPackages_ghc781 = haskell.packages_ghc781; haskellPackages_ghcHEAD = haskell.packages_ghcHEAD; haxe = callPackage ../development/compilers/haxe { }; diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 0856bf503780..fe11a329ecd4 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -23,6 +23,15 @@ cabalInstall = self.cabalInstall_1_18_0_3.override { Cabal = null; }; }; + ghc781Prefs = + self : self.haskellPlatformArgs_future self // { + haskellPlatform = null; + extensibleExceptions = self.extensibleExceptions_0_1_1_4; + cabalInstall_1_18_0_2 = self.cabalInstall_1_18_0_2.override { Cabal = null; }; + cabalInstall = self.cabalInstall_1_18_0_2.override { Cabal = null; }; + binary_0_7_1_0 = null; + }; + ghc763Prefs = self : self.haskellPlatformArgs_2013_2_0_0 self // { haskellPlatform = self.haskellPlatform_2013_2_0_0; @@ -395,6 +404,12 @@ prefFun = ghc763Prefs; }; + packages_ghc781 = + packages { ghcPath = ../development/compilers/ghc/7.8.1.nix; + ghcBinary = ghc742Binary; + prefFun = ghc781Prefs; + }; + # Reasonably current HEAD snapshot. Should *always* be lowPrio. packages_ghcHEAD = packages { ghcPath = ../development/compilers/ghc/head.nix;