summaryrefslogtreecommitdiff
path: root/git-annex.cabal
blob: e993343ca8549d5d87fac76906d408ac91d42fdf (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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
Name: git-annex
Version: 3.20121112
Cabal-Version: >= 1.8
License: GPL
Maintainer: Joey Hess <joey@kitenet.net>
Author: Joey Hess
Stability: Stable
Copyright: 2010-2012 Joey Hess
License-File: COPYRIGHT
Homepage: http://git-annex.branchable.com/
Build-type: Custom
Category: Utility
Synopsis: manage files with git, without checking their contents into git
Description:
 git-annex allows managing files with git, without checking the file
 contents into git. While that may seem paradoxical, it is useful when
 dealing with files larger than git can currently easily handle, whether due
 to limitations in memory, time, or disk space.
 .
 Even without file content tracking, being able to manage files with git,
 move files around and delete files with versioned directory trees, and use
 branches and distributed clones, are all very handy reasons to use git. And
 annexed files can co-exist in the same git repository with regularly
 versioned files, which is convenient for maintaining documents, Makefiles,
 etc that are associated with annexed files but that benefit from full
 revision control.

Flag S3
  Description: Enable S3 support

Flag Inotify
  Description: Enable inotify support

Flag Dbus
  Description: Enable dbus support

Flag Assistant
  Description: Enable git-annex assistant and watch command

Flag Webapp
  Description: Enable git-annex webapp

Flag Pairing
  Description: Enable pairing

Flag XMPP
  Description: Enable notifications using XMPP

Flag DNS
  Description: Enable the haskell DNS library for DNS lookup

Executable git-annex
  Main-Is: git-annex.hs
  Build-Depends: MissingH, hslogger, directory, filepath,
   unix, containers, utf8-string, network (>= 2.0), mtl,
   bytestring, old-locale, time,
   pcre-light, extensible-exceptions, dataenc, SHA, process, json, HTTP,
   base (>= 4.5 && < 4.7), monad-control, transformers-base, lifted-base,
   IfElse, text, QuickCheck >= 2.1, bloomfilter, edit-distance, process,
   SafeSemaphore
  -- Need to list these because they're generated from .hsc files.
  Other-Modules: Utility.Touch Utility.Mounts
  Include-Dirs: Utility
  C-Sources: Utility/libdiskfree.c Utility/libmounts.c
  Extensions: CPP
  GHC-Options: -threaded

  if flag(S3)
    Build-Depends: hS3
    CPP-Options: -DWITH_S3

  if flag(Assistant) && ! os(windows) && ! os(solaris)
    Build-Depends: stm >= 2.3
    CPP-Options: -DWITH_ASSISTANT

  if os(linux) && flag(Inotify)
    Build-Depends: hinotify
    CPP-Options: -DWITH_INOTIFY
  else
    if (! os(windows) && ! os(solaris))
      CPP-Options: -DWITH_KQUEUE
      C-Sources: Utility/libkqueue.c

  if os(linux) && flag(Dbus)
    Build-Depends: dbus (>= 0.10.3)
    CPP-Options: -DWITH_DBUS

  if flag(Webapp) && flag(Assistant)
    Build-Depends: yesod, yesod-static, case-insensitive,
     http-types, transformers, wai, wai-logger, warp, blaze-builder,
     crypto-api, hamlet, clientsession,
     template-haskell, yesod-default (>= 1.1.0), data-default
    CPP-Options: -DWITH_WEBAPP

  if flag(Pairing) && flag(Webapp)
    Build-Depends: network-multicast, network-info
    CPP-Options: -DWITH_PAIRING

  if flag(XMPP) && flag(Assistant)
    Build-Depends: network-protocol-xmpp, gnutls (>= 0.1.4), xml-types
    CPP-Options: -DWITH_XMPP

  if flag(XMPP) && flag(Assistant) && flag(DNS)
    Build-Depends: dns
    CPP-Options: -DWITH_DNS

Test-Suite test
  Type: exitcode-stdio-1.0
  Main-Is: test.hs
  Build-Depends: testpack, HUnit, MissingH, hslogger, directory, filepath,
   unix, containers, utf8-string, network, mtl, bytestring, old-locale, time,
   pcre-light, extensible-exceptions, dataenc, SHA, process, json, HTTP,
   base (>= 4.5 && < 4.7), monad-control, transformers-base, lifted-base,
   IfElse, text, QuickCheck >= 2.1, bloomfilter, edit-distance, process
  Other-Modules: Utility.Touch
  Include-Dirs: Utility
  C-Sources: Utility/libdiskfree.c
  Extensions: CPP
  GHC-Options: -threaded

source-repository head
  type: git
  location: git://git-annex.branchable.com/