From aa1be691604e2e6d9998047951f920aa6c3d5d09 Mon Sep 17 00:00:00 2001 From: DontEatOreo <57304299+DontEatOreo@users.noreply.github.com> Date: Mon, 15 Apr 2024 21:10:42 +0300 Subject: [PATCH] arc-browser: init at 1.38.0-48670 --- pkgs/by-name/ar/arc-browser/package.nix | 54 +++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 pkgs/by-name/ar/arc-browser/package.nix diff --git a/pkgs/by-name/ar/arc-browser/package.nix b/pkgs/by-name/ar/arc-browser/package.nix new file mode 100644 index 000000000000..4d24e46c05fe --- /dev/null +++ b/pkgs/by-name/ar/arc-browser/package.nix @@ -0,0 +1,54 @@ +{ lib +, stdenvNoCC +, fetchurl +, undmg +, writeShellApplication +, curl +, common-updater-scripts +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "arc-browser"; + version = "1.38.0-48670"; + + src = fetchurl { + url = "https://releases.arc.net/release/Arc-${finalAttrs.version}.dmg"; + hash = "sha256-6LJEIkr1NA8HHxbLWtd/OTlPPErh05UTjVhjuZVcmTg="; + }; + + nativeBuildInputs = [ undmg ]; + + sourceRoot = "Arc.app"; + + installPhase = '' + runHook preInstall + + mkdir -p $out/Applications/Arc.app + cp -R . $out/Applications/Arc.app + + runHook postInstall + ''; + + passthru.updateScript = lib.getExe (writeShellApplication { + name = "arc-browser-update-script"; + runtimeInputs = [ curl common-updater-scripts ]; + text = '' + set -euo pipefail + redirect_url="$(curl -s -L -f "https://releases.arc.net/release/Arc-latest.dmg" -o /dev/null -w '%{url_effective}')" + # The url scheme is: https://releases.arc.net/release/Arc-1.23.4-56789.dmg + # We strip everything before 'Arc-' and after '.dmg' + version="''${redirect_url##*/Arc-}" + version="''${version%.dmg}" + update-source-version arc-browser "$version" --file=./pkgs/by-name/ar/arc-browser/package.nix + ''; + }); + + meta = { + description = "Arc from The Browser Company"; + homepage = "https://arc.net/"; + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ donteatoreo ]; + platforms = [ "aarch64-darwin" "x86_64-darwin" ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +})