packages feed

acid-state-dist-0.1.0.0: acid-state-dist.cabal

-- Initial acid-state-dist.cabal generated by cabal init.  For further
-- documentation, see http://haskell.org/cabal/users-guide/

-- The name of the package.
name:                acid-state-dist

-- The package version.  See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary:      +-+------- breaking API changes
--                   | | +----- non-breaking API additions
--                   | | | +--- code changes with no API change
version:             0.1.0.0

-- A short (one-line) description of the package.
synopsis:            Replication backend for acid-state

-- A longer description of the package.
-- description:

-- The license under which the package is released.
license:             MIT

-- The file containing the license text.
license-file:        LICENSE

-- The package author(s).
author:              Max Voit

-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer:          <max.voit+hdv@with-eyes.net>

-- A copyright notice.
-- copyright:

category:            Database

build-type:          Simple

-- Extra files to be distributed with the package, such as examples or a
-- README.
-- extra-source-files:

-- Constraint on the version of Cabal needed to build this package.
cabal-version:       >=1.10

-- Flag for controlling debug output
flag debug
  description:       enable debug output
  default:           True

-- Source
source-repository head
  type: git
  location: http://git.with-eyes.net/gitweb/?p=acid-state-dist.git

library
  -- Modules exported by the library.
  exposed-modules:     Data.Acid.Centered,
                       Data.Acid.Centered.Master,
                       Data.Acid.Centered.Slave

  -- Modules included in this library but not exported.
  other-modules:       Data.Acid.Centered.Common

  -- LANGUAGE extensions used by modules in this package.
  -- other-extensions:

  -- Other library packages from which modules are imported.
  build-depends:       base > 4.7 && < 4.9,
                       safecopy,
                       acid-state > 0.12 && < 0.13,
                       concurrent-extra,
                       cereal,
                       zeromq4-haskell,
                       bytestring,
                       containers,
                       transformers,
                       stm,
                       semigroups,
                       safe,
                       filepath,
                       mtl

  -- Directories containing source files.
  hs-source-dirs:      src

  -- Base language which the package is written in.
  default-language:    Haskell2010

  default-extensions:       CPP
  ghc-options:      -Wall -threaded
  -- Switch on debugging by "-Unodebug", off by "-Dnodebug"
  if flag(debug)
    cpp-options:      -Unodebug
  else
    cpp-options:      -Dnodebug


----------------------------------------------------------------------
-- Tests
test-suite Simple
  main-is:          Simple.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl,
                    safecopy, acid-state, acid-state-dist

test-suite SlaveUpdates
  main-is:          SlaveUpdates.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl,
                    safecopy, acid-state, acid-state-dist

test-suite CRCFail
  main-is:          CRCFail.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl,
                    safecopy, acid-state, acid-state-dist

test-suite CheckpointSync
  main-is:          CheckpointSync.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl,
                    safecopy, acid-state, acid-state-dist

test-suite OrderingRandom
  main-is:          OrderingRandom.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl, random,
                    safecopy, acid-state, acid-state-dist

test-suite NReplication
  main-is:          NReplication.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl,
                    safecopy, acid-state, acid-state-dist

test-suite UpdateError
  main-is:          UpdateError.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl,
                    safecopy, acid-state, acid-state-dist

test-suite SyncTimeout
  main-is:          SyncTimeout.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl,
                    safecopy, acid-state, acid-state-dist

----------------------------------------------------------------------
-- Benchmarks
benchmark Local
  main-is:          Local.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   benchmark
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl, criterion,
                    safecopy, acid-state

benchmark MasterOnly
  main-is:          MasterOnly.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   benchmark
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl, criterion,
                    safecopy, acid-state, acid-state-dist

benchmark MasterSlave
  main-is:          MasterSlave.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   benchmark
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl, criterion,
                    safecopy, acid-state, acid-state-dist

benchmark Slave
  main-is:          Slave.hs
  type:             exitcode-stdio-1.0
  hs-source-dirs:   benchmark
  ghc-options:      -Wall -threaded
  default-language: Haskell2010
  build-depends:    base, directory, mtl, criterion,
                    safecopy, acid-state, acid-state-dist