diff --git a/pkgs/by-name/it/itsycal/package.nix b/pkgs/by-name/it/itsycal/package.nix index b60ea425eb6b..2f6c0ad48f17 100644 --- a/pkgs/by-name/it/itsycal/package.nix +++ b/pkgs/by-name/it/itsycal/package.nix @@ -6,11 +6,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "itsycal"; - version = "0.15.7"; + version = "0.15.8"; src = fetchzip { url = "https://itsycal.s3.amazonaws.com/Itsycal-${finalAttrs.version}.zip"; - hash = "sha256-0JQ7fZ0cZM8DnAODZQKzUQEHQGhkNvV+0NY10Ef7MEw="; + hash = "sha256-zo77yCfIzb2ZmExJslQ64GPQqakXtiRmm0UYEgj+3eM="; }; installPhase = '' @@ -22,6 +22,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook postInstall ''; + passthru = { + updateScript = ./update.sh; + }; + meta = { changelog = "https://www.mowglii.com/itsycal/versionhistory.html"; description = "Tiny menu bar calendar"; diff --git a/pkgs/by-name/it/itsycal/update.sh b/pkgs/by-name/it/itsycal/update.sh new file mode 100755 index 000000000000..cd176cc46860 --- /dev/null +++ b/pkgs/by-name/it/itsycal/update.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl xq-xml common-updater-scripts + +set -eu + +ROOT="$(dirname "$(readlink -f "$0")")" +NIX_DRV="$ROOT/package.nix" +if [ ! -f "$NIX_DRV" ]; then + echo "ERROR: cannot find package.nix in $ROOT" + exit 1 +fi + +LATEST_VERSION="$(curl -Ls https://www.mowglii.com/itsycal/versionhistory.html | xq -m -q 'h4' -a 'id' | head -n1)" + +if [ -z "$LATEST_VERSION" ]; then + echo "ERROR: Failed to scrape the latest version." + exit 1 +fi + +update-source-version itsycal "$LATEST_VERSION" --file="$NIX_DRV"