Ticket #225 (new enhancement)

Opened 5 years ago

Last modified 5 years ago

allow installing just specific bits, like just docs

Reported by: duncan Owned by:
Priority: normal Milestone: Cabal-1.8
Component: Cabal library Version: 1.2.3.0
Severity: normal Keywords:
Cc: peteg42@…, avatar@…, bos@… Difficulty: normal
GHC Version: 6.8.2 Platform:

Description

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.

Change History

Changed 5 years ago by duncan

  • cc peteg42@… added

Changed 5 years ago by duncan

  • milestone set to Cabal-1.6

Changed 5 years ago by guest

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.

Changed 5 years ago by guest

  • cc avatar@… added

Changed 5 years ago by bos

  • cc bos@… added

Changed 5 years ago by duncan

  • milestone changed from Cabal-1.6 to Cabal-1.8
Note: See TracTickets for help on using tickets.