packages feed

postgrest-9.0.0: postgrest.cabal

name:               postgrest
version:            9.0.0
synopsis:           REST API for any Postgres database
description:        Reads the schema of a PostgreSQL database and creates RESTful routes
                    for the tables and views, supporting all HTTP verbs that security
                    permits.
license:            MIT
license-file:       LICENSE
author:             Joe Nelson, Adam Baker, Steve Chavez
maintainer:         Steve Chavez <stevechavezast@gmail.com>
category:           Executable, PostgreSQL, Network APIs
homepage:           https://postgrest.org
bug-reports:        https://github.com/PostgREST/postgrest/issues
build-type:         Simple
extra-source-files: CHANGELOG.md
cabal-version:      >= 1.10

source-repository head
  type:     git
  location: git://github.com/PostgREST/postgrest.git

flag dev
  default:     False
  manual:      True
  description: Development flags

flag hpc
  default:     True
  manual:      True
  description: Enable HPC (dev only)

library
  default-language:   Haskell2010
  default-extensions: OverloadedStrings
                      NoImplicitPrelude
  hs-source-dirs:     src
  exposed-modules:    PostgREST.App
                      PostgREST.AppState
                      PostgREST.Auth
                      PostgREST.CLI
                      PostgREST.Config
                      PostgREST.Config.Database
                      PostgREST.Config.JSPath
                      PostgREST.Config.PgVersion
                      PostgREST.Config.Proxy
                      PostgREST.ContentType
                      PostgREST.DbStructure
                      PostgREST.DbStructure.Identifiers
                      PostgREST.DbStructure.Proc
                      PostgREST.DbStructure.Relationship
                      PostgREST.DbStructure.Table
                      PostgREST.Error
                      PostgREST.GucHeader
                      PostgREST.Middleware
                      PostgREST.OpenAPI
                      PostgREST.Query.QueryBuilder
                      PostgREST.Query.SqlFragment
                      PostgREST.Query.Statements
                      PostgREST.RangeQuery
                      PostgREST.Request.ApiRequest
                      PostgREST.Request.DbRequestBuilder
                      PostgREST.Request.Parsers
                      PostgREST.Request.Preferences
                      PostgREST.Request.Types
                      PostgREST.Version
                      PostgREST.Workers
  other-modules:      Paths_postgrest
  build-depends:      base                      >= 4.9 && < 4.16
                    , HTTP                      >= 4000.3.7 && < 4000.4
                    , Ranged-sets               >= 0.3 && < 0.5
                    , aeson                     >= 1.4.7 && < 1.6
                    , ansi-wl-pprint            >= 0.6.7 && < 0.7
                    , auto-update               >= 0.1.4 && < 0.2
                    , base64-bytestring         >= 1 && < 1.3
                    , bytestring                >= 0.10.8 && < 0.11
                    , case-insensitive          >= 1.2 && < 1.3
                    , cassava                   >= 0.4.5 && < 0.6
                    , configurator-pg           >= 0.2 && < 0.3
                    , containers                >= 0.5.7 && < 0.7
                    , contravariant             >= 1.4 && < 1.6
                    , contravariant-extras      >= 0.3.3 && < 0.4
                    , cookie                    >= 0.4.2 && < 0.5
                    , either                    >= 4.4.1 && < 5.1
                    , fast-logger               >= 2.4.5
                    , gitrev                    >= 1.2 && < 1.4
                    , hasql                     >= 1.4 && < 1.5
                    , hasql-dynamic-statements  == 0.3.1
                    , hasql-notifications       >= 0.1 && < 0.3
                    , hasql-pool                >= 0.5 && < 0.6
                    , hasql-transaction         >= 1.0.1 && < 1.1
                    , heredoc                   >= 0.2 && < 0.3
                    , http-types                >= 0.12.2 && < 0.13
                    , insert-ordered-containers >= 0.2.2 && < 0.3
                    , interpolatedstring-perl6  >= 1 && < 1.1
                    , jose                      >= 0.8.1 && < 0.9
                    , lens                      >= 4.14 && < 5.1
                    , lens-aeson                >= 1.0.1 && < 1.2
                    , mtl                       >= 2.2.2 && < 2.3
                    , network-uri               >= 2.6.1 && < 2.8
                    , optparse-applicative      >= 0.13 && < 0.17
                    , parsec                    >= 3.1.11 && < 3.2
                    , protolude                 >= 0.3 && < 0.4
                    , regex-tdfa                >= 1.2.2 && < 1.4
                    , retry                     >= 0.7.4 && < 0.10
                    , scientific                >= 0.3.4 && < 0.4
                    , swagger2                  >= 2.4 && < 2.7
                    , text                      >= 1.2.2 && < 1.3
                    , time                      >= 1.6 && < 1.11
                    , unordered-containers      >= 0.2.8 && < 0.3
                    , vector                    >= 0.11 && < 0.13
                    , wai                       >= 3.2.1 && < 3.3
                    , wai-cors                  >= 0.2.5 && < 0.3
                    , wai-extra                 >= 3.0.19 && < 3.2
                    , wai-logger                >= 2.3.2
                    , wai-middleware-static     >= 0.8.1 && < 0.10
                    , warp                      >= 3.2.12 && < 3.4
                      -- -fno-spec-constr may help keep compile time memory use in check,
                      --   see https://gitlab.haskell.org/ghc/ghc/issues/16017#note_219304
                      -- -optP-Wno-nonportable-include-path
                      --   prevents build failures on case-insensitive filesystems (macos),
                      --   see https://github.com/commercialhaskell/stack/issues/3918
  ghc-options:        -Wall -fwarn-identities
                      -fno-spec-constr -optP-Wno-nonportable-include-path

  if flag(dev)
    ghc-options: -O0
    if flag(hpc)
      ghc-options: -hpcdir .hpc
  else
    ghc-options: -O2

  if !os(windows)
    build-depends:
      unix
      , directory >= 1.2.6 && < 1.4
      , network   >= 2.6 && < 3.2
    exposed-modules:
      PostgREST.Unix

executable postgrest
  default-language:   Haskell2010
  default-extensions: OverloadedStrings
                      NoImplicitPrelude
  hs-source-dirs:     main
  main-is:            Main.hs
  build-depends:      base                >= 4.9 && < 4.16
                    , containers          >= 0.5.7 && < 0.7
                    , postgrest
                    , protolude           >= 0.3 && < 0.4
  ghc-options:        -threaded -rtsopts "-with-rtsopts=-N -I2"
                      -O2 -Wall -fwarn-identities
                      -fno-spec-constr -optP-Wno-nonportable-include-path

  if flag(dev)
    ghc-options: -O0
    if flag(hpc)
      ghc-options: -hpcdir .hpc
  else
    ghc-options: -O2

test-suite spec
  type:               exitcode-stdio-1.0
  default-language:   Haskell2010
  default-extensions: OverloadedStrings
                      QuasiQuotes
                      NoImplicitPrelude
  hs-source-dirs:     test
  main-is:            Main.hs
  other-modules:      Feature.AndOrParamsSpec
                      Feature.AsymmetricJwtSpec
                      Feature.AudienceJwtSecretSpec
                      Feature.AuthSpec
                      Feature.BinaryJwtSecretSpec
                      Feature.ConcurrentSpec
                      Feature.CorsSpec
                      Feature.DeleteSpec
                      Feature.DisabledOpenApiSpec
                      Feature.EmbedDisambiguationSpec
                      Feature.EmbedInnerJoinSpec
                      Feature.ExtraSearchPathSpec
                      Feature.HtmlRawOutputSpec
                      Feature.InsertSpec
                      Feature.IgnorePrivOpenApiSpec
                      Feature.JsonOperatorSpec
                      Feature.LegacyGucsSpec
                      Feature.MultipleSchemaSpec
                      Feature.NoJwtSpec
                      Feature.NonexistentSchemaSpec
                      Feature.OpenApiSpec
                      Feature.OptionsSpec
                      Feature.ProxySpec
                      Feature.QueryLimitedSpec
                      Feature.QuerySpec
                      Feature.RangeSpec
                      Feature.RawOutputTypesSpec
                      Feature.RollbackSpec
                      Feature.RootSpec
                      Feature.RpcPreRequestGucsSpec
                      Feature.RpcSpec
                      Feature.SingularSpec
                      Feature.UnicodeSpec
                      Feature.UpdateSpec
                      Feature.UpsertSpec
                      SpecHelper
                      TestTypes
  build-depends:      base              >= 4.9 && < 4.16
                    , aeson             >= 1.4.7 && < 1.6
                    , aeson-qq          >= 0.8.1 && < 0.9
                    , async             >= 2.1.1 && < 2.3
                    , auto-update       >= 0.1.4 && < 0.2
                    , base64-bytestring >= 1 && < 1.3
                    , bytestring        >= 0.10.8 && < 0.11
                    , case-insensitive  >= 1.2 && < 1.3
                    , cassava           >= 0.4.5 && < 0.6
                    , containers        >= 0.5.7 && < 0.7
                    , contravariant     >= 1.4 && < 1.6
                    , hasql             >= 1.4 && < 1.5
                    , hasql-pool        >= 0.5 && < 0.6
                    , hasql-transaction >= 1.0.1 && < 1.1
                    , heredoc           >= 0.2 && < 0.3
                    , hspec             >= 2.3 && < 2.9
                    , hspec-wai         >= 0.10 && < 0.12
                    , hspec-wai-json    >= 0.10 && < 0.12
                    , http-types        >= 0.12.3 && < 0.13
                    , lens              >= 4.14 && < 5.1
                    , lens-aeson        >= 1.0.1 && < 1.2
                    , monad-control     >= 1.0.1 && < 1.1
                    , postgrest
                    , process           >= 1.4.2 && < 1.7
                    , protolude         >= 0.3 && < 0.4
                    , regex-tdfa        >= 1.2.2 && < 1.4
                    , text              >= 1.2.2 && < 1.3
                    , time              >= 1.6 && < 1.11
                    , transformers-base >= 0.4.4 && < 0.5
                    , wai               >= 3.2.1 && < 3.3
                    , wai-extra         >= 3.0.19 && < 3.2
  ghc-options:        -O0 -Wall -fwarn-identities
                      -fno-spec-constr -optP-Wno-nonportable-include-path
                      -fno-warn-missing-signatures

test-suite querycost
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  default-extensions:  OverloadedStrings
                       QuasiQuotes
                       NoImplicitPrelude
  hs-source-dirs:      test
  main-is:             QueryCost.hs
  other-modules:       SpecHelper
  build-depends:       base              >= 4.9 && < 4.16
                     , aeson             >= 1.4.7 && < 1.6
                     , aeson-qq          >= 0.8.1 && < 0.9
                     , async             >= 2.1.1 && < 2.3
                     , auto-update       >= 0.1.4 && < 0.2
                     , base64-bytestring >= 1 && < 1.3
                     , bytestring        >= 0.10.8 && < 0.11
                     , case-insensitive  >= 1.2 && < 1.3
                     , cassava           >= 0.4.5 && < 0.6
                     , containers        >= 0.5.7 && < 0.7
                     , contravariant     >= 1.4 && < 1.6
                     , hasql             >= 1.4 && < 1.5
                     , hasql-dynamic-statements  == 0.3.1
                     , hasql-pool        >= 0.5 && < 0.6
                     , hasql-transaction >= 1.0.1 && < 1.1
                     , heredoc           >= 0.2 && < 0.3
                     , hspec             >= 2.3 && < 2.9
                     , hspec-wai         >= 0.10 && < 0.12
                     , hspec-wai-json    >= 0.10 && < 0.12
                     , http-types        >= 0.12.3 && < 0.13
                     , lens              >= 4.14 && < 5.1
                     , lens-aeson        >= 1.0.1 && < 1.2
                     , monad-control     >= 1.0.1 && < 1.1
                     , postgrest
                     , process           >= 1.4.2 && < 1.7
                     , protolude         >= 0.3 && < 0.4
                     , regex-tdfa        >= 1.2.2 && < 1.4
                     , text              >= 1.2.2 && < 1.3
                     , time              >= 1.6 && < 1.11
                     , transformers-base >= 0.4.4 && < 0.5
                     , wai               >= 3.2.1 && < 3.3
                     , wai-extra         >= 3.0.19 && < 3.2
  ghc-options:         -O0 -Wall -fwarn-identities
                       -fno-spec-constr -optP-Wno-nonportable-include-path

test-suite doctests
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  default-extensions:  OverloadedStrings
                       NoImplicitPrelude
  hs-source-dirs:      test/doctests
  main-is:             Main.hs
  build-depends:       base              >= 4.9 && < 4.16
                     , doctest           >= 0.8
                     , postgrest
                     , pretty-simple
                     , protolude         >= 0.3 && < 0.4
  ghc-options:         -threaded -O0 -Wall -fwarn-identities
                       -fno-spec-constr -optP-Wno-nonportable-include-path