about summary refs log tree commit diff
path: root/pkgs/development/compilers/ghc
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2008-04-11 00:40:10 +0000
committerMarc Weber <marco-oweber@gmx.de>2008-04-11 00:40:10 +0000
commit772fd74b99ab85d02014dfd4a721089c291cda61 (patch)
tree7c1eb2665e0708751d194b0491d2be16f6696b3f /pkgs/development/compilers/ghc
parent5efc5fe707f0269b1b561fb8e94ef70af66a06e1 (diff)
downloadnixlib-772fd74b99ab85d02014dfd4a721089c291cda61.tar
nixlib-772fd74b99ab85d02014dfd4a721089c291cda61.tar.gz
nixlib-772fd74b99ab85d02014dfd4a721089c291cda61.tar.bz2
nixlib-772fd74b99ab85d02014dfd4a721089c291cda61.tar.lz
nixlib-772fd74b99ab85d02014dfd4a721089c291cda61.tar.xz
nixlib-772fd74b99ab85d02014dfd4a721089c291cda61.tar.zst
nixlib-772fd74b99ab85d02014dfd4a721089c291cda61.zip
Updated my ghc stuff.
New is the file containing executables (such as alex/ happy)
some new libraries
The wrapper no longer installs tags by default. You have to add it to your config
So I'm ready to start merging

svn path=/nixpkgs/trunk/; revision=11554
Diffstat (limited to 'pkgs/development/compilers/ghc')
-rw-r--r--pkgs/development/compilers/ghc/ghc-wrapper/default.nix22
1 files changed, 20 insertions, 2 deletions
diff --git a/pkgs/development/compilers/ghc/ghc-wrapper/default.nix b/pkgs/development/compilers/ghc/ghc-wrapper/default.nix
index 5fdc6b3461b8..2024c13d7353 100644
--- a/pkgs/development/compilers/ghc/ghc-wrapper/default.nix
+++ b/pkgs/development/compilers/ghc/ghc-wrapper/default.nix
@@ -4,12 +4,15 @@ stdenv.mkDerivation {
   inherit suffix name ghc readline ncurses;
 
   buildInputs = (libraries ++ [ghcPkgUtil]);
-  tags = map (x :  sourceWithTagsDerivation (sourceWithTagsFromDerivation x)) 
-          (uniqList { inputList= filter annotatedWithSourceAndTagInfo libraries; } );
+  tags = if installSourceAndTags then
+          map (x :  sourceWithTagsDerivation (sourceWithTagsFromDerivation x)) 
+          ( uniqList { inputList= filter annotatedWithSourceAndTagInfo libraries; } )
+        else [];
 
   phases="installPhase";
 
   installPhase="
+    set -e
     ensureDir \$out/bin
     if test -n \"\$ghcPackagedLibs\"; then
        g=:\$(echo \$ghc/lib/ghc-*/package.conf)
@@ -29,5 +32,20 @@ EOF
     for i in \$tags; do
         ln -s \$i/src/* \$out/src
     done
+
+    ensureDir \$out/bin
+    for i in `echo $GHC_PACKAGE_PATH | sed 's/:/ /g'`; do
+      o=\${i/lib*/}
+      o=\${i/nix-support*/}
+      for j in `find \${o}bin/ -type f 2>/dev/null` `find \${o}usr/local/bin/ -type f 2>/dev/null`; do
+        b=`basename \$j`
+        if [ \$b == sh ]; then continue; fi
+        if [ \$b == bash ]; then continue; fi
+        if [ \$b == bashbug ]; then continue; fi
+        if [ \$b == bashbug ]; then continue; fi
+        if [ -e \$out/bin/\$b ]; then continue; fi
+        ln -s \$j \$out/bin/;
+      done
+    done
 ";
 }