diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 933badccf631..972d7c13a283 100644 --- a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/nixpkgs/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 @@ -14,11 +14,11 @@ assert pulseaudioSupport -> libpulseaudio != null; let inherit (stdenv.lib) concatStringsSep makeBinPath optional; - version = "3.0.291715.0908"; + version = "3.5.336627.1216"; srcs = { x86_64-linux = fetchurl { url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz"; - sha256 = "1f2fcwf0p86bxcnfdhij6hvgizd7n7gjcccwzdm2jv0dbqskad2f"; + sha256 = "04r45z2rjjn9gr7bxhfwg49xkyhmpcn5y6pdbkdnrfwzaqzisavz"; }; }; @@ -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; |