nixpkgs/pkgs/development/compilers/ghc/7.8.4.nix
Peter Simons e2b033cad9 ghc: re-instate code that configures statically linked builds by default
The compiler should not expect to have dynamic versions of all libraries
available, because that configuration doesn't play along nicely with statically
linked libraries.

Fixes https://github.com/NixOS/nixpkgs/issues/6399.
2015-03-09 15:55:24 +01:00

53 lines
2.1 KiB
Nix

{ stdenv, fetchurl, ghc, perl, gmp, ncurses, libiconv }:
stdenv.mkDerivation rec {
version = "7.8.4";
name = "ghc-${version}";
src = fetchurl {
url = "http://www.haskell.org/ghc/dist/7.8.4/${name}-src.tar.xz";
sha256 = "1i4254akbb4ym437rf469gc0m40bxm31blp6s1z1g15jmnacs6f3";
};
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"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
DYNAMIC_BY_DEFAULT = NO
${stdenv.lib.optionalString stdenv.isDarwin ''
libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include"
libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
''}
'';
preConfigure = ''
echo "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
'' + stdenv.lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
'';
# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
meta = with stdenv.lib; {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = [ maintainers.marcweber maintainers.andres maintainers.simons ];
inherit (ghc.meta) license;
# Filter old "i686-darwin" platform which is unsupported these days.
platforms = filter (x: elem x platforms.all) ghc.meta.platforms;
# Disable Darwin builds: <https://github.com/NixOS/nixpkgs/issues/2689>.
hydraPlatforms = filter (x: !elem x platforms.darwin) meta.platforms;
};
}