packages feed

happstack-state-0.1: happstack-state.cabal

Name:                happstack-state
Version:             0.1
Synopsis:            Event-based distributed state.
Description:         Unplug your machine and restart and have your app recover to exactly where it left off. HAppS-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.2.3
Build-Type:          Simple

flag base4

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

Library

  Exposed-modules:     
                       HAppS.State
--                     HAppS.State.Logger
                       HAppS.State.Saver
                       HAppS.State.Control
                       HAppS.State.Transaction
                       HAppS.State.ComponentTH
                       HAppS.State.ComponentSystem
  if flag(tests)
    Exposed-modules:   
                       HAppS.State.Tests
                       HAppS.State.Tests.Helpers
                       HAppS.State.Tests.CheckpointProperties
                       HAppS.State.Tests.SaverProperties
  Other-modules:       
                       HAppS.State.Checkpoint
                       HAppS.State.Spread
                       HAppS.State.Monad
                       HAppS.State.Saver.Impl.File
                       HAppS.State.Saver.Impl.Memory
                       HAppS.State.Saver.Impl.Queue
                       HAppS.State.Saver.Types
--                     HAppS.State.OperationModes
                       HAppS.State.Types
                       HAppS.State.Util
                       HAppS.State.TxControl
  Build-Depends:       mtl,stm, template-haskell, hslogger >= 1.0.2, happstack-util,
                       happstack-data, bytestring, containers, random, old-time,
                       directory, binary, filepath, hspread >=0.3, extensible-exceptions
  if flag(base4)
    Build-Depends:     base >= 4 && < 5, syb
  else
    Build-Depends:     base < 4
  if flag(tests)
    Build-Depends:     QuickCheck, 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