summaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/ar/arc-browser/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/ar/arc-browser/package.nix')
-rw-r--r--pkgs/by-name/ar/arc-browser/package.nix54
1 files changed, 54 insertions, 0 deletions
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 ];
+ };
+})