Cabal has a darcs repository on darcs.haskell.org.
To get the code for the head branch:
darcs get --partial http://darcs.haskell.org/cabal/
For the 1.4 branch:
darcs get --partial http://darcs.haskell.org/cabal-branches/cabal-1.4/
For cabal-install:
darcs get --partial http://darcs.haskell.org/cabal-install/
There is also the code for the HackageDB website:
darcs get --partial http://darcs.haskell.org/hackage-scripts/
To contribute patches you can "darcs record" and
"darcs send".
By default the patches get sent to the cabal-devel mailing list.
If you have access to darcs.haskell.org, and are in the darcs group, then you can push to the repository.
There are also some branches for older versions and experimental features: http://darcs.haskell.org/cabal-branches/
If you are using an older version of GHC and do not have the
filepath package installed then you will have to install that.
If possible use whatever version of Cabal you already have installed to build
and install filepath. If that is not possible you can bootstrap
by unpacking both filepath and Cabal and running:
cd Cabal ghc -i../filepath --make Setup.lhs -o ../filepath/setup cd ../filepath/ ./setup configure ./setup build ./setup install
This installs filepath so you are then in a position to install
Cabal by the normal method.
This code requires HUnit to run the test suite.
A snapshot tarball of the development version is available.
The less adventurous can download a stable release.