packages feed

selda-0.3.3.0: selda.cabal

name:                selda
version:             0.3.3.0
synopsis:            Multi-backend, high-level EDSL for interacting with SQL databases.
description:         This package provides an EDSL for writing portable, type-safe, high-level
                     database code. Its feature set includes querying and modifying databases,
                     automatic, in-process caching with consistency guarantees, and transaction
                     support.

                     See the project website for a comprehensive tutorial.
                     
                     To use this package you need at least one backend package, in addition to
                     this package. There are currently two different backend packages:
                     selda-sqlite and selda-postgresql.
homepage:            https://selda.link
license:             MIT
license-file:        LICENSE
author:              Anton Ekblad
maintainer:          anton@ekblad.cc
category:            Database
build-type:          Simple
extra-source-files:  ChangeLog.md
cabal-version:       >=1.10
tested-with:         GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.1, GHC == 8.4.1

extra-source-files:
  README.md

flag localcache
  default: True
  description:
    Enable process-local cache support. Even when supported, caching is turned
    off by default until enabled by the application.
    When unsupported, the relevant APIs are still available, but the cache will
    act as if every update is a no-op and every lookup a cache miss.

flag haste
  default: False
  description:
    Automatically set when installing for the Haste compiler.

source-repository head
  type:     git
  location: https://github.com/valderman/selda.git

library
  exposed-modules:
    Database.Selda
    Database.Selda.Backend
    Database.Selda.Migrations
    Database.Selda.SqlType
    Database.Selda.Unsafe
    Database.Selda.Validation
  other-modules:
    Database.Selda.Backend.Internal
    Database.Selda.Caching
    Database.Selda.Column
    Database.Selda.Compile
    Database.Selda.Exp
    Database.Selda.Frontend
    Database.Selda.Generic
    Database.Selda.Inner
    Database.Selda.Prepared
    Database.Selda.Query
    Database.Selda.Query.Type
    Database.Selda.Selectors
    Database.Selda.Selectors.MakeSelectors
    Database.Selda.SQL
    Database.Selda.SQL.Print
    Database.Selda.SQL.Print.Config
    Database.Selda.SqlRow
    Database.Selda.Table
    Database.Selda.Table.Compile
    Database.Selda.Table.Type
    Database.Selda.Table.Validation
    Database.Selda.Transform
    Database.Selda.Types
  if impl(ghc >= 7.11)
    other-modules:
      Database.Selda.Selectors.FieldSelectors
  other-extensions:
    OverloadedStrings
    GADTs
    CPP
    MultiParamTypeClasses
    UndecidableInstances
    ScopedTypeVariables
    RankNTypes
    TypeFamilies
    FlexibleInstances
    GeneralizedNewtypeDeriving
    FlexibleContexts
  build-depends:
      base                 >=4.8   && <5
    , bytestring           >=0.10  && <0.11
    , exceptions           >=0.8   && <0.11
    , hashable             >=1.1   && <1.3
    , mtl                  >=2.0   && <2.3
    , text                 >=1.0   && <1.3
    , time                 >=1.5   && <1.10
    , unordered-containers >=0.2.6 && <0.3
  if impl(ghc < 7.11)
    build-depends:
      transformers  >=0.4 && <0.6
  if impl(ghc >= 8.2)
    build-depends:
      hashable >= 1.2.6.1
  if !flag(haste) && flag(localcache)
    build-depends:
      psqueues >=0.2 && <0.3
  else
    cpp-options:
      -DNO_LOCALCACHE
  hs-source-dirs:
    src
  default-language:
    Haskell2010
  ghc-options:
    -Wall
  if impl(ghc > 8.0)
    ghc-options:
      -fno-warn-redundant-constraints