[Haskell] Cabal, Haddock, and the location of documentation

Matthias Kilian kili at outback.escape.de
Sun Jul 8 13:08:29 EDT 2007


probably a PEBCAK, but working on updating all our Haskell-related
OpenBSD ports, I've currently the problem, that, e.g. for Crypto
the Haddock-generated documentation doesn't gets installed where I
want it installed ;-)

The default obviously is something like $prefix/share/Crypto-$VERSION/doc/html,
but I want $prefix/share/doc/Crypto-$VERSION, or, even preferrable, just
$prefix/share/doc/Crypto. That's:

- $prefix/share/doc as base directory for all documentation, since
  that's the default on OpenBSD.

- no html subdirectory if not strictly necessary, because I don't like a
  doc directory containing nothing but a html directory.

- no version number in the directory name, because typically we don't
  have different versions of the same software installed at the
  same time -- there are exceptions from this rule, but I really
  don't plan to start maintaining several versions of one ore more
  Haskell packages ;-)

Is this configurable at Cabal/Haddock runtime? I'd try to play
with --datadir, but this appears a little bit dangerous as a general
approach, since some packages my actually come with real data, which
should *not* go into $prefix/share/doc, of course.

Or do I have to patch Cabal? If so, what about adding just another
FilePath like docdir to Distribution.SimpleLocalBuildInfo and use
it for the documentation?


More information about the Haskell mailing list