summaryrefslogtreecommitdiff
path: root/doc/install.mdwn
blob: b85700e661045ae614733177e511bc7ae1917f68 (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
62
## OS-specific instructions

* [[OSX]]
* [[Debian]]
* [[Ubuntu]]
* [[Fedora]]
* [[FreeBSD]]
* [[openSUSE]]
* [[ArchLinux]]
* [[NixOS]]
* Windows: [[sorry, not possible yet|todo/windows_support]]

## Using cabal

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

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

## 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)
  * [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)
* 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)
  * [ikiwiki](http://ikiwiki.info) (optional; used to build the docs)

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

## Installation by hand using cabal / Setup.hs

You can fetch the dependencies using `cabal install`. Then, you can build git-annex by running:

    runhaskell Setup.hs configure --user
    runhaskell Setup.hs build
    runhaskell Setup.hs install --bindir=$HOME/bin

The `--user` option configures the build so that it uses the packages you already have in `~/.cabal`.