diff --git a/.gitlab/before_script/linux/install_deps.sh b/.gitlab/before_script/linux/install_deps.sh index 31fe99c..6c05c2a 100755 --- a/.gitlab/before_script/linux/install_deps.sh +++ b/.gitlab/before_script/linux/install_deps.sh @@ -7,67 +7,21 @@ set -eux mkdir -p "${TMPDIR}" sudo apt-get update -y -sudo apt-get install -y libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https +sudo apt-get install -y libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential if [ "${CROSS}" = "arm-linux-gnueabihf" ] ; then - sudo apt-get install -y autoconf build-essential gcc-arm-linux-gnueabihf + sudo apt-get install -y gcc-arm-linux-gnueabihf sudo dpkg --add-architecture armhf sudo apt-get update -y sudo apt-get install -y libncurses-dev:armhf fi -case "${ARCH}" in - ARM*) - case "${ARCH}" in - "ARM") - ghc_url=https://downloads.haskell.org/~ghc/${GHC_VERSION}/ghc-${GHC_VERSION}-armv7-deb10-linux.tar.xz - cabal_url=home.smart-cactus.org/~ben/cabal-install-${CABAL_VERSION}-armv7-linux-bootstrapped.tar.xz - ;; - "ARM64") - ghc_url=https://downloads.haskell.org/~ghc/${GHC_VERSION}/ghc-${GHC_VERSION}-aarch64-deb10-linux.tar.xz - cabal_url=https://downloads.haskell.org/~cabal/cabal-install-${CABAL_VERSION}/cabal-install-${CABAL_VERSION}-aarch64-ubuntu-18.04.tar.xz - ;; - *) - exit 1 ;; - esac +export BOOTSTRAP_HASKELL_NONINTERACTIVE=1 +export BOOTSTRAP_HASKELL_GHC_VERSION=$GHC_VERSION +export BOOTSTRAP_HASKELL_CABAL_VERSION=$CABAL_VERSION +export BOOTSTRAP_HASKELL_VERBOSE=1 - mkdir -p "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin +curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh - curl -O "${ghc_url}" - tar -xf ghc-*.tar.* - cd ghc-${GHC_VERSION} - ./configure --prefix="${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/ghc/${GHC_VERSION} - make install - for i in "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/ghc/${GHC_VERSION}/bin/*-${GHC_VERSION} ; do - ln -s "${i}" "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/${i##*/} - done - for x in "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/*-${GHC_VERSION} ; do - ln -s ${x##*/} ${x%-${GHC_VERSION}} - done - cd .. - rm -rf ghc-${GHC_VERSION} ghc-*.tar.* - unset x i - - mkdir cabal-install - cd cabal-install - curl -O "${cabal_url}" - tar -xf cabal-install-* - mv cabal "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/cabal - cd .. - rm -rf cabal-install - - ;; - *) - url=https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup - - curl -sSfL "${url}" > ./ghcup-bin - chmod +x ghcup-bin - - ./ghcup-bin upgrade -i -f - ./ghcup-bin install ghc ${GHC_VERSION} - ./ghcup-bin set ghc ${GHC_VERSION} - ./ghcup-bin install cabal ${CABAL_VERSION} - - ;; -esac +rm "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/ghcup