From 281d7c21c8f64285a9bbd0d4d8d06197fcad23e3 Mon Sep 17 00:00:00 2001 From: StepBroBD Date: Mon, 27 Mar 2023 22:29:01 -0600 Subject: [PATCH] raycast: init at 1.48.9 * raycast: init at 1.48.9, change github release url to internet archive url * raycast: adding documentation explaining the reason we are using Internet Archive URL * raycast: add lovesegfault to maintainers Co-authored-by: Bernardo Meurer --- pkgs/os-specific/darwin/raycast/default.nix | 49 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/os-specific/darwin/raycast/default.nix diff --git a/pkgs/os-specific/darwin/raycast/default.nix b/pkgs/os-specific/darwin/raycast/default.nix new file mode 100644 index 000000000000..6dd15fc92a11 --- /dev/null +++ b/pkgs/os-specific/darwin/raycast/default.nix @@ -0,0 +1,49 @@ +{ lib +, stdenvNoCC +, fetchurl +, undmg +}: + +stdenvNoCC.mkDerivation rec { + pname = "raycast"; + version = "1.48.9"; + + src = fetchurl { + # https://github.com/NixOS/nixpkgs/pull/223495 + # official download API: https://api.raycast.app/v2/download + # this returns an AWS CloudFront signed URL with expiration timestamp and signature + # the returned URL will always be the latest Raycast which might result in an impure derivation + # the package maintainer created a repo (https://github.com/stepbrobd/raycast-overlay) + # to host GitHub Actions to periodically check for updates + # and re-release the `.dmg` file to Internet Archive (https://archive.org/details/raycast) + url = "https://archive.org/download/raycast/raycast-${version}.dmg"; + sha256 = "sha256-PSK/PLIOLUrqHAvEfOVMuGojLjwrCR4Vm9okE9d/5dE="; + }; + + dontPatch = true; + dontConfigure = true; + dontBuild = true; + dontFixup = true; + + nativeBuildInputs = [ undmg ]; + + sourceRoot = "Raycast.app"; + + installPhase = '' + runHook preInstall + + mkdir -p $out/Applications/Raycast.app + cp -R . $out/Applications/Raycast.app + + runHook postInstall + ''; + + meta = with lib; { + description = "Control your tools with a few keystrokes"; + homepage = "https://raycast.app/"; + license = licenses.unfree; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + maintainers = with maintainers; [ lovesegfault stepbrobd ]; + platforms = platforms.darwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 452fb8108891..32d61db1ac8f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -36080,6 +36080,8 @@ with pkgs; raylib-games = callPackage ../games/raylib-games { }; + raycast = callPackage ../os-specific/darwin/raycast { }; + redeclipse = callPackage ../games/redeclipse { }; rftg = callPackage ../games/rftg { };