Allow aeson-1.2
[darcs-mirror-arbtt.git] / arbtt.cabal
1 name:               arbtt
2 version:            0.9.0.13
3 license:            GPL
4 license-file:       LICENSE
5 category:           Desktop
6 cabal-version:      >= 1.10
7 build-type:         Simple
8 author:             Joachim Breitner <mail@joachim-breitner.de>
9 maintainer:         Joachim Breitner <mail@joachim-breitner.de>
10 copyright:          Joachim Breitner 2009-2013
11 synopsis:           Automatic Rule-Based Time Tracker
12 description:
13     arbtt is a background daemon that stores which windows are open, which one
14     has the focus and how long since your last action (and possbly more sources
15     later), and stores this. It is also a program that will, based on
16     expressive rules you specify, derive what you were doing, and what for.
17     .
18     The documentation, which includes the changelog, can also be found at
19     <http://arbtt.nomeata.de/doc/users_guide/>.
20     .
21     WARNING: The log file might contain very sensitive private data. Make sure
22     you understand the consequences of a full-time logger and be careful with this
23     data.
24 homepage:           http://arbtt.nomeata.de/
25 bug-reports:        https://bitbucket.org/nomeata/arbtt/issues
26 extra-source-files:
27     categorize.cfg, arbtt-capture.desktop, README.md,
28     doc/arbtt.xml, doc/fptools.css, doc/Makefile,
29     setup.iss, modpath.iss,
30     tests/*.log, tests/*.out, tests/*.in, tests/*.cfg
31
32 flag old-locale
33   description:
34     If false then depend on time >= 1.5.
35     .
36     If true then depend on time < 1.5 together with old-locale.
37   default: False
38
39 executable arbtt-capture
40     main-is:            capture-main.hs
41     hs-source-dirs:     src
42     build-depends:
43                 base >= 4.7 && < 4.10,
44                 filepath, directory, transformers, utf8-string,
45                 aeson >= 0.6  && < 1.3,
46                 binary >= 0.5,
47                 bytestring, deepseq
48
49     if flag(old-locale)
50         build-depends: time == 1.4.*, old-locale
51     else
52         build-depends: time >= 1.5
53
54     other-modules:
55         Data
56         Data.MyText
57         Data.Binary.StringRef
58         CommonStartup
59         Capture
60         TimeLog
61         UpgradeLog1
62         LeftFold
63
64     ghc-options: -rtsopts
65
66     if !os(windows)
67         build-depends: unix
68
69     if os(windows)
70         extra-libraries: psapi
71         cpp-options:    -DWIN32
72         ghc-options:    -optl-mwindows
73         other-modules:
74             Capture.Win32
75             Graphics.Win32.Window.Extra
76             System.Win32.Mutex
77         build-depends:
78              Win32
79     else
80         if os(darwin)
81             cpp-options:    -DDARWIN
82             frameworks: Foundation Carbon IOKit
83             other-modules:
84                 Capture.OSX
85                 Graphics.OSX.Window
86                 System.Locale.SetLocale
87         else
88             extra-libraries: Xss
89             other-modules:
90                 Capture.X11
91                 Graphics.X11.XScreenSaver
92                 System.Locale.SetLocale
93             build-depends:
94                 X11 > 1.4.4
95     default-language: Haskell98
96
97 executable arbtt-stats
98     main-is:            stats-main.hs
99     hs-source-dirs:     src
100     build-depends:
101         base >= 4.7 && < 4.10,
102         parsec == 3.*,
103         containers == 0.5.*,
104         pcre-light,
105         binary >= 0.5,
106         deepseq, bytestring, utf8-string, strict,
107         transformers, directory, filepath,
108         aeson >= 0.6  && < 1.3,
109         array == 0.4.* || == 0.5.*,
110         terminal-progress-bar,
111         bytestring-progress
112
113     if !os(windows)
114         build-depends: unix
115
116     if flag(old-locale)
117         build-depends: time == 1.4.*, old-locale
118     else
119         build-depends: time >= 1.5
120
121     other-modules:
122         Data
123         Data.MyText
124         Data.Binary.StringRef
125         DumpFormat
126         LeftFold
127         CommonStartup
128         Categorize
129         TimeLog
130         Stats
131         Text.Parsec.ExprFail
132         Text.ParserCombinators.Parsec.ExprFail
133         Text.Regex.PCRE.Light.Text
134         TermSize
135     ghc-options: -rtsopts
136     if os(windows)
137         cpp-options:    -DWIN32
138     else
139         other-modules:
140             System.Locale.SetLocale
141     default-language: Haskell98
142
143 executable arbtt-dump
144     main-is:            dump-main.hs
145     hs-source-dirs:     src
146     build-depends:
147         base >= 4.7 && < 4.10,
148         parsec == 3.*,
149         containers == 0.5.*,
150         aeson >= 0.6  && < 1.3,
151         array == 0.4.* || == 0.5.*,
152         binary >= 0.5,
153         deepseq, bytestring, utf8-string, strict,
154         transformers, directory, filepath
155
156     if !os(windows)
157         build-depends: unix
158
159     if flag(old-locale)
160         build-depends: time == 1.4.*, old-locale
161     else
162         build-depends: time >= 1.5
163
164     other-modules:
165         Data
166         Data.MyText
167         Data.Binary.StringRef
168         CommonStartup
169         TimeLog
170         DumpFormat
171         Data.List.TakeR
172     ghc-options: -rtsopts
173     if os(windows)
174         cpp-options:    -DWIN32
175     else
176         other-modules:
177             System.Locale.SetLocale
178     default-language: Haskell98
179
180 executable arbtt-import
181     main-is:            import-main.hs
182     hs-source-dirs:     src
183     build-depends:
184         base >= 4.7 && < 4.10,
185         parsec == 3.*,
186         containers == 0.5.*,
187         binary >= 0.5,
188         deepseq, bytestring, utf8-string, strict,
189         transformers, directory, filepath
190
191     if !os(windows)
192         build-depends: unix
193
194     if flag(old-locale)
195         build-depends: time == 1.4.*, old-locale
196     else
197         build-depends: time >= 1.5
198
199     other-modules:
200         Data
201         Data.MyText
202         Data.Binary.StringRef
203         CommonStartup
204         TimeLog
205     ghc-options: -rtsopts
206     if os(windows)
207         cpp-options:    -DWIN32
208     else
209         other-modules:
210             System.Locale.SetLocale
211     default-language: Haskell98
212
213 executable arbtt-recover
214     main-is:            recover-main.hs
215     hs-source-dirs:     src
216     build-depends:
217         base >= 4.7 && < 4.10,
218         containers == 0.5.*,
219         binary >= 0.5,
220         deepseq, bytestring, utf8-string,
221         directory, filepath
222
223     if !os(windows)
224         build-depends: unix
225
226     if flag(old-locale)
227         build-depends: time == 1.4.*, old-locale
228     else
229         build-depends: time >= 1.5
230
231     other-modules:
232         Data
233         Data.MyText
234         Data.Binary.StringRef
235         CommonStartup
236         TimeLog
237     ghc-options: -rtsopts
238     if os(windows)
239         cpp-options:    -DWIN32
240     else
241         other-modules:
242             System.Locale.SetLocale
243     default-language: Haskell98
244
245 test-suite test
246   Type:
247     exitcode-stdio-1.0
248   Hs-source-dirs:
249     tests
250     src
251   Main-is:
252     test.hs
253   other-modules:
254     Categorize
255     Data
256     Data.Binary.StringRef
257     Data.MyText
258     Text.Parsec.ExprFail
259     Text.Regex.PCRE.Light.Text
260     TimeLog
261   Build-depends:
262       base >= 4.7 && < 4.10
263       , tasty >= 0.7 && < 0.12
264       , tasty-golden >= 2.2.0.2  && < 2.4
265       , tasty-hunit >= 0.2  && < 0.11
266       , process-extras >= 0.2 && < 0.8
267       , deepseq
268       , binary >= 0.5
269       , bytestring
270       , utf8-string
271       , directory
272       , parsec == 3.*
273       , containers == 0.5.*
274       , pcre-light
275       , transformers
276
277   if !os(windows)
278     build-depends: unix
279
280   if flag(old-locale)
281         build-depends: time == 1.4.*, old-locale
282   else
283         build-depends: time >= 1.5
284   default-language: Haskell98
285
286 source-repository head
287     type:     darcs
288     location: http://darcs.nomeata.de/arbtt