Bump version number
[darcs-mirror-arbtt.git] / arbtt.cabal
1 name:               arbtt
2 version:            0.9.0.9
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  && < 0.12,
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  && < 0.12,
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         CommonStartup
126         Categorize
127         TimeLog
128         Stats
129         Text.Parsec.ExprFail
130         Text.ParserCombinators.Parsec.ExprFail
131         Text.Regex.PCRE.Light.Text
132         TermSize
133     ghc-options: -rtsopts
134     if os(windows)
135         cpp-options:    -DWIN32
136     else
137         other-modules:
138             System.Locale.SetLocale
139     default-language: Haskell98
140
141 executable arbtt-dump
142     main-is:            dump-main.hs
143     hs-source-dirs:     src
144     build-depends:
145         base >= 4.7 && < 4.10,
146         parsec == 3.*,
147         containers == 0.5.*,
148         aeson >= 0.6  && < 0.12,
149         array == 0.4.* || == 0.5.*,
150         binary >= 0.5,
151         deepseq, bytestring, utf8-string, strict,
152         transformers, directory, filepath
153
154     if !os(windows)
155         build-depends: unix
156
157     if flag(old-locale)
158         build-depends: time == 1.4.*, old-locale
159     else
160         build-depends: time >= 1.5
161
162     other-modules:
163         Data
164         Data.MyText
165         Data.Binary.StringRef
166         CommonStartup
167         TimeLog
168         DumpFormat
169         Data.List.TakeR
170     ghc-options: -rtsopts
171     if os(windows)
172         cpp-options:    -DWIN32
173     else
174         other-modules:
175             System.Locale.SetLocale
176     default-language: Haskell98
177
178 executable arbtt-import
179     main-is:            import-main.hs
180     hs-source-dirs:     src
181     build-depends:
182         base >= 4.7 && < 4.10,
183         parsec == 3.*,
184         containers == 0.5.*,
185         binary >= 0.5,
186         deepseq, bytestring, utf8-string, strict,
187         transformers, directory, filepath
188
189     if !os(windows)
190         build-depends: unix
191
192     if flag(old-locale)
193         build-depends: time == 1.4.*, old-locale
194     else
195         build-depends: time >= 1.5
196
197     other-modules:
198         Data
199         Data.MyText
200         Data.Binary.StringRef
201         CommonStartup
202         TimeLog
203     ghc-options: -rtsopts
204     if os(windows)
205         cpp-options:    -DWIN32
206     else
207         other-modules:
208             System.Locale.SetLocale
209     default-language: Haskell98
210
211 executable arbtt-recover
212     main-is:            recover-main.hs
213     hs-source-dirs:     src
214     build-depends:
215         base >= 4.7 && < 4.10,
216         containers == 0.5.*,
217         binary >= 0.5,
218         deepseq, bytestring, utf8-string,
219         directory, filepath
220
221     if !os(windows)
222         build-depends: unix
223
224     if flag(old-locale)
225         build-depends: time == 1.4.*, old-locale
226     else
227         build-depends: time >= 1.5
228
229     other-modules:
230         Data
231         Data.MyText
232         Data.Binary.StringRef
233         CommonStartup
234         TimeLog
235     ghc-options: -rtsopts
236     if os(windows)
237         cpp-options:    -DWIN32
238     else
239         other-modules:
240             System.Locale.SetLocale
241     default-language: Haskell98
242
243 test-suite test
244   Type:
245     exitcode-stdio-1.0
246   Hs-source-dirs:
247     tests
248     src
249   Main-is:
250     test.hs
251   Build-depends:
252       base >= 4.7 && < 4.10
253       , tasty >= 0.7 && < 0.12
254       , tasty-golden >= 2.2.0.2  && <= 2.4
255       , tasty-hunit >= 0.2  && < 0.11
256       , process-extras == 0.2.* || == 0.3.* || == 0.4.*
257       , deepseq
258       , binary >= 0.5
259       , bytestring
260       , utf8-string
261       , directory
262       , parsec == 3.*
263       , containers == 0.5.*
264       , pcre-light
265       , transformers
266
267   if !os(windows)
268     build-depends: unix
269
270   if flag(old-locale)
271         build-depends: time == 1.4.*, old-locale
272   else
273         build-depends: time >= 1.5
274   default-language: Haskell98
275
276 source-repository head
277     type:     darcs
278     location: http://darcs.nomeata.de/arbtt