summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/zoom-us
diff options
context:
space:
mode:
authorpennae <82953136+pennae@users.noreply.github.com>2022-09-01 16:10:09 +0200
committerGitHub <noreply@github.com>2022-09-01 16:10:09 +0200
commit3bddcf5f9002814a8bec50025418faa3fd3f6138 (patch)
tree5ae3ebf10acce3ad00d4a2468f8e64c41a2c749b /pkgs/applications/networking/instant-messengers/zoom-us
parent1d41cff3dc4c8f37bb5841f51fcbff705e169178 (diff)
parente7312d54f184e5c3e0f1ef29028f6dae8fa34a97 (diff)
downloadnixpkgs-3bddcf5f9002814a8bec50025418faa3fd3f6138.tar
nixpkgs-3bddcf5f9002814a8bec50025418faa3fd3f6138.tar.gz
nixpkgs-3bddcf5f9002814a8bec50025418faa3fd3f6138.tar.bz2
nixpkgs-3bddcf5f9002814a8bec50025418faa3fd3f6138.tar.lz
nixpkgs-3bddcf5f9002814a8bec50025418faa3fd3f6138.tar.xz
nixpkgs-3bddcf5f9002814a8bec50025418faa3fd3f6138.tar.zst
nixpkgs-3bddcf5f9002814a8bec50025418faa3fd3f6138.zip
Merge branch 'master' into option-docs-md
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/zoom-us')
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/arm64-darwin-sha.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/arm64-darwin-version.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix28
-rwxr-xr-xpkgs/applications/networking/instant-messengers/zoom-us/update.sh52
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/x86_64-darwin-sha.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/x86_64-darwin-version.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-sha.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-version.nix1
8 files changed, 43 insertions, 43 deletions
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/arm64-darwin-sha.nix b/pkgs/applications/networking/instant-messengers/zoom-us/arm64-darwin-sha.nix
deleted file mode 100644
index 9b4a21cb7d2..00000000000
--- a/pkgs/applications/networking/instant-messengers/zoom-us/arm64-darwin-sha.nix
+++ /dev/null
@@ -1 +0,0 @@
-"0cwplzza8vv4nzxf35i2p4gfnna4dpgp0ddqbpdxl8cxrikq5rji"
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/arm64-darwin-version.nix b/pkgs/applications/networking/instant-messengers/zoom-us/arm64-darwin-version.nix
deleted file mode 100644
index 4fd4c471b3c..00000000000
--- a/pkgs/applications/networking/instant-messengers/zoom-us/arm64-darwin-version.nix
+++ /dev/null
@@ -1 +0,0 @@
-"5.11.1.8356"
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index f85fa1e28f6..f1a0de73383 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -44,24 +44,26 @@ let
   throwSystem = throw "Unsupported system: ${system}";
 
   # Zoom versions are released at different times for each platform
-  version = {
-    aarch64-darwin =import ./arm64-darwin-version.nix;
-    x86_64-darwin = import ./x86_64-darwin-version.nix;
-    x86_64-linux = import ./x86_64-linux-version.nix;
-   }.${system} or throwSystem;
+  # and often with different versions.  We write them on three lines
+  # like this (rather than using {}) so that the updater script can
+  # find where to edit them.
+  versions.aarch64-darwin = "5.11.9.10046";
+  versions.x86_64-darwin = "5.11.9.10046";
+  versions.x86_64-linux = "5.11.10.4400";
 
   srcs = {
     aarch64-darwin = fetchurl {
-      url = "https://zoom.us/client/${version}/Zoom.pkg?archType=arm64";
-      sha256 = import ./arm64-darwin-sha.nix;
+      url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
+      name = "zoomusInstallerFull.pkg";
+      hash = "sha256-Z+K811azMRnhptZ1UvM+o5IgE0F4p9BrntJC9IgPU7U=";
     };
     x86_64-darwin = fetchurl {
-      url = "https://zoom.us/client/${version}/Zoom.pkg";
-      sha256 = import ./x86_64-darwin-sha.nix;
+      url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
+      hash = "sha256-7U7qT3xlm5LqcJByMWxhZnqs6XBzylEGhqTNUgiaXJY=";
     };
     x86_64-linux = fetchurl {
-      url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
-      sha256 = import ./x86_64-linux-sha.nix;
+      url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
+      hash = "sha256-Pi1MtuCHzkQACamsNOIS6pbM03L1CmyosbpdrYVNCkQ=";
     };
   };
 
@@ -109,7 +111,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "zoom";
-  inherit version;
+  version = versions.${system} or throwSystem;
 
   src = srcs.${system} or throwSystem;
 
@@ -150,7 +152,7 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/share/applications/Zoom.desktop \
         --replace "Exec=/usr/bin/zoom" "Exec=$out/bin/zoom"
 
-    for i in zopen zoom ZoomLauncher; do
+    for i in aomhost zopen zoom ZoomLauncher; do
       patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/opt/zoom/$i
     done
 
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
index 6d9b50252d1..3684f057a08 100755
--- a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
@@ -1,30 +1,34 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl pup
+#!nix-shell -i bash -p common-updater-scripts curl jq
 
 set -eu -o pipefail
 
-dirname="$(dirname "$0")"
+scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd)
+nixpkgs=$(realpath "$scriptDir"/../../../../..)
 
-uname="$(uname)"
+echo >&2 "=== Obtaining version data from https://zoom.us/rest/download ..."
+linux_data=$(curl -Ls 'https://zoom.us/rest/download?os=linux' | jq .result.downloadVO)
+mac_data=$(curl -Ls 'https://zoom.us/rest/download?os=mac' | jq .result.downloadVO)
 
-if [[ "$uname" == "Linux" ]]; then
-    version="$(curl -Ls https://zoom.us/download\?os\=linux | \
-      pup '.linux-ver-text text{}' | \
-      awk -F'[ ().]' '{printf $2"."$3"."$4"."$6"\n"}')"
-    printf '"%s"\n' ${version} > $dirname/x86_64-linux-version.nix
-    printf '"%s"\n' \
-        $(nix-prefetch-url https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz) > \
-        $dirname/x86_64-linux-sha.nix
-elif [[ $uname == "Darwin" ]]; then
-    # The 1st line might be empty
-    # 2nd line is the version of the conference room application
-    version="$(curl -Ls https://zoom.us/download\?os\=mac | \
-      pup '.ver text{}' | \
-      sed '/^$/d' |\
-      head -1 | \
-      awk -F'[ ().]' '{printf $2"."$3"."$4"."$6"\n"}')"
-    printf '"%s"\n' ${version} > "$dirname/$(uname -m)-darwin-version.nix"
-    printf '"%s"\n' \
-        $(nix-prefetch-url "https://zoom.us/client/${version}/Zoom.pkg?archType=$(uname -m)") > \
-        "$dirname/$(uname -m)-darwin-sha.nix"
-fi
+version_aarch64_darwin=$(jq -r .zoomArm64.version <<<"$mac_data")
+version_x86_64_darwin=$(jq -r .zoom.version <<<"$mac_data")
+version_x86_64_linux=$(jq -r .zoom.version <<<"$linux_data")
+
+echo >&2 "=== Downloading packages and computing hashes..."
+# We precalculate the hashes before calling update-source-version
+# because it attempts to calculate each architecture's package's hash
+# by running `nix-build --system <architecture> -A zoom-us.src` which
+# causes cross compiling headaches; using nix-prefetch-url with
+# hard-coded URLs is simpler.  Keep these URLs in sync with the ones
+# in default.nix where `srcs` is defined.
+hash_aarch64_darwin=$(nix hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "https://zoom.us/client/${version_aarch64_darwin}/zoomusInstallerFull.pkg?archType=arm64"))
+hash_x86_64_darwin=$(nix hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "https://zoom.us/client/${version_x86_64_darwin}/zoomusInstallerFull.pkg"))
+hash_x86_64_linux=$(nix hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "https://zoom.us/client/${version_x86_64_linux}/zoom_x86_64.pkg.tar.xz"))
+
+echo >&2 "=== Updating default.nix ..."
+# update-source-version expects to be at the root of nixpkgs
+(cd "$nixpkgs" && update-source-version zoom-us "$version_aarch64_darwin" $hash_aarch64_darwin --system=aarch64-darwin --version-key=versions.aarch64-darwin)
+(cd "$nixpkgs" && update-source-version zoom-us "$version_x86_64_darwin" $hash_x86_64_darwin --system=x86_64-darwin --version-key=versions.x86_64-darwin)
+(cd "$nixpkgs" && update-source-version zoom-us "$version_x86_64_linux" $hash_x86_64_linux --system=x86_64-linux --version-key=versions.x86_64-linux)
+
+echo >&2 "=== Done!"
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-darwin-sha.nix b/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-darwin-sha.nix
deleted file mode 100644
index a5ef33d28b5..00000000000
--- a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-darwin-sha.nix
+++ /dev/null
@@ -1 +0,0 @@
-"12s4z80n1qk1vcp5vppabj6fxanm4q7pjj7mggalmjbj6984fsza"
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-darwin-version.nix b/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-darwin-version.nix
deleted file mode 100644
index 4fd4c471b3c..00000000000
--- a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-darwin-version.nix
+++ /dev/null
@@ -1 +0,0 @@
-"5.11.1.8356"
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-sha.nix b/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-sha.nix
deleted file mode 100644
index 778aaf85f56..00000000000
--- a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-sha.nix
+++ /dev/null
@@ -1 +0,0 @@
-"09x0l50frck8v2zhgp84m57q3kj74chk37sc69mpbhwy0s6vg980"
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-version.nix b/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-version.nix
deleted file mode 100644
index e3f51ac695d..00000000000
--- a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-version.nix
+++ /dev/null
@@ -1 +0,0 @@
-"5.11.3.3882"