Disable per-components mode for cabal-spec version < 1.8
[cabal.git] / travis-install.sh
blobf1183eca69eea9d57a7ffb330a4b5f276b0f8ff3
1 #!/bin/sh
2 set -ex
4 travis_retry () {
5 $* || (sleep 1 && $*) || (sleep 2 && $*)
8 if [ "$GHCVER" = "none" ]; then
9 travis_retry sudo add-apt-repository -y ppa:hvr/ghc
10 travis_retry sudo apt-get update
11 travis_retry sudo apt-get install --force-yes ghc-$GHCVER
14 if [ -z ${STACKAGE_RESOLVER+x} ]; then
15 if [ "$TRAVIS_OS_NAME" = "linux" ]; then
16 travis_retry sudo add-apt-repository -y ppa:hvr/ghc
17 travis_retry sudo apt-get update
18 travis_retry sudo apt-get install --force-yes cabal-install-1.24 happy-1.19.5 alex-3.1.7 ghc-$GHCVER-prof ghc-$GHCVER-dyn
19 if [ "x$TEST_OTHER_VERSIONS" = "xYES" ]; then travis_retry sudo apt-get install --force-yes ghc-7.0.4-prof ghc-7.0.4-dyn ghc-7.2.2-prof ghc-7.2.2-dyn ghc-head-prof ghc-head-dyn; fi
21 elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
23 case $GHCVER in
24 8.0.1)
25 GHCURL=http://downloads.haskell.org/~ghc/8.0.1/ghc-8.0.1-x86_64-apple-darwin.tar.xz;
26 GHCXZ=YES
28 7.10.3)
29 GHCURL=http://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3b-x86_64-apple-darwin.tar.xz
30 GHCXZ=YES
32 7.8.4)
33 GHCURL=https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-apple-darwin.tar.xz
34 GHCXZ=YES
36 7.6.3)
37 GHCURL=https://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-x86_64-apple-darwin.tar.bz2
39 7.4.2)
40 GHCURL=https://www.haskell.org/ghc/dist/7.4.2/ghc-7.4.2-x86_64-apple-darwin.tar.bz2
43 echo "Unknown GHC: $GHCVER"
44 false
46 esac
48 travis_retry curl -OL $GHCURL
49 if [ "$GHCXZ" = "YES" ]; then
50 tar -xJf ghc-*.tar.*;
51 else
52 tar -xjf ghc-*.tar.*;
55 cd ghc-*;
56 ./configure --prefix=$HOME/.ghc-install/$GHCVER
57 make install;
58 cd ..;
60 travis_retry curl -L https://www.haskell.org/cabal/release/cabal-install-1.24.0.0/cabal-install-1.24.0.0-x86_64-apple-darwin-yosemite.tar.gz -o cabal-install.tar.gz
61 TAR=$PWD/cabal-install.tar.gz
62 mkdir "${HOME}/bin"
63 (cd "${HOME}/bin" && tar -xzf "$TAR")
64 "${HOME}/bin/cabal" --version
66 else
67 echo "Not linux or osx: $TRAVIS_OS_NAME"
68 false
71 else # Stack-based builds
72 mkdir -p ~/.local/bin
73 travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 \
74 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
75 stack setup --resolver "$STACKAGE_RESOLVER"
79 git version