{stdenv, fetchurl, ghc, perl, gmp, ncurses}: stdenv.mkDerivation rec { version = "6.12.3"; name = "ghc-${version}"; src = fetchurl { url = "http://darcs.haskell.org/download/dist/${version}/${name}-src.tar.bz2"; sha256 = "0s2y1sv2nq1cgliv735q2w3gg4ykv1c0g1adbv8wgwhia10vxgbc"; }; buildInputs = [ ghc perl ]; propagatedBuildInputs = [ 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" ''; preConfigure = '' echo "${buildMK}" > mk/build.mk ''; configureFlags=[ "--with-gcc=${stdenv.cc}/bin/gcc" ]; NIX_CFLAGS_COMPILE = "-fomit-frame-pointer"; # 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" ] ]; }; }