summary refs log tree commit diff
path: root/pkgs/applications/networking
diff options
context:
space:
mode:
authorDanylo Hlynskyi <abcz2.uprola@gmail.com>2019-12-22 21:15:53 +0200
committerGitHub <noreply@github.com>2019-12-22 21:15:53 +0200
commit63fd2506424c82f21a25f0a449ad57c41ae92a4e (patch)
tree56386f02bd0d20c51340caaceb6b152b7228cf91 /pkgs/applications/networking
parent7d421075f1db0e9aadf1d8af1d7e6cf8c2698d46 (diff)
parent50db72d5486cae3eb57303fbcb45155b0b730ac9 (diff)
downloadnixpkgs-63fd2506424c82f21a25f0a449ad57c41ae92a4e.tar
nixpkgs-63fd2506424c82f21a25f0a449ad57c41ae92a4e.tar.gz
nixpkgs-63fd2506424c82f21a25f0a449ad57c41ae92a4e.tar.bz2
nixpkgs-63fd2506424c82f21a25f0a449ad57c41ae92a4e.tar.lz
nixpkgs-63fd2506424c82f21a25f0a449ad57c41ae92a4e.tar.xz
nixpkgs-63fd2506424c82f21a25f0a449ad57c41ae92a4e.tar.zst
nixpkgs-63fd2506424c82f21a25f0a449ad57c41ae92a4e.zip
Merge pull request #76056 from danbst/zoom-fix
zoom-us: fix web login
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix24
1 files changed, 20 insertions, 4 deletions
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 79151434297..972d7c13a28 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, mkDerivation, autoPatchelfHook
+{ stdenv, fetchurl, mkDerivation, autoPatchelfHook, bash
 , fetchFromGitHub
 # Dynamic libraries
 , dbus, glib, libGL, libX11, libXfixes, libuuid, libxcb, qtbase, qtdeclarative
@@ -94,19 +94,35 @@ in mkDerivation {
         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
   '';
 
+  # $out/share/zoom-us isn't in auto-wrap directories list, need manual wrapping
+  dontWrapQtApps = true;
+
   qtWrapperArgs = [
     ''--prefix PATH : ${makeBinPath [ coreutils glib.dev pciutils procps qttools.dev utillinux ]}''
     ''--prefix LD_PRELOAD : ${libv4l}/lib/libv4l/v4l2convert.so''
+    # --run "cd ${placeholder "out"}/share/zoom-us"
+    # ^^ unfortunately, breaks run arg into multiple array elements, due to
+    # some bad array propagation. We'll do that in bash below
   ];
 
+  postFixup = ''
+    # Zoom expects "zopen" executable (needed for web login) to be present in CWD. Or does it expect
+    # everybody runs Zoom only after cd to Zoom package directory? Anyway, :facepalm:
+    qtWrapperArgs+=( --run "cd ${placeholder "out"}/share/zoom-us" )
+
+    for app in ZoomLauncher zopen zoom; do
+      wrapQtApp $out/share/zoom-us/$app
+    done
+
+    ln -s $out/share/zoom-us/ZoomLauncher $out/bin/zoom-us
+  '';
+
   passthru.updateScript = ./update.sh;
 
   meta = {
-    homepage = https://zoom.us/;
+    homepage = "https://zoom.us/";
     description = "zoom.us video conferencing application";
     license = stdenv.lib.licenses.unfree;
     platforms = builtins.attrNames srcs;