summaryrefslogtreecommitdiff
path: root/git-annex.cabal
blob: 8a36e5f4f8c4c7a9bdb1a6e6a774039469c86f60 (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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
Name: git-annex
Version: 4.20130323
Cabal-Version: >= 1.8
License: GPL
Maintainer: Joey Hess <joey@kitenet.net>
Author: Joey Hess
Stability: Stable
Copyright: 2010-2013 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 WebDAV
  Description: Enable WebDAV 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

Flag Production
  Description: Enable production build (slower build; faster binary)

Flag Android
  Description: Building for Android
  Default: False

Flag TestSuite
  Description: Embed the test suite into git-annex

Executable git-annex
  Main-Is: git-annex.hs
  Build-Depends: MissingH, hslogger, directory, filepath,
   unix, containers, utf8-string, network (>= 2.0), mtl (>= 2),
   bytestring, old-locale, time,
   extensible-exceptions, dataenc, SHA, process, json,
   base (>= 4.5 && < 4.8), monad-control, transformers-base, lifted-base,
   IfElse, text, QuickCheck >= 2.1, bloomfilter, edit-distance, process,
   SafeSemaphore, uuid, random, regex-tdfa
  -- 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
  CC-Options: -Wall
  GHC-Options: -threaded -Wall
  CPP-Options: -DWITH_CLIBS

  if flag(Production)
    GHC-Options: -O2

  if flag(TestSuite)
    Build-Depends: HUnit
    CPP-Options: -DWITH_TESTSUITE

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

  if flag(WebDAV)
    Build-Depends: DAV (>= 0.3), http-conduit, xml-conduit, http-types
    CPP-Options: -DWITH_WEBDAV

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

  if flag(Android)
    CPP-Options: -D__ANDROID__

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

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

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

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

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

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

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