···
{ stdenv, lib, libXcomposite, libgnome-keyring, makeWrapper, udev, curl, alsaLib
, libXfixes, atk, gtk2, libXrender, pango, gnome2, cairo, freetype, fontconfig
3
-
, libX11, libXi, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst
3
+
, libX11, libXi, libxcb, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst
, nss, nspr, cups, fetchurl, expat, gdk_pixbuf, libXdamage, libXrandr, dbus
···
stdenv.mkDerivation rec {
name = "gitkraken-${version}";
url = "https://release.gitkraken.com/linux/v${version}.deb";
16
-
sha256 = "0088vdn47563f0v9zhk1vggn3c2cfg8rhmifc6nw4zbss49si5gp";
16
+
sha256 = "1djrbpm1f258cicf65ddvndpxi1izmnc12253k1zwl77z4jjbwls";
libPath = makeLibraryPath [
···
···
69
-
unpackPhase = "dpkg-deb -x $src .";
70
+
unpackPhase = "true";
74
+
substituteInPlace $out/usr/share/applications/gitkraken.desktop \
75
+
--replace /usr/share/gitkraken $out/bin
76
+
cp -av $out/usr/* $out
77
+
rm -rf $out/etc $out/usr $out/share/lintian
72
-
mkdir -p "$out/opt/gitkraken"
73
-
cp -r usr/share/gitkraken/* "$out/opt/gitkraken"
80
+
for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
81
+
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
82
+
patchelf --set-rpath ${libPath}:$out/share/gitkraken $file || true
75
-
mkdir -p "$out/share/applications"
76
-
cp $desktopItem/share/applications/* "$out/share/applications"
78
-
mkdir -p "$out/share/pixmaps"
79
-
cp usr/share/pixmaps/app.png "$out/share/pixmaps"
85
+
find $out/share/gitkraken -name "*.node" -exec patchelf --set-rpath "${libPath}:$out/share/gitkraken" {} \;
83
-
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
84
-
--set-rpath "$libPath:$out/opt/gitkraken" "$out/opt/gitkraken/gitkraken"
85
-
wrapProgram $out/opt/gitkraken/gitkraken \
86
-
--prefix LD_PRELOAD : "${makeLibraryPath [ curl ]}/libcurl.so.4" \
87
-
--prefix LD_PRELOAD : "${makeLibraryPath [ libgnome-keyring ]}/libgnome-keyring.so.0"
89
-
ln -s "$out/opt/gitkraken/gitkraken" "$out/bin/gitkraken"
87
+
rm $out/bin/gitkraken
88
+
ln -s $out/share/gitkraken/gitkraken $out/bin/gitkraken