From 44cdc740713e9877b2b7a76c52fae9d28c2db6cb Mon Sep 17 00:00:00 2001 From: Yongun Seong Date: Wed, 20 Dec 2023 22:17:14 +0900 Subject: [PATCH] kavita: add passthru.updateScript --- pkgs/servers/web-apps/kavita/default.nix | 5 ++++- pkgs/servers/web-apps/kavita/update.sh | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100755 pkgs/servers/web-apps/kavita/update.sh diff --git a/pkgs/servers/web-apps/kavita/default.nix b/pkgs/servers/web-apps/kavita/default.nix index 5be58c11d4c2..cf9e80c89d3e 100644 --- a/pkgs/servers/web-apps/kavita/default.nix +++ b/pkgs/servers/web-apps/kavita/default.nix @@ -67,7 +67,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook postInstall ''; - passthru.tests = { inherit (nixosTests) kavita; }; + passthru = { + tests = { inherit (nixosTests) kavita; }; + updateScript = ./update.sh; + }; meta = { description = "A fast, feature rich, cross platform reading server"; diff --git a/pkgs/servers/web-apps/kavita/update.sh b/pkgs/servers/web-apps/kavita/update.sh new file mode 100755 index 000000000000..2ada369e91d2 --- /dev/null +++ b/pkgs/servers/web-apps/kavita/update.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p common-updater-scripts curl jq nix-prefetch-github prefetch-npm-deps + +set -euo pipefail + +latest_version=$(curl -s https://api.github.com/repos/Kareadita/Kavita/releases/latest | jq -r '.tag_name' | tr -d v) + +pushd "$(mktemp -d)" +curl -s https://raw.githubusercontent.com/Kareadita/Kavita/v${latest_version}/UI/Web/package-lock.json -o package-lock.json +npmDepsHash=$(prefetch-npm-deps package-lock.json) +rm -f package-lock.json +popd + +update-source-version kavita "$latest_version" + +$(nix-build -A kavita.backend.fetch-deps --no-out-link) + +cd "$(dirname "${BASH_SOURCE[0]}")" +sed -E 's#\bnpmDepsHash = ".*?"#npmDepsHash = "'"$npmDepsHash"'"#' -i default.nix +