packages feed

persistent-2.12.1.0: persistent.cabal

name:            persistent
version:         2.12.1.0
license:         MIT
license-file:    LICENSE
author:          Michael Snoyman <michael@snoyman.com>
maintainer:      Michael Snoyman <michael@snoyman.com>, Greg Weber <greg@gregweber.info>
synopsis:        Type-safe, multi-backend data serialization.
description:     Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/persistent>.
category:        Database, Yesod
stability:       Stable
cabal-version:   >= 1.10
build-type:      Simple
homepage:        http://www.yesodweb.com/book/persistent
bug-reports:     https://github.com/yesodweb/persistent/issues
extra-source-files: ChangeLog.md README.md

library
    build-depends:   base                     >= 4.9       && < 5
                   , aeson                    >= 1.0
                   , attoparsec
                   , base64-bytestring
                   , blaze-html               >= 0.9
                   , bytestring               >= 0.10
                   , conduit                  >= 1.2.12
                   , containers               >= 0.5
                   , fast-logger              >= 2.4
                   , http-api-data            >= 0.3
                   , monad-logger             >= 0.3.28
                   , mtl
                   , path-pieces              >= 0.2
                   , resource-pool            >= 0.2.3
                   , resourcet                >= 1.1.10
                   , scientific
                   , silently
                   , template-haskell         >= 2.11 && < 2.17
                   , text                     >= 1.2
                   , time                     >= 1.6
                   , transformers             >= 0.5
                   , unliftio-core
                   , unliftio
                   , unordered-containers
                   , th-lift-instances        >= 0.1.14    && < 0.2
                   , vector

    default-extensions: FlexibleContexts
                      , MultiParamTypeClasses
                      , OverloadedStrings
                      , TypeFamilies

    exposed-modules: Database.Persist
                     Database.Persist.Quasi
                     Database.Persist.TH

                     Database.Persist.Types
                     Database.Persist.Class
                     Database.Persist.Sql
                     Database.Persist.Sql.Util
                     Database.Persist.Sql.Types.Internal

    other-modules:   Database.Persist.Types.Base
                     Database.Persist.Class.DeleteCascade
                     Database.Persist.Class.PersistEntity
                     Database.Persist.Class.PersistQuery
                     Database.Persist.Class.PersistUnique
                     Database.Persist.Class.PersistConfig
                     Database.Persist.Class.PersistField
                     Database.Persist.Class.PersistStore

                     Database.Persist.Sql.Migration
                     Database.Persist.Sql.Internal
                     Database.Persist.Sql.Types
                     Database.Persist.Sql.Raw
                     Database.Persist.Sql.Run
                     Database.Persist.Sql.Class
                     Database.Persist.Sql.Orphan.PersistQuery
                     Database.Persist.Sql.Orphan.PersistStore
                     Database.Persist.Sql.Orphan.PersistUnique

    -- These modules only make sense for compilers with access to DerivingVia
    if impl(ghc >= 8.6.1)
      exposed-modules: Database.Persist.Compatible
      other-modules: Database.Persist.Compatible.Types
                     Database.Persist.Compatible.TH

    ghc-options:     -Wall
    default-language: Haskell2010

test-suite test
    type:          exitcode-stdio-1.0
    main-is:       test/main.hs

    build-depends:   
        base >= 4.9 && < 5
      , aeson
      , attoparsec
      , base64-bytestring
      , blaze-html
      , bytestring
      , containers
      , hspec         >= 2.4
      , http-api-data
      , path-pieces
      , scientific
      , shakespeare
      , text
      , time
      , transformers
      , unordered-containers
      , vector
      , QuickCheck
        -- needed because of the `source-dirs: .`
        -- TODO: factor the internal modules out so we can use them in tests
        -- maybe in another package
      , template-haskell         >= 2.4
      , unliftio-core
      , mtl
      , resourcet
      , conduit
      , monad-logger
      , fast-logger
      , resource-pool
      , unliftio
      , silently
      , th-lift-instances

    hs-source-dirs:
        ./
        test/
    cpp-options: -DTEST

    default-extensions: FlexibleContexts
                      , MultiParamTypeClasses
                      , OverloadedStrings
                      , TypeFamilies

    other-modules:   
        Database.Persist.Class.PersistEntity
        Database.Persist.Class.PersistField
        Database.Persist.Quasi
        Database.Persist.Types
        Database.Persist.Types.Base
        Database.Persist.THSpec
        TemplateTestImports
        Database.Persist.TH.SharedPrimaryKeySpec
        Database.Persist.TH.SharedPrimaryKeyImportedSpec
        Database.Persist.TH.OverloadedLabelSpec
    default-language: Haskell2010

source-repository head
  type:     git
  location: git://github.com/yesodweb/persistent.git

benchmark persistent-th-bench
    ghc-options:      -O2
    type:             exitcode-stdio-1.0
    main-is:          Main.hs
    hs-source-dirs:   bench
    build-depends:    base
                    , persistent
                    , criterion
                    , deepseq
                    , deepseq-generics
                    , file-embed
                    , text
                    , template-haskell
    other-modules:    Models
    default-language: Haskell2010