From a30ba61b87fa6259cd5a29e84a13bd6f7d8489d2 Mon Sep 17 00:00:00 2001 From: Piotr Kwiecinski <2151333+piotrkwiecinski@users.noreply.github.com> Date: Sun, 8 Feb 2026 12:25:10 +0100 Subject: [PATCH] mochi: add updateScript --- pkgs/by-name/mo/mochi/package.nix | 2 ++ pkgs/by-name/mo/mochi/update.sh | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100755 pkgs/by-name/mo/mochi/update.sh diff --git a/pkgs/by-name/mo/mochi/package.nix b/pkgs/by-name/mo/mochi/package.nix index 47445d2180e7..99191d5ae593 100644 --- a/pkgs/by-name/mo/mochi/package.nix +++ b/pkgs/by-name/mo/mochi/package.nix @@ -31,6 +31,8 @@ let substituteInPlace $out/share/applications/${pname}.desktop \ --replace-fail 'Exec=AppRun --no-sandbox' 'Exec=${pname}' ''; + + passthru.updateScript = ./update.sh; }; darwin = stdenv.mkDerivation { diff --git a/pkgs/by-name/mo/mochi/update.sh b/pkgs/by-name/mo/mochi/update.sh new file mode 100755 index 000000000000..cc6e20044d54 --- /dev/null +++ b/pkgs/by-name/mo/mochi/update.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl nix common-updater-scripts + +set -euo pipefail + +latestVersion=$(curl -Ls https://mochi.cards/ | grep -oP 'Mochi-\K[0-9]+\.[0-9]+\.[0-9]+(?=\.AppImage)' | head -1) +currentVersion=$(nix-instantiate --eval -E "with import ./. {}; mochi.version" | tr -d '"') + +echo "latest version: $latestVersion" +echo "current version: $currentVersion" + +if [[ "$latestVersion" == "$currentVersion" ]]; then + echo "package is up-to-date" + exit 0 +fi + +# Update version and hash for x86_64-linux (AppImage) +update-source-version mochi "$latestVersion" --system=x86_64-linux + +# Update hashes for darwin systems +for system in x86_64-darwin aarch64-darwin; do + url=$(nix-instantiate --eval --json -E "with import ./. { system = \"$system\"; }; mochi.src.url" | tr -d '"') + hash=$(nix-prefetch-url "$url") + sriHash=$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$hash") + update-source-version mochi "$latestVersion" "$sriHash" --system="$system" --ignore-same-version +done