Cabal: A framework for packaging Haskell software

[ bsd3, distribution, library ] [ Propose Tags ]

The Haskell Common Architecture for Building Applications and Libraries: a framework defining a common interface for authors to more easily build their Haskell applications in a portable way.

The Haskell Cabal is meant to be a part of a larger infrastructure for distributing, organizing, and cataloging Haskell libraries and tools.


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
small_base

Choose the new smaller, split-up base package.

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Versions [RSS] 1.1.6, 1.2.1, 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.4.0.0, 1.4.0.1, 1.4.0.2, 1.6.0.1, 1.6.0.2, 1.6.0.3, 1.8.0.2, 1.8.0.4, 1.8.0.6, 1.10.0.0, 1.10.1.0, 1.10.2.0, 1.12.0, 1.14.0, 1.16.0, 1.16.0.1, 1.16.0.2, 1.16.0.3, 1.18.0, 1.18.1, 1.18.1.1, 1.18.1.2, 1.18.1.3, 1.18.1.4, 1.18.1.5, 1.18.1.6, 1.18.1.7, 1.20.0.0, 1.20.0.1, 1.20.0.2, 1.20.0.3, 1.20.0.4, 1.22.0.0, 1.22.1.0, 1.22.1.1, 1.22.2.0, 1.22.3.0, 1.22.4.0, 1.22.5.0, 1.22.6.0, 1.22.7.0, 1.22.8.0, 1.24.0.0, 1.24.1.0, 1.24.2.0, 2.0.0.2, 2.0.1.0, 2.0.1.1, 2.2.0.0, 2.2.0.1, 2.4.0.0, 2.4.0.1, 2.4.1.0, 3.0.0.0, 3.0.1.0, 3.0.2.0, 3.2.0.0, 3.2.1.0, 3.4.0.0, 3.4.1.0, 3.6.0.0, 3.6.1.0, 3.6.2.0, 3.6.3.0, 3.8.1.0, 3.10.1.0, 3.10.2.0, 3.10.2.1 (info)
Change log changelog
Dependencies array (>=0.1 && <0.2), base (<4), containers (>=0.1 && <0.2), directory (>=1 && <1.1), filepath (>=1 && <1.2), old-time (>=1 && <1.1), pretty (>=1 && <1.1), process (>=1 && <1.1) [details]
License BSD-3-Clause
Copyright 2003-2006, Isaac Jones 2005-2008, Duncan Coutts
Author Isaac Jones <ijones@syntaxpolice.org> Duncan Coutts <duncan@haskell.org>
Maintainer cabal-devel@haskell.org
Category Distribution
Home page http://www.haskell.org/cabal/
Uploaded by DuncanCoutts at 2008-08-26T22:51:10Z
Distributions Arch:3.6.3.0, Fedora:3.8.1.0
Reverse Dependencies 259 direct, 4010 indirect [details]
Downloads 365166 total (760 in the last 30 days)
Rating 2.75 (votes: 15) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for Cabal-1.4.0.2

[back to package description]
[Cabal home page](http://www.haskell.org/cabal/)

Installation instructions for the Cabal library
===============================================

If you also want the `cabal` command line program then you need
the `cabal-install` package in addition to this library.


Installing as a user (no root or administer access)
---------------------------------------------------

    ghc --make Setup
    ./Setup configure --user
    ./Setup build
    ./Setup install

Note the use of the `--user` flag at the configure step.

This will install into `$HOME/.cabal/` on unix and into
`$Documents and Settings\$User\Application Data\cabal\` on Windows
If you want to install elsewhere use the `--prefix=` flag at the
configure step.


Installing as root / Administrator
----------------------------------

    ghc --make Setup
    ./Setup configure
    ./Setup build
    sudo ./Setup install

This will install into `/usr/local` on unix and on Windows it will
install into `$ProgramFiles/Haskell`. If you want to install
elsewhere use the `--prefix=` flag at the configure step.


Working with older versions of GHC and Cabal
============================================

It is recommended just to leave any pre-existing version of Cabal
installed. In particular it is *essential* to keep the version that
came with GHC itself since other installed packages need it (eg the
"ghc" api package).

Prior to GHC 6.4.2 however, GHC didn't deal particularly well with
having multiple versions of packages installed at once. So if you
are using GHC 6.4.1 or older and you have an older version of Cabal
installed, you probably just want to remove it:

    ghc-pkg unregister Cabal

or if you had Cabal installed just for your user account then:

    ghc-pkg unregister Cabal --user


Your Help
=========

To help us in the next round of development work it would be
enormously helpful to know from our users what their most pressing
problems are with Cabal and Hackage. You probably have a favourite
Cabal bug or limitation. Take a look at our [bug tracker]. Make sure
the problem is reported there and properly described. Comment on the
ticket to tell us how much of a problem the bug is for you. Add
yourself to the ticket's cc list so we can discuss requirements and
keep you informed on progress. For feature requests it is very
helpful if there is a description of how you would expect to
interact with the new feature.

[bug tracker]: http://hackage.haskell.org/trac/hackage/


Code
=======

You can get the code from the web page; the version control system we
use is very open and welcoming to new developers.

You can get the main development branch:

> darcs get --partial http://darcs.haskell.org/cabal

and you can get the stable 1.4 branch:

> darcs get --partial http://darcs.haskell.org/cabal-branches/cabal-1.4


Credits
=======

Cabal Coders (in alphabetical order):

- Krasimir Angelov
- Bjorn Bringert
- Duncan Coutts
- Isaac Jones
- David Himmelstrup (Lemmih)
- Simon Marlow
- Ross Patterson
- Thomas Schilling
- Martin Sjögren
- Malcolm Wallace
- and nearly 30 other people have contributed occasional patches

Cabal spec:

- Isaac Jones
- Simon Marlow
- Ross Patterson
- Simon Peyton Jones
- Malcolm Wallace