run cabal update
[ghc.git] / .travis.yml
1 sudo: false
2
3 matrix:
4     include:
5         - os: linux
6           env: CABALVER=1.22 GHCVER=7.10.3
7         - os: osx
8
9 addons:
10     apt:
11         packages:
12             - ghc-7.10.3
13             - alex-3.1.4
14             - happy-1.19.5
15             - cabal-install-1.22
16             - zlib1g-dev
17         sources: hvr-ghc
18
19 before_install:
20     - if [ $TRAVIS_OS_NAME == osx ]; then brew update; fi
21     - if [ $TRAVIS_OS_NAME == osx ]; then brew install ghc cabal-install; fi
22     - if [ $TRAVIS_OS_NAME == osx ]; then cabal update; fi
23     - if [ $TRAVIS_OS_NAME == osx ]; then cabal install alex happy; fi
24     - if [ $TRAVIS_OS_NAME == linux ]; then PATH="/opt/ghc/$GHCVER/bin:$PATH"; fi
25     - if [ $TRAVIS_OS_NAME == linux ]; then PATH="/opt/cabal/$CABALVER/bin:$PATH"; fi
26     - PATH="$HOME/.cabal/bin:$PATH"
27     - export PATH
28
29     - env
30     - ghc --version
31     - cabal --version
32     - alex --version
33     - happy --version
34     - cabal update
35
36 install:
37
38     - travis_retry git clone git://git.haskell.org/ghc --recurse-submodules
39
40     # Travis clones the project into ".", but we need it as a child directory
41     # of "ghc/". For this reason, we - rather hackily - move the GHC-Shake
42     # ".git"  directory into the appropriate location, and perform a hard reset
43     # in order to regenerate the GHC-Shake files.
44     - mkdir ghc/shake-build
45     - mv .git ghc/shake-build
46     - ( cd ghc/shake-build && git reset --hard HEAD )
47
48     - ( cd ghc/shake-build && cabal install --only-dependencies )
49
50     - ( cd ghc && ./boot )
51     - ( cd ghc && ./configure )
52
53 script:
54     - ./ghc/shake-build/build.sh -j --no-progress
55
56 cache:
57     directories:
58         - $HOME/.cabal