ab9e3a7e244fbb23768252286d98b9f7c5f37c42
[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:             GPL-3
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:            Data
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
54 library
55   -- Modules exported by the library.
56   exposed-modules:     Data.Acid.Centered,
57                        Data.Acid.Centered.Master,
58                        Data.Acid.Centered.Slave
59
60   -- Modules included in this library but not exported.
61   other-modules:       Data.Acid.Centered.Common
62
63   -- LANGUAGE extensions used by modules in this package.
64   -- other-extensions:
65
66   -- Other library packages from which modules are imported.
67   build-depends:       base > 4.7 && < 4.9,
68                        safecopy,
69                        acid-state > 0.12 && < 0.13,
70                        concurrent-extra,
71                        cereal,
72                        zeromq4-haskell,
73                        bytestring,
74                        containers,
75                        transformers,
76                        stm,
77                        semigroups,
78                        safe,
79                        filepath,
80                        mtl
81
82   -- Directories containing source files.
83   hs-source-dirs:      src
84
85   -- Base language which the package is written in.
86   default-language:    Haskell2010
87
88   default-extensions:       CPP
89   ghc-options:      -Wall -threaded
90   -- Switch on debugging by "-Unodebug", off by "-Dnodebug"
91   if flag(debug)
92     cpp-options:      -Unodebug
93   else
94     cpp-options:      -Dnodebug
95
96
97 ----------------------------------------------------------------------
98 -- Tests
99 test-suite Simple
100   main-is:          Simple.hs
101   type:             exitcode-stdio-1.0
102   hs-source-dirs:   test
103   ghc-options:      -Wall -threaded
104   default-language: Haskell2010
105   build-depends:    base, directory, mtl,
106                     safecopy, acid-state, acid-state-dist
107
108 test-suite SlaveUpdates
109   main-is:          SlaveUpdates.hs
110   type:             exitcode-stdio-1.0
111   hs-source-dirs:   test
112   ghc-options:      -Wall -threaded
113   default-language: Haskell2010
114   build-depends:    base, directory, mtl,
115                     safecopy, acid-state, acid-state-dist
116
117 test-suite CRCFail
118   main-is:          CRCFail.hs
119   type:             exitcode-stdio-1.0
120   hs-source-dirs:   test
121   ghc-options:      -Wall -threaded
122   default-language: Haskell2010
123   build-depends:    base, directory, mtl,
124                     safecopy, acid-state, acid-state-dist
125
126 test-suite CheckpointSync
127   main-is:          CheckpointSync.hs
128   type:             exitcode-stdio-1.0
129   hs-source-dirs:   test
130   ghc-options:      -Wall -threaded
131   default-language: Haskell2010
132   build-depends:    base, directory, mtl,
133                     safecopy, acid-state, acid-state-dist
134
135 test-suite OrderingRandom
136   main-is:          OrderingRandom.hs
137   type:             exitcode-stdio-1.0
138   hs-source-dirs:   test
139   ghc-options:      -Wall -threaded
140   default-language: Haskell2010
141   build-depends:    base, directory, mtl, random,
142                     safecopy, acid-state, acid-state-dist
143
144 test-suite NReplication
145   main-is:          NReplication.hs
146   type:             exitcode-stdio-1.0
147   hs-source-dirs:   test
148   ghc-options:      -Wall -threaded
149   default-language: Haskell2010
150   build-depends:    base, directory, mtl,
151                     safecopy, acid-state, acid-state-dist
152
153 test-suite UpdateError
154   main-is:          UpdateError.hs
155   type:             exitcode-stdio-1.0
156   hs-source-dirs:   test
157   ghc-options:      -Wall -threaded
158   default-language: Haskell2010
159   build-depends:    base, directory, mtl,
160                     safecopy, acid-state, acid-state-dist
161
162 test-suite SyncTimeout
163   main-is:          SyncTimeout.hs
164   type:             exitcode-stdio-1.0
165   hs-source-dirs:   test
166   ghc-options:      -Wall -threaded
167   default-language: Haskell2010
168   build-depends:    base, directory, mtl,
169                     safecopy, acid-state, acid-state-dist
170
171 ----------------------------------------------------------------------
172 -- Benchmarks
173 benchmark Local
174   main-is:          Local.hs
175   type:             exitcode-stdio-1.0
176   hs-source-dirs:   benchmark
177   ghc-options:      -Wall -threaded
178   default-language: Haskell2010
179   build-depends:    base, directory, mtl, criterion,
180                     safecopy, acid-state
181
182 benchmark MasterOnly
183   main-is:          MasterOnly.hs
184   type:             exitcode-stdio-1.0
185   hs-source-dirs:   benchmark
186   ghc-options:      -Wall -threaded
187   default-language: Haskell2010
188   build-depends:    base, directory, mtl, criterion,
189                     safecopy, acid-state, acid-state-dist
190
191 benchmark MasterSlave
192   main-is:          MasterSlave.hs
193   type:             exitcode-stdio-1.0
194   hs-source-dirs:   benchmark
195   ghc-options:      -Wall -threaded
196   default-language: Haskell2010
197   build-depends:    base, directory, mtl, criterion,
198                     safecopy, acid-state, acid-state-dist
199
200 benchmark Slave
201   main-is:          Slave.hs
202   type:             exitcode-stdio-1.0
203   hs-source-dirs:   benchmark
204   ghc-options:      -Wall -threaded
205   default-language: Haskell2010
206   build-depends:    base, directory, mtl, criterion,
207                     safecopy, acid-state, acid-state-dist