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