diff --git a/pkgs/by-name/ha/hamrs-pro/package.nix b/pkgs/by-name/ha/hamrs-pro/package.nix index e392175bc8de..ccdff2aefdb8 100644 --- a/pkgs/by-name/ha/hamrs-pro/package.nix +++ b/pkgs/by-name/ha/hamrs-pro/package.nix @@ -8,34 +8,36 @@ let pname = "hamrs-pro"; - version = "2.33.0"; + version = "2.37.1"; throwSystem = throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"; srcs = { x86_64-linux = fetchurl { url = "https://hamrs-dist.s3.amazonaws.com/hamrs-pro-${version}-linux-x86_64.AppImage"; - hash = "sha256-FUwyyuXtWaHauZyvRvrH7KDC0du02eNR5TfKJyiKb9k="; + hash = "sha256-kLYgqRH+RpyitUSZVoZFfqVsrJjTXeZp80ILHGQmGTk="; }; aarch64-linux = fetchurl { url = "https://hamrs-dist.s3.amazonaws.com/hamrs-pro-${version}-linux-arm64.AppImage"; - hash = "sha256-YQPKxjaNXE1AgEspZRLI1OUFU71rAU8NBcS0Jv94MS8="; + hash = "sha256-BKS7xPzVoIUToqEbtI+8t4Gf7HvZSWhzfXmToghFPEk="; }; x86_64-darwin = fetchurl { url = "https://hamrs-dist.s3.amazonaws.com/hamrs-pro-${version}-mac-x64.dmg"; - hash = "sha256-KtrXF47AwVAUXYk1Wu2aKMTXENv7q9JBb86Oy+UHQYY="; + hash = "sha256-gejyYoW7VcR0ILD/PSwFGC2tzLiiR2vjEsErBxbvJ3o="; }; aarch64-darwin = fetchurl { url = "https://hamrs-dist.s3.amazonaws.com/hamrs-pro-${version}-mac-arm64.dmg"; - hash = "sha256-H46z4V9lo+n/pZzna7KIiYxQBqTlZULitQrFEEMFDvo="; + hash = "sha256-Hi/t5ShfhUFw0aEzb2XIhOIppXg04qnq8tl3LKNH3qQ="; }; }; src = srcs.${stdenvNoCC.hostPlatform.system} or throwSystem; + passthru.updateScript = ./update.sh; + meta = { homepage = "https://hamrs.app/"; description = "Simple, portable logger tailored for activities like Parks on the Air, Field Day, and more"; @@ -58,6 +60,7 @@ let pname version src + passthru meta ; @@ -78,6 +81,7 @@ let pname version src + passthru meta ; diff --git a/pkgs/by-name/ha/hamrs-pro/update.sh b/pkgs/by-name/ha/hamrs-pro/update.sh new file mode 100755 index 000000000000..dfd93fa6788a --- /dev/null +++ b/pkgs/by-name/ha/hamrs-pro/update.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p bash nix-update common-updater-scripts nix + +set -euo pipefail + +currentVersion=$(nix-instantiate --eval -E "with import ./. {}; hamrs-pro.version or (lib.getVersion hamrs-pro)" | tr -d '"') +# extracting version from download link +latestVersion=$(curl -sL https://hamrs.app | grep -Po '(?<=hamrs-pro-)[0-9]+\.[0-9]+\.[0-9]+(?=-linux-x86_64\.AppImage)') + +if [[ "$currentVersion" == "$latestVersion" ]]; then + echo "package is up-to-date: $currentVersion" + exit 0 +fi + +update-source-version hamrs-pro $latestVersion || true + +for system in \ + x86_64-linux \ + aarch64-linux \ + x86_64-darwin \ + aarch64-darwin; do + hash=$(nix hash convert --to sri --hash-algo sha256 $(nix-prefetch-url $(nix-instantiate --eval -E "with import ./. {}; hamrs-pro.src.url" --system "$system" | tr -d '"'))) + update-source-version hamrs-pro $latestVersion $hash --system=$system --ignore-same-version +done