summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoron Behar <doron.behar@gmail.com>2022-09-01 05:44:43 +0000
committerGitHub <noreply@github.com>2022-09-01 05:44:43 +0000
commit374d334335781dd04d4783f7de31fe0fe97b2e4b (patch)
treef700d5536c00bad166aa17ce0d96a771e1b61dca
parentMerge pull request #189214 from NixOS/backport-189203-to-release-22.05 (diff)
parentzoom-us: 5.11.{1.8356,3.3882} -> 5.11.{9.10046,10.4400} (diff)
downloadnixpkgs-374d334335781dd04d4783f7de31fe0fe97b2e4b.tar.gz
Merge pull request #188940 from kini/backport-188774-to-release-22.05
-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.nix26
-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, 42 insertions, 42 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 9b4a21cb7d28..000000000000
--- 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 4fd4c471b3cf..000000000000
--- 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 a8fd025a88ad..7b5c737d7c67 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;
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
index 6d9b50252d12..3684f057a08c 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 a5ef33d28b56..000000000000
--- 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 4fd4c471b3cf..000000000000
--- 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 c50424c7a5b0..000000000000
--- a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-sha.nix
+++ /dev/null
@@ -1 +0,0 @@
-"1ir5akl4vrzb0b5s37s2viqisvf4sylw8rfnfj434h1q0gqz79sc"
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 e776017ccb04..000000000000
--- a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-version.nix
+++ /dev/null
@@ -1 +0,0 @@
-"5.11.1.3595"