One more update:

"cabal haddock" exposes a --html-location flag which is useful:

     http://www.haskell.org/cabal/users-guide/installing-packages.html#setup-haddock

Another way of invoking haddock is through "cabal install".  It looks like "cabal install --enable-documentation" and "cabal install --haddock" are not documented here, but they work:

    http://www.haskell.org/cabal/users-guide/installing-packages.html#paths-in-the-simple-build-system

With cabal 0.14.0 and haddock 2.10.0, they work even when installing multiple packages at once using trailing slashes ("cabal install foo/ bar/ baz/").

We can then achieve the effect of "haddock --html-location=URL" with the --haddock-html-location=URL flag to "cabal install".  (There is also an "--htmldir" flag available but its effect is somewhat confusing.  As far as I can tell it seems to affect where the ".haddock" files are put, not where the .html in installed or where the links point to. )

So that's it.  The result is that it's easy to build ONE package's documentation and host it on a different server but with all links to other modules pointing to hackage.  Regarding the original goal it looks like a "sed" style hack will still be required to allow a set of sibling packages to point to one another.

  -Ryan

On Tue, Apr 24, 2012 at 8:51 PM, Ryan Newton <rrnewton@gmail.com> wrote:
This is sort of related to ticket #130:


And this one seems to hint at a solution to the problem in the more extensive syntax for --read-interface.


(My local haddock-2.10.0 --help doesn't mention this.  But I'll give it a whirl.)



On Tue, Apr 24, 2012 at 8:34 PM, Ryan Newton <rrnewton@gmail.com> wrote:
Hello cafe,

For various reasons, some packages don't build documentation on hackage:


Therefore I want to locally install documentation for a set of packages like this and host them on a separate website.  I want all of these ~ten packages' haddock documentation to be properly interlinked with eachother, but also to link to Hackage for types and classes defined in other modules.

Is this possible?  Hackage haddocks are all interlinked, but that is simply because hackage is one giant local install, right?

If it's not possible (and it seems not) do any haddock devs have pointers on how to implement this?

Thanks,
  -Ryan

P.S.  Someone recommended to me the following simple hack -- just use sed to rewrite the links after haddock generates the html.  I think I'll do that for the time being unless someone has a better suggestion.