about summary refs log tree commit diff
path: root/pkgs/development/compilers/ghc
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2007-11-05 09:27:36 +0000
committerMarc Weber <marco-oweber@gmx.de>2007-11-05 09:27:36 +0000
commitfff1ba967e6d4d993bae6a776de4d6cde26b43f0 (patch)
tree37b8cdd14afaa3bd8cc1f7c1c321f2a0962cdaca /pkgs/development/compilers/ghc
parent82ed95c0cc35dd396020af84f7c37add75a97749 (diff)
downloadnixlib-fff1ba967e6d4d993bae6a776de4d6cde26b43f0.tar
nixlib-fff1ba967e6d4d993bae6a776de4d6cde26b43f0.tar.gz
nixlib-fff1ba967e6d4d993bae6a776de4d6cde26b43f0.tar.bz2
nixlib-fff1ba967e6d4d993bae6a776de4d6cde26b43f0.tar.lz
nixlib-fff1ba967e6d4d993bae6a776de4d6cde26b43f0.tar.xz
nixlib-fff1ba967e6d4d993bae6a776de4d6cde26b43f0.tar.zst
nixlib-fff1ba967e6d4d993bae6a776de4d6cde26b43f0.zip
New proposal on howto library dependencies could be handled.
Just install ghc68_wrapper which will install the required dependencies ghc
(and libraries) itself.
The list libraries given in the wrapper attribute set can be user tuned in the future ?
An alternative would be creating something similar to the gcc/g++ include/ lib/ scheme which
is could be used by ghc to find installed packages..

svn path=/nixpkgs/trunk/; revision=9581
Diffstat (limited to 'pkgs/development/compilers/ghc')
-rw-r--r--pkgs/development/compilers/ghc/createGhcWrapper/default.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/development/compilers/ghc/createGhcWrapper/default.nix b/pkgs/development/compilers/ghc/createGhcWrapper/default.nix
new file mode 100644
index 000000000000..5eeb4d431908
--- /dev/null
+++ b/pkgs/development/compilers/ghc/createGhcWrapper/default.nix
@@ -0,0 +1,25 @@
+args: with args;
+
+stdenv.mkDerivation {
+  inherit suffix name ghc ;
+
+  buildInputs = libraries ++ [ghcPkgUtil];
+
+  phases="installPhase";
+
+  installPhase="
+    ensureDir \$out/bin
+    if test -n \"\$ghcPackagedLibs\"; then
+       g=:\$(echo \$ghc/lib/ghc-*/package.conf)
+    fi
+
+    for a in ghc ghci ghc-pkg; do
+      app=$(ls -al $ghc/bin/$a | sed -n 's%.*-> \\(.*\\)%\\1%p');
+cat > \"\$out/bin/\$a$suffix\" << EOF
+#!`type -f sh | gawk '{ print $3; }'`
+GHC_PACKAGE_PATH=\${GHC_PACKAGE_PATH}\${g} \$ghc/bin/$app \"\\\$@\"
+EOF
+      chmod +x \"\$out/bin/\$a$suffix\"
+    done
+";
+}