diff --git a/pkgs/applications/misc/chrysalis/default.nix b/pkgs/by-name/ch/chrysalis/package.nix similarity index 86% rename from pkgs/applications/misc/chrysalis/default.nix rename to pkgs/by-name/ch/chrysalis/package.nix index 0852e886c54b..ab4b5b5f3f8f 100644 --- a/pkgs/applications/misc/chrysalis/default.nix +++ b/pkgs/by-name/ch/chrysalis/package.nix @@ -2,13 +2,13 @@ let pname = "chrysalis"; - version = "0.13.2"; + version = "0.13.3"; name = "${pname}-${version}-binary"; src = fetchurl { url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}-x64.AppImage"; hash = - "sha512-WuItdQ/hDxbZZ3zulHI74NUkuYfesV/31rA1gPakCFgX2hpPrmKzwUez2vqt4N5qrGyphrR0bcelUatGZhOn5A=="; + "sha512-F6Y87rgIclj1OA3gVX/gqqp9AvXKQlBXrbqk/26F1KHPF9NzHJgVmeszSo3Nhb6xg4CzWmzkqc8IW2H/Bg57kw=="; }; appimageContents = appimageTools.extract { inherit name src; }; in appimageTools.wrapType2 rec { @@ -38,11 +38,13 @@ 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"; license = licenses.gpl3Only; - maintainers = with maintainers; [ aw ]; + maintainers = with maintainers; [ aw eclairevoyant nshalman ]; platforms = [ "x86_64-linux" ]; mainProgram = "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\"|" \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d0e8c8847bf7..c4f6fd0c3476 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -491,8 +491,6 @@ with pkgs; banana-vera = callPackage ../development/tools/analysis/banana-vera { }; - chrysalis = callPackage ../applications/misc/chrysalis { }; - ciel = callPackage ../tools/package-management/ciel { }; circt = callPackage ../development/compilers/circt { };