Merge pull request #269289 from paumr/archi_updateScript

archi: add automatic updates
This commit is contained in:
Weijia Wang 2023-12-01 09:59:29 +01:00 committed by GitHub
commit 1acfd6b489
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 0 deletions

View File

@ -65,6 +65,8 @@ stdenv.mkDerivation rec {
mv Archi.app "$out/Applications/"
'';
passthru.updateScript = ./update.sh;
passthru.tests = { inherit (nixosTests) archi; };
meta = with lib; {

25
pkgs/tools/misc/archi/update.sh Executable file
View File

@ -0,0 +1,25 @@
#!/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
hash_aarch64_darwin=$(nix-prefetch-url https://www.archimatetool.com/downloads/archi_5.php?/$latestVersion/Archi-Mac-Silicon-$latestVersion.dmg)
hash_x86_64_darwin=$(nix-prefetch-url https://www.archimatetool.com/downloads/archi_5.php?/$latestVersion/Archi-Mac-$latestVersion.dmg)
hash_x86_64_linux=$(nix-prefetch-url https://www.archimatetool.com/downloads/archi_5.php?/$latestVersion/Archi-Linux64-$latestVersion.tgz)
update-source-version archi 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" --system=aarch64-darwin
update-source-version archi $latestVersion $hash_aarch64_darwin --system=aarch64-darwin
update-source-version archi 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" --system=x86_64-darwin
update-source-version archi $latestVersion $hash_x86_64_darwin --system=x86_64-darwin
update-source-version archi 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" --system=x86_64-linux
update-source-version archi $latestVersion $hash_x86_64_linux --system=x86_64-linux