[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

GHC 6.10.1 uploaded to experimental



I've just uploaded haddock 2.4.1-1, ghc6 6.10.1-1 and a new build of
mtl library to experimental.

Haddock wants to be built with the same version of GHC that it
generates documents for.  "Haddock's internal GHC version must match
the configured GHC version", as it says.  That means that, when it's
time to push this into unstable, I'll need to:

1) upload haddock and have it build against ghc 6.8.2
2) upload ghc6, which has a build dep on haddock (>= 2.4.1)
3) upload haddock again, so that it's built with ghc 6.10.1
4) upload ghc6 again, so that ghc6-doc gets built correctly

The first step is probably unnecessary, but I'd like to stick haddock
(>= 2.4.1) as a build dep for ghc6 right away.

After 4) is done, you're free to upload libraries to unstable.  I'm
not going to coordinate this kind of a transition with experimental.
My arch is i386 and I've built haddock with ghc 6.10.1 for that, but
you may need to repeat the above steps if your arch is different.
Most likely I'll need to do new uploads of haddock and ghc6 to
experimental anyway, which would take care of this.

Given haddock's pickiness, it looks like it'd be better to make it a
policy that haskell library docs will have to have Depends: ghc6-doc
(<< $(ghc6-source-version)+), ghc6-doc (>= $(ghc6-source-version))
from now on.  Should be doable easily enough with haskell-devscripts
and by using ${haskell:Depends} in -doc's Depends line.  Any comments
on this?

I suspect that I may yet need to have a versioned conflict in ghc6-doc
on all haskell library -doc packages that didn't have a versioned
dependency on ghc6-doc and carry that until Squeeze's release.  Argh.

I've fixed a bunch of bugs with this upload.  ghc6-doc uses triggers
to run gen_contents_index now.  This means that Haskell libraries
won't need to have postinst/postrm scripts to run it when they put
documentation in /usr/share/doc/ghc6-doc/libraries/.

I'll still want to see it to confirm it, but chances are that the
stage2 compiler is buildable on all architectures with 6.10.1.  This
would mean that ghci, runghc and Template Haskell would work
everywhere.  Win.

I'm not quite sure about what to do with haskell-utils.  While there
isn't anything fundamentally wrong with it, I still don't like its way
of building haskell library packages.  I know that I'll convert any
packages that I'm going to adopt, that use it, to haskell-devscripts
along the way.  I'll be adopting Igloo's library packages along the
way, unless someone wants to call dibs.

As for the other thing that haskell-utils does, namely maintaining
/var/lib/haskell-utils/compilers (see haskell-utils(8))...  I don't
know.  AFAIK it's not used for anything, currently.  Can anyone think
of a scenario where it could be useful?  I don't expect to be
maintaining multiple versions of GHC in Debian.  I suspect that if
there's a need for what haskell-utils does with registering compilers,
then it could be done with dpkg triggers, now.

We could stand to unify haskell-devscript's usage a bit.  I'm hoping
that the version of mtl I packaged works as a good example of that;
the latest copy of the hlibrary.mk I used for it can be found at
http://people.debian.org/~kaol/repos/hlibrary/.  I know some people
don't like CDBS.  Debhelper v7 may offer another viable option.  IMHO,
even telling people to call the individual dh_haskell_* scripts is
better than dh_haskell.  Not all that Python programmers think of is
good.

I'm not sure how handling documentation like this plays along with
hugs.  It may be enough if /usr/share/doc/$(whatever)-doc/html/ was a
symlink to the corresponding directory under
/usr/share/doc/ghc6-doc/libraries/.

A goal I'd like to push for, regarding haskell libraries:
binNMUability.  Optimally, a new version of GHC could be handled with
binNMUs to all libraries that are still forward compatible.
haskell-devscripts already goes a long way towards this, with
${haskell:Depends}.

Lastly, sorry about the mess with ghc6_6.8.2dfsg1-1.

Attachment: signature.asc
Description: Digital signature


Reply to: