* A clever hack (due to Audrey Tang, see

http://consttype.blogspot.com/2007_07_01_archive.html) around the 
  fact that Perl 5.10 no longer supports the $* variable, which GHC's
  evil mangler requires.

svn path=/nixpkgs/branches/stdenv-updates-merge/; revision=10833
This commit is contained in:
Eelco Dolstra 2008-02-22 14:09:29 +00:00
parent 3e72751bd9
commit d2d8d83f37
2 changed files with 17 additions and 12 deletions

View File

@ -38,7 +38,7 @@ stdenv.mkDerivation {
# The binaries for Darwin use frameworks, so fake those frameworks, # The binaries for Darwin use frameworks, so fake those frameworks,
# and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
# that the executables work with no special setup. # that the executables work with no special setup.
postInstall = if stdenv.isDarwin then " postInstall = (if stdenv.isDarwin then ''
ensureDir $out/frameworks/GMP.framework/Versions/A ensureDir $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/GMP
@ -50,11 +50,20 @@ stdenv.mkDerivation {
mv $out/bin $out/bin-orig mv $out/bin $out/bin-orig
mkdir $out/bin mkdir $out/bin
for i in $(cd $out/bin-orig && ls); do for i in $(cd $out/bin-orig && ls); do
echo \"#! $SHELL -e\" >> $out/bin/$i echo "#! $SHELL -e" >> $out/bin/$i
echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \\\"\\$@\\\"\" >> $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 chmod +x $out/bin/$i
done done
" else ""; '' else "") + ''
# Hack for Perl 5.10 compatibility ($* no longer works).
substituteInPlace $out/lib/*/ghc-asm --replace 'local($*) = 1;' '
BEGIN {
require overload; overload::constant( qr => sub { "(?m:$_[1])" } );
}
'
'';
} }

View File

@ -1416,8 +1416,7 @@ rec {
}; };
helium = import ../development/compilers/helium { helium = import ../development/compilers/helium {
inherit fetchurl stdenv; inherit fetchurl stdenv ghc;
ghc = ghc661;
}; };
javafront = import ../development/compilers/java-front { javafront = import ../development/compilers/java-front {
@ -3172,8 +3171,7 @@ rec {
}; };
wxHaskell = import ../development/libraries/haskell/wxHaskell { wxHaskell = import ../development/libraries/haskell/wxHaskell {
inherit stdenv fetchurl unzip wxGTK; inherit stdenv fetchurl unzip wxGTK ghc;
ghc = ghc661;
}; };
# wxHaskell68 = lowPrio (appendToName "ghc68" (import ../development/libraries/haskell/wxHaskell { # wxHaskell68 = lowPrio (appendToName "ghc68" (import ../development/libraries/haskell/wxHaskell {
@ -4609,14 +4607,12 @@ rec {
}; };
darcs = import ../applications/version-management/darcs { darcs = import ../applications/version-management/darcs {
inherit fetchurl stdenv zlib ncurses curl; inherit fetchurl stdenv zlib ncurses curl ghc;
ghc = ghc661;
}; };
# some speed bottle necks are resolved in this version I think .. perhaps you like to try it? # some speed bottle necks are resolved in this version I think .. perhaps you like to try it?
darcs_2_pre = import ../applications/version-management/darcs_2_pre.nix { darcs_2_pre = import ../applications/version-management/darcs_2_pre.nix {
inherit fetchurl stdenv zlib ncurses curl; inherit fetchurl stdenv zlib ncurses curl ghc;
ghc = ghc661;
}; };
dia = import ../applications/graphics/dia { dia = import ../applications/graphics/dia {