From f136b6a73010431bbd869e9488b84b55464428dd Mon Sep 17 00:00:00 2001 From: Matt Whiteley Date: Mon, 4 Apr 2022 16:42:04 -0700 Subject: zoom.us: darwin support --- .../instant-messengers/zoom-us/default.nix | 47 ++++++++++++++++++++-- 1 file changed, 43 insertions(+), 4 deletions(-) (limited to 'pkgs/applications/networking') diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 4aa9dbc9b10c9..19974f8857657 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -2,6 +2,8 @@ , lib , fetchurl , makeWrapper +, xar +, cpio # Dynamic libraries , alsa-lib , atk @@ -28,8 +30,24 @@ }: let - version = "5.9.6.2225"; + inherit (stdenv.hostPlatform) system; + throwSystem = throw "Unsupported system: ${system}"; + + version = { + aarch64-darwin = "5.10.1.5839"; + x86_64-darwin = "5.10.1.5839"; + x86_64-linux = "5.9.6.2225"; + }.${system} or throwSystem; + srcs = { + aarch64-darwin = fetchurl { + url = "https://zoom.us/client/${version}/Zoom.pkg?archType=arm64"; + sha256 = "0jg5f9hvb67hhfnifpx5fzz65fcijldy1znlia6pqflxwci3m5rq"; + }; + x86_64-darwin = fetchurl { + url = "https://zoom.us/client/${version}/Zoom.pkg"; + sha256 = "1p83691bid8kz5mw09x6l9zvjglfszi5vbhfmbbpiqhiqcxlfz83"; + }; x86_64-linux = fetchurl { url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz"; sha256 = "0rynpw2fjn9j75f34rk0rgqn9wzyzgzmwh1a3xcx7hqingv45k53"; @@ -71,21 +89,42 @@ stdenv.mkDerivation rec { src = srcs.${stdenv.hostPlatform.system}; - dontUnpack = true; + unpackPhase = lib.optionalString stdenv.isDarwin '' + xar -xf $src + zcat < zoomus.pkg/Payload | cpio -i + ''; nativeBuildInputs = [ makeWrapper + ] + ++ lib.optionals stdenv.isDarwin [ + xar + cpio ]; - installPhase = '' + installPhase = { + aarch64-darwin = '' + runHook preInstall + mkdir -p $out/Applications/zoom.us.app + cp -R . $out/Applications/zoom.us.app + runHook postInstall + ''; + x86_64-darwin = '' + runHook preInstall + mkdir -p $out/Applications/zoom.us.app + cp -R . $out/Applications/zoom.us.app + runHook postInstall + ''; + x86_64-linux = '' runHook preInstall mkdir $out tar -C $out -xf $src mv $out/usr/* $out/ runHook postInstall ''; + }.${stdenv.hostPlatform.system}; - postFixup = '' + postFixup = lib.optionalString stdenv.isLinux '' # Desktop File substituteInPlace $out/share/applications/Zoom.desktop \ --replace "Exec=/usr/bin/zoom" "Exec=$out/bin/zoom" -- cgit 1.4.1 From 5b44ce3367f58f7985ee9dfdc24edde595154f11 Mon Sep 17 00:00:00 2001 From: Matt Whiteley Date: Tue, 5 Apr 2022 09:39:31 -0700 Subject: The Linux tarball doesn't have a top level directory which is already dealt with in `installPhase` --- pkgs/applications/networking/instant-messengers/zoom-us/default.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'pkgs/applications/networking') diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 19974f8857657..b98cbe37f628d 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -89,6 +89,7 @@ stdenv.mkDerivation rec { src = srcs.${stdenv.hostPlatform.system}; + dontUnpack = if stdenv.isLinux then true else null; unpackPhase = lib.optionalString stdenv.isDarwin '' xar -xf $src zcat < zoomus.pkg/Payload | cpio -i -- cgit 1.4.1 From aef5702d2bf2b4ed8e56cc42260e586fd5f82285 Mon Sep 17 00:00:00 2001 From: Matt Whiteley Date: Tue, 5 Apr 2022 11:09:39 -0700 Subject: Don't duplicate `installPhase` on both Darwin platforms. --- .../networking/instant-messengers/zoom-us/default.nix | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'pkgs/applications/networking') diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index b98cbe37f628d..02a8dc17f3f32 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -103,27 +103,18 @@ stdenv.mkDerivation rec { cpio ]; - installPhase = { - aarch64-darwin = '' + installPhase = if stdenv.isDarwin then '' runHook preInstall mkdir -p $out/Applications/zoom.us.app cp -R . $out/Applications/zoom.us.app runHook postInstall - ''; - x86_64-darwin = '' - runHook preInstall - mkdir -p $out/Applications/zoom.us.app - cp -R . $out/Applications/zoom.us.app - runHook postInstall - ''; - x86_64-linux = '' + '' else '' runHook preInstall mkdir $out tar -C $out -xf $src mv $out/usr/* $out/ runHook postInstall ''; - }.${stdenv.hostPlatform.system}; postFixup = lib.optionalString stdenv.isLinux '' # Desktop File -- cgit 1.4.1 From df760d5b58e043507495bf04073ce7e8b1edafbb Mon Sep 17 00:00:00 2001 From: Matt Whiteley Date: Mon, 25 Apr 2022 11:07:37 -0700 Subject: Update darwin versions and comment on difference to linux --- .../applications/networking/instant-messengers/zoom-us/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'pkgs/applications/networking') diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 02a8dc17f3f32..cc875edf3b83d 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -33,9 +33,12 @@ let inherit (stdenv.hostPlatform) system; throwSystem = throw "Unsupported system: ${system}"; + # Zoom versions are released at different times for each platform and linux + # is stuck on 5.9.6 until https://github.com/NixOS/nixpkgs/pull/166085 is + # merged version = { - aarch64-darwin = "5.10.1.5839"; - x86_64-darwin = "5.10.1.5839"; + aarch64-darwin = "5.10.4.6592"; + x86_64-darwin = "5.10.4.6592"; x86_64-linux = "5.9.6.2225"; }.${system} or throwSystem; -- cgit 1.4.1 From 6ed76cba02c579466d67cda632a0954444796112 Mon Sep 17 00:00:00 2001 From: Matt Whiteley Date: Mon, 25 Apr 2022 11:13:04 -0700 Subject: dry up installPhase with shared runHooks --- .../instant-messengers/zoom-us/default.nix | 23 +++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'pkgs/applications/networking') diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index cc875edf3b83d..6485c97df1726 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -106,16 +106,21 @@ stdenv.mkDerivation rec { cpio ]; - installPhase = if stdenv.isDarwin then '' + installPhase = '' runHook preInstall - mkdir -p $out/Applications/zoom.us.app - cp -R . $out/Applications/zoom.us.app - runHook postInstall - '' else '' - runHook preInstall - mkdir $out - tar -C $out -xf $src - mv $out/usr/* $out/ + ${rec { + aarch64-darwin = '' + mkdir -p $out/Applications/zoom.us.app + cp -R . $out/Applications/zoom.us.app + ''; + # darwin steps same on both architectures + x86_64-darwin = aarch64-darwin; + x86_64-linux = '' + mkdir $out + tar -C $out -xf $src + mv $out/usr/* $out/ + ''; + }.${stdenv.system}} runHook postInstall ''; -- cgit 1.4.1 From 3211c5f62879e7a66925292c6a765f9cb9a5573b Mon Sep 17 00:00:00 2001 From: Matt Whiteley Date: Tue, 26 Apr 2022 07:34:52 -0700 Subject: false preferred over null on dontUnpack --- pkgs/applications/networking/instant-messengers/zoom-us/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pkgs/applications/networking') diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 6485c97df1726..2bf4b54f60755 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -92,7 +92,7 @@ stdenv.mkDerivation rec { src = srcs.${stdenv.hostPlatform.system}; - dontUnpack = if stdenv.isLinux then true else null; + dontUnpack = if stdenv.isLinux then true else false; unpackPhase = lib.optionalString stdenv.isDarwin '' xar -xf $src zcat < zoomus.pkg/Payload | cpio -i -- cgit 1.4.1 From fae6e0ddb013f16227add2356ddf4270e7f3745a Mon Sep 17 00:00:00 2001 From: Matt Whiteley Date: Tue, 26 Apr 2022 07:44:11 -0700 Subject: throw unsupported system in installPhase --- pkgs/applications/networking/instant-messengers/zoom-us/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pkgs/applications/networking') diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 2bf4b54f60755..6d547a3220ef6 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -120,7 +120,7 @@ stdenv.mkDerivation rec { tar -C $out -xf $src mv $out/usr/* $out/ ''; - }.${stdenv.system}} + }.${stdenv.system} or throwSystem} runHook postInstall ''; -- cgit 1.4.1 From f2ff2227a980e531d10fe4e219a19f0fa609f942 Mon Sep 17 00:00:00 2001 From: Matt Whiteley Date: Tue, 26 Apr 2022 08:34:44 -0700 Subject: Remove unnecessary conditional --- pkgs/applications/networking/instant-messengers/zoom-us/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pkgs/applications/networking') diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 6d547a3220ef6..37c349819070b 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -92,7 +92,7 @@ stdenv.mkDerivation rec { src = srcs.${stdenv.hostPlatform.system}; - dontUnpack = if stdenv.isLinux then true else false; + dontUnpack = stdenv.isLinux; unpackPhase = lib.optionalString stdenv.isDarwin '' xar -xf $src zcat < zoomus.pkg/Payload | cpio -i -- cgit 1.4.1 From d5b4effe828646683d9020bca361bc8a29e817d1 Mon Sep 17 00:00:00 2001 From: Matt Whiteley Date: Tue, 26 Apr 2022 08:35:48 -0700 Subject: update comment --- pkgs/applications/networking/instant-messengers/zoom-us/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pkgs/applications/networking') diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 37c349819070b..4d3676dd1b819 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -35,7 +35,7 @@ let # Zoom versions are released at different times for each platform and linux # is stuck on 5.9.6 until https://github.com/NixOS/nixpkgs/pull/166085 is - # merged + # resolved version = { aarch64-darwin = "5.10.4.6592"; x86_64-darwin = "5.10.4.6592"; -- cgit 1.4.1 From 38aec67f6a93a654688c713da89d6f76afdd3948 Mon Sep 17 00:00:00 2001 From: Matt Whiteley Date: Tue, 26 Apr 2022 08:38:13 -0700 Subject: fix missing throwSystem on src --- pkgs/applications/networking/instant-messengers/zoom-us/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pkgs/applications/networking') diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 4d3676dd1b819..528d5ef1689b7 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -90,7 +90,7 @@ stdenv.mkDerivation rec { pname = "zoom"; inherit version; - src = srcs.${stdenv.hostPlatform.system}; + src = srcs.${system} or throwSystem; dontUnpack = stdenv.isLinux; unpackPhase = lib.optionalString stdenv.isDarwin '' @@ -120,7 +120,7 @@ stdenv.mkDerivation rec { tar -C $out -xf $src mv $out/usr/* $out/ ''; - }.${stdenv.system} or throwSystem} + }.${system} or throwSystem} runHook postInstall ''; -- cgit 1.4.1