packages feed

riak-1.2.0.0: riak.cabal

name:                riak
version:             1.2.0.0
synopsis:            A Haskell client for the Riak decentralized data store
description:
  A Haskell client library for the Riak decentralized data
  store, designed for efficiency, ease of use, and flexibility.  Uses
  the Riak protocol buffers API for speed.
  .
  This library is organized to allow a tradeoff between power
  and ease of use.  If you would like a different degree of
  automation with storage and conflict resolution, you may want to
  use one of the following modules (ranked from easiest to most
  tricky to use):
  .
  [Network.Riak] JSON for storage, automatic conflict resolution.
  This is the easiest module to work with.
  .
  [Network.Riak.JSON] JSON for storage, manual conflict resolution.
  .
  [Network.Riak.Value.Resolvable] More complex (but still automatic)
  storage, automatic conflict resolution.
  .
  [Network.Riak.Value] More complex (but still automatic) storage,
  manual conflict resolution.
  .
  [Network.Riak.Basic] manual storage, manual conflict resolution.
  This is the most demanding module to work with, as you must encode
  and decode data yourself, and handle all conflict resolution
  yourself
  .
  [Network.Riak.CRDT] CRDT operations.


homepage:            http://github.com/riak-haskell-client/riak-haskell-client
Bug-reports:         http://github.com/riak-haskell-client/riak-haskell-client/issues
license:             OtherLicense
license-file:        LICENSE
author:              Bryan O'Sullivan <bos@serpentine.com>
maintainer:          Mark Hibberd <mark@hibberd.id.au>, Nathan Hunter <nhunter@janrain.com>, Tim McGilchrist <timmcgil@gmail.com>
copyright:           Copyright 2011 MailRank, Inc.
                     Portions copyright 2007-2010 Basho Technologies, Inc.
category:            Network
build-type:          Simple
extra-source-files:
                     README.markdown
                     Changes.md
                     tests/test.yaml

cabal-version:       >=1.10
tested-with: GHC==8.4.4, GHC==8.2.2, GHC == 8.6.3, GHC == 8.8.4, GHC==8.10.4

source-repository head
    type: git
    location: https://github.com:riak-haskell-client/riak-haskell-client.git

flag debug
  description: allow debug logging
  default: True

flag developer
  description: operate in developer mode
  default: False
  manual: True

flag test2i
  description: test secondary indexes (requires default riak engine to have that support)
  default: False

library
  default-language: Haskell2010
  hs-source-dirs: src
  exposed-modules:
                  Network.Riak
                  Network.Riak.Basic
                  Network.Riak.Cluster
                  Network.Riak.Connection
                  Network.Riak.Connection.Internal
                  Network.Riak.Connection.Pool
                  Network.Riak.Content
                  Network.Riak.CRDT
                  Network.Riak.CRDT.Ops
                  Network.Riak.CRDT.Request
                  Network.Riak.CRDT.Response
                  Network.Riak.CRDT.Riak
                  Network.Riak.CRDT.Types
                  Network.Riak.Debug
                  Network.Riak.Escape
                  Network.Riak.Functions
                  Network.Riak.JSON
                  Network.Riak.JSON.Resolvable
                  Network.Riak.Request
                  Network.Riak.Resolvable
                  Network.Riak.Response
                  Network.Riak.Search
                  Network.Riak.Types
                  Network.Riak.Value
                  Network.Riak.Value.Resolvable
                  Network.Riak.Types.Internal

  other-modules:
                  Network.Riak.Connection.NoPush
                  Network.Riak.Lens
                  Network.Riak.Resolvable.Internal
                  Network.Riak.Tag

  build-depends:
                aeson                         >= 0.8      && < 1.5.7,
                async                         >= 2.0.0.0  && < 2.3,
                attoparsec                    >= 0.12.1.6 && < 0.14,
                base                          >= 3        && < 5,
                bifunctors                    >= 4.2      && < 6,
                binary,
                blaze-builder                 >= 0.3      && <= 0.5,
                bytestring,
                containers,
                data-default-class            >= 0.0.1,
                deepseq                       >= 1.3,
                enclosed-exceptions           >= 1.0.1.1  && <= 1.1,
                exceptions                    >= 0.8.0.2  && < 0.11,
                hashable                      >= 1.2.3,
                transformers                  >= 0.3      && < 0.6,
                transformers-base             == 0.4.*,
                mersenne-random-pure64        >= 0.2.0.4  && < 0.3,
                monad-control                 >= 1.0.0.4  && < 1.1,
                network                       >= 3.0      && < 3.1,
                resource-pool                 == 0.2.*,
                proto-lens                    == 0.7.*,
                pureMD5,
                random,
                riak-protobuf                 == 0.25.*,
                semigroups                    >= 0.16,
                stm                           >= 2.4       && < 2.6,
                text                          == 1.2.*,
                time                          >= 1.4.2     && < 1.10,
                vector                        >= 0.10.12.3 && < 0.13,
                unordered-containers          >= 0.2.5

  default-extensions:
    DoAndIfThenElse
    
  if flag(debug)
    cpp-options: -DASSERTS -DDEBUG

  if flag(developer)
    ghc-options: -Wall
    ghc-prof-options: -auto-all
    cpp-options: -DASSERTS -DDEBUG

  ghc-options: -Wall

test-suite test
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  main-is: Test.hs
  hs-source-dirs: tests, tests/dsl
  ghc-options: -Wall -threaded

  if flag(test2i)
    cpp-options: -DTEST2I

  other-modules:
                CRDTProperties
                Internal
                Utils
                Network.Riak.Admin.DSL
                Properties

  build-depends:
                base,
                riak,
                riak-protobuf,
                aeson,
                bytestring,
                containers,
                HUnit,
                microlens,
                process,
                QuickCheck,
                tasty,
                tasty-hunit,
                tasty-quickcheck,
                template-haskell,
                text,
                mtl                    >= 2.1,
                semigroups             >= 0.16,
                data-default-class     >= 0.0.1,
                yaml                   >= 0.8.19

benchmark bench
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  hs-source-dirs: benchmarks
  main-is: Main.hs
  build-depends:
                base,
                riak,
                criterion   >= 1.1,
                bytestring  >= 0.10,
                semigroups  >= 0.16