git-annex/doc/install/cabal.mdwn

58 lines
1.7 KiB
Markdown

As a haskell package, git-annex can be installed using cabal.
This involves building a lot of haskell packages from source, and so it has
a lot of moving parts, and it's not uncommon for it to be broken from time
to time.
If you are not comfortable tracking down and dealing with library build
problems, installing git-annex with cabal is probably not the right choice
for you!
## prerequisites
Start by installing the [Haskell Platform][]. In Debian, this is as
simple as:
sudo apt-get install haskell-platform
[Haskell Platform]: http://hackage.haskell.org/platform/
## minimal build
This builds git-annex without some features that require C libraries, that
can be harder to get installed. This is plenty to get started using it,
although it does not include the assistant or webapp.
cabal update
PATH=$HOME/bin:$PATH
cabal install git-annex --bindir=$HOME/bin -f"-assistant -webapp -webdav -pairing -xmpp -dns"
## full build
To build with all features enabled, including the assistant and webapp,
you will need to install several C libraries and their headers,
including libgnutls, libgsasl, libxml2, and zlib. Then run:
cabal update
PATH=$HOME/bin:$PATH
cabal install c2hs --bindir=$HOME/bin
cabal install git-annex --bindir=$HOME/bin
## building from git checkout
But maybe you want something newer (or older). Then [[download]] the version
you want, and use cabal as follows inside its source tree:
cabal update
PATH=$HOME/bin:$PATH
cabal install c2hs --bindir=$HOME/bin
cabal install --only-dependencies
cabal configure
cabal build
cabal install --bindir=$HOME/bin
## EKG
When building with cabal, you can optionally enable the
[[EKG monitoring interface|ekg]]. This is great for debugging resource
usage problems.