diff options
Diffstat (limited to 'pkgs/development/compilers/ghc')
-rw-r--r-- | pkgs/development/compilers/ghc/7.6.3.nix | 46 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/wrapper.nix | 11 |
2 files changed, 55 insertions, 2 deletions
diff --git a/pkgs/development/compilers/ghc/7.6.3.nix b/pkgs/development/compilers/ghc/7.6.3.nix new file mode 100644 index 000000000000..dc3a912a34ac --- /dev/null +++ b/pkgs/development/compilers/ghc/7.6.3.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, ghc, perl, gmp, ncurses }: + +stdenv.mkDerivation rec { + version = "7.6.3"; + + name = "ghc-${version}"; + + src = fetchurl { + url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; + sha256 = "1669m8k9q72rpd2mzs0bh2q6lcwqiwd1ax3vrard1dgn64yq4hxx"; + }; + + 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 + ''; + + 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; + }; + +} diff --git a/pkgs/development/compilers/ghc/wrapper.nix b/pkgs/development/compilers/ghc/wrapper.nix index bc28fdc91319..55fd16be5edb 100644 --- a/pkgs/development/compilers/ghc/wrapper.nix +++ b/pkgs/development/compilers/ghc/wrapper.nix @@ -1,4 +1,4 @@ -{ stdenv, ghc, makeWrapper, coreutils }: +{ stdenv, ghc, makeWrapper, coreutils, forUserEnv ? false }: let ghc761OrLater = !stdenv.lib.versionOlder ghc.version "7.6.1"; @@ -54,4 +54,11 @@ stdenv.mkDerivation ({ inherit ghc; inherit (ghc) meta; ghcVersion = ghc.version; -} // (stdenv.lib.optionalAttrs ghc761OrLater { preFixup = "sed -i -e 's|-package-conf|${packageDBFlag}|' $out/bin/ghc-get-packages.sh"; })) +} // (stdenv.lib.optionalAttrs ghc761OrLater { preFixup = "sed -i -e 's|-package-conf|${packageDBFlag}|' $out/bin/ghc-get-packages.sh"; }) + // (stdenv.lib.optionalAttrs forUserEnv { + postFixup= '' + ln -s $ghc/lib $out/lib; + mkdir -p $out/share/doc + ln -s $ghc/share/doc/ghc $out/share/doc/ghc-${ghc.version} + ''; + })) |