Skip to content


allow installing just specific bits, like just docs #218

bos opened this Issue · 2 comments

3 participants

Haskell member

(Imported from Trac #225, reported by @dcoutts on 2008-01-31)

Sometimes people would like to build and install just part of a cabal project, e.g. the documentation or one of the libraries or binaries. Specific use-cases are packaging for OS distro's and generating Haddock docs for code that was installed without it (cf the current state of Debian-stable).

Igloo proposes the following user interface:

As long as docs, license and binaries can be (de)selected individually I don't really mind.

If you want a concrete suggestion, we could have --foo and --no-foo for each thing, with the default being --all and the command line being processed left-to-right, e.g.

cabal install --no-haddock-interfaces --docs --no-html
would install

  • all (which wouldn't actually contain anything)
  • docs (which wouldn't actually contain anything)
  • haddock-interfaces
  • license
  • everything under binaries

I broadly agree, but am slightly concerned there are dependencies amongst the various things that his syntax does not respect (e.g. one may need to install the libraries - e.g. one depending on a foreign library - in order to get a binary working). So either we have to vet the command lines or coarsen the flags. I hope Duncan and Igloo can draw on their packaging experience and determine what is actually useful.

Haskell member

(Imported comment by guest on 2008-01-31)

One use for this is building split packages for profiling/non-profiling libraries using template haskell. The distro would like to install only profiling libraries under a specific destdir, but normal libraries must be build as well for template haskell support.


Given that there is no activity since 2008, I propose closing. Please re-open or create a new ticket if this is still desired.

/cc @tibbe

@tibbe tibbe closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.