8a04e9fb082b6fbeabb1f77938bd4ad51af17b08
[acid-state-dist.git] / acid-state-dist.cabal
1 -- Initial acid-state-dist.cabal generated by cabal init.  For further
2 -- documentation, see http://haskell.org/cabal/users-guide/
3
4 -- The name of the package.
5 name:                acid-state-dist
6
7 -- The package version.  See the Haskell package versioning policy (PVP)
8 -- for standards guiding when and how versions should be incremented.
9 -- http://www.haskell.org/haskellwiki/Package_versioning_policy
10 -- PVP summary:      +-+------- breaking API changes
11 --                   | | +----- non-breaking API additions
12 --                   | | | +--- code changes with no API change
13 version:             0.1.0.0
14
15 -- A short (one-line) description of the package.
16 synopsis:            Replication backend for acid-state
17
18 -- A longer description of the package.
19 -- description:
20
21 -- The license under which the package is released.
22 license:             MIT
23
24 -- The file containing the license text.
25 license-file:        LICENSE
26
27 -- The package author(s).
28 author:              Max Voit
29
30 -- An email address to which users can send suggestions, bug reports, and
31 -- patches.
32 maintainer:          <max.voit+hdv@with-eyes.net>
33
34 -- A copyright notice.
35 -- copyright:
36
37 category:            Database
38
39 build-type:          Simple
40
41 -- Extra files to be distributed with the package, such as examples or a
42 -- README.
43 -- extra-source-files:
44
45 -- Constraint on the version of Cabal needed to build this package.
46 cabal-version:       >=1.10
47
48 -- Flag for controlling debug output
49 flag debug
50   description:       enable debug output
51   default:           True
52
53 -- Source
54 source-repository head
55   type: git
56   location: http://git.with-eyes.net/gitweb/?p=acid-state-dist.git
57
58 library
59   -- Modules exported by the library.
60   exposed-modules:     Data.Acid.Centered,
61                        Data.Acid.Centered.Master,
62                        Data.Acid.Centered.Slave
63
64   -- Modules included in this library but not exported.
65   other-modules:       Data.Acid.Centered.Common
66
67   -- LANGUAGE extensions used by modules in this package.
68   -- other-extensions:
69
70   -- Other library packages from which modules are imported.
71   build-depends:       base > 4.7 && < 4.9,
72                        safecopy,
73                        acid-state > 0.12 && < 0.13,
74                        concurrent-extra,
75                        cereal,
76                        zeromq4-haskell,
77                        bytestring,
78                        containers,
79                        transformers,
80                        stm,
81                        semigroups,
82                        safe,
83                        filepath,
84                        mtl
85
86   -- Directories containing source files.
87   hs-source-dirs:      src
88
89   -- Base language which the package is written in.
90   default-language:    Haskell2010
91
92   default-extensions:       CPP
93   ghc-options:      -Wall -threaded
94   -- Switch on debugging by "-Unodebug", off by "-Dnodebug"
95   if flag(debug)
96     cpp-options:      -Unodebug
97   else
98     cpp-options:      -Dnodebug
99
100
101 ----------------------------------------------------------------------
102 -- Tests
103 test-suite Simple
104   main-is:          Simple.hs
105   type:             exitcode-stdio-1.0
106   hs-source-dirs:   test
107   ghc-options:      -Wall -threaded
108   default-language: Haskell2010
109   build-depends:    base, directory, mtl,
110                     safecopy, acid-state, acid-state-dist
111
112 test-suite SlaveUpdates
113   main-is:          SlaveUpdates.hs
114   type:             exitcode-stdio-1.0
115   hs-source-dirs:   test
116   ghc-options:      -Wall -threaded
117   default-language: Haskell2010
118   build-depends:    base, directory, mtl,
119                     safecopy, acid-state, acid-state-dist
120
121 test-suite CRCFail
122   main-is:          CRCFail.hs
123   type:             exitcode-stdio-1.0
124   hs-source-dirs:   test
125   ghc-options:      -Wall -threaded
126   default-language: Haskell2010
127   build-depends:    base, directory, mtl,
128                     safecopy, acid-state, acid-state-dist
129
130 test-suite CheckpointSync
131   main-is:          CheckpointSync.hs
132   type:             exitcode-stdio-1.0
133   hs-source-dirs:   test
134   ghc-options:      -Wall -threaded
135   default-language: Haskell2010
136   build-depends:    base, directory, mtl,
137                     safecopy, acid-state, acid-state-dist
138
139 test-suite OrderingRandom
140   main-is:          OrderingRandom.hs
141   type:             exitcode-stdio-1.0
142   hs-source-dirs:   test
143   ghc-options:      -Wall -threaded
144   default-language: Haskell2010
145   build-depends:    base, directory, mtl, random,
146                     safecopy, acid-state, acid-state-dist
147
148 test-suite NReplication
149   main-is:          NReplication.hs
150   type:             exitcode-stdio-1.0
151   hs-source-dirs:   test
152   ghc-options:      -Wall -threaded
153   default-language: Haskell2010
154   build-depends:    base, directory, mtl,
155                     safecopy, acid-state, acid-state-dist
156
157 test-suite UpdateError
158   main-is:          UpdateError.hs
159   type:             exitcode-stdio-1.0
160   hs-source-dirs:   test
161   ghc-options:      -Wall -threaded
162   default-language: Haskell2010
163   build-depends:    base, directory, mtl,
164                     safecopy, acid-state, acid-state-dist
165
166 test-suite SyncTimeout
167   main-is:          SyncTimeout.hs
168   type:             exitcode-stdio-1.0
169   hs-source-dirs:   test
170   ghc-options:      -Wall -threaded
171   default-language: Haskell2010
172   build-depends:    base, directory, mtl,
173                     safecopy, acid-state, acid-state-dist
174
175 ----------------------------------------------------------------------
176 -- Benchmarks
177 benchmark Local
178   main-is:          Local.hs
179   type:             exitcode-stdio-1.0
180   hs-source-dirs:   benchmark
181   ghc-options:      -Wall -threaded
182   default-language: Haskell2010
183   build-depends:    base, directory, mtl, criterion,
184                     safecopy, acid-state
185
186 benchmark MasterOnly
187   main-is:          MasterOnly.hs
188   type:             exitcode-stdio-1.0
189   hs-source-dirs:   benchmark
190   ghc-options:      -Wall -threaded
191   default-language: Haskell2010
192   build-depends:    base, directory, mtl, criterion,
193                     safecopy, acid-state, acid-state-dist
194
195 benchmark MasterSlave
196   main-is:          MasterSlave.hs
197   type:             exitcode-stdio-1.0
198   hs-source-dirs:   benchmark
199   ghc-options:      -Wall -threaded
200   default-language: Haskell2010
201   build-depends:    base, directory, mtl, criterion,
202                     safecopy, acid-state, acid-state-dist
203
204 benchmark Slave
205   main-is:          Slave.hs
206   type:             exitcode-stdio-1.0
207   hs-source-dirs:   benchmark
208   ghc-options:      -Wall -threaded
209   default-language: Haskell2010
210   build-depends:    base, directory, mtl, criterion,
211                     safecopy, acid-state, acid-state-dist