packages feed

happstack-data-0.4.1: happstack-data.cabal

Name:               happstack-data
Version:            0.4.1
License:            BSD3
License-File:       COPYING
Author:             Happstack team, HAppS LLC
Maintainer:         Happstack team <happs@googlegroups.com>
homepage:           http://happstack.com
Stability:          experimental
Category:           Web, Distributed Computing
Synopsis:           Happstack data manipulation libraries
Description:
    This package provides libraries for:
    .
     * Deriving instances for your datatypes.
    .
     * Producing default values of Haskell datatypes.
    .
     * Normalizing values of Haskell datatypes.
    .
     * Marshalling Haskell values to and from XML.
    .
     * Marshalling Haskell values to and from HTML forms.
Tested-With:        GHC==6.6.1, GHC==6.8.2
Build-Type:         Simple
Cabal-Version:      >= 1.6

source-repository head
    type:     darcs
    subdir:   happstack-data
    location: http://patch-tag.com/r/mae/happstack/pullrepo

flag base4

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

Library
  if flag(base4)
    Build-Depends:    base >=4 && < 5, syb
  else
    Build-Depends:    base < 4

-- Saizan said that we need syb-with-class at least 0.6.1 for
-- GHC 6.12.1, but we should use 0.6.0 for GHC 6.10.4.
-- I don't know of a nicer way than explicitly checking
-- the GHC version used.
  if impl(ghc >= 6.12.1)
    Build-Depends:    syb-with-class >= 0.6.1
  else
    Build-Depends:    syb-with-class < 0.6.1


  Build-Depends:      binary,
                      bytestring,
                      containers,
                      happstack-util >= 0.4.1 && < 0.5, 
                      HaXml >= 1.13 && < 1.14,
                      mtl,
                      pretty,
                      syb-with-class >= 0.5,
                      template-haskell

  hs-source-dirs:     src
  if flag(tests)
    hs-source-dirs:    tests
  Exposed-modules:
    Happstack.Data
    Happstack.Data.Default
    Happstack.Data.Default.Generic
    Happstack.Data.DeriveAll
    Happstack.Data.Migrate
    Happstack.Data.Normalize
    Happstack.Data.Pairs
    Happstack.Data.Xml
    Happstack.Data.Xml.HaXml
    Happstack.Data.GOps
    Happstack.Data.Proxy
    Happstack.Data.Serialize
    Happstack.Data.SerializeTH
  if flag(tests)
    Exposed-modules:   
      Happstack.Data.Tests
      Happstack.Data.Tests.Xml001
      Happstack.Data.Tests.Xml002
      Happstack.Data.Tests.Xml003

  Other-modules:
    Happstack.Data.Xml.Base
    Happstack.Data.Xml.Instances
    Happstack.Data.Xml.PrintParse
  Extensions: TemplateHaskell, FlexibleInstances, UndecidableInstances,
              OverlappingInstances, MultiParamTypeClasses, CPP,
              FunctionalDependencies, DeriveDataTypeable, FlexibleContexts,
              ScopedTypeVariables, GADTs, GeneralizedNewtypeDeriving,
              TypeSynonymInstances, PatternGuards,
              PolymorphicComponents
  -- Should also have ", DeriveDataTypeable" but Cabal complains
  GHC-Options: -Wall

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