git-annex/doc/install/cabal.mdwn
Joey Hess 6402f2081e Revert "avoid pulling in unneeded dependencies when the assistant is disabled"
Cabal does not seem to have a way to check if flag A is set and then, if
flag B is set, add a dep. Instead, it makes flag B get unset if the
dep is not available.
2013-07-16 11:29:43 -04:00

37 lines
1.1 KiB
Markdown

As a haskell package, git-annex can be installed using cabal.
Start by installing the [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