summaryrefslogtreecommitdiff
path: root/doc/install.mdwn
blob: 43b5bba20d99465e1bc36655ee43bba0731b4682 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
## OS-specific instructions

* [[OSX]]
* [[Debian]]
* [[Ubuntu]]
* [[Fedora]]
* [[FreeBSD]]
* [[openSUSE]]
* [[ArchLinux]]
* [[NixOS]]
* [[Gentoo]]
* Windows: [[sorry, not possible yet|todo/windows_support]]
* [[ScientificLinux5]] - This should cover RHEL5 clones such as CentOS5 and so on

## Using cabal

As a haskell package, git-annex can be installed using cabal. For example:

	cabal install git-annex --bindir=$HOME/bin

The above downloads the latest release. Alternatively, you can [[download]]
it yourself and [[manually_build_with_cabal|install/cabal]].

## Installation by hand

To build and use git-annex, you will need:

* Haskell stuff
  * [The Haskell Platform](http://haskell.org/platform/) (GHC 7.4 or newer)
  * [MissingH](http://github.com/jgoerzen/missingh/wiki)
  * [pcre-light](http://hackage.haskell.org/package/pcre-light)
  * [utf8-string](http://hackage.haskell.org/package/utf8-string)
  * [SHA](http://hackage.haskell.org/package/SHA)
  * [dataenc](http://hackage.haskell.org/package/dataenc)
  * [monad-control](http://hackage.haskell.org/package/monad-control)
  * [lifted-base](http://hackage.haskell.org/package/lifted-base)
  * [TestPack](http://hackage.haskell.org/cgi-bin/hackage-scripts/package/testpack)
  * [QuickCheck 2](http://hackage.haskell.org/package/QuickCheck)
  * [HTTP](http://hackage.haskell.org/package/HTTP)
  * [hS3](http://hackage.haskell.org/package/hS3) (optional)
  * [json](http://hackage.haskell.org/package/json)
  * [IfElse](http://hackage.haskell.org/package/IfElse)
  * [bloomfilter](http://hackage.haskell.org/package/bloomfilter)
  * [edit-distance](http://hackage.haskell.org/package/edit-distance)
  * [stm](http://hackage.haskell.org/package/stm)
  * [hinotify](http://hackage.haskell.org/package/hinotify) (on Linux only)
* Shell commands
  * [git](http://git-scm.com/)
  * [uuid](http://www.ossp.org/pkg/lib/uuid/)
    (or `uuidgen` from util-linux)
  * [xargs](http://savannah.gnu.org/projects/findutils/)
  * [rsync](http://rsync.samba.org/)
  * [wget](http://www.gnu.org/software/wget/) or [curl](http://http://curl.haxx.se/) (optional, but recommended)
  * [sha1sum](ftp://ftp.gnu.org/gnu/coreutils/) (optional, but recommended;
    a sha1 command will also do)
  * [gpg](http://gnupg.org/) (optional; needed for encryption)
  * [lsof](ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/)
    (needed for watch mode)
  * [ikiwiki](http://ikiwiki.info) (optional; used to build the docs)

Then just [[download]] git-annex and run: `make; make install`