diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3482f01..26180ab 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -271,13 +271,13 @@ test:mac:latest: CABAL_VERSION: "3.4.0.0" needs: [] -# test:mac:recommended:aarch64: - # stage: test - # extends: .test_ghcup_version:darwin:aarch64 - # variables: - # GHC_VERSION: "8.10.5" - # CABAL_VERSION: "3.4.0.0" - # needs: [] +test:mac:recommended:aarch64: + stage: test + extends: .test_ghcup_version:darwin:aarch64 + variables: + GHC_VERSION: "8.10.5" + CABAL_VERSION: "3.4.0.0" + needs: [] ######## freebsd test ######## diff --git a/.gitlab/before_script/darwin/install_deps.sh b/.gitlab/before_script/darwin/install_deps.sh index 50e57d6..92ffdda 100755 --- a/.gitlab/before_script/darwin/install_deps.sh +++ b/.gitlab/before_script/darwin/install_deps.sh @@ -6,12 +6,34 @@ set -eux mkdir -p "${TMPDIR}" -curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-apple-darwin-ghcup > ./ghcup-bin -chmod +x ghcup-bin +if [ $ARCH = 'ARM64' ] ; then + curl -O https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-aarch64-apple-darwin.tar.xz + tar -xf ghc-*.tar.* + cd ghc-* + ./configure --prefix="${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/ghc/8.10.5 + make install + for i in "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/ghc/8.10.5/bin/*-8.10.5 ; do + ln -s "${i}" "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/${i##*/} + done + for x in "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/*-8.10.5 ; do + ln -s ${x##*/} ${x%-8.10.5} + done + unset x i + cd .. + rm -rf ghc-8.10.5 ghc-*.tar.* -./ghcup-bin upgrade -i -f -./ghcup-bin install ${GHC_VERSION} -./ghcup-bin set ${GHC_VERSION} -./ghcup-bin install-cabal ${CABAL_VERSION} + curl -O https://github.com/haskell/cabal/files/6617482/cabal-install-3.5-arm64-darwin-11.4-bootstrapped.tar.gz + tar -xf cabal-install-* + mv cabal "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/cabal + rm -rf cabal-install +else + curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-apple-darwin-ghcup > ./ghcup-bin + chmod +x ghcup-bin + + ./ghcup-bin upgrade -i -f + ./ghcup-bin install ${GHC_VERSION} + ./ghcup-bin set ${GHC_VERSION} + ./ghcup-bin install-cabal ${CABAL_VERSION} +fi exit 0