nixpkgs/pkgs/applications/networking/mailreaders/inboxer/default.nix
Matthew Bauer 76999cc40e treewide: remove aliases in nixpkgs
This makes the command ‘nix-env -qa -f. --arg config '{skipAliases =
true;}'’ work in Nixpkgs.

Misc...

- qtikz: use libsForQt5.callPackage

  This ensures we get the right poppler.

- rewrites:

  docbook5_xsl -> docbook_xsl_ns
  docbook_xml_xslt -> docbook_xsl

diffpdf: fixup
2018-07-18 23:25:20 -04:00

86 lines
2.2 KiB
Nix

{ stdenv, fetchurl, binutils, patchelf, makeWrapper
, expat, xorg, gdk_pixbuf, glib, gnome2, cairo, atk, freetype
, fontconfig, dbus, nss, nspr, gtk2-x11, alsaLib, cups, libpulseaudio, udev }:
stdenv.mkDerivation rec {
name = "inboxer-${version}";
version = "1.1.2";
meta = with stdenv.lib; {
description = "Unofficial, free and open-source Google Inbox Desktop App";
homepage = "https://denysdovhan.com/inboxer";
maintainers = [ maintainers.mgttlinger ];
license = licenses.mit;
platforms = [ "x86_64-linux" ];
};
src = fetchurl {
url = "https://github.com/denysdovhan/inboxer/releases/download/v${version}/inboxer_${version}_amd64.deb";
sha256 = "100185j10dj044mg5p9xlq7fj7n7xki9qw5xn845dgq0dpj8rkrm";
};
unpackPhase = ''
ar p $src data.tar.xz | tar xJ
'';
buildInputs = [ binutils patchelf makeWrapper ];
preFixup = with stdenv.lib; let
lpath = makeLibraryPath [
alsaLib
atk
cairo
cups
dbus
nss
nspr
freetype
fontconfig
gtk2-x11
xorg.libX11
xorg.libXcursor
xorg.libXdamage
xorg.libXi
xorg.libXext
xorg.libXfixes
xorg.libXrandr
xorg.libXrender
xorg.libXcomposite
xorg.libXtst
xorg.libXScrnSaver
xorg.libxcb
gdk_pixbuf
glib
gnome2.pango
gnome2.GConf
expat
stdenv.cc.cc.lib
libpulseaudio
udev
];
in ''
patchelf \
--set-rpath "$out/opt/Inboxer:${lpath}" \
$out/opt/Inboxer/libnode.so
patchelf \
--set-rpath "$out/opt/Inboxer:${lpath}" \
$out/opt/Inboxer/libffmpeg.so
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "$out/opt/Inboxer:${lpath}" \
$out/opt/Inboxer/inboxer
wrapProgram $out/opt/Inboxer/inboxer --set LD_LIBRARY_PATH "${xorg.libxkbfile}/lib:${lpath}"
'';
installPhase = ''
mkdir -p $out/bin
cp -R usr/share opt $out/
# fix the path in the desktop file
substituteInPlace \
$out/share/applications/inboxer.desktop \
--replace /opt/ $out/opt/
# symlink the binary to bin/
ln -s $out/opt/Inboxer/inboxer $out/bin/inboxer
'';
}