Cabal/How to install a Cabal package

From HaskellWiki
< Cabal
Revision as of 16:32, 24 October 2007 by RossPaterson (talk | contribs) (remove numbering from extra comments)
Jump to: navigation, search

You've found an interesting Haskell package on HackageDB. How do you install it on your system?

  1. Check whether the package came with your Haskell implementation.
  2. If your operating system has a packaging system (e.g. most Linux or BSD distributions), check whether it is already packaged there.
  3. Otherwise, you'll have to build and install the package. A program to automate this process, called cabal-install, is under development. In the meantime, you'll have to do it manually:
    1. First, ensure that all the packages it depends on are installed (by following these instructions recursively).
    2. Unpack the tar file (yes, this assumes a Unix system; sorry about that):
      tar xzf PACKAGE-VERSION.tar.gz
    3. Move into the directory this creates:
    4. This directory should contain a file Setup.hs or Setup.lhs. In order to install a package globally, perform the following commands for the appropriate file (see the Cabal documentation for more details):
      runghc Setup.hs configure
      runghc Setup.hs build
      runghc Setup.hs install
    If instead of installing globally, you just wish to install a package for your normal user account, you could instead use the following configure command, which would register the install in the user-specific database and install binaries and libraries in $HOME/bin, $HOME/lib, and so forth:
    runghc Setup.hs configure --user --prefix=$HOME
    You can get more information about any of these commands by adding --help after the command. For example, to see all the options available for the configure step, you could use the following command:
    runghc Setup.hs configure --help
    Lastly, if you encounter unsatisfied dependencies when you run the configure step, that is when you recurse and first install the missing package.