summary refs log tree commit diff
path: root/pkgs/development/compilers/ghc/wrapper.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/ghc/wrapper.nix')
-rw-r--r--pkgs/development/compilers/ghc/wrapper.nix11
1 files changed, 9 insertions, 2 deletions
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}
+       '';
+     }))