Cabal home page:
http://www.haskell.org/cabal

WARNING If you already have Cabal installed, and are using GHC 6.4.1
or earlier, read "Working with older versions of Cabal" for
information first!  If you do this out of order, stuff might get
screwy.  If stuff gets screwy, post to libraries@haskell.org for help.

-= Installing as root / Administrator (GHC's global package file) =-

This is the recommended method of installing Cabal.

run "make install" as root

The Makefile wraps the standard Cabal setup script; the
Makefile is a convinience for bootstrapping the system. "sudo
make install" should generate the setup script, configure, build,
install, and register it in a standard location.

Cabal should build just like any other Cabal-ized packagem, so if you
you can't or don't want to use the Makefile, you can run:
ghc --make Setup.lhs -o setup
./setup configure
./setup build
sudo ./setup install

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

ghc --make Setup.lhs -o setup
./setup configure --prefix=$HOME --user
./setup build
./setup install --user


Additional notes for GHC-6.4.1 and older:

If:

1) Cabal is installed in the global package file (use ghc-pkg list to see)

2) You don't have root access

3) You need to install a newer version of Cabal in your user directory, 

then this formula may help to hide the global version:

  $ ghc-pkg describe Cabal-1.0 | ghc-pkg --user register -
  $ ghc-pkg --user hide Cabal-1.0

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

If you have GHC 6.4.2 or later then it's recommended just to leave the
old version of Cabal installed (unless you are really sure that no
existing packages still needs it). In particular in GHC 6.6, the "ghc"
package depends on Cabal so you must not unregister that version of Cabal
or you will break 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 =-

Portability is one of the most important things about this project.
We don't expect the early releases to work on every system, but it
should work on YOUR system!  If it doesn't please help us figure out
why, and write a patch and test case to fix the problem, if you can!
The codebase is a very manageable size.

-= Code =-

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

darcs get --partial http://darcs.haskell.org/packages/Cabal

-= Debian Templates =-

Build a Debian source tree with:

dh_make -d -t /full/path/to/debiantemplates

After, you just need to edit the copyright, description, and
dependencies...

-= Credits (in alphabetical order) =-

Cabal Coders:
- Krasimir Angelov
- Bjorn Bringert
- Duncan Coutts
- Isaac Jones
- David Himmelstrup (Lemmih)
- Simon Marlow
- Ross Patterson
- Martin Sjögren
- Malcolm Wallace (via hmake)

Cabal spec:
- Isaac Jones
- Simon Marlow
- Ross Patterson
- Simon Peyton Jones
- Malcolm Wallace
