From 6d1da3580bb9ff1fe3624aee3d2629bd6446daed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=A9clairevoyant?= <848000+eclairevoyant@users.noreply.github.com> Date: Fri, 19 Jan 2024 15:40:40 -0500 Subject: [PATCH] chrysalis: set `passthru.updateScript` --- pkgs/by-name/ch/chrysalis/package.nix | 2 ++ pkgs/by-name/ch/chrysalis/update.sh | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 pkgs/by-name/ch/chrysalis/update.sh diff --git a/pkgs/by-name/ch/chrysalis/package.nix b/pkgs/by-name/ch/chrysalis/package.nix index e25bdc181864..ee7a4fc7b17b 100644 --- a/pkgs/by-name/ch/chrysalis/package.nix +++ b/pkgs/by-name/ch/chrysalis/package.nix @@ -38,6 +38,8 @@ in appimageTools.wrapType2 rec { install -Dm444 ${appimageContents}/usr/share/icons/hicolor/256x256/chrysalis.png -t $out/share/pixmaps ''; + passthru.updateScript = ./update.sh; + meta = with lib; { description = "A graphical configurator for Kaleidoscope-powered keyboards"; homepage = "https://github.com/keyboardio/Chrysalis"; diff --git a/pkgs/by-name/ch/chrysalis/update.sh b/pkgs/by-name/ch/chrysalis/update.sh new file mode 100644 index 000000000000..182d47a9285a --- /dev/null +++ b/pkgs/by-name/ch/chrysalis/update.sh @@ -0,0 +1,16 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash --pure -p curl cacert jq + +set -euo pipefail + +cd "$(dirname "${BASH_SOURCE[0]}")" +DRV_DIR="$PWD" + +relinfo=$(curl -sL 'https://api.github.com/repos/keyboardio/chrysalis/releases' | jq 'map(select(.prerelease == false)) | max_by(.tag_name)') +newver=$(echo "$relinfo" | jq --raw-output '.tag_name' | sed 's|^v||') +hashurl=$(echo "$relinfo" | jq --raw-output '.assets[] | select(.name == "latest-linux.yml").browser_download_url') +newhash=$(curl -sL "$hashurl" | grep -Po '^sha512: \K.*') + +sed -i package.nix \ + -e "/^ version =/ s|\".*\"|\"$newver\"|" \ + -e "/sha512-/ s|\".*\"|\"sha512-$newhash\"|" \