To install git-annex from scratch, you need a lot of stuff. Really quite a lot.
- Haskell stuff
- The Haskell Platform (GHC 7.4 or newer)
- mtl (2.1.1 or newer)
- MissingH
- utf8-string
- SHA
- dataenc
- monad-control
- lifted-base
- QuickCheck 2
- json
- IfElse
- bloomfilter
- edit-distance
- hS3 (optional)
- DAV (optional)
- SafeSemaphore
- UUID
- regex-tdfa
- Optional haskell stuff, used by the assistant and its webapp (edit Makefile to disable)
- stm (version 2.3 or newer)
- hinotify (Linux only)
- dbus
- yesod
- yesod-static
- yesod-default
- data-default
- case-insensitive
- http-types
- transformers
- wai
- wai-logger
- warp
- blaze-builder
- crypto-api
- hamlet
- clientsession
- network-multicast
- network-info
- network-protocol-xmpp
- dns
- xml-types
- async
- HTTP
- Shell commands
- git
- xargs
- rsync
- curl (optional, but recommended)
- wget (optional)
- sha1sum (optional, but recommended; a sha1 command will also do)
- gpg (optional; needed for encryption)
- lsof (optional; recommended for watch mode)
- multicast DNS support, provided on linux by nss-mdns (optional; recommended for the assistant to support pairing well)
- ikiwiki (optional; used to build the docs)
Then just download git-annex and run: make; make install