6402f2081e
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.
37 lines
1.1 KiB
Markdown
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
|