diff --git a/pkgs/by-name/ve/venera/package.nix b/pkgs/by-name/ve/venera/package.nix index e2c93b092fd0..e82ac37b8e9b 100644 --- a/pkgs/by-name/ve/venera/package.nix +++ b/pkgs/by-name/ve/venera/package.nix @@ -65,6 +65,8 @@ flutter327.buildFlutterApplication rec { install -Dm0644 ./debian/gui/venera.png $out/share/pixmaps/venera.png ''; + passthru.updateScript = ./update.sh; + meta = { description = "Comic reader that support reading local and network comics"; homepage = "https://github.com/venera-app/venera"; diff --git a/pkgs/by-name/ve/venera/update.sh b/pkgs/by-name/ve/venera/update.sh new file mode 100755 index 000000000000..b44451a186e1 --- /dev/null +++ b/pkgs/by-name/ve/venera/update.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env nix-shell +#!nix-shell -I nixpkgs=./. -i bash -p curl gnused jq yq nixVersions.latest bash coreutils nix-update + +set -eou pipefail + +ROOT="$(dirname "$(readlink -f "$0")")" + +latestTag=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/venera-app/venera/releases/latest | jq --raw-output .tag_name) +latestVersion=$(echo "$latestTag" | sed 's/^v//') + +currentVersion=$(nix-instantiate --eval -E "with import ./. {}; venera.version or (lib.getVersion venera)" | tr -d '"') + +if [[ "$currentVersion" == "$latestVersion" ]]; then + echo "package is up-to-date: $currentVersion" + exit 0 +fi + +nix-update venera + +curl https://raw.githubusercontent.com/venera-app/venera/${latestTag}/pubspec.lock | yq . >$ROOT/pubspec.lock.json