Homebrew has a formula for git-annex.
Homebrew users can simply run brew install git-annex
to install git-annex.
buiding git-annex from sources
This is the old recipe for building git-annex from source, using packages from homebrew. Useful if you want a newer version than the version in homebrew.
brew install haskell-platform git ossp-uuid md5sha1sum coreutils gnutls libidn gsasl pkg-config libxml2 brew link libxml2 --force cabal update mkdir $HOME/bin PATH=$HOME/bin:$PATH PATH=$HOME/.cabal/bin:$PATH cabal install c2hs --bindir=$HOME/bin cabal install gnuidn cabal install git-annex --bindir=$HOME/bin
It seems that for me at least, OSX installations performed with
brew install git-annex
do not include man pages, e.g., if I subsequently runman git-annex
I get the errorNo manual entry for git-annex
. This isn't an enormous bother as I can instead browse documentation as needed on the website, but it's a headache when I'm working offline and even when not it can be irksome to have to leave the terminal.Below I've pasted the relevant lines that govern how homebrew performs the installation (or in practice, how the "bottle" is built as part of a CI process, and which bottle is typically "poured" by end users rather than compiling locally).
Notably, it uses
cabal
to do the installation, but it doesn't quite follow any of the cabal-related patterns currently outlined on the "installing from source" documentation. I inspected the bottle that homebrew downloads, and indeed it contains just a handful of files that do not include the man pages, i.e.:Is there an easy tweak to the cabal-based installation that homebrew currently uses to do its bottling that would include man pages, or would it be a potentially significant undertaking that would require an appreciably different build approach?
When I run the following command: cabal install c2hs --bindir=$HOME/bin
I get the following error:
Error: some packages failed to install: c2hs-0.28.1 depends on language-c-0.5.0 which failed to install. language-c-0.5.0 failed during the configure step. The exception was: ExitFailure 1