breakage with Cabal-1.6

Duncan Coutts duncan.coutts at
Thu Oct 9 14:55:45 EDT 2008


I'm trying to do a Cabal-1.6 release, in time for ghc-6.10.

Here's an interim update.

There are 7 packages on hackage where the latest version has a Setup.hs
script that works with Cabal-1.4 but does not compile with Cabal-1.6.
That's actually not too bad. It's been a lot worse in the past, and we
have many more packages now.

Here's the list and explanations:

      * ForSyDe-3.0

Uses the copyDest field from CopyFlags. These record types now use an
equivalent of Maybe so they can be empty rather than always containing a
default value. It's useful, but also kind of annoying in places. It's an
easy fix.

      * MissingPy-0.10.0
      * Takusen-0.8.3
      * HDBC-postgresql-

Imports writeHookedBuildInfo from Distribution.PackageDescription

This one is a bit annoying. I tried to split up the
Distribution.PackageDescription module a bit, because it was something
like 1,700 lines long. I moved the parsing out into
Distribution.PackageDescription.Parse. Some packages of course sill
expect to get writeHookedBuildInfo from the previous location. I could
make it still work by using recursive modules, but I worry what that
would do to the process of bootstrapping Cabal (especially with hugs or
nhc). Or I could re-merge the modules into one massive module again. Or
I could say, it's only three packages broken, it's all ok. While the fix
for these three packages' Setup scripts is trivial, there is not fix
that will make them compile with old and new versions of the lib.

Suggestions welcome.

      * alex-2.2
      * happy-1.17

Imports buildVerbose from Distribution.Simple.Setup ( BuildFlags(..) )
however the flag has been renamed to buildVerbosity and with a different
type. I would export a compat function but it would not help here since
the Setup script expects it to be a record selector from BuildFlags.
Cabal-1.4 contained a dodgy hack to make this continue to work, but I'm
not doing that again.

If I added a compat function then we could at least make it work with
both ghc/cabal versions with a single implementation. So I might do that
and do point releases of these packages, if Simon thinks that's ok.

Really of course both packages should stop calling an external perl and
other similar madness.

      * hsql-odbc-1.7

Imports Distribution.Setup which has been deprecated since at least
Cabal-1.2. This package is unmaintained so it's not so surprising.


More information about the Glasgow-haskell-users mailing list