From 63e5171ff8b9a16f04574c392225664369ba40f3 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Thu, 17 Dec 2020 09:36:26 +0800 Subject: [PATCH] haskell-language-server: Make update.sh fetch latest tagged release --- .../tools/haskell/haskell-language-server/update.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/haskell/haskell-language-server/update.sh b/pkgs/development/tools/haskell/haskell-language-server/update.sh index 8e4de49f00d..f14a97221ff 100755 --- a/pkgs/development/tools/haskell/haskell-language-server/update.sh +++ b/pkgs/development/tools/haskell/haskell-language-server/update.sh @@ -26,7 +26,18 @@ hls_derivation_file="${script_dir}/default.nix" hls_old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$hls_derivation_file")" # This is the latest release version of hls on GitHub. -hls_new_version=$(curl --silent "https://api.github.com/repos/haskell/haskell-language-server/commits/master" | jq '.sha' --raw-output) +# Get all tag names, filter to the hls ones (no prefix like 'hls-plugin-api-'), +# sort for the latest one and select just that +hls_latest_release=$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/haskell/haskell-language-server/tags | + jq --raw-output 'map(.name) | .[]' | + grep '^[0-9]' | + sort --version-sort | + tail -n1) + +# Use this value instead for the very latest revision +# hls_head=(curl --silent "https://api.github.com/repos/haskell/haskell-language-server/commits/master" | jq '.sha' --raw-output) + +hls_new_version=$hls_latest_release echo "Updating haskell-language-server from old version $hls_old_version to new version $hls_new_version." echo "Running cabal2nix and outputting to ${hls_derivation_file}..."