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). 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