From c379dc736ee98e670bb462a11baef416a51d2230 Mon Sep 17 00:00:00 2001 From: danbst Date: Thu, 19 Dec 2019 18:49:06 +0000 Subject: [PATCH 1/2] zoom-us: fix web login, and provide Qt wrapping for binaries (but don't pollute environment) --- .../instant-messengers/zoom-us/default.nix | 24 +++++++++++++++---- 1 file 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; From 50db72d5486cae3eb57303fbcb45155b0b730ac9 Mon Sep 17 00:00:00 2001 From: danbst Date: Thu, 19 Dec 2019 20:59:36 +0200 Subject: [PATCH 2/2] maintainers update.nix: fix typo in script help --- maintainers/scripts/update.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix index 60c6113bf70..bbc3004b1c4 100755 --- a/maintainers/scripts/update.nix +++ b/maintainers/scripts/update.nix @@ -105,7 +105,7 @@ let to run all update scripts for all packages that lists \`garbas\` as a maintainer and have \`updateScript\` defined, or: - % nix-shell maintainers/scripts/update.nix --argstr package garbas + % nix-shell maintainers/scripts/update.nix --argstr package gnome3.nautilus to run update script for specific package, or