nixpkgs/pkgs/development/compilers/ghc/head.nix
2013-04-24 13:21:05 +02:00

53 lines
1.5 KiB
Nix

{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
stdenv.mkDerivation rec {
version = "7.7";
name = "ghc-${version}";
src = fetchurl {
url = "http://haskell.org/ghc/dist/current/dist/${name}-src.tar.bz2";
sha256 = "1f4grj1lw25vb5drn4sn8fc1as3hwhk8dl659spi5fnbrs5k4wgb";
};
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
'';
# The tarball errorneously contains an executable that doesn't work in
# Nix. Deleting it will cause the program to be re-built locally.
postUnpack = ''
rm -v $sourceRoot/libraries/integer-gmp/cbits/mkGmpDerivedConstants
'';
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
];
inherit (ghc.meta) license platforms;
};
}