@@ -138,7 +138,7 @@ install_ghcup() {
138138 curl --proto ' =https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_MINIMAL=1 sh
139139 source " $( dirname " ${GHCUP_BIN} " ) /env"
140140 # make sure we use the vanilla channel for installing binaries
141- # see https://github.com/haskell/ghcup-metadata/pull/166#issuecomment-1893075575
141+ # see https://github.com/haskell/ghcup-metadata/pull/166#issuecomment-1893075575
142142 ghcup config set url-source https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-vanilla-0.0.8.yaml
143143 ghcup install cabal --set " ${BOOTSTRAP_HASKELL_CABAL_VERSION} "
144144 fi
@@ -207,3 +207,32 @@ mktempdir() {
207207 ;;
208208 esac
209209}
210+
211+ # "Inspired" from GHC GitLab CI
212+ # https://gitlab.haskell.org/ghc/ghc/-/blob/214b2b6916f2d016ab9db0b766060e7828bb47a0/.gitlab/ci.sh#L60
213+ setup_locale () {
214+ # BSD grep terminates early with -q, consequently locale -a will get a
215+ # SIGPIPE and the pipeline will fail with pipefail.
216+ shopt -o -u pipefail
217+ if locale -a | grep -q C.UTF-8; then
218+ # Debian
219+ export LANG=C.UTF-8
220+ elif locale -a | grep -q C.utf8; then
221+ # Fedora calls it this
222+ export LANG=C.utf8
223+ elif locale -a | grep -q en_US.UTF-8; then
224+ # Centos doesn't have C.UTF-8
225+ export LANG=en_US.UTF-8
226+ elif locale -a | grep -q en_US.utf8; then
227+ # Centos doesn't have C.UTF-8
228+ export LANG=en_US.utf8
229+ else
230+ error " Failed to find usable locale"
231+ info " Available locales:"
232+ locale -a
233+ fail " No usable locale, aborting..."
234+ fi
235+ info " Using locale $LANG ..."
236+ export LC_ALL=$LANG
237+ shopt -o -s pipefail
238+ }
0 commit comments