From 32f62e9798d28a41a532579066b4cda3b499c7d3 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 31 Jul 2019 21:32:19 -0400 Subject: [PATCH 1/2] zoom-us: use flathub desktop integration We fetch from https://github.com/flathub/us.zoom.Zoom and install their appdata, icons, and desktop file. --- .../instant-messengers/zoom-us/default.nix | 41 ++++++++++++++----- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 82af30811a6a..cd78619aa4cf 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, mkDerivation, makeWrapper, makeDesktopItem, autoPatchelfHook -, wrapQtAppsHook +{ stdenv, fetchurl, mkDerivation, makeWrapper, autoPatchelfHook +, wrapQtAppsHook, fetchFromGitHub # Dynamic libraries , dbus, glib, libGL, libX11, libXfixes, libuuid, libxcb, qtbase, qtdeclarative , qtimageformats, qtlocation, qtquickcontrols, qtquickcontrols2, qtscript, qtsvg @@ -22,6 +22,14 @@ let }; }; + # Used for icons, appdata, and desktop file. + desktopIntegration = fetchFromGitHub { + owner = "flathub"; + repo = "us.zoom.Zoom"; + rev = "0d294e1fdd2a4ef4e05d414bc680511f24d835d7"; + sha256 = "0rm188844a10v8d6zgl2pnwsliwknawj09b02iabrvjw5w1lp6wl"; + }; + in mkDerivation { name = "zoom-us-${version}"; @@ -66,15 +74,26 @@ in mkDerivation { runHook postInstall ''; - postInstall = (makeDesktopItem { - name = "zoom-us"; - exec = "$out/bin/zoom-us %U"; - icon = "$out/share/zoom-us/application-x-zoom.png"; - desktopName = "Zoom"; - genericName = "Video Conference"; - categories = "Network;Application;"; - mimeType = "x-scheme-handler/zoommtg;"; - }).buildCommand + '' + postInstall = '' + mkdir -p $out/share/{applications,appdata,icons} + + # Desktop File + cp ${desktopIntegration}/us.zoom.Zoom.desktop $out/share/applications + substituteInPlace $out/share/applications/us.zoom.Zoom.desktop \ + --replace "Exec=zoom" "Exec=$out/bin/zoom-us" + + # Appdata + cp ${desktopIntegration}/us.zoom.Zoom.appdata.xml $out/share/appdata + + # Icons + for icon_size in 64 96 128 256; do + path=$icon_size'x'$icon_size + icon=${desktopIntegration}/us.zoom.Zoom.$icon_size.png + + mkdir -p $out/share/icons/hicolor/$path/apps + cp $icon $out/share/icons/hicolor/$path/apps/us.zoom.Zoom.png + done + ln -s $out/share/zoom-us/zoom $out/bin/zoom-us ''; From 2d307238defae9c47b865afb2dd578e283330ed5 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 31 Jul 2019 21:32:54 -0400 Subject: [PATCH 2/2] zoom-us: drop uneeded *Inputs --- .../networking/instant-messengers/zoom-us/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index cd78619aa4cf..8aa732fd6ba7 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, mkDerivation, makeWrapper, autoPatchelfHook -, wrapQtAppsHook, fetchFromGitHub +{ stdenv, fetchurl, mkDerivation, autoPatchelfHook +, fetchFromGitHub # Dynamic libraries , dbus, glib, libGL, libX11, libXfixes, libuuid, libxcb, qtbase, qtdeclarative , qtimageformats, qtlocation, qtquickcontrols, qtquickcontrols2, qtscript, qtsvg @@ -35,7 +35,7 @@ in mkDerivation { src = srcs.${stdenv.hostPlatform.system}; - nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ]; + nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ dbus glib libGL libX11 libXfixes libuuid libxcb libjpeg_turbo