fix: issues in cabal file / hackage upload
[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.1
14
15 -- A short (one-line) description of the package.
16 synopsis:            A replication backend for acid-state
17
18 -- A longer description of the package.
19 description:         This package provides a backend to AcidState featuring
20                      MasterState and SlaveState. Using these allows you to run
21                      an acid-state application in a distributed setup, working
22                      with the same state everywhere. Optionally redundancy
23                      guarantees are available.
24
25 -- The license under which the package is released.
26 license:             MIT
27
28 -- The file containing the license text.
29 license-file:        LICENSE
30
31 -- The package author(s).
32 author:              Max Voit
33
34 -- An email address to which users can send suggestions, bug reports, and
35 -- patches.
36 maintainer:          <max.voit+hdv@with-eyes.net>
37
38 -- A copyright notice.
39 -- copyright:
40
41 category:            Database
42
43 build-type:          Simple
44
45 -- Extra files to be distributed with the package, such as examples or a
46 -- README.
47 extra-source-files:  readme.md
48                      examples/*.hs
49                      examples/readme.md
50                      examples/slave1/*.hs
51                      examples/slave2/*.hs
52                      test/ConLossMaster.hs
53                      test/ConLossSlave.hs
54                      test/ConnectionLoss.sh
55                      test/readme.md
56
57 -- Constraint on the version of Cabal needed to build this package.
58 cabal-version:       >=1.10
59
60 -- Flag for controlling debug output
61 flag debug
62   description:       enable debug output
63   default:           False
64
65 -- Source
66 source-repository head
67   type: git
68   location: http://git.with-eyes.net/gitweb/?p=acid-state-dist.git
69
70 library
71   -- Modules exported by the library.
72   exposed-modules:     Data.Acid.Centered,
73                        Data.Acid.Centered.Master,
74                        Data.Acid.Centered.Slave
75
76   -- Modules included in this library but not exported.
77   other-modules:       Data.Acid.Centered.Common
78
79   -- LANGUAGE extensions used by modules in this package.
80   -- other-extensions:
81
82   -- Other library packages from which modules are imported.
83   build-depends:       base > 4.7 && < 4.9,
84                        safecopy,
85                        acid-state > 0.13 && < 0.14,
86                        concurrent-extra,
87                        cereal,
88                        zeromq4-haskell,
89                        bytestring,
90                        containers,
91                        transformers,
92                        stm,
93                        semigroups,
94                        safe,
95                        filepath,
96                        mtl
97
98   -- Directories containing source files.
99   hs-source-dirs:      src
100
101   -- Base language which the package is written in.
102   default-language:    Haskell2010
103
104   default-extensions:       CPP
105   ghc-options:      -Wall
106   -- Switch on debugging by "-Unodebug", off by "-Dnodebug"
107   if flag(debug)
108     cpp-options:      -Unodebug
109   else
110     cpp-options:      -Dnodebug
111
112
113 ----------------------------------------------------------------------
114 -- Tests
115 test-suite Simple
116   main-is:          Simple.hs
117   type:             exitcode-stdio-1.0
118   hs-source-dirs:   test
119   ghc-options:      -Wall -threaded
120   default-language: Haskell2010
121   build-depends:    base, directory, mtl,
122                     safecopy, acid-state, acid-state-dist
123
124 test-suite SlaveUpdates
125   main-is:          SlaveUpdates.hs
126   type:             exitcode-stdio-1.0
127   hs-source-dirs:   test
128   ghc-options:      -Wall -threaded
129   default-language: Haskell2010
130   build-depends:    base, directory, mtl,
131                     safecopy, acid-state, acid-state-dist
132
133 test-suite CRCFail
134   main-is:          CRCFail.hs
135   type:             exitcode-stdio-1.0
136   hs-source-dirs:   test
137   ghc-options:      -Wall -threaded
138   default-language: Haskell2010
139   build-depends:    base, directory, mtl,
140                     safecopy, acid-state, acid-state-dist
141
142 test-suite CheckpointSync
143   main-is:          CheckpointSync.hs
144   type:             exitcode-stdio-1.0
145   hs-source-dirs:   test
146   ghc-options:      -Wall -threaded
147   default-language: Haskell2010
148   build-depends:    base, directory, mtl,
149                     safecopy, acid-state, acid-state-dist
150
151 test-suite OrderingRandom
152   main-is:          OrderingRandom.hs
153   type:             exitcode-stdio-1.0
154   hs-source-dirs:   test
155   ghc-options:      -Wall -threaded
156   default-language: Haskell2010
157   build-depends:    base, directory, mtl, random,
158                     safecopy, acid-state, acid-state-dist
159
160 test-suite NReplication
161   main-is:          NReplication.hs
162   type:             exitcode-stdio-1.0
163   hs-source-dirs:   test
164   ghc-options:      -Wall -threaded
165   default-language: Haskell2010
166   build-depends:    base, directory, mtl,
167                     safecopy, acid-state, acid-state-dist
168
169 test-suite UpdateError
170   main-is:          UpdateError.hs
171   type:             exitcode-stdio-1.0
172   hs-source-dirs:   test
173   ghc-options:      -Wall -threaded
174   default-language: Haskell2010
175   build-depends:    base, directory, mtl,
176                     safecopy, acid-state, acid-state-dist
177
178 test-suite SyncTimeout
179   main-is:          SyncTimeout.hs
180   type:             exitcode-stdio-1.0
181   hs-source-dirs:   test
182   ghc-options:      -Wall -threaded
183   default-language: Haskell2010
184   build-depends:    base, directory, mtl,
185                     safecopy, acid-state, acid-state-dist
186
187 ----------------------------------------------------------------------
188 -- Benchmarks
189 benchmark Local
190   main-is:          Local.hs
191   type:             exitcode-stdio-1.0
192   hs-source-dirs:   benchmark
193   ghc-options:      -Wall -threaded
194   default-language: Haskell2010
195   build-depends:    base, directory, mtl, criterion,
196                     safecopy, acid-state
197
198 benchmark MasterOnly
199   main-is:          MasterOnly.hs
200   type:             exitcode-stdio-1.0
201   hs-source-dirs:   benchmark
202   ghc-options:      -Wall -threaded
203   default-language: Haskell2010
204   build-depends:    base, directory, mtl, criterion,
205                     safecopy, acid-state, acid-state-dist
206
207 benchmark MasterSlave
208   main-is:          MasterSlave.hs
209   type:             exitcode-stdio-1.0
210   hs-source-dirs:   benchmark
211   ghc-options:      -Wall -threaded
212   default-language: Haskell2010
213   build-depends:    base, directory, mtl, criterion,
214                     safecopy, acid-state, acid-state-dist
215
216 benchmark Slave
217   main-is:          Slave.hs
218   type:             exitcode-stdio-1.0
219   hs-source-dirs:   benchmark
220   ghc-options:      -Wall -threaded
221   default-language: Haskell2010
222   build-depends:    base, directory, mtl, criterion,
223                     safecopy, acid-state, acid-state-dist