diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/instant-messengers/franz')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/instant-messengers/franz/default.nix | 52 | ||||
-rw-r--r-- | nixpkgs/pkgs/applications/networking/instant-messengers/franz/generic.nix | 90 |
2 files changed, 97 insertions, 45 deletions
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/franz/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/franz/default.nix index 0c5090574fa..52bc60b5aff 100644 --- a/nixpkgs/pkgs/applications/networking/instant-messengers/franz/default.nix +++ b/nixpkgs/pkgs/applications/networking/instant-messengers/franz/default.nix @@ -1,57 +1,19 @@ -{ 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 }: +{ stdenv, mkFranzDerivation, fetchurl }: -let - version = "5.4.1"; -in stdenv.mkDerivation { +mkFranzDerivation rec { pname = "franz"; - inherit version; + name = "Franz"; + version = "5.5.0"; src = fetchurl { url = "https://github.com/meetfranz/franz/releases/download/v${version}/franz_${version}_amd64.deb"; - sha256 = "1g1z5zjm9l081hpqslfc4h7pqh4k76ccmlz71r21204wy630mw6h"; + sha256 = "0kgfjai0pz0gpbxsmn3hbha7zr2kax0s1j3ygcsy4kzghla990wm"; }; - - # 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 /opt/Franz/franz 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.davidtwco ]; - platforms = ["x86_64-linux"]; - hydraPlatforms = []; + platforms = [ "x86_64-linux" ]; + hydraPlatforms = [ ]; }; } diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/franz/generic.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/franz/generic.nix new file mode 100644 index 00000000000..3f05e3d7a5d --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/instant-messengers/franz/generic.nix @@ -0,0 +1,90 @@ +{ stdenv +, lib +, 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 +}: + +# Helper function for building a derivation for Franz and forks. + +{ pname, name, version, src, meta }: +stdenv.mkDerivation { + inherit pname version src meta; + + # 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 = [ (lib.getLib udev) libnotify ]; + + unpackPhase = "dpkg-deb -x $src ."; + + installPhase = '' + mkdir -p $out/bin + cp -r opt $out + ln -s $out/opt/${name}/${pname} $out/bin + + # Provide desktop item and icon. + cp -r usr/share $out + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace /opt/${name}/${pname} ${pname} + ''; + + dontWrapGApps = true; + + postFixup = '' + wrapProgram $out/opt/${name}/${pname} \ + --prefix PATH : ${xdg_utils}/bin \ + "''${gappsWrapperArgs[@]}" + ''; +} |