2019-05-30 04:31:05 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
edo()
|
|
|
|
{
|
|
|
|
printf "\\033[0;34m%s\\033[0m\\n" "$*" 1>&2
|
|
|
|
"$@" || exit 2
|
|
|
|
}
|
|
|
|
|
2019-06-13 03:08:44 +00:00
|
|
|
GHCUP_META_DOWNLOAD_URL="file://$(pwd)/.download-urls"
|
|
|
|
export GHCUP_META_DOWNLOAD_URL
|
|
|
|
GHCUP_META_VERSION_URL="file://$(pwd)/.available-versions"
|
|
|
|
export GHCUP_META_VERSION_URL
|
|
|
|
|
2019-06-13 03:01:48 +00:00
|
|
|
# dependencies
|
|
|
|
edo sudo apt-get update -y
|
|
|
|
edo sudo apt-get install -y libnuma-dev
|
|
|
|
|
2019-05-30 04:31:05 +00:00
|
|
|
# install GHCs
|
|
|
|
edo ./ghcup -v install 8.2.2
|
|
|
|
edo ./ghcup -v install 8.4.3
|
|
|
|
edo ./ghcup -v -c install 8.6.1
|
|
|
|
|
|
|
|
# set GHC
|
|
|
|
edo ./ghcup -v set 8.6.1
|
|
|
|
edo ./ghcup -v set 8.4.3
|
|
|
|
|
|
|
|
# rm GHC
|
|
|
|
edo ./ghcup -v rm -f 8.6.1
|
|
|
|
edo ./ghcup -v rm -f 8.4.3
|
|
|
|
|
|
|
|
# reinstall from cached tarball
|
|
|
|
edo ./ghcup -v -c install 8.6.1
|
|
|
|
edo ./ghcup -v rm -f 8.6.1
|
|
|
|
|
|
|
|
# set GHC
|
|
|
|
edo ./ghcup -v set 8.2.2
|
|
|
|
edo ./ghcup -v rm -f 8.2.2
|
|
|
|
|
|
|
|
# install default GHC
|
|
|
|
edo ./ghcup -v install
|
|
|
|
edo ./ghcup -v set
|
|
|
|
|
|
|
|
# install latest GHC
|
|
|
|
edo ./ghcup -v install latest
|
|
|
|
|
|
|
|
export PATH="$HOME/.cabal/bin:$HOME/.ghcup/bin:$HOME/.local/bin:$PATH"
|
|
|
|
edo mkdir -p "$HOME"/.local/bin
|
|
|
|
|
|
|
|
edo cp ./ghcup "$HOME"/.local/bin/ghcup
|
|
|
|
|
|
|
|
# TODO: exceeds maximum time limit of travis
|
|
|
|
# compile GHC from source
|
|
|
|
#./ghcup -v compile 8.4.3 ghc-8.2.2
|
|
|
|
|
|
|
|
# install cabal-install
|
|
|
|
edo ghcup -v install-cabal
|
|
|
|
|
|
|
|
edo cabal --version
|
|
|
|
|
|
|
|
# install shellcheck
|
|
|
|
edo wget https://storage.googleapis.com/shellcheck/shellcheck-latest.linux.x86_64.tar.xz
|
|
|
|
edo tar -xJf shellcheck-latest.linux.x86_64.tar.xz
|
|
|
|
edo mv shellcheck-latest/shellcheck "$HOME"/.local/bin/shellcheck
|
|
|
|
|
|
|
|
# check our script for errors
|
|
|
|
edo shellcheck ghcup
|
|
|
|
|
|
|
|
edo ghcup -v debug-info
|
|
|
|
|
|
|
|
edo ghcup -v list
|
|
|
|
edo ghcup -v list -t ghc
|
|
|
|
edo ghcup -v list -t cabal-install
|
|
|
|
|
|
|
|
edo ghc --version
|
|
|
|
|
|
|
|
# self update destructively
|
|
|
|
edo ghcup -v upgrade
|