forked from mirrors/nixpkgs
d64917ad17
* There now is full support for building Haskell packages as shared libraries for GHC versions 7.4.2 or later. The Cabal builder recognizes the following attributes: - enableSharedLibraries configures Cabal to build of shared libraries in addition to static ones. This option requires that all dependencies of the package have been compiled for use in shared libraries, too. - enableSharedExecutables configures Cabal to prefer shared libraries when linking executables. The default values for these attributes are arguments to the haskellPackages expression. * Haskell builds now run in a LANG="en_US.UTF-8" environment to avoid plenty of build and test suite errors. Without this setting, GHC seems unable to deal with the UTF-8 character encoding that's generally considered standard in the Haskell world. * The Cabal builder supports a new attribute 'testTarget' to specify the exact set of tests to be run during the check phase. * The ghc-wrapper attribute ghcVersion has been removed. Instead, we use the ghc.version attribute, which exists in unwrapped GHC derivations, too.
48 lines
1.3 KiB
Nix
48 lines
1.3 KiB
Nix
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
version = "7.4.2";
|
|
|
|
name = "ghc-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "http://haskell.org/ghc/dist/7.4.2/${name}-src.tar.bz2";
|
|
sha256 = "0vc3zmxqi4gflssmj35n5c8idbvyrhd88abi50whbirwlf4i5vpj";
|
|
};
|
|
|
|
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"
|
|
'';
|
|
|
|
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;
|
|
};
|
|
|
|
}
|