haskell: set LD_LIBRARY_PATH in shellHook

LD_LIBRARY_PATH is considered by GHCI.
Previously e.g. `cabal repl` failed on packages with
system library dependencies.
This commit is contained in:
Leon Isenberg 2017-04-20 09:15:51 +02:00
parent b48be4616d
commit e73e5c884f

View File

@ -63,7 +63,8 @@ assert enableSplitObjs == null;
let
inherit (stdenv.lib) optional optionals optionalString versionOlder versionAtLeast
concatStringsSep enableFeature optionalAttrs toUpper;
concatStringsSep enableFeature optionalAttrs toUpper
filter makeLibraryPath;
isGhcjs = ghc.isGhcjs or false;
isHaLVM = ghc.isHaLVM or false;
@ -330,6 +331,9 @@ stdenv.mkDerivation ({
export NIX_${ghcCommandCaps}="${ghcEnv}/bin/${ghcCommand}"
export NIX_${ghcCommandCaps}PKG="${ghcEnv}/bin/${ghcCommand}-pkg"
export NIX_${ghcCommandCaps}_DOCDIR="${ghcEnv}/share/doc/ghc/html"
export LD_LIBRARY_PATH="''${LD_LIBRARY_PATH:+''${LD_LIBRARY_PATH}:}${
makeLibraryPath (filter (x: !isNull x) systemBuildInputs)
}"
${if isHaLVM
then ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/HaLVM-${ghc.version}"''
else ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/${ghcCommand}-${ghc.version}"''}