diff options
Diffstat (limited to 'pkgs/development/tools/misc/dart-sass/update.sh')
-rwxr-xr-x | pkgs/development/tools/misc/dart-sass/update.sh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/dart-sass/update.sh b/pkgs/development/tools/misc/dart-sass/update.sh new file mode 100755 index 0000000000000..595349e1387c2 --- /dev/null +++ b/pkgs/development/tools/misc/dart-sass/update.sh @@ -0,0 +1,45 @@ +#!/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 default.nix; do cd .. ; done +NIXPKGS_DIR="$PWD" + +dart_sass_version="$( + list-git-tags --url=https://github.com/sass/dart-sass \ + | rg '^\d' \ + | sort --version-sort \ + | tail -n1 +)" + +embedded_protocol_version="$( + list-git-tags --url=https://github.com/sass/sass \ + | rg '^embedded-protocol-(.*)' -r '$1' \ + | sort --version-sort \ + | tail -n1 +)" + +cd "$NIXPKGS_DIR" +update-source-version dart-sass "$dart_sass_version" +update-source-version dart-sass "$embedded_protocol_version" \ + --version-key=embedded-protocol-version \ + --source-key=embedded-protocol + +TMPDIR="$(mktemp -d)" +cd "$TMPDIR" + +src="$(nix-build --no-link "$NIXPKGS_DIR" -A dart-sass.src)" +cp $src/pubspec.* . + +# Maybe one day upstream will ship a pubspec.lock, +# until then we must generate a fresh one +if ! test -f pubspec.lock; then + dart pub update +fi + +yq . pubspec.lock > "$PACKAGE_DIR/pubspec.lock.json" + +rm -rf "$TMPDIR" |