Closed RyanGlScott closed 4 years ago
The large remaining hurdle to getting cabal-install-3.0
(which GHC 8.8 requires) to work with the current Travis configuration. Since cabal-install-3.0
uses new-build
by default, this command now fails:
$ cabal install --only-dependencies --enable-tests --enable-benchmarks --dry -v > installplan.txt
CallStack (from HasCallStack):
die', called at ./Distribution/Client/CmdInstall.hs:233:5 in main:Distribution.Client.CmdInstall
cabal: --enable-tests was specified, but tests can't be enabled in a remote
package
I can think of two possible ways to work around this:
cabal-install-2.4.0.0
as the minimum and use cabal v1-install
everywhere in .travis.yml
.travis.yml
to use cabal v1-install
on newer versions of cabal
only by using bash
tricks (something like if [ $CABALVER -ge 2400 ] ; then CABALV1="cabal v1-"; else CABALV1="cabal " fi
)A third option would be:
.travis.yml
over to use new-build
everywhere.This option would also require raising the minimum version of cabal-install
used on Travis.
I've implemented each of options (1)-(3) above to see how each one would work:
Which approach would you prefer to use?
Ping @kosmikus
@RyanGlScott Thanks, and sorry for the delay. I've merged your option 3.
Thanks! Could you release these changes to Hackage as well?
Ping.
Various minor tweaks are needed to fix the build the custom
Setup
script withCabal-3.0
:configCompilerAux
no longer exists inCabal-3.0
. TheSetup
script imports it but never uses it, so this import can simply be deleted.The following types/functions have been deprecated:
ProgramConfiguration
in favor ofProgramDb
rawSystemProgramConf
in favor ofrunDbProgram
die
in favor ofdie'
Incredibly, all of these are available back to
Cabal-1.10
with the exception ofdie'
, which I define a shim for with CPP.