Personal tools


From HaskellWiki

Jump to: navigation, search


1 Synopsis

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.

2 Source Location

Haskell source:

Hackage: TBD

3 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

4 Building Executables with Capri

4.1 Bootstrapping Private Packages Database

4.2 Building and Installation

4.3 Cloning Already Compiled Packages

4.4 Importing Local Source Packages

5 Advanced Topics

5.1 Running ghc-pkg and cabal-install