Commit e73e5c88 authored by Leon Isenberg's avatar Leon Isenberg
Browse files

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.
parent b48be461
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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}"''}