f9f6f41bff
TODO: there was more significant refactoring of qtbase and plasma 5.5 on master, and I'm deferring pointing to correct outputs to later.
72 lines
2.3 KiB
Nix
72 lines
2.3 KiB
Nix
{ stdenv, fetchgit, ghc, perl, gmp, ncurses, libiconv, binutils, coreutils
|
|
, autoconf, automake, happy, alex
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
version = "7.11.20151216";
|
|
name = "ghc-${version}";
|
|
rev = "28638dfe79e915f33d75a1b22c5adce9e2b62b97";
|
|
|
|
src = fetchgit {
|
|
url = "git://git.haskell.org/ghc.git";
|
|
inherit rev;
|
|
sha256 = "0rjzkzn0hz1vdnjikcbwfs5ggs8r3y4gqxfdn4jzfp45gx94wiwv";
|
|
};
|
|
|
|
patches = [
|
|
./dont-pass-linker-flags-via-response-files.patch # https://github.com/NixOS/nixpkgs/issues/10752
|
|
];
|
|
|
|
postUnpack = ''
|
|
pushd ghc-${builtins.substring 0 7 rev}
|
|
echo ${version} >VERSION
|
|
echo ${rev} >GIT_COMMIT_ID
|
|
patchShebangs .
|
|
./boot
|
|
popd
|
|
'';
|
|
|
|
buildInputs = [ ghc perl autoconf automake happy alex ];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
preConfigure = ''
|
|
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"
|
|
'';
|
|
|
|
configureFlags = [
|
|
"--with-gcc=${stdenv.cc}/bin/cc"
|
|
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
|
|
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.lib}/lib"
|
|
] ++ stdenv.lib.optional stdenv.isDarwin [
|
|
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
|
|
];
|
|
|
|
# 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";
|
|
|
|
postInstall = ''
|
|
# Install the bash completion file.
|
|
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc
|
|
|
|
# Patch scripts to include "readelf" and "cat" in $PATH.
|
|
for i in "$out/bin/"*; do
|
|
test ! -h $i || continue
|
|
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
|
sed -i -e '2i export PATH="$PATH:${binutils}/bin:${coreutils}/bin"' $i
|
|
done
|
|
'';
|
|
|
|
meta = {
|
|
homepage = "http://haskell.org/ghc";
|
|
description = "The Glasgow Haskell Compiler";
|
|
maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ];
|
|
inherit (ghc.meta) license platforms;
|
|
};
|
|
|
|
}
|