[Debian-haskell] Re: dh_haskell and haddock

Jeremy Shaw jeremy.shaw at linspireinc.com
Wed May 17 18:56:01 BST 2006

At Tue, 16 May 2006 21:17:51 -0500,
John Goerzen wrote:

> Interesting idea.  However, it is entirely possible for a package to
> need to provide haskell-*-doc even if the package has no Haddock
> documentation.  


> I would rather see a simple call to setup haddock in debian/rules in
> these cases.

Right -- this is, unfortunately, a bit trickier than I think it ought
to be. If you are not generating haddock documentation, then the rules
file is very straight-forward -- you use 'dh_install -i' to build the
hugs package and 'dh_install -a' to build the ghc and nhc packages. It
is nice beacuse there is no need to deal with compiling Setup.hs,
invoking './setup configure' with the correct options, etc.

If you want to also compile haddock documentation, it gets a bit
trickier. In theory you just add './setup haddock' after the
'dh_install -i' line. Unfortunately, there is a little gothca --
'dh_install -i' will only compile 'setup' and run './setup configure'
if you are building a hugs version of the library. So, if you are
producing a ghc only library, then './setup haddock' will fail.

The current work around is to explicitly compile setup and run
'./setup configure' before running './setup haddock'. But it somehow
seems wrong that dh_install already compiles setup and runs configure
implicitly, and yet you still have to do it explicitly in some cases.

What do you think?

One option is to create a dh_haddock script that you call explicitly
if you want to generate haddock documentation. Another option is a
flag that forces dh_haskell to run './setup configure' even if there
does not appear to be any work to do?


More information about the debian-haskell mailing list