diff options
Diffstat (limited to '.gitlab/darwin-init.sh')
-rw-r--r-- | .gitlab/darwin-init.sh | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/.gitlab/darwin-init.sh b/.gitlab/darwin-init.sh new file mode 100644 index 0000000000..ba5de9db35 --- /dev/null +++ b/.gitlab/darwin-init.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +set -e + +toolchain=`pwd`/toolchain +PATH="$toolchain/bin:$PATH" + +if [ -d "`pwd`/cabal-cache" ]; then + cp -Rf cabal-cache $HOME/.cabal +fi + +if [ ! -e $toolchain/bin/ghc ]; then + mkdir -p tmp + cd tmp + ghc_tarball="https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-apple-darwin.tar.xz" + echo "Fetching GHC from $ghc_tarball" + curl $ghc_tarball | tar -xJ + cd ghc-$GHC_VERSION + ./configure --prefix=$toolchain + make install + cd ../.. + rm -Rf tmp +fi + +if [ ! -e $toolchain/bin/cabal ]; then + cabal_tarball="https://downloads.haskell.org/~cabal/cabal-install-latest/cabal-install-2.4.1.0-x86_64-apple-darwin-sierra.tar.xz" + echo "Fetching cabal-install from $cabal_tarball" + curl $cabal_tarball | tar -xz + mv cabal $toolchain/bin +fi + +if [ ! -e $toolchain/bin/happy ]; then + cabal update + cabal new-install happy --symlink-bindir=$toolchain/bin +fi + +if [ ! -e $toolchain/bin/alex ]; then + cabal update + cabal new-install alex --symlink-bindir=$toolchain/bin +fi + |