[travis-ci] Fix some build breakage (#130)
authorLennart Kolmodin <kolmodin@gmail.com>
Sun, 22 Jan 2017 17:56:14 +0000 (18:56 +0100)
committerGitHub <noreply@github.com>
Sun, 22 Jan 2017 17:56:14 +0000 (18:56 +0100)
Split cabal install into two invocations. Cabal seems to not handle the 'cabal-version' constraint correctly, and ends up ordering the packages to install in the wrong order.
Installing Cabal separately first, and then all other packages, seems to work around the problem.

.travis.yml

index c9112c1..703cd36 100644 (file)
@@ -31,8 +31,10 @@ install:
 # workaround for https://ghc.haskell.org/trac/ghc/ticket/9221
  - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
  - cabal sandbox init
-# can't use "cabal install --only-dependencies --enable-tests --enable-benchmarks" due to dep-cycle
- - cabal install "bytestring >= 0.10.2" criterion deepseq mtl "QuickCheck >= 2.8" HUnit "test-framework-quickcheck2 >= 0.3" "random >= 1.0.1.0" attoparsec cereal 'Cabal == 1.24.*' tar zlib -j
+# can't use "cabal install --only-dependencies --enable-tests --enable-benchmarks" due to dep-cycle.
+# must split in two separate 'cabal install's since cabal doesn't update the cabal library before it's needed in 'cabal-version' constraints.
+ - cabal install "bytestring >= 0.10.2" 'Cabal == 1.24.*' -j
+ - cabal install criterion deepseq mtl "QuickCheck >= 2.8" HUnit "test-framework-quickcheck2 >= 0.3" "random >= 1.0.1.0" attoparsec cereal tar zlib -j
 
 script:
  - cabal configure --enable-tests --enable-benchmarks -v2 --ghc-options=-fno-spec-constr