diff --git a/pkgs/by-name/cl/cloudflare-warp/package.nix b/pkgs/by-name/cl/cloudflare-warp/package.nix index 61538f11fc1b..a83bfc047df7 100644 --- a/pkgs/by-name/cl/cloudflare-warp/package.nix +++ b/pkgs/by-name/cl/cloudflare-warp/package.nix @@ -20,19 +20,29 @@ jq, ripgrep, common-updater-scripts, + xar, + cpio, headless ? false, }: let - version = "2025.9.558"; + version = "2025.10.186.0"; sources = { x86_64-linux = fetchurl { - url = "https://pkg.cloudflareclient.com/pool/noble/main/c/cloudflare-warp/cloudflare-warp_${version}.0_amd64.deb"; - hash = "sha256-eYPy8YnP/vvYmvvjvF6Y0gSzdglsvoPW6CJ5npjrtpo="; + url = "https://pkg.cloudflareclient.com/pool/noble/main/c/cloudflare-warp/cloudflare-warp_${version}_amd64.deb"; + hash = "sha256-l+csDSBXRAFb2075ciCAlE0bS5F48mAIK/Bv1r3Q8GE="; }; aarch64-linux = fetchurl { - url = "https://pkg.cloudflareclient.com/pool/noble/main/c/cloudflare-warp/cloudflare-warp_${version}.0_arm64.deb"; - hash = "sha256-K8XENo+9n3ChmQ33wAg/KiVHjNOKOXp6UQM2fpntgkE="; + url = "https://pkg.cloudflareclient.com/pool/noble/main/c/cloudflare-warp/cloudflare-warp_${version}_arm64.deb"; + hash = "sha256-S6CfWYzcv+1Djj+TX+lrP5eG7oIpM0JrqtSw/UDD9ko="; + }; + x86_64-darwin = fetchurl { + url = "https://downloads.cloudflareclient.com/v1/download/macos/version/${version}"; + hash = "sha256-nnoOXPSpOJRyNdCC0/YAoBK8SwB+++qVwgZplrjNi2U="; + }; + aarch64-darwin = fetchurl { + url = "https://downloads.cloudflareclient.com/v1/download/macos/version/${version}"; + hash = "sha256-nnoOXPSpOJRyNdCC0/YAoBK8SwB+++qVwgZplrjNi2U="; }; }; in @@ -46,26 +56,34 @@ stdenv.mkDerivation (finalAttrs: { or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); nativeBuildInputs = [ + makeWrapper + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + xar + cpio + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ dpkg autoPatchelfHook versionCheckHook - makeWrapper ] - ++ lib.optionals (!headless) [ + ++ lib.optionals (!headless && stdenv.hostPlatform.isLinux) [ copyDesktopItems desktop-file-utils ]; - buildInputs = [ - dbus - libpcap - openssl - nss - (lib.getLib stdenv.cc.cc) - ] - ++ lib.optionals (!headless) [ - gtk3 - ]; + buildInputs = lib.optionals stdenv.hostPlatform.isLinux ( + [ + dbus + libpcap + openssl + nss + (lib.getLib stdenv.cc.cc) + ] + ++ lib.optionals (!headless) [ + gtk3 + ] + ); desktopItems = lib.optionals (!headless) [ (makeDesktopItem { @@ -88,48 +106,78 @@ stdenv.mkDerivation (finalAttrs: { "libpcap.so.0.8" ]; - installPhase = '' - runHook preInstall + unpackPhase = lib.optionalString stdenv.hostPlatform.isDarwin '' + runHook preUnpack - mv usr $out - mv bin $out - mv etc $out - patchelf --replace-needed libpcap.so.0.8 ${libpcap}/lib/libpcap.so $out/bin/warp-dex - mv lib/systemd/system $out/lib/systemd/ - substituteInPlace $out/lib/systemd/system/warp-svc.service \ - --replace-fail "ExecStart=" "ExecStart=$out" - ${lib.optionalString (!headless) '' - substituteInPlace $out/lib/systemd/user/warp-taskbar.service \ - --replace-fail "ExecStart=" "ExecStart=$out" \ - --replace-fail "BindsTo=" "PartOf=" + xar -xf $src + zcat < Cloudflare_WARP_${version}.pkg/Payload | cpio -i - cat >>$out/lib/systemd/user/warp-taskbar.service <