Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ferdi: init at 5.5.0; franz: 5.4.1 -> 5.5.0 #92155

Merged
merged 2 commits into from Jul 8, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 19 additions & 0 deletions pkgs/applications/networking/instant-messengers/ferdi/default.nix
@@ -0,0 +1,19 @@
{ stdenv, mkFranzDerivation, fetchurl }:

mkFranzDerivation rec {
pname = "ferdi";
name = "Ferdi";
version = "5.5.0";
src = fetchurl {
url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb";
sha256 = "0i24vcnq4iz5amqmn2fgk92ff9x9y7fg8jhc3g6ksvmcfly7af3k";
};
meta = with stdenv.lib; {
description = "Ferdi allows you to combine your favorite messaging services into one application";
homepage = "https://getferdi.com/";
license = licenses.free;
maintainers = [ maintainers.davidtwco ];
platforms = [ "x86_64-linux" ];
hydraPlatforms = [ ];
};
}
52 changes: 7 additions & 45 deletions 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 = [ ];
};
}
89 changes: 89 additions & 0 deletions pkgs/applications/networking/instant-messengers/franz/generic.nix
@@ -0,0 +1,89 @@
{ stdenv
, 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 = [ udev.lib 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[@]}"
'';
}
8 changes: 7 additions & 1 deletion pkgs/top-level/all-packages.nix
Expand Up @@ -3601,7 +3601,13 @@ in

fprintd = callPackage ../tools/security/fprintd { };

franz = callPackage ../applications/networking/instant-messengers/franz { };
ferdi = callPackage ../applications/networking/instant-messengers/ferdi {
mkFranzDerivation = callPackage ../applications/networking/instant-messengers/franz/generic.nix { };
};

franz = callPackage ../applications/networking/instant-messengers/franz {
mkFranzDerivation = callPackage ../applications/networking/instant-messengers/franz/generic.nix { };
};

freedroidrpg = callPackage ../games/freedroidrpg { };

Expand Down