keepass: fix warning about missing GTK

Some part of Mono is trying to dynamically load GTK - starting `keepass`
always shows warning:

```
Gtk not found (missing LD_LIBRARY_PATH to libgtk-x11-2.0.so.0?), using built-in colorscheme
```
This commit is contained in:
Alexey Lebedeff 2016-05-05 12:25:24 +03:00
parent df310048e5
commit d625c7ee3f

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, buildDotnetPackage, makeWrapper, unzip, makeDesktopItem, icoutils, plugins ? [] }:
{ stdenv, lib, fetchurl, buildDotnetPackage, makeWrapper, unzip, makeDesktopItem, icoutils, gtk2, plugins ? [] }:
# KeePass looks for plugins in under directory in which KeePass.exe is
# located. It follows symlinks where looking for that directory, so
@ -72,6 +72,8 @@ with builtins; buildDotnetPackage rec {
# is found and does not pollute output path.
binPaths = lib.concatStrings (lib.intersperse ":" (map (x: x + "/bin") plugins));
dynlibPath = stdenv.lib.makeLibraryPath [ gtk2 ];
postInstall =
let
extractFDeskIcons = ./extractWinRscIconsToStdFreeDesktopDir.sh;
@ -79,7 +81,9 @@ with builtins; buildDotnetPackage rec {
''
mkdir -p "$out/share/applications"
cp ${desktopItem}/share/applications/* $out/share/applications
wrapProgram $out/bin/keepass --prefix PATH : "$binPaths"
wrapProgram $out/bin/keepass \
--prefix PATH : "$binPaths" \
--prefix LD_LIBRARY_PATH : "$dynlibPath"
${extractFDeskIcons} \
"./Translation/TrlUtil/Resources/KeePass.ico" \