cabal-install haddock documentation - another round of workarounds

Nov 08, 2009 22:35


Today I've found a way to cabal-install offline documentation - with source hyperlinks! - for a Haskell package.
(The reddit link was quite helpful by pushing me in right direction.)
To obtain documentation without source hyperlinks you just
  • run `cabal install' with `--enable-documentation' option ...or
  • enable `documentation' parameter in ~/.cabal/config

Then reinstall the package with `cabal install --reinstall' command. Documentation will appear in ~/.cabal/share/doc/PACKAGE-VERSION/html/ directory.
But if you want proper documentation - with `Source' links to the right of declarations - try these commands (replacing `iteratee' with your favourite package):
$ cd /tmp $ tar -xzf ~/.cabal/packages/hackage.haskell.org/iteratee/0.2.4/iteratee-0.2.4.tar.gz $ cd iteratee-0.2.4 $ cabal configure $ cabal haddock --hyperlink-source ## NOTE: ## * Make sure `documentation' is *disabled* in ~/.cabal/config. ## * Don't use `--enable-documentation' in `cabal install' command. ## Otherwise links to source code will be omitted from documentation. $ cabal install --reinstall
That's almost it. But source code pages will not be syntax-highlighted, because hscolour.css is missing. I've used a workaround:
$ cd ~/.cabal/share/doc/iteratee-0.2.4/html/src $ ln -s /usr/share/doc/ghc6-doc/libraries/Cabal/src/hscolour.css
Now everything is sweet (i.e., documented and hyperlinked to sources).
This post is a reminder to myself, which may possibly help some other haskeller.
SEE ALSO
  • Cabal ticket #534: cabal haddock should --hyperlink-source by default
  • Cabal ticket #517: make cabal install command support haddock options
    (Opened 8 months ago. Patch available.)
  • Debian bug #500924: Should have a system-wide hscolour.css

english, cabal, haskell

Previous post Next post
Up