packages feed

happstack-state-0.3.3: happstack-state.cabal

Name:                happstack-state
Version:             0.3.3
Synopsis:            Event-based distributed state.
Description:         Unplug your machine and restart and have your app recover to exactly where it left off. Happstack-State spares you the need to deal with all the marshalling, consistency, and configuration headache that you would have if you used an external DBMS for this purpose. Its component model makes it easy to compose big applications from smaller reliable parts. Use event subscription to trigger IO actions and support comet-style or irc-bot applications. 
License:             BSD3
License-file:        COPYING
Author:              Happstack team, HAppS LLC
Maintainer:          Happstack team <happs@googlegroups.com>
homepage:            http://happstack.com
Category:            Web, Distributed Computing
Cabal-Version:       >= 1.6
Build-Type:          Simple

source-repository head
    type:     darcs
    subdir:   happstack-state
    location: http://patch-tag.com/publicrepos/happstack

flag base4

Flag tests
    Description: Build the testsuite, and include the tests in the library
    Default: False

Library

  Exposed-modules:     
                       Happstack.State
--                     Happstack.State.Logger
                       Happstack.State.Saver
                       Happstack.State.Control
                       Happstack.State.Transaction
                       Happstack.State.ComponentTH
                       Happstack.State.ComponentSystem
  if flag(tests)
    Exposed-modules:   
                       Happstack.State.Tests
                       Happstack.State.Tests.Helpers
                       Happstack.State.Tests.CheckpointProperties
                       Happstack.State.Tests.SaverProperties
  Other-modules:       
                       Happstack.State.Checkpoint
                       Happstack.State.Spread
                       Happstack.State.Monad
                       Happstack.State.Saver.Impl.File
                       Happstack.State.Saver.Impl.Memory
                       Happstack.State.Saver.Impl.Queue
                       Happstack.State.Saver.Types
--                     Happstack.State.OperationModes
                       Happstack.State.Types
                       Happstack.State.Util
                       Happstack.State.TxControl

  Build-Depends:       binary,
                       bytestring,
                       containers,
                       directory, 
                       extensible-exceptions,
                       filepath,
                       hslogger >= 1.0.2,
                       hspread >= 0.3,
                       happstack-util >= 0.3.2 && < 0.4,
                       happstack-data >= 0.3.2 && < 0.4,
                       mtl,
                       old-time,
                       random,
                       stm,
                       template-haskell

  if flag(base4)
    Build-Depends:     base >= 4 && < 5, syb
  else
    Build-Depends:     base < 4
  if flag(tests)
    Build-Depends:     QuickCheck < 2, HUnit

  hs-source-dirs:      src
  if flag(tests)
    hs-source-dirs:    tests
  
  if !os(windows)
     Build-Depends:    unix
     cpp-options:      -DUNIX

  Extensions:          TemplateHaskell, FlexibleInstances, FlexibleContexts,
                       MultiParamTypeClasses, DeriveDataTypeable,
                       OverlappingInstances, UndecidableInstances, CPP,
                       TypeFamilies, FunctionalDependencies, TypeOperators,
                       GADTs, EmptyDataDecls, ExistentialQuantification, RankNTypes,
                       ScopedTypeVariables, PatternSignatures, PatternGuards,
                       MagicHash, TypeSynonymInstances
  ghc-options:         -Wall
  GHC-Prof-Options:    -auto-all

Executable happstack-state-tests
  Main-Is: Test.hs
  GHC-Options: -threaded
  Build-depends: HUnit
  hs-source-dirs: tests, src
  if flag(tests)
    Buildable: True
  else
    Buildable: False