Advance warning to package authors of breakage with Cabal-1.8

Duncan Coutts duncan.coutts at googlemail.com
Sat Nov 28 11:37:28 EST 2009


package authors,

I'm preparing to release a new version of Cabal. This is the one that
will come with ghc-6.12.

A few packages with custom Setup.hs scripts will require some changes to
compile with Cabal version 1.8. In most cases it is possible to have
them continue to work with version 1.6 too.

When you test your changes, please test against the darcs version of
Cabal-1.8 rather than the one included in 6.12 RC2. The reason is that
I've added in a couple API backwards compat fixes, so there's actually
less to fix than you would find with the RC2 (and for at least one of
those if you fix it to work with the Cabal pre-release version included
in 6.12 RC2 it'll be impossible to make it work with Cabal-1.6 too).

darcs get --partial http://darcs.haskell.org/cabal-branches/cabal-1.8

These minor changes will of course be rolled into the final version that
comes with ghc 6.12.1.


* HDBC-postgresql, MissingPy, Omega, HDBC-mysql

These use the function requireProgram in their Setup.hs. This function
drops one parameter in Cabal-1.8. To make the Setup.hs continue to work
with Cabal-1.6 too, I suggest changing code like this:

  (pgconfigProg, _) <- requireProgram verbosity
                         pgconfigProgram AnyVersion (withPrograms lbi)
  let pgconfig = rawSystemProgramStdout verbosity pgconfigProg

into just:

  let pgconfig = rawSystemProgramStdoutConf verbosity
                   pgconfigProgram (withPrograms lbi)

* haskeline

This uses GHC.build in its Setup.hs which no longer exists. It got split
into GHC.buildLib and buildExe.


Duncan



More information about the Libraries mailing list