An OOM condition can apparently also show up as 'ExitFailure (-9)'.

See https://github.com/haskell/cabal/issues/1522#issuecomment-44381178
Bump Cabal version number to 1.20.0.1
Merge 1.20
Derive Functor, Traversable and Foldable instances
Treat all flags of a package as interdependent.

There was an open bug that could cause conflict sets to be
computed incorrectly if flags were involved in the conflict
set. Incorrectly computed conflict sets can lead to the solver not
finding solutions even though they actually exist.

Because I decided that computing flag dependencies correctly is tricky
and probably not worth the effort, we're now treating all flags (of a
package) as mutually dependent. This means that if any flag choice ends
up in a conflict set, then it's as if all flag choices (of the same
package) are in that conflict set. This is potentially slower for
packages having many flags, but it should at least be correct, because
it's conservative.
Included targets in cabal's bash-completion.

When commpleting for cabal build/repl/test/bench, this completes the possible
targets depending on their types.  This is a temporary workaround, the
definitive solution would be to include those targets in cabal itself, via
``--list-options''.
Allow template-haskell to be upgradable again

This partly reverts 65e9b88bc849e76040ed7947591ea7172cd02db5
which marked `template-haskell` non-upgradable. However, since are now
able to fix-up wrong .cabal meta-data on Hackage, previous `template-haskell`
releases have been augmented by proper version bounds so that it's now
safe again to let the Cabal solver handle reinstalling `template-haskell`

See also #1811, #667, #1761, and #1444
Merge pull request #1934 from hvr/pr-unwire-th

Allow template-haskell to be upgradable again
Allow template-haskell to be upgradable again

This partly reverts 65e9b88bc849e76040ed7947591ea7172cd02db5
which marked `template-haskell` non-upgradable. However, since are now
able to fix-up wrong .cabal meta-data on Hackage, previous `template-haskell`
releases have been augmented by proper version bounds so that it's now
safe again to let the Cabal solver handle reinstalling `template-haskell`

See also #1811, #667, #1761, and #1444

(cherry picked from commit 65ae95c191b19ec1884a4d80afbdaba9c3d477d1 / #1934)
Include manual in tarball

Fixes #1928.
Use cabal-install 1.20 instead of 1.18 on Travis.
-dynamic is not a debug flag
give cpp options to haskell-suite
Merge pull request #1948 from phischu/rebased-haskellsuite-cppoptions

give cpp options to haskell-suite
Ignore hasktags files too.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Merge pull request #1952 from ezyang/master

Ignore hasktags files too.
Merge pull request #1939 from JPMoresmau/master

-dynamic is not a debug flag
clearly warn about the absense of working C compiler if we need foreign deps
Merge pull request #1958 from llelf/master

clearly warn about the absense of working C compiler if we need foreign deps
Merge pull request #1956 from kosmikus/new-flag-fix

Treat all flags of a package as interdependent.