From HaskellWiki
Revision as of 04:29, 5 July 2010 by DimitryGolubovsky (talk | contribs) (Typos)

Jump to: navigation, search


Capri (abbreviation of CAbal PRIvate) is a wrapper program on top of cabal-install to operate it in project-private mode. In this mode, there is no global or user package databases; only one package database is defined, private to the project, located under the root directory of a project.

Capri is mainly intended for use with projects organized as Cabal packages targeting executables rather than just libraries.

Source Location

Haskell source:

Hackage: TBD

Commands Summary

$ capri help
This program provides a wrapper over cabal-install to operate in project-private mode.

Usage: capri COMMAND [FLAGS]
   or: capri [GLOBAL FLAGS]

Global flags:
 -h --help            Show this help text
 -V --version         Print version information
    --numeric-version Print just the version number

  bootstrap    Bootstrap private packages configuration
  list         List packages installed privately
  clone        Clone package(s) installed publicly into the private packages database
  ghc-pkg      Invoke the ghc-pkg program to run arbitrary action on private packages
  cabal        Invoke the cabal-install program to run arbitrary action on private packages
  install      Short-cut for cabal install command
  configure    Short-cut for cabal configure command
  build        Short-cut for cabal build command
  help         Help about commands

For more information about a command use
  capri COMMAND --help

Typical steps for installing Cabal packages:
  capri bootstrap
  capri clone
  capri configure
  capri build
  capri install

Building Executables with Capri

Bootstrapping Private Packages Database

Building and Installation

Cloning Already Compiled Packages

Importing Local Source Packages

Advanced Topics

Running ghc-pkg and cabal-install