From 75a1fd1897ff9b43211ed3181659a982fd561d52 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev Date: Tue, 6 Oct 2020 13:56:12 +0300 Subject: [PATCH] Fix ghcup pattern --- images/macos/provision/core/haskell.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/images/macos/provision/core/haskell.sh b/images/macos/provision/core/haskell.sh index 33fa38dbb..36453f2b7 100644 --- a/images/macos/provision/core/haskell.sh +++ b/images/macos/provision/core/haskell.sh @@ -4,7 +4,10 @@ curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh export PATH="$HOME/.ghcup/bin:$PATH" echo 'export PATH="$PATH:$HOME/.ghcup/bin"' >> "$HOME/.bashrc" -availableVersions=$(ghcup list | grep -v "prerelease" | grep "ghc " | awk '{print $3}') +# ghcup output looks like this "x ghc 8.8.3 base-4.13.0.0 hls-powered", need to take all the first versions only(8.8.3 in that case) and avoid pre-release ones +availableVersions=$(ghcup list | grep -v "prerelease" | grep "ghc " | grep -Eo ' ([0-9]*\.){2}[0-9]*' | tr -d ' ') + +# Install 3 latest major versions(For instance 8.6.5, 8.8.4, 8.10.2) minorMajorVersions=$(echo "$availableVersions" | cut -d"." -f 1,2 | uniq | tail -n3) for majorMinorVersion in $minorMajorVersions; do fullVersion=$(echo "$availableVersions" | grep "$majorMinorVersion." | tail -n1)