packages feed

persistent-2.16.0.0: persistent.cabal

name:               persistent
version:            2.16.0.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
  default-language:   Haskell2010
  build-depends:
      aeson                 >=1.0      && <2.3
    , attoparsec
    , attoparsec-aeson      >=2.1.0.0  && <2.3
    , base                  >=4.11.1.0 && <5
    , base64-bytestring
    , blaze-html            >=0.9
    , bytestring            >=0.10
    , conduit               >=1.3
    , containers            >=0.5
    , deepseq
    , fast-logger           >=2.4
    , http-api-data         >=0.3
    , lift-type             >=0.1.0.0  && <0.2.0.0
    , megaparsec
    , monad-logger          >=0.3.28
    , mtl
    , path-pieces           >=0.2
    , replace-megaparsec
    , resource-pool         >=0.2.3
    , resourcet             >=1.1.10
    , scientific
    , silently
    , template-haskell      >=2.13     && <2.24
    , text                  >=1.2
    , th-lift-instances     >=0.1.14   && <0.2
    , time                  >=1.6
    , transformers          >=0.5
    , unliftio
    , unliftio-core
    , unordered-containers
    , vault
    , vector

  default-extensions:
    FlexibleContexts
    MultiParamTypeClasses
    OverloadedStrings
    TypeFamilies

  exposed-modules:
    Database.Persist
    Database.Persist.Class
    Database.Persist.Class.PersistConfig
    Database.Persist.Class.PersistEntity
    Database.Persist.Class.PersistField
    Database.Persist.Class.PersistQuery
    Database.Persist.Class.PersistStore
    Database.Persist.Class.PersistUnique
    Database.Persist.EntityDef
    Database.Persist.EntityDef.Internal
    Database.Persist.FieldDef
    Database.Persist.FieldDef.Internal
    Database.Persist.ImplicitIdDef
    Database.Persist.ImplicitIdDef.Internal
    Database.Persist.Names
    Database.Persist.PersistValue
    Database.Persist.Quasi
    Database.Persist.Quasi.PersistSettings
    Database.Persist.Quasi.PersistSettings.Internal
    Database.Persist.Quasi.Internal
    Database.Persist.Quasi.Internal.ModelParser
    Database.Persist.Sql
    Database.Persist.Sql.Migration
    Database.Persist.Sql.Types.Internal
    Database.Persist.Sql.Util
    Database.Persist.SqlBackend
    Database.Persist.SqlBackend.Internal
    Database.Persist.SqlBackend.Internal.InsertSqlResult
    Database.Persist.SqlBackend.Internal.IsolationLevel
    Database.Persist.SqlBackend.Internal.MkSqlBackend
    Database.Persist.SqlBackend.Internal.SqlPoolHooks
    Database.Persist.SqlBackend.Internal.Statement
    Database.Persist.SqlBackend.Internal.StatementCache
    Database.Persist.SqlBackend.SqlPoolHooks
    Database.Persist.SqlBackend.StatementCache
    Database.Persist.TH
    Database.Persist.TH.Internal
    Database.Persist.Types
    Database.Persist.Types.SourceSpan

  other-modules:
    Database.Persist.Sql.Class
    Database.Persist.Sql.Internal
    Database.Persist.Sql.Orphan.PersistQuery
    Database.Persist.Sql.Orphan.PersistStore
    Database.Persist.Sql.Orphan.PersistUnique
    Database.Persist.Sql.Raw
    Database.Persist.Sql.Run
    Database.Persist.Sql.Types
    Database.Persist.Types.Base

  -- 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.TH
      Database.Persist.Compatible.Types

    ghc-options:      -Wall -Werror=incomplete-patterns
    default-language: Haskell2010

test-suite test
  type:               exitcode-stdio-1.0
  main-is:            main.hs
  build-depends:
      aeson
    , attoparsec
    , base                  >=4.9 && <5
    , base64-bytestring
    , blaze-html
    , bytestring
    , conduit
    , containers
    , deepseq
    , fast-logger
    , hspec                 >=2.4
    , http-api-data
    , megaparsec
    , monad-logger
    , mtl
    , path-pieces
    , persistent
    , QuickCheck
    , quickcheck-instances  >=0.3
    , resource-pool
    , resourcet
    , scientific
    , shakespeare
    , silently
    , template-haskell      >=2.4
    , text
    , th-lift-instances
    , time
    , transformers
    , unliftio
    , unliftio-core
    , unordered-containers
    , vector

  hs-source-dirs:     test/

  -- don't warn on partial matches, they're all over the place in the
  -- testsuite and if they crash they will just fail the test.
  ghc-options:        -Wall -Wno-incomplete-uni-patterns
  default-extensions:
    FlexibleContexts
    MultiParamTypeClasses
    OverloadedStrings
    TypeFamilies
    TypeOperators

  other-modules:
    Database.Persist.ClassSpec
    Database.Persist.PersistValueSpec
    Database.Persist.QuasiSpec
    Database.Persist.TH.CommentSpec
    Database.Persist.TH.CompositeKeyStyleSpec
    Database.Persist.TH.DiscoverEntitiesSpec
    Database.Persist.TH.EmbedSpec
    Database.Persist.TH.EntityHaddockSpec
    Database.Persist.TH.ForeignRefSpec
    Database.Persist.TH.ImplicitIdColSpec
    Database.Persist.TH.JsonEncodingSpec
    Database.Persist.TH.KindEntitiesSpec
    Database.Persist.TH.KindEntitiesSpecImports
    Database.Persist.TH.MaybeFieldDefsSpec
    Database.Persist.TH.MigrationOnlySpec
    Database.Persist.TH.MultiBlockSpec
    Database.Persist.TH.MultiBlockSpec.Model
    Database.Persist.TH.NestedSymbolsInTypeSpec
    Database.Persist.TH.NestedSymbolsInTypeSpecImports
    Database.Persist.TH.NoFieldSelectorsSpec
    Database.Persist.TH.OverloadedLabelSpec
    Database.Persist.TH.PersistWith.Model
    Database.Persist.TH.PersistWith.Model2
    Database.Persist.TH.PersistWithSpec
    Database.Persist.TH.RequireOnlyPersistImportSpec
    Database.Persist.TH.SharedPrimaryKeyImportedSpec
    Database.Persist.TH.SharedPrimaryKeySpec
    Database.Persist.TH.SumSpec
    Database.Persist.TH.ToFromPersistValuesSpec
    Database.Persist.TH.TypeLitFieldDefsSpec
    Database.Persist.THSpec
    TemplateTestImports

  default-language:   Haskell2010

source-repository head
  type:     git
  location: https://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
    , criterion
    , deepseq           >=1.4
    , file-embed
    , persistent
    , template-haskell
    , text

  other-modules:    Models
  default-language: Haskell2010