about summary refs log tree commit diff
path: root/nixpkgs/pkgs/os-specific/darwin/raycast/update.sh
blob: e33f8421597d943710ffc213d90c70593d6efd02 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../../. -i bash -p common-updater-scripts jq

set -eo pipefail

new_version=$(curl --silent https://releases.raycast.com/releases/latest?build=universal | jq -r '.version')
old_version=$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)

if [[ $new_version == $old_version ]]; then
    echo "Already up to date."
    exit 0
else
    echo "raycast: $old_version -> $new_version"
    sed -Ei.bak '/ *version = "/s/".+"/"'"$new_version"'"/' ./default.nix
    rm ./default.nix.bak
fi

hash=$(nix --extra-experimental-features nix-command store prefetch-file --json --hash-type sha256 "https://releases.raycast.com/releases/$new_version/download?build=universal" | jq -r '.hash')
sed -Ei.bak '/ *hash = /{N;N; s@("sha256-)[^;"]+@"'"$hash"'@}' ./default.nix
rm ./default.nix.bak