at 18.03-beta 96 lines 2.5 kB view raw
1{ stdenv, fetchurl, buildFHSUserEnv, writeTextFile, alsaLib, atk, cairo, cups 2, dbus, expat, fontconfig, freetype, gcc, gdk_pixbuf, glib, gnome2, gtk2, nspr 3, nss, pango, systemd, xorg, utillinuxMinimal }: 4 5let 6 libPath = stdenv.lib.makeLibraryPath [ 7 alsaLib 8 atk 9 cairo 10 cups 11 dbus 12 expat 13 fontconfig 14 freetype 15 gcc.cc 16 gdk_pixbuf 17 glib 18 gnome2.GConf 19 gtk2 20 nspr 21 nss 22 pango 23 systemd 24 xorg.libX11 25 xorg.libxcb 26 xorg.libXcomposite 27 xorg.libXcursor 28 xorg.libXdamage 29 xorg.libXext 30 xorg.libXfixes 31 xorg.libXi 32 xorg.libXrandr 33 xorg.libXrender 34 xorg.libXScrnSaver 35 xorg.libXtst 36 ]; 37in 38stdenv.mkDerivation rec { 39 name = "keybase-gui-${version}"; 40 version = "1.0.44-20180223200436.9a9ccec79"; 41 src = fetchurl { 42 url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version}_amd64.deb"; 43 sha256 = "0dmi0fw39924kpahlsk853hbmpy8a6nj78lrh1wharayjpvj6jv3"; 44 }; 45 phases = ["unpackPhase" "installPhase" "fixupPhase"]; 46 unpackPhase = '' 47 ar xf $src 48 tar xf data.tar.xz 49 ''; 50 installPhase = '' 51 mkdir -p $out/bin 52 mv usr/share $out/share 53 mv opt/keybase $out/share/ 54 55 cat > $out/bin/keybase-gui <<EOF 56 #!${stdenv.shell} 57 58 checkFailed() { 59 if [ "\$NIX_SKIP_KEYBASE_CHECKS" = "1" ]; then 60 return 61 fi 62 echo "Set NIX_SKIP_KEYBASE_CHECKS=1 if you want to skip this check." >&2 63 exit 1 64 } 65 66 if [ ! -S "\$XDG_RUNTIME_DIR/keybase/keybased.sock" ]; then 67 echo "Keybase service doesn't seem to be running." >&2 68 echo "You might need to run: keybase service" >&2 69 checkFailed 70 fi 71 72 ${utillinuxMinimal}/bin/mountpoint /keybase &>/dev/null 73 if [ "\$?" -ne "0" ]; then 74 echo "Keybase is not mounted to /keybase." >&2 75 echo "You might need to run: kbfsfuse /keybase" >&2 76 checkFailed 77 fi 78 79 exec $out/share/keybase/Keybase "\$@" 80 EOF 81 chmod +x $out/bin/keybase-gui 82 83 substituteInPlace $out/share/applications/keybase.desktop \ 84 --replace run_keybase $out/bin/keybase-gui 85 ''; 86 postFixup = '' 87 patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath "${libPath}:\$ORIGIN" "$out/share/keybase/Keybase" 88 ''; 89 90 meta = with stdenv.lib; { 91 homepage = https://www.keybase.io/; 92 description = "The Keybase official GUI."; 93 platforms = platforms.linux; 94 maintainers = with maintainers; [ puffnfresh np ]; 95 }; 96}