From 5c8189ad8782eb92120d0d578a46f022c7ff06eb Mon Sep 17 00:00:00 2001 From: PhiliPdB Date: Mon, 14 Apr 2025 18:58:47 +0200 Subject: [PATCH] vscode-runner: Add update script --- pkgs/by-name/vs/vscode-runner/package.nix | 3 +- pkgs/by-name/vs/vscode-runner/update.sh | 36 +++++++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) create mode 100755 pkgs/by-name/vs/vscode-runner/update.sh diff --git a/pkgs/by-name/vs/vscode-runner/package.nix b/pkgs/by-name/vs/vscode-runner/package.nix index 5052238d49c0..07f682e9161d 100644 --- a/pkgs/by-name/vs/vscode-runner/package.nix +++ b/pkgs/by-name/vs/vscode-runner/package.nix @@ -3,7 +3,6 @@ fetchFromGitHub, buildDartApplication, kdePackages, - nix-update-script, }: let @@ -40,7 +39,7 @@ buildDartApplication { $out/share/krunner/dbusplugins/plasma-runner-vscode_runner.desktop ''; - passthru.updateScript = nix-update-script { }; + passthru.updateScript = ./update.sh; meta = { description = "KRunner plugin for quickly opening recent VSCode workspaces"; diff --git a/pkgs/by-name/vs/vscode-runner/update.sh b/pkgs/by-name/vs/vscode-runner/update.sh new file mode 100755 index 000000000000..6bf963990836 --- /dev/null +++ b/pkgs/by-name/vs/vscode-runner/update.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p yq ripgrep common-updater-scripts dart + +set -xeu -o pipefail + +PACKAGE_DIR="$(realpath "$(dirname "$0")")" +cd "$PACKAGE_DIR/.." +while ! test -f flake.nix; do cd ..; done +NIXPKGS_DIR="$PWD" + +# Get latest version number from GitHub +version="$( + list-git-tags --url=https://github.com/Merrit/vscode-runner | + rg '^v(.*)' -r '$1' | + sort --version-sort | + tail -n1 +)" + +# Update to latest version +cd "$NIXPKGS_DIR" +update-source-version vscode-runner "$version" + +# Create new pubspec.lock.json +TMPDIR="$(mktemp -d)" +cd "$TMPDIR" + +src=$(nix-build --no-link "$NIXPKGS_DIR" -A vscode-runner.src) +cp $src/pubspec.* . + +if ! test -f pubspec.lock; then + dart pub update +fi + +yq . pubspec.lock > "$PACKAGE_DIR/pubspec.lock.json" + +rm -rf "$TMPDIR"