Drop support for base < 4.7 (and thus GHC 7.6)
[darcs-mirror-arbtt.git] / arbtt.cabal
1 name:               arbtt
2 version:            0.9.0.7
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.8.*,
44         filepath, directory, transformers, utf8-string,
45         aeson >= 0.6  && < 0.11,
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         extra-libraries: Xss
81         other-modules:
82             Capture.X11
83             Graphics.X11.XScreenSaver
84             System.Locale.SetLocale
85         build-depends:
86             X11 > 1.4.4
87     default-language: Haskell98
88
89 executable arbtt-stats
90     main-is:            stats-main.hs
91     hs-source-dirs:     src
92     build-depends:
93         base == 4.7.* || == 4.8.*,
94         parsec == 3.*,
95         containers == 0.5.*,
96         pcre-light,
97         binary >= 0.5,
98         deepseq, bytestring, utf8-string, strict,
99         transformers, directory, filepath,
100         aeson >= 0.6  && < 0.11,
101         array == 0.4.* || == 0.5.*,
102         terminal-progress-bar,
103         bytestring-progress
104
105     if !os(windows)
106         build-depends: unix
107
108     if flag(old-locale)
109         build-depends: time == 1.4.*, old-locale
110     else
111         build-depends: time >= 1.5
112
113     other-modules:
114         Data
115         Data.MyText
116         Data.Binary.StringRef
117         CommonStartup
118         Categorize
119         TimeLog
120         Stats
121         Text.Parsec.ExprFail
122         Text.ParserCombinators.Parsec.ExprFail
123         Text.Regex.PCRE.Light.Text
124         TermSize
125     ghc-options: -rtsopts
126     if os(windows)
127         cpp-options:    -DWIN32
128     else
129         other-modules:
130             System.Locale.SetLocale
131     default-language: Haskell98
132
133 executable arbtt-dump
134     main-is:            dump-main.hs
135     hs-source-dirs:     src
136     build-depends:
137         base == 4.7.* || == 4.8.*,
138         parsec == 3.*,
139         containers == 0.5.*,
140         aeson >= 0.6  && < 0.11,
141         array == 0.4.* || == 0.5.*,
142         binary >= 0.5,
143         deepseq, bytestring, utf8-string, strict,
144         transformers, directory, filepath
145
146     if !os(windows)
147         build-depends: unix
148
149     if flag(old-locale)
150         build-depends: time == 1.4.*, old-locale
151     else
152         build-depends: time >= 1.5
153
154     other-modules:
155         Data
156         Data.MyText
157         Data.Binary.StringRef
158         CommonStartup
159         TimeLog
160         DumpFormat
161         Data.List.TakeR
162     ghc-options: -rtsopts
163     if os(windows)
164         cpp-options:    -DWIN32
165     else
166         other-modules:
167             System.Locale.SetLocale
168     default-language: Haskell98
169
170 executable arbtt-import
171     main-is:            import-main.hs
172     hs-source-dirs:     src
173     build-depends:
174         base == 4.7.* || == 4.8.*,
175         parsec == 3.*,
176         containers == 0.5.*,
177         binary >= 0.5,
178         deepseq, bytestring, utf8-string, strict,
179         transformers, directory, filepath
180
181     if !os(windows)
182         build-depends: unix
183
184     if flag(old-locale)
185         build-depends: time == 1.4.*, old-locale
186     else
187         build-depends: time >= 1.5
188
189     other-modules:
190         Data
191         Data.MyText
192         Data.Binary.StringRef
193         CommonStartup
194         TimeLog
195     ghc-options: -rtsopts
196     if os(windows)
197         cpp-options:    -DWIN32
198     else
199         other-modules:
200             System.Locale.SetLocale
201     default-language: Haskell98
202
203 executable arbtt-recover
204     main-is:            recover-main.hs
205     hs-source-dirs:     src
206     build-depends:
207         base == 4.7.* || == 4.8.*,
208         containers == 0.5.*,
209         binary >= 0.5,
210         deepseq, bytestring, utf8-string,
211         directory, filepath
212
213     if !os(windows)
214         build-depends: unix
215
216     if flag(old-locale)
217         build-depends: time == 1.4.*, old-locale
218     else
219         build-depends: time >= 1.5
220
221     other-modules:
222         Data
223         Data.MyText
224         Data.Binary.StringRef
225         CommonStartup
226         TimeLog
227     ghc-options: -rtsopts
228     if os(windows)
229         cpp-options:    -DWIN32
230     else
231         other-modules:
232             System.Locale.SetLocale
233     default-language: Haskell98
234
235 test-suite test
236   Type:
237     exitcode-stdio-1.0
238   Hs-source-dirs:
239     tests
240     src
241   Main-is:
242     test.hs
243   Build-depends:
244       base == 4.7.* || == 4.8.*
245       , tasty >= 0.7 && < 0.12
246       , tasty-golden >= 2.2.0.2  && <= 2.4
247       , tasty-hunit >= 0.2  && < 0.11
248       , process-extras == 0.2.* || == 0.3.*
249       , deepseq
250       , binary >= 0.5
251       , bytestring
252       , utf8-string
253       , directory
254       , parsec == 3.*
255       , containers == 0.5.*
256       , pcre-light
257       , transformers
258
259   if !os(windows)
260     build-depends: unix
261
262   if flag(old-locale)
263         build-depends: time == 1.4.*, old-locale
264   else
265         build-depends: time >= 1.5
266   default-language: Haskell98
267
268 source-repository head
269     type:     darcs
270     location: http://darcs.nomeata.de/arbtt