#!/bin/sh
set -eu
root=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
cd "$root"
mkdir -p .toolchain/bin .toolchain/ghc-bin .toolchain/cabal
if [ ! -x .toolchain/bin/cabal ]; then
  curl -fL https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-unknown-linux.tar.xz -o .toolchain/cabal.tar.xz
  tar xf .toolchain/cabal.tar.xz -C .toolchain/bin
  rm .toolchain/cabal.tar.xz
fi
ghc_bin=/home/rack/.ghcup/ghc/8.6.5/bin
for tool in ghc ghc-pkg ghci runghc haddock hsc2hs hpc; do
  ln -sf "$ghc_bin/$tool" ".toolchain/ghc-bin/$tool"
done
if [ ! -f .toolchain/cabal/config ]; then
  printf -- '-- isolated cabal configuration for the pinned historical toolchain\n-- no remote repository is configured because only GHC boot libraries are used\n' > .toolchain/cabal/config
fi
./scripts/env ghc --version
./scripts/env cabal --version
./scripts/env cabal v1-build
