From 75a1fd1897ff9b43211ed3181659a982fd561d52 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev Date: Tue, 6 Oct 2020 13:56:12 +0300 Subject: [PATCH 1/3] 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) From d6627e143a5a5b1530f9716cefa525aad9429352 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev Date: Tue, 6 Oct 2020 14:30:00 +0300 Subject: [PATCH 2/3] change pattern --- images/macos/provision/core/haskell.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/macos/provision/core/haskell.sh b/images/macos/provision/core/haskell.sh index 36453f2b7..89d8706c7 100644 --- a/images/macos/provision/core/haskell.sh +++ b/images/macos/provision/core/haskell.sh @@ -5,7 +5,7 @@ export PATH="$HOME/.ghcup/bin:$PATH" echo 'export PATH="$PATH:$HOME/.ghcup/bin"' >> "$HOME/.bashrc" # 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 ' ') +availableVersions=$(ghcup list -t ghc -r | grep -v "prerelease" | awk '{print $2}') # 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) From 44f565e921258049b201af149ba6fc340cdc7759 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev Date: Tue, 6 Oct 2020 14:32:37 +0300 Subject: [PATCH 3/3] fix comment --- images/macos/provision/core/haskell.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/macos/provision/core/haskell.sh b/images/macos/provision/core/haskell.sh index 89d8706c7..1bc11d915 100644 --- a/images/macos/provision/core/haskell.sh +++ b/images/macos/provision/core/haskell.sh @@ -4,7 +4,7 @@ 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" -# 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 +# ghcup output looks like this "ghc 8.6.4 base-4.12.0.0 hls-powered", need to take all the first versions only(8.6.4 in that case) and avoid pre-release ones availableVersions=$(ghcup list -t ghc -r | grep -v "prerelease" | awk '{print $2}') # Install 3 latest major versions(For instance 8.6.5, 8.8.4, 8.10.2)