Hackage and GHC 6.8

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Mon Sep 24 13:40:52 EDT 2007


In message <1190644931.18359.22.camel at intothevoid> Thomas Schilling
<nominolo at googlemail.com> writes:
> On Sun, 2007-09-23 at 18:02 -0700, Don Stewart wrote:
> > Neil Davies wrote:
> > > Given that GHC 6.8 is just around the corner and, given how it has
> > > re-organised the libraries so that the dependencies in many (most/all)
> > > the packages in the hackage DB are now not correct.
> > > 
> > > Is there a plan of how to get hackage DB up to speed with GHC 6.8 ?
> > 
> > Ian, GHC HQ, can you elaborate on what the plan is on fixing the hackage
> > libraries for ghc 6.8 -- should everyone be springing into action to
> > update .cabal files and fix api changes?
> 
> The problem is that Cabal-1.2 is not backwards compatible wrt. the API
> for Setup.[l]hs.  In most cases this can be fixed by using a trivial
> Setup.hs and use configurations instead, in which case you'll again
> depend on Cabal-1.2.

Of course Cabal-1.2 works perfectly well with all versions of GHC (6.2 and
later) so this is ok. For example, people using GHC-6.6.x can add Cabal-1.2
(keeping their previous version of Cabal library as well).

So it's perfectly possible to make a package support many versions of GHC (and
other Haskell impls), what is harder is making it support many versions of Cabal.

In summary: supporting both GHC-6.6 and 6.8 "out of the box" is hard (unless
your package is really very simple). Supporting GHC-6.6 + Cabal-1.2 and GHC-6.8
"out of the box" is easy.

Duncan


More information about the Libraries mailing list