about summary refs log tree commit diff
path: root/pkgs/tools/misc/archi/update.sh
blob: 07d488637945b88ea6d3d96932b2d98797b64ca3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq coreutils common-updater-scripts

latestVersion=$(curl "https://api.github.com/repos/archimatetool/archi/tags" | jq -r '.[0].name' | tail -c +9)
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; archi.version or (lib.getVersion archi)" | tr -d '"')

echo "latest  version: $latestVersion"
echo "current version: $currentVersion"

if [[ "$latestVersion" == "$currentVersion" ]]; then
    echo "package is up-to-date"
    exit 0
fi

for i in \
    "aarch64-darwin Archi-Mac-Silicon-$latestVersion.dmg" \
    "x86_64-darwin Archi-Mac-$latestVersion.dmg" \
    "x86_64-linux Archi-Linux64-$latestVersion.tgz"
do
    set -- $i
    prefetch=$(nix-prefetch-url https://www.archimatetool.com/downloads/archi/$latestVersion/$2)
    hash=$(nix-hash --type sha256 --to-sri $prefetch)

    update-source-version archi 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" --system=$1
    update-source-version archi $latestVersion $hash --system=$1
done