From 42ca62eb014f3f55a5d3d23c73bacb1e79bad64e Mon Sep 17 00:00:00 2001 From: Morgan Helton Date: Sun, 2 Apr 2023 19:01:56 -0500 Subject: sunshine: add updater script --- pkgs/servers/sunshine/default.nix | 2 ++ pkgs/servers/sunshine/updater.sh | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100755 pkgs/servers/sunshine/updater.sh (limited to 'pkgs/servers/sunshine') diff --git a/pkgs/servers/sunshine/default.nix b/pkgs/servers/sunshine/default.nix index 21ffb28a25cab..417cac9510f59 100644 --- a/pkgs/servers/sunshine/default.nix +++ b/pkgs/servers/sunshine/default.nix @@ -153,6 +153,8 @@ stdenv.mkDerivation rec { --set LD_LIBRARY_PATH ${lib.makeLibraryPath [ vulkan-loader ]} ''; + passthru.updateScript = ./updater.sh; + meta = with lib; { description = "Sunshine is a Game stream host for Moonlight."; homepage = "https://github.com/LizardByte/Sunshine"; diff --git a/pkgs/servers/sunshine/updater.sh b/pkgs/servers/sunshine/updater.sh new file mode 100755 index 0000000000000..43ae46ab6f2f9 --- /dev/null +++ b/pkgs/servers/sunshine/updater.sh @@ -0,0 +1,23 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p gnugrep gnused coreutils curl wget jq nix-update prefetch-npm-deps nodejs + +set -euo pipefail +pushd "$(dirname "${BASH_SOURCE[0]}")" + +version=$(curl -s "https://api.github.com/repos/LizardByte/sunshine/tags" | jq -r .[0].name | grep -oP "^v\K.*") +url="https://raw.githubusercontent.com/LizardByte/sunshine/v$version/" + +if [[ "$UPDATE_NIX_OLD_VERSION" == "$version" ]]; then + echo "Already up to date!" + exit 0 +fi + +rm -f package-lock.json package.json +wget "$url/package.json" +npm i --package-lock-only +npm_hash=$(prefetch-npm-deps package-lock.json) +sed -i 's#npmDepsHash = "[^"]*"#npmDepsHash = "'"$npm_hash"'"#' default.nix +rm -f package.json + +popd +nix-update sunshine --version $version -- cgit 1.4.1