Cabal/How to install a Cabal package
From HaskellWiki
(Difference between revisions)
(People might not have found the package as of yet) |
(Update now cabal-install has been released) |
||
| Line 4: | Line 4: | ||
# Check whether the package came with your Haskell implementation. | # Check whether the package came with your Haskell implementation. | ||
# If your [[:Category:OS|operating system]] has a packaging system (e.g. most Linux or BSD distributions), check whether it is already packaged there. | # If your [[:Category:OS|operating system]] has a packaging system (e.g. most Linux or BSD distributions), check whether it is already packaged there. | ||
| - | # Otherwise, you'll have to build and install the package. | + | # Otherwise, you'll have to build and install the package. By far the easiest way is to use [http://hackage.haskell.org/trac/hackage/wiki/CabalInstall ''cabal-install''] to do everything automatically (note to build cabal-install for the first time, you'll need to use the manual method below). If you so wish, you can still install packages manually -- see the section below. |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | == Installing packages manually == | |
| - | + | # First, ensure that all the packages it depends on are installed (by following these instructions recursively). | |
| - | <code>configure</code> | + | # Unpack the tar file (yes, this assumes a Unix system; sorry about that ([[how to unpack a tar file in windows]])): |
| - | + | #:<code>tar xzf PACKAGE-VERSION.tar.gz</code> | |
| - | + | # Move into the directory this creates: | |
| + | #:<code>cd PACKAGE-VERSION</code> | ||
| + | # This directory should contain a file <code>Setup.hs</code> or <code>Setup.lhs</code>. In order to install a package globally, perform the following commands for the appropriate file (see the [http://www.haskell.org/ghc/docs/latest/html/Cabal/builders.html Cabal documentation] for more details): | ||
| + | #:<code>runghc Setup.hs configure</code> | ||
| + | #:<code>runghc Setup.hs build</code> | ||
| + | #:<code>runghc Setup.hs install</code> | ||
| - | + | === Notes === | |
| - | + | # If instead of installing globally, you just wish to install a package for your normal user account, you could instead use the following <code>configure</code> command, which would register the install in the user-specific database and install binaries and libraries in $HOME/bin, $HOME/lib, and so forth: | |
| - | + | #:<code>runghc Setup.hs configure --user --prefix=$HOME</code> | |
| - | + | # You can get more information about any of these commands by adding <code>--help</code> after the command. For example, to see all the options available for the <code>configure</code> step, you could use the following command: | |
| - | + | #:<code>runghc Setup.hs configure --help</code> | |
| - | + | # If you encounter unsatisfied dependencies when you run the configure step, that is when you recurse and first install the missing package. | |
| - | + | # If you have more than one Haskell compiler on your system, use the <code>--with-compiler</code> option for the <code>configure</code> step. That will ensure that Cabal uses the correct compiler during the entire installation process. For example: | |
| - | + | #: <code>runghc Setup.hs configure --with-compiler=ghc-6.8.2</code> | |
| - | <code> | + | #: <code>runghc Setup.hs build</code> |
| - | + | #: <code>runghc Setup.hs install</code> | |
| - | Setup.hs | + | |
| - | + | ||
| - | </code> | + | |
| - | + | ||
| - | + | ||
| - | <code> | + | |
| - | + | ||
| - | </code> | + | |
Revision as of 18:50, 21 August 2008
There's an interesting Haskell package on HackageDB you'd like to try. How do you install it on your system?
- Check whether the package came with your Haskell implementation.
- If your operating system has a packaging system (e.g. most Linux or BSD distributions), check whether it is already packaged there.
- Otherwise, you'll have to build and install the package. By far the easiest way is to use cabal-install to do everything automatically (note to build cabal-install for the first time, you'll need to use the manual method below). If you so wish, you can still install packages manually -- see the section below.
1 Installing packages manually
- First, ensure that all the packages it depends on are installed (by following these instructions recursively).
- Unpack the tar file (yes, this assumes a Unix system; sorry about that (how to unpack a tar file in windows)):
tar xzf PACKAGE-VERSION.tar.gz
- Move into the directory this creates:
cd PACKAGE-VERSION
- This directory should contain a file
Setup.hsorSetup.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 configurerunghc Setup.hs buildrunghc Setup.hs install
1.1 Notes
- If instead of installing globally, you just wish to install a package for your normal user account, you could instead use the following
configurecommand, 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
--helpafter the command. For example, to see all the options available for theconfigurestep, you could use the following command:runghc Setup.hs configure --help
- If you encounter unsatisfied dependencies when you run the configure step, that is when you recurse and first install the missing package.
- If you have more than one Haskell compiler on your system, use the
--with-compileroption for theconfigurestep. That will ensure that Cabal uses the correct compiler during the entire installation process. For example:-
runghc Setup.hs configure --with-compiler=ghc-6.8.2 -
runghc Setup.hs build -
runghc Setup.hs install
-
