{ stdenv, fetchurl, makeWrapper, wrapGAppsHook, autoPatchelfHook, dpkg , xorg, atk, glib, pango, gdk_pixbuf, cairo, freetype, fontconfig, gtk3 , gnome2, dbus, nss, nspr, alsaLib, cups, expat, udev, libnotify, xdg_utils }: let version = "5.2.0"; in stdenv.mkDerivation rec { name = "franz-${version}"; src = fetchurl { url = "https://github.com/meetfranz/franz/releases/download/v${version}/franz_${version}_amd64.deb"; sha256 = "1wlfd1ja38vbjy8y5pg95cpvf5ixkkq53m7v3c24q473jax4ynvg"; }; # don't remove runtime deps dontPatchELF = true; nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapGAppsHook dpkg ]; buildInputs = (with xorg; [ libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libXrender libX11 libXtst libXScrnSaver ]) ++ [ gtk3 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus gnome2.GConf nss nspr alsaLib cups expat stdenv.cc.cc ]; runtimeDependencies = [ udev.lib libnotify ]; unpackPhase = "dpkg-deb -x $src ."; installPhase = '' mkdir -p $out/bin cp -r opt $out ln -s $out/opt/Franz/franz $out/bin # provide desktop item and icon cp -r usr/share $out substituteInPlace $out/share/applications/franz.desktop \ --replace Exec=\"/opt/Franz/franz\" Exec=franz ''; dontWrapGApps = true; postFixup = '' wrapProgram $out/opt/Franz/franz \ --prefix PATH : ${xdg_utils}/bin \ "''${gappsWrapperArgs[@]}" ''; meta = with stdenv.lib; { description = "A free messaging app that combines chat & messaging services into one application"; homepage = https://meetfranz.com; license = licenses.free; maintainers = [ maintainers.gnidorah ]; platforms = ["x86_64-linux"]; hydraPlatforms = []; }; }