Search code examples
haskelldocumentationcabal

Haskell Cabal regenerate documentation for all installed packages


How can I generate and install documentation for all locally installed cabal packages? I turned on the documentation flag in ~/.cabal/config which means that all newly installed packages will have documentation also generated. But how to generate documentation for all already installed packages?

Is there a way to automatically cabal install --reinstall all already installed packages? And more importantly, is that a good idea?


Solution

  • If you have a recent-ish version of cabal-install (>= 0.10, I think), you can try doing

    $ cabal install --reinstall --upgrade-dependencies world
    

    Unfortunately, it didn't work in my case:

    $ cabal install --dry-run --reinstall world
    Resolving dependencies...
    cabal: cannot configure Agda-2.2.10. It requires haskell-src-exts >=1.9.6 &&
    <1.10
    For the dependency on haskell-src-exts >=1.9.6 && <1.10 there are these
    packages: haskell-src-exts-1.9.6. However none of them are available.
    haskell-src-exts-1.9.6 was excluded because haskell-src-exts-1.11.1 was
    selected instead
    haskell-src-exts-1.9.6 was excluded because hlint-1.8.12 requires
    haskell-src-exts ==1.11.*
    

    If you bump into an error like this, you can try manually editing the ~/.cabal/world file.