Merge branch 'master' into staging.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{ stdenv, fetchgit, python }:
|
||||
|
||||
let
|
||||
tag = "1.21.0";
|
||||
tag = "1.29.3";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
|
||||
srcFC = fetchgit {
|
||||
url = git://github.com/kripken/emscripten-fastcomp;
|
||||
rev = "refs/tags/${tag}";
|
||||
sha256 = "0mcxzg2cfg0s1vfm3bh1ar4xsddb6xkv1dsdbgnpx38lbj1mvfs1";
|
||||
sha256 = "ab44554dc43eee5552ea04c134a5aaff2cd32f6f6528f58a24025bcd8fd1d46e";
|
||||
};
|
||||
|
||||
srcFL = fetchgit {
|
||||
url = git://github.com/kripken/emscripten-fastcomp-clang;
|
||||
rev = "refs/tags/${tag}";
|
||||
sha256 = "0s2jcn36d236cfpryjpgaazjp3cg83d0h78g6kk1j6vdppv3vgnp";
|
||||
sha256 = "cc6dd704f5eba64fda931833479003bf3c8d9cf781bbaac3aa22a7b2644ccb26";
|
||||
};
|
||||
|
||||
buildInputs = [ python ];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ stdenv, fetchgit, emscriptenfastcomp, python, nodejs, closurecompiler, jre }:
|
||||
|
||||
let
|
||||
tag = "1.21.0";
|
||||
tag = "1.29.3";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
src = fetchgit {
|
||||
url = git://github.com/kripken/emscripten;
|
||||
rev = "refs/tags/${tag}";
|
||||
sha256 = "0y17ab4nhd3521b50sv2i2667w0rlcnmlkpkgw5j3fsh8awxgf32";
|
||||
sha256 = "7f65d1d5cc1c1866554cd79ff83f87fc72a7df59cf1dfd6481e3f0aed5c7dc1f";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
|
||||
@@ -1,103 +0,0 @@
|
||||
{stdenv, fetchurl, perl, libedit, ncurses, gmp}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.10.1";
|
||||
|
||||
name = "ghc-${version}-binary";
|
||||
|
||||
src =
|
||||
if stdenv.system == "i686-linux" then
|
||||
fetchurl {
|
||||
# This binary requires libedit.so.0 (rather than libedit.so.2).
|
||||
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
|
||||
sha256 = "18l0vwlf7y86s65klpdvz4ccp8kydvcmyh03c86hld8jvx16q7zz";
|
||||
}
|
||||
else if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
# Idem.
|
||||
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
|
||||
sha256 = "14jvvn333i36wm7mmvi47jr93f5hxrw1h2dpjvqql0rp00svhzzg";
|
||||
}
|
||||
else if stdenv.system == "i686-darwin" then
|
||||
fetchurl {
|
||||
# Idem.
|
||||
url = "http://haskell.org/ghc/dist/${version}/maeder/ghc-${version}-i386-apple-darwin.tar.bz2";
|
||||
sha256 = "0lax61cfzxkrjb7an3magdax6c8fygsirpw9qfmc651k2sfby1mq";
|
||||
}
|
||||
else throw "cannot bootstrap GHC on this platform";
|
||||
|
||||
buildInputs = [perl];
|
||||
|
||||
postUnpack =
|
||||
# Strip is harmful, see also below. It's important that this happens
|
||||
# first. The GHC Cabal build system makes use of strip by default and
|
||||
# has hardcoded paths to /usr/bin/strip in many places. We replace
|
||||
# those below, making them point to our dummy script.
|
||||
''
|
||||
mkdir "$TMP/bin"
|
||||
for i in strip; do
|
||||
echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
|
||||
chmod +x "$TMP/bin/$i"
|
||||
done
|
||||
PATH="$TMP/bin:$PATH"
|
||||
'' +
|
||||
# On Linux, use patchelf to modify the executables so that they can
|
||||
# find editline/gmp.
|
||||
(if stdenv.isLinux then ''
|
||||
find . -type f -perm +100 \
|
||||
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${libedit}/lib:${ncurses}/lib:${gmp}/lib" {} \;
|
||||
for prog in ld ar gcc strip ranlib; do
|
||||
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
|
||||
done
|
||||
'' else "");
|
||||
|
||||
configurePhase = ''
|
||||
${if stdenv.isDarwin then "export DYLD_LIBRARY_PATH=${gmp}/lib" else ""}
|
||||
cp $(type -P pwd) utils/pwd/pwd
|
||||
./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
|
||||
'';
|
||||
|
||||
# Stripping combined with patchelf breaks the executables (they die
|
||||
# with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
|
||||
dontStrip = true;
|
||||
|
||||
# No building is necessary, but calling make without flags ironically
|
||||
# calls install-strip ...
|
||||
buildPhase = "true";
|
||||
|
||||
# The binaries for Darwin use frameworks, so fake those frameworks,
|
||||
# and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
|
||||
# that the executables work with no special setup.
|
||||
postInstall =
|
||||
(if stdenv.isDarwin then
|
||||
''
|
||||
mv $out/bin $out/bin-orig
|
||||
mkdir $out/bin
|
||||
for i in $(cd $out/bin-orig && ls); do
|
||||
echo "#! $SHELL -e" >> $out/bin/$i
|
||||
echo "export DYLD_LIBRARY_PATH=\"${gmp}/lib:${libedit}/lib\"" >> $out/bin/$i
|
||||
echo "exec $out/bin-orig/$i \"\$@\"" >> $out/bin/$i
|
||||
chmod +x $out/bin/$i
|
||||
done
|
||||
'' else "")
|
||||
+
|
||||
''
|
||||
# bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
|
||||
sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
|
||||
|
||||
# Sanity check, can ghc create executables?
|
||||
cd $TMP
|
||||
mkdir test-ghc; cd test-ghc
|
||||
cat > main.hs << EOF
|
||||
module Main where
|
||||
main = putStrLn "yes"
|
||||
EOF
|
||||
$out/bin/ghc --make main.hs
|
||||
echo compilation ok
|
||||
[ $(./main) == "yes" ]
|
||||
'';
|
||||
|
||||
meta.license = stdenv.lib.licenses.bsd3;
|
||||
meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.10.1";
|
||||
|
||||
name = "ghc-${version}";
|
||||
|
||||
homepage = "http://haskell.org/ghc";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "16q08cxxsmh4hgjhvkl739pc1hh81gljycfq1d2z6m1ld3jpbi22";
|
||||
};
|
||||
|
||||
buildInputs = [ghc libedit perl gmp];
|
||||
|
||||
configureFlags=[
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-gcc=${stdenv.cc}/bin/gcc"
|
||||
];
|
||||
|
||||
meta = {
|
||||
inherit homepage;
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
|
||||
passthru = {
|
||||
corePackages = [
|
||||
[ "Cabal" "1.6.0.1" ]
|
||||
[ "array" "0.2.0.0" ]
|
||||
[ "base" "3.0.3.0" ]
|
||||
[ "base" "4.0.0.0" ]
|
||||
[ "bytestring" "0.9.1.4" ]
|
||||
[ "containers" "0.2.0.0" ]
|
||||
[ "directory" "1.0.0.2" ]
|
||||
[ "editline" "0.2.1.0" ]
|
||||
[ "filepath" "1.1.0.1" ]
|
||||
[ "(ghc" "6.10.1)" ]
|
||||
[ "ghc-prim" "0.1.0.0" ]
|
||||
[ "haddock" "2.3.0" ]
|
||||
[ "haskell98" "1.0.1.0" ]
|
||||
[ "hpc" "0.5.0.2" ]
|
||||
[ "integer" "0.1.0.0" ]
|
||||
[ "old-locale" "1.0.0.1" ]
|
||||
[ "old-time" "1.0.0.1" ]
|
||||
[ "packedstring" "0.1.0.1" ]
|
||||
[ "pretty" "1.0.1.0" ]
|
||||
[ "process" "1.0.1.0" ]
|
||||
[ "random" "1.0.0.1" ]
|
||||
[ "rts" "1.0" ]
|
||||
[ "syb" "0.1.0.0" ]
|
||||
[ "template-haskell" "2.3.0.0" ]
|
||||
[ "unix" "2.3.1.0" ]
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.10.2";
|
||||
|
||||
name = "ghc-${version}";
|
||||
|
||||
homepage = "http://haskell.org/ghc";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "0q3wgp8svfl54kpyp55a1kh63cni5vzz811hqjsps84jdg0lg56m";
|
||||
};
|
||||
|
||||
buildInputs = [ghc libedit perl gmp];
|
||||
|
||||
configureFlags=[
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-gcc=${stdenv.cc}/bin/gcc"
|
||||
];
|
||||
|
||||
meta = {
|
||||
inherit homepage;
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
passthru = {
|
||||
corePackages = [
|
||||
[ "Cabal" "1.6.0.3" ]
|
||||
[ "array" "0.2.0.0" ]
|
||||
[ "base" "3.0.3.1" ]
|
||||
[ "base" "4.1.0.0" ]
|
||||
[ "bytestring" "0.9.1.4" ]
|
||||
[ "containers" "0.2.0.1" ]
|
||||
[ "directory" "1.0.0.3" ]
|
||||
[ "editline" "0.2.1.0" ]
|
||||
[ "filepath" "1.1.0.2" ]
|
||||
[ "(ghc" "6.10.2)" ]
|
||||
[ "ghc-prim" "0.1.0.0" ]
|
||||
[ "haddock" "2.4.2" ]
|
||||
[ "haskell98" "1.0.1.0" ]
|
||||
[ "hpc" "0.5.0.3" ]
|
||||
[ "integer" "0.1.0.1" ]
|
||||
[ "old-locale" "1.0.0.1" ]
|
||||
[ "old-time" "1.0.0.2" ]
|
||||
[ "packedstring" "0.1.0.1" ]
|
||||
[ "pretty" "1.0.1.0" ]
|
||||
[ "process" "1.0.1.1" ]
|
||||
[ "random" "1.0.0.1" ]
|
||||
[ "rts" "1.0" ]
|
||||
[ "syb" "0.1.0.1" ]
|
||||
[ "template-haskell" "2.3.0.1" ]
|
||||
[ "unix" "2.3.2.0" ]
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.10.3";
|
||||
|
||||
name = "ghc-${version}";
|
||||
|
||||
homepage = "http://haskell.org/ghc";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "82d104ab8b24f27c3566b5693316c779427794a137237b3df925c55e20905893";
|
||||
};
|
||||
|
||||
buildInputs = [ghc libedit perl gmp];
|
||||
|
||||
configureFlags=[
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-gcc=${stdenv.cc}/bin/gcc"
|
||||
];
|
||||
|
||||
meta = {
|
||||
inherit homepage;
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
|
||||
passthru = {
|
||||
corePackages = [
|
||||
[ "Cabal" "1.6.0.3" ]
|
||||
[ "array" "0.2.0.0" ]
|
||||
[ "base" "3.0.3.1" ]
|
||||
[ "base" "4.1.0.0" ]
|
||||
[ "bytestring" "0.9.1.4" ]
|
||||
[ "containers" "0.2.0.1" ]
|
||||
[ "directory" "1.0.0.3" ]
|
||||
[ "extensible-exceptions" "0.1.1.0" ]
|
||||
[ "filepath" "1.1.0.2" ]
|
||||
[ "ghc" "6.10.3" ]
|
||||
[ "ghc-prim" "0.1.0.0" ]
|
||||
[ "haddock" "2.4.2" ]
|
||||
[ "haskell98" "1.0.1.0" ]
|
||||
[ "hpc" "0.5.0.3" ]
|
||||
[ "integer" "0.1.0.1" ]
|
||||
[ "old-locale" "1.0.0.1" ]
|
||||
[ "old-time" "1.0.0.2" ]
|
||||
[ "packedstring" "0.1.0.1" ]
|
||||
[ "pretty" "1.0.1.0" ]
|
||||
[ "process" "1.0.1.1" ]
|
||||
[ "random" "1.0.0.1" ]
|
||||
[ "rts" "1.0" ]
|
||||
[ "syb" "0.1.0.1" ]
|
||||
[ "template-haskell" "2.3.0.1" ]
|
||||
[ "unix" "2.3.2.0" ]
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses, happy, alex}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.11.20090916";
|
||||
|
||||
name = "ghc-${version}";
|
||||
|
||||
homepage = "http://haskell.org/ghc";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${homepage}/dist/current/dist/${name}-src.tar.bz2";
|
||||
sha256 = "a229c5052f401d03cdb77b8a96643eb80ba3faf1a9d0578c6fede1ce2a63cede";
|
||||
};
|
||||
|
||||
buildInputs = [ghc libedit perl gmp happy alex];
|
||||
|
||||
configureFlags=[
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-gcc=${stdenv.cc}/bin/gcc"
|
||||
];
|
||||
|
||||
preConfigure=[
|
||||
"make distclean"
|
||||
];
|
||||
|
||||
meta = {
|
||||
inherit homepage;
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
{stdenv, fetchurl, perl, ncurses, gmp}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.12.1";
|
||||
|
||||
name = "ghc-${version}-binary";
|
||||
|
||||
src =
|
||||
if stdenv.system == "i686-linux" then
|
||||
fetchurl {
|
||||
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux-n.tar.bz2";
|
||||
sha256 = "15kp8mnm4ig6a7k1a1j12lyhdcs75myv6ralfywjzpl27pd77gmk";
|
||||
}
|
||||
else if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux-n.tar.bz2";
|
||||
sha256 = "08cb4bgyj23qsbqay4pqs81jha40njkx63ng7l827cydx2pm3qxs";
|
||||
}
|
||||
else throw "cannot bootstrap GHC on this platform";
|
||||
|
||||
buildInputs = [perl];
|
||||
|
||||
postUnpack =
|
||||
# Strip is harmful, see also below. It's important that this happens
|
||||
# first. The GHC Cabal build system makes use of strip by default and
|
||||
# has hardcoded paths to /usr/bin/strip in many places. We replace
|
||||
# those below, making them point to our dummy script.
|
||||
''
|
||||
mkdir "$TMP/bin"
|
||||
for i in strip; do
|
||||
echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
|
||||
chmod +x "$TMP/bin/$i"
|
||||
done
|
||||
PATH="$TMP/bin:$PATH"
|
||||
'' +
|
||||
# We have to patch the GMP paths for the integer-gmp package.
|
||||
''
|
||||
find . -name integer-gmp.buildinfo \
|
||||
-exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \;
|
||||
'' +
|
||||
# On Linux, use patchelf to modify the executables so that they can
|
||||
# find editline/gmp.
|
||||
(if stdenv.isLinux then ''
|
||||
find . -type f -perm +100 \
|
||||
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${ncurses}/lib:${gmp}/lib" {} \;
|
||||
sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
|
||||
sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
|
||||
for prog in ld ar gcc strip ranlib; do
|
||||
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
|
||||
done
|
||||
'' else "");
|
||||
|
||||
configurePhase = ''
|
||||
./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
|
||||
'';
|
||||
|
||||
# Stripping combined with patchelf breaks the executables (they die
|
||||
# with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
|
||||
dontStrip = true;
|
||||
|
||||
# No building is necessary, but calling make without flags ironically
|
||||
# calls install-strip ...
|
||||
buildPhase = "true";
|
||||
|
||||
# The binaries for Darwin use frameworks, so fake those frameworks,
|
||||
# and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
|
||||
# that the executables work with no special setup.
|
||||
postInstall =
|
||||
(if stdenv.isDarwin then
|
||||
''
|
||||
mkdir -p $out/frameworks/GMP.framework/Versions/A
|
||||
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
|
||||
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
|
||||
# !!! fix this
|
||||
|
||||
mv $out/bin $out/bin-orig
|
||||
mkdir $out/bin
|
||||
for i in $(cd $out/bin-orig && ls); do
|
||||
echo \"#! $SHELL -e\" >> $out/bin/$i
|
||||
echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \\\"\\$@\\\"\" >> $out/bin/$i
|
||||
chmod +x $out/bin/$i
|
||||
done
|
||||
'' else "")
|
||||
+
|
||||
''
|
||||
# bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
|
||||
# sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
|
||||
|
||||
# Sanity check, can ghc create executables?
|
||||
cd $TMP
|
||||
mkdir test-ghc; cd test-ghc
|
||||
cat > main.hs << EOF
|
||||
module Main where
|
||||
main = putStrLn "yes"
|
||||
EOF
|
||||
$out/bin/ghc --make main.hs
|
||||
echo compilation ok
|
||||
[ $(./main) == "yes" ]
|
||||
'';
|
||||
|
||||
meta.license = stdenv.lib.licenses.bsd3;
|
||||
meta.platforms = ["x86_64-linux" "i686-linux"];
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.12.1";
|
||||
|
||||
name = "ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://haskell.org/ghc/dist/6.12.1/ghc-6.12.1-src.tar.bz2;
|
||||
sha256 = "0ajm4sypk4zgjp0m6i03fadyv5dm9vlqfnvsx1g94yk7vnd9zyfd";
|
||||
};
|
||||
|
||||
buildInputs = [ghc perl gmp ncurses];
|
||||
|
||||
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
|
||||
'';
|
||||
|
||||
configureFlags=[
|
||||
"--with-gcc=${stdenv.cc}/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
|
||||
];
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
# TODO: requires a comment as to what it does and why it is needed.
|
||||
passthru = {
|
||||
corePackages = [
|
||||
[ "Cabal" "1.8.0.2" ]
|
||||
[ "array" "0.3.0.0" ]
|
||||
[ "base" "3.0.3.2" ]
|
||||
[ "base" "4.2.0.0" ]
|
||||
[ "bin-package-db" "0.0.0.0" ]
|
||||
[ "bytestring" "0.9.1.5" ]
|
||||
[ "containers" "0.3.0.0" ]
|
||||
[ "directory" "1.0.1.0" ]
|
||||
[ "dph-base" "0.4.0" ]
|
||||
[ "dph-par" "0.4.0" ]
|
||||
[ "dph-prim-interface" "0.4.0" ]
|
||||
[ "dph-prim-par" "0.4.0" ]
|
||||
[ "dph-prim-seq" "0.4.0" ]
|
||||
[ "dph-seq" "0.4.0" ]
|
||||
[ "extensible-exceptions" "0.1.1.1" ]
|
||||
[ "ffi" "1.0" ]
|
||||
[ "filepath" "1.1.0.3" ]
|
||||
[ "ghc" "6.12.1" ]
|
||||
[ "ghc-binary" "0.5.0.2" ]
|
||||
[ "ghc-prim" "0.2.0.0" ]
|
||||
[ "haskell98" "1.0.1.1" ]
|
||||
[ "hpc" "0.5.0.4" ]
|
||||
[ "integer-gmp" "0.2.0.0" ]
|
||||
[ "old-locale" "1.0.0.2" ]
|
||||
[ "old-time" "1.0.0.3" ]
|
||||
[ "pretty" "1.0.1.1" ]
|
||||
[ "process" "1.0.1.2" ]
|
||||
[ "random" "1.0.0.2" ]
|
||||
[ "rts" "1.0" ]
|
||||
[ "syb" "0.1.0.2" ]
|
||||
[ "template-haskell" "2.4.0.0" ]
|
||||
[ "time" "1.1.4" ]
|
||||
[ "unix" "2.4.0.0" ]
|
||||
[ "utf8-string" "0.3.4" ]
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.12.2";
|
||||
|
||||
name = "ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "7f1e39f0b3ddaca35b55cd430ca058d1c4678445a7177391c9cb6342b7c41a30";
|
||||
};
|
||||
|
||||
buildInputs = [ghc perl gmp ncurses];
|
||||
|
||||
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
|
||||
'';
|
||||
|
||||
configureFlags=[
|
||||
"--with-gcc=${stdenv.cc}/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
|
||||
];
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
# TODO: requires a comment as to what it does and why it is needed.
|
||||
passthru = {
|
||||
corePackages = [
|
||||
[ "Cabal" "1.8.0.2" ]
|
||||
[ "array" "0.3.0.0" ]
|
||||
[ "base" "3.0.3.2" ]
|
||||
[ "base" "4.2.0.0" ]
|
||||
[ "bin-package-db" "0.0.0.0" ]
|
||||
[ "bytestring" "0.9.1.5" ]
|
||||
[ "containers" "0.3.0.0" ]
|
||||
[ "directory" "1.0.1.0" ]
|
||||
[ "dph-base" "0.4.0" ]
|
||||
[ "dph-par" "0.4.0" ]
|
||||
[ "dph-prim-interface" "0.4.0" ]
|
||||
[ "dph-prim-par" "0.4.0" ]
|
||||
[ "dph-prim-seq" "0.4.0" ]
|
||||
[ "dph-seq" "0.4.0" ]
|
||||
[ "extensible-exceptions" "0.1.1.1" ]
|
||||
[ "ffi" "1.0" ]
|
||||
[ "filepath" "1.1.0.3" ]
|
||||
[ "ghc" "6.12.1" ]
|
||||
[ "ghc-binary" "0.5.0.2" ]
|
||||
[ "ghc-prim" "0.2.0.0" ]
|
||||
[ "haskell98" "1.0.1.1" ]
|
||||
[ "hpc" "0.5.0.4" ]
|
||||
[ "integer-gmp" "0.2.0.0" ]
|
||||
[ "old-locale" "1.0.0.2" ]
|
||||
[ "old-time" "1.0.0.3" ]
|
||||
[ "pretty" "1.0.1.1" ]
|
||||
[ "process" "1.0.1.2" ]
|
||||
[ "random" "1.0.0.2" ]
|
||||
[ "rts" "1.0" ]
|
||||
[ "syb" "0.1.0.2" ]
|
||||
[ "template-haskell" "2.4.0.0" ]
|
||||
[ "time" "1.1.4" ]
|
||||
[ "unix" "2.4.0.0" ]
|
||||
[ "utf8-string" "0.3.4" ]
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
|
||||
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"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
{stdenv, fetchurl, perl, readline, ncurses, gmp}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = if stdenv.system == "i686-darwin" then "ghc-6.6.1-binary" else "ghc-6.4.2-binary";
|
||||
|
||||
src =
|
||||
if stdenv.system == "i686-linux" then
|
||||
fetchurl {
|
||||
url = http://tarballs.nixos.org/ghc-6.4.2-i386-unknown-linux.tar.bz2;
|
||||
md5 = "092fe2e25dab22b926babe97cc77db1f";
|
||||
}
|
||||
else if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = http://haskell.org/ghc/dist/6.4.2/ghc-6.4.2-x86_64-unknown-linux.tar.bz2;
|
||||
md5 = "8f5fe48798f715cd05214a10987bf6d5";
|
||||
}
|
||||
else if stdenv.system == "i686-darwin" then
|
||||
/* Yes, this isn't GHC 6.4.2. But IIRC either there was no
|
||||
6.4.2 binary for Darwin, or it didn't work. In any case, in
|
||||
Nixpkgs we just need this bootstrapping a "real" GHC. */
|
||||
fetchurl {
|
||||
url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-i386-apple-darwin.tar.bz2;
|
||||
sha256 = "1drbsicanr6jlykvs4vs6gbi2q9ac1bcaxz2vzwh3pfv3lfibwia";
|
||||
}
|
||||
else throw "cannot bootstrap GHC on this platform";
|
||||
|
||||
buildInputs = [perl];
|
||||
|
||||
# On Linux, use patchelf to modify the executables so that they can
|
||||
# find readline/gmp.
|
||||
postBuild = if stdenv.isLinux then "
|
||||
find . -type f -perm +100 \\
|
||||
-exec patchelf --interpreter \"$(cat $NIX_CC/nix-support/dynamic-linker)\" \\
|
||||
--set-rpath \"${readline}/lib:${ncurses}/lib:${gmp}/lib\" {} \\;
|
||||
" else "";
|
||||
|
||||
# Stripping combined with patchelf breaks the executables (they die
|
||||
# with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
|
||||
dontStrip = true;
|
||||
|
||||
# The binaries for Darwin use frameworks, so fake those frameworks,
|
||||
# and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
|
||||
# that the executables work with no special setup.
|
||||
postInstall = if stdenv.isDarwin then ''
|
||||
|
||||
mkdir -p $out/frameworks/GMP.framework/Versions/A
|
||||
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
|
||||
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
|
||||
mkdir -p $out/frameworks/GNUreadline.framework/Versions/A
|
||||
ln -s ${readline}/lib/libreadline.dylib $out/frameworks/GNUreadline.framework/GNUreadline
|
||||
ln -s ${readline}/lib/libreadline.dylib $out/frameworks/GNUreadline.framework/Versions/A/GNUreadline
|
||||
|
||||
mkdir $out/bin-orig
|
||||
for i in $(cd $out/bin && ls *); do
|
||||
mv $out/bin/$i $out/bin-orig/$i
|
||||
echo "#! $SHELL -e" >> $out/bin/$i
|
||||
extraFlag=
|
||||
if test $i != ghc-pkg; then extraFlag="-framework-path $out/frameworks"; fi
|
||||
echo "DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i $extraFlag \"\$@\"" >> $out/bin/$i
|
||||
chmod +x $out/bin/$i
|
||||
done
|
||||
|
||||
'' else "";
|
||||
|
||||
meta.license = stdenv.lib.licenses.bsd3;
|
||||
meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
{stdenv, fetchurl, perl, ghc, m4, readline, ncurses, gmp}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ghc-6.4.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://www.haskell.org/ghc/dist/6.4.2/ghc-6.4.2-src.tar.bz2;
|
||||
md5 = "a394bf14e94c3bca5507d568fcc03375";
|
||||
};
|
||||
|
||||
buildInputs = [perl ghc m4];
|
||||
|
||||
propagatedBuildInputs = [readline ncurses gmp];
|
||||
|
||||
configureFlags = "--with-gcc=${stdenv.cc}/bin/gcc";
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
# Don't you hate build processes that write in $HOME? :-(
|
||||
export HOME=$(pwd)/fake-home
|
||||
mkdir -p $HOME
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
{stdenv, fetchurl, readline, ghc, perl58, m4, gmp, ncurses}:
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
name = "ghc-6.6.1";
|
||||
|
||||
src = map fetchurl [
|
||||
{ url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-src.tar.bz2;
|
||||
md5 = "ba9f4aec2fde5ff1e1548ae69b78aeb0";
|
||||
}
|
||||
{ url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-src-extralibs.tar.bz2;
|
||||
md5 = "43a26b81608b206c056adc3032f7da2a";
|
||||
}
|
||||
];
|
||||
|
||||
buildInputs = [ghc readline perl58 m4 gmp];
|
||||
|
||||
meta = {
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p "$out/nix-support"
|
||||
echo "# Path to the GHC compiler directory in the store" > $out/nix-support/setup-hook
|
||||
echo "ghc=$out" >> $out/nix-support/setup-hook
|
||||
echo "" >> $out/nix-support/setup-hook
|
||||
cat $setupHook >> $out/nix-support/setup-hook
|
||||
'';
|
||||
|
||||
configureFlags=[
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-readline-libraries=${readline}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-gcc=${gcc}/bin/gcc"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
# still requires a hack for ncurses
|
||||
sed -i "s|^\(library-dirs.*$\)|\1 \"${ncurses}/lib\"|" libraries/readline/package.conf.in
|
||||
# fix for gcc 4.2
|
||||
echo "SplitObjs=NO" >> mk/build.mk
|
||||
'';
|
||||
|
||||
inherit (stdenv) gcc;
|
||||
inherit readline gmp ncurses;
|
||||
})
|
||||
@@ -1,35 +0,0 @@
|
||||
{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses}:
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
version = "6.8.2";
|
||||
name = "ghc-${version}";
|
||||
homepage = "http://www.haskell.org/ghc";
|
||||
|
||||
src = map fetchurl [
|
||||
{ url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "2d10f973c35e8d7d9f62b53e26fef90177a9a15105cda4b917340ba7696a22d9";
|
||||
}
|
||||
{ url = "${homepage}/dist/${version}/${name}-src-extralibs.tar.bz2";
|
||||
md5 = "d199c50814188fb77355d41058b8613c";
|
||||
}
|
||||
];
|
||||
|
||||
buildInputs = [ghc readline perl m4 gmp];
|
||||
|
||||
meta = {
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
configureFlags=[
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-readline-libraries=${readline}/lib"
|
||||
"--with-gcc=${stdenv.cc}/bin/gcc"
|
||||
];
|
||||
|
||||
preConfigure = "
|
||||
# still requires a hack for ncurses
|
||||
sed -i \"s|^\\\(ld-options.*$\\\)|\\\1 -L${ncurses}/lib|\" libraries/readline/readline.buildinfo.in
|
||||
";
|
||||
})
|
||||
@@ -1,37 +0,0 @@
|
||||
{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses, haddock}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.8.3";
|
||||
name = "ghc-${version}";
|
||||
homepage = "http://www.haskell.org/ghc";
|
||||
|
||||
src = map fetchurl [
|
||||
{ url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "1fc1ff82a555532f1c9d2dc628fd9de5e6ebab2ce6ee9490a34174ceb6f76e6b";
|
||||
}
|
||||
{ url = "${homepage}/dist/${version}/${name}-src-extralibs.tar.bz2";
|
||||
sha256 = "ee2f5ba6a46157fc53eae515cb6fa1ed3c5023e7eac15981d92af0af00ee2ba2";
|
||||
}
|
||||
];
|
||||
|
||||
buildInputs = [ghc readline perl m4 gmp haddock];
|
||||
|
||||
meta = {
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
configureFlags=[
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-readline-libraries=${readline}/lib"
|
||||
"--with-gcc=${stdenv.cc}/bin/gcc"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
# still requires a hack for ncurses
|
||||
sed -i "s|^\(ld-options.*$\)|\1 -L${ncurses}/lib|" libraries/readline/readline.buildinfo.in
|
||||
# build haddock docs
|
||||
echo "HADDOCK_DOCS = YES" >> mk/build.mk
|
||||
'';
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "7.0.1";
|
||||
|
||||
name = "ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "1iciljngxmqy465cw3pkl6jp0ydiils4bfz6ixfaxk7aqv7r7xsi";
|
||||
};
|
||||
|
||||
buildInputs = [ghc perl gmp ncurses];
|
||||
|
||||
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
|
||||
'';
|
||||
|
||||
configureFlags=[
|
||||
"--with-gcc=${stdenv.cc}/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
|
||||
];
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
# TODO: requires a comment as to what it does and why it is needed.
|
||||
passthru = {
|
||||
corePackages = [
|
||||
[ "Cabal" "1.8.0.2" ]
|
||||
[ "array" "0.3.0.0" ]
|
||||
[ "base" "3.0.3.2" ]
|
||||
[ "base" "4.2.0.0" ]
|
||||
[ "bin-package-db" "0.0.0.0" ]
|
||||
[ "bytestring" "0.9.1.5" ]
|
||||
[ "containers" "0.3.0.0" ]
|
||||
[ "directory" "1.0.1.0" ]
|
||||
[ "dph-base" "0.4.0" ]
|
||||
[ "dph-par" "0.4.0" ]
|
||||
[ "dph-prim-interface" "0.4.0" ]
|
||||
[ "dph-prim-par" "0.4.0" ]
|
||||
[ "dph-prim-seq" "0.4.0" ]
|
||||
[ "dph-seq" "0.4.0" ]
|
||||
[ "extensible-exceptions" "0.1.1.1" ]
|
||||
[ "ffi" "1.0" ]
|
||||
[ "filepath" "1.1.0.3" ]
|
||||
[ "ghc" "6.12.1" ]
|
||||
[ "ghc-binary" "0.5.0.2" ]
|
||||
[ "ghc-prim" "0.2.0.0" ]
|
||||
[ "haskell98" "1.0.1.1" ]
|
||||
[ "hpc" "0.5.0.4" ]
|
||||
[ "integer-gmp" "0.2.0.0" ]
|
||||
[ "old-locale" "1.0.0.2" ]
|
||||
[ "old-time" "1.0.0.3" ]
|
||||
[ "pretty" "1.0.1.1" ]
|
||||
[ "process" "1.0.1.2" ]
|
||||
[ "random" "1.0.0.2" ]
|
||||
[ "rts" "1.0" ]
|
||||
[ "syb" "0.1.0.2" ]
|
||||
[ "template-haskell" "2.4.0.0" ]
|
||||
[ "time" "1.1.4" ]
|
||||
[ "unix" "2.4.0.0" ]
|
||||
[ "utf8-string" "0.3.4" ]
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "7.0.2";
|
||||
name = "ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "f0551f1af2f008a8a14a888b70c0557e00dd04f9ae309ac91897306cd04a6668";
|
||||
};
|
||||
|
||||
buildInputs = [ ghc perl gmp ncurses ];
|
||||
|
||||
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.cc}/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
|
||||
];
|
||||
inherit (ghc.meta) license platforms;
|
||||
broken = true;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "7.0.3";
|
||||
name = "ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "1nfc2c6bdcdfg3f3d9q5v109jrrwhz6by3qa4qi7k0xbip16jq8m";
|
||||
};
|
||||
|
||||
buildInputs = [ ghc perl gmp ncurses ];
|
||||
|
||||
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.cc}/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
|
||||
];
|
||||
inherit (ghc.meta) license platforms;
|
||||
broken = true;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
|
||||
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"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
|
||||
51
pkgs/development/compilers/ghc/7.10.1.nix
Normal file
51
pkgs/development/compilers/ghc/7.10.1.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
||||
|
||||
let
|
||||
|
||||
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
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "7.10.0.20141222";
|
||||
name = "ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.haskell.org/~ghc/7.10.1-rc1/ghc-7.10.0.20141222-src.tar.xz";
|
||||
sha256 = "0nncvvwksqqz1d991jbag3b4174i275nn0psadriq5hi3px11dkl";
|
||||
};
|
||||
|
||||
buildInputs = [ ghc perl ];
|
||||
|
||||
preConfigure = ''
|
||||
echo >mk/build.mk "${buildMK}"
|
||||
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}"
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-gcc=${stdenv.cc}/bin/cc"
|
||||
"--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# 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 = with stdenv.lib.maintainers; [ marcweber andres simons ];
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "7.2.1";
|
||||
name = "ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "099w2bvx07jq4b1k8f1hspri30wbk35dz6ilsivxr2xg661c2qjm";
|
||||
};
|
||||
|
||||
buildInputs = [ ghc perl gmp ncurses ];
|
||||
|
||||
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.cc}/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;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
|
||||
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"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "7.4.1";
|
||||
name = "ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "0ycscsagyy9n796a59q6761s6ar50d8inibvnrcp96siksj0j73j";
|
||||
};
|
||||
|
||||
buildInputs = [ ghc perl gmp ncurses ];
|
||||
|
||||
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.cc}/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
|
||||
];
|
||||
platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
|
||||
};
|
||||
|
||||
}
|
||||
@@ -62,8 +62,9 @@ stdenv.mkDerivation rec {
|
||||
'' else "");
|
||||
|
||||
configurePhase = ''
|
||||
./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \
|
||||
${if stdenv.isDarwin then "--with-gcc=${./gcc-clang-wrapper.sh}" else "--with-clang"}
|
||||
./configure --prefix=$out \
|
||||
--with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \
|
||||
${stdenv.lib.optionalString stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"}
|
||||
'';
|
||||
|
||||
# Stripping combined with patchelf breaks the executables (they die
|
||||
|
||||
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
|
||||
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"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "7.6.1";
|
||||
|
||||
name = "ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://haskell.org/ghc/dist/7.6.1/${name}-src.tar.bz2";
|
||||
sha256 = "1q5rqp8z90mq6ysf7h28zkbhfaxlrpva2qy0wnkr43d7214dzp7i";
|
||||
};
|
||||
|
||||
buildInputs = [ ghc perl gmp ncurses ];
|
||||
|
||||
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.cc}/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;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "7.6.2";
|
||||
|
||||
name = "ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "d5f45184abeacf7e9c6b4f63c7101a5c1d7b4fe9007901159e2287ecf38de533";
|
||||
};
|
||||
|
||||
buildInputs = [ ghc perl gmp ncurses ];
|
||||
|
||||
|
||||
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.cc}/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;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -22,7 +22,8 @@ in stdenv.mkDerivation rec {
|
||||
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"
|
||||
'' + stdenv.lib.optionalString stdenv.isLinux ''
|
||||
# Set ghcFlags for building ghc itself
|
||||
SRC_HC_OPTS += ${ghcFlags}
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
{stdenv, fetchurl, perl, ncurses, gmp}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "7.8.3";
|
||||
|
||||
name = "ghc-${version}-binary";
|
||||
|
||||
src =
|
||||
if stdenv.system == "x86_64-darwin" then
|
||||
fetchurl {
|
||||
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.bz2";
|
||||
sha256 = "1ja0cq5xyjcvjpvjmm4nzhkpmwfs2kjlldbc48lxcs9rmqi7rnay";
|
||||
}
|
||||
else throw "cannot bootstrap GHC on this platform";
|
||||
|
||||
buildInputs = [perl];
|
||||
|
||||
postUnpack =
|
||||
# Strip is harmful, see also below. It's important that this happens
|
||||
# first. The GHC Cabal build system makes use of strip by default and
|
||||
# has hardcoded paths to /usr/bin/strip in many places. We replace
|
||||
# those below, making them point to our dummy script.
|
||||
''
|
||||
mkdir "$TMP/bin"
|
||||
for i in strip; do
|
||||
echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
|
||||
chmod +x "$TMP/bin/$i"
|
||||
done
|
||||
PATH="$TMP/bin:$PATH"
|
||||
'' +
|
||||
# We have to patch the GMP paths for the integer-gmp package.
|
||||
''
|
||||
find . -name integer-gmp.buildinfo \
|
||||
-exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \;
|
||||
'' +
|
||||
# On Linux, use patchelf to modify the executables so that they can
|
||||
# find editline/gmp.
|
||||
(if stdenv.isLinux then ''
|
||||
find . -type f -perm +100 \
|
||||
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${ncurses}/lib:${gmp}/lib" {} \;
|
||||
sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
|
||||
sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
|
||||
for prog in ld ar gcc strip ranlib; do
|
||||
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
|
||||
done
|
||||
'' else "");
|
||||
|
||||
configurePhase = ''
|
||||
./configure --prefix=$out --with-gmp-libraries=${gmp}/lib \
|
||||
--with-gmp-includes=${gmp}/include
|
||||
'';
|
||||
|
||||
# Stripping combined with patchelf breaks the executables (they die
|
||||
# with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
|
||||
dontStrip = true;
|
||||
|
||||
# No building is necessary, but calling make without flags ironically
|
||||
# calls install-strip ...
|
||||
buildPhase = "true";
|
||||
|
||||
postInstall =
|
||||
''
|
||||
# Sanity check, can ghc create executables?
|
||||
cd $TMP
|
||||
mkdir test-ghc; cd test-ghc
|
||||
cat > main.hs << EOF
|
||||
module Main where
|
||||
main = putStrLn "yes"
|
||||
EOF
|
||||
$out/bin/ghc --make main.hs
|
||||
echo compilation ok
|
||||
[ $(./main) == "yes" ]
|
||||
'';
|
||||
|
||||
meta.license = stdenv.lib.licenses.bsd3;
|
||||
meta.platforms = ["x86_64-darwin"];
|
||||
}
|
||||
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
|
||||
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
|
||||
'';
|
||||
|
||||
|
||||
@@ -1,18 +1,30 @@
|
||||
{ stdenv, fetchurl, ghc, perl, gmp, ncurses, happy, alex }:
|
||||
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
||||
|
||||
let
|
||||
|
||||
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
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "7.10.0.20141222";
|
||||
version = "7.11.20150118";
|
||||
name = "ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.haskell.org/~ghc/7.10.1-rc1/ghc-7.10.0.20141222-src.tar.xz";
|
||||
sha256 = "0nncvvwksqqz1d991jbag3b4174i275nn0psadriq5hi3px11dkl";
|
||||
url = "http://deb.haskell.org/dailies/2015-01-18/ghc_7.11.20150118.orig.tar.bz2";
|
||||
sha256 = "1zy960q2faq03camq2n4834bd748vkc15h83bapswc68dqncqj20";
|
||||
};
|
||||
|
||||
buildInputs = [ ghc perl ncurses happy alex ];
|
||||
buildInputs = [ ghc perl ];
|
||||
|
||||
preConfigure = ''
|
||||
echo >mk/build.mk "DYNAMIC_BY_DEFAULT = NO"
|
||||
echo >mk/build.mk "${buildMK}"
|
||||
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}"
|
||||
|
||||
@@ -50,7 +50,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildPhase = ''
|
||||
# Some comments in files are in UTF-8, so include the locale needed by GHC runtime.
|
||||
export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive
|
||||
export LC_ALL=en_US.UTF-8
|
||||
|
||||
# PAKCS must be build in place due to embedded filesystem references placed by swi.
|
||||
|
||||
Reference in New Issue
Block a user