cabal-version:       2.2
name:                servant
version:             0.19
x-revision: 4

synopsis:            A family of combinators for defining webservices APIs
category:            Servant, Web
description:
 A family of combinators for defining webservices APIs and serving them
 .
 You can learn about the basics in the <http://docs.servant.dev/en/stable/tutorial/index.html tutorial>.
 .
 <https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md CHANGELOG>

homepage:            http://docs.servant.dev/
bug-reports:         http://github.com/haskell-servant/servant/issues
license:             BSD-3-Clause
license-file:        LICENSE
author:              Servant Contributors
maintainer:          [email protected]
copyright:           2014-2016 Zalora South East Asia Pte Ltd, 2016-2019 Servant Contributors
build-type:          Simple

tested-with: GHC ==8.6.5 || ==8.8.4 || ==8.10.2 || ==9.0.1
          , GHCJS ==8.6.0.1

extra-source-files:
 CHANGELOG.md

source-repository head
 type: git
 location: http://github.com/haskell-servant/servant.git

library
 exposed-modules:
   Servant.API
   Servant.API.Alternative
   Servant.API.BasicAuth
   Servant.API.Capture
   Servant.API.ContentTypes
   Servant.API.Description
   Servant.API.Empty
   Servant.API.Experimental.Auth
   Servant.API.Fragment
   Servant.API.Generic
   Servant.API.Header
   Servant.API.HttpVersion
   Servant.API.IsSecure
   Servant.API.Modifiers
   Servant.API.NamedRoutes
   Servant.API.QueryParam
   Servant.API.Raw
   Servant.API.RemoteHost
   Servant.API.ReqBody
   Servant.API.ResponseHeaders
   Servant.API.Status
   Servant.API.Stream
   Servant.API.Sub
   Servant.API.TypeErrors
   Servant.API.TypeLevel
   Servant.API.UVerb
   Servant.API.UVerb.Union
   Servant.API.Vault
   Servant.API.Verbs
   Servant.API.WithNamedContext

 -- Types
 exposed-modules:
   Servant.Types.SourceT

 -- Test stuff
 exposed-modules:
   Servant.Test.ComprehensiveAPI

 -- Safe links
 exposed-modules:
   Servant.Links

 -- Bundled with GHC: Lower bound to not force re-installs
 -- text and mtl are bundled starting with GHC-8.4
 --
 -- note: mtl lower bound is so low because of GHC-7.8
 build-depends:
     base                   >= 4.9      && < 4.17
   , bytestring             >= 0.10.8.1 && < 0.12
   , constraints            >= 0.2
   , mtl                    >= 2.2.2    && < 2.3
   , sop-core               >= 0.4.0.0  && < 0.6
   , transformers           >= 0.5.2.0  && < 0.6
   , text                   >= 1.2.3.0  && < 2.1


 -- We depend (heavily) on the API of these packages:
 -- i.e. re-export, or allow using without direct dependency
 build-depends:
     http-api-data          >= 0.4.1    && < 0.4.4
   , singleton-bool         >= 0.1.4    && < 0.1.7

 -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
 -- Here can be exceptions if we really need features from the newer versions.
 build-depends:
     base-compat            >= 0.10.5   && < 0.13
   , aeson                  >= 1.4.1.0  && < 3
   , attoparsec             >= 0.13.2.2 && < 0.15
   , bifunctors             >= 5.5.3    && < 5.6
   , case-insensitive       >= 1.2.0.11 && < 1.3
   , deepseq                >= 1.4.2.0  && < 1.5
   , http-media             >= 0.7.1.3  && < 0.9
   , http-types             >= 0.12.2   && < 0.13
   , mmorph                 >= 1.1.2    && < 1.3
   , network-uri            >= 2.6.1.0  && < 2.7
   , QuickCheck             >= 2.12.6.1 && < 2.15
   , string-conversions     >= 0.4.0.1  && < 0.5
   , tagged                 >= 0.8.6    && < 0.9
   , vault                  >= 0.3.1.2  && < 0.4

 hs-source-dirs: src
 default-language: Haskell2010
 other-extensions: AllowAmbiguousTypes
                 , CPP
                 , ConstraintKinds
                 , DataKinds
                 , DeriveDataTypeable
                 , DeriveGeneric
                 , ExplicitNamespaces
                 , FlexibleContexts
                 , FlexibleInstances
                 , FunctionalDependencies
                 , GADTs
                 , KindSignatures
                 , MultiParamTypeClasses
                 , OverloadedStrings
                 , PolyKinds
                 , RankNTypes
                 , ScopedTypeVariables
                 , TupleSections
                 , TypeFamilies
                 , TypeOperators
                 , UndecidableInstances

 ghc-options: -Wall -Wno-redundant-constraints

test-suite spec
 type: exitcode-stdio-1.0
 ghc-options: -Wall
 default-language: Haskell2010
 hs-source-dirs: test
 main-is: Spec.hs
 other-modules:
     Servant.API.ContentTypesSpec
     Servant.API.ResponseHeadersSpec
     Servant.API.StreamSpec
     Servant.LinksSpec

 -- Dependencies inherited from the library. No need to specify bounds.
 build-depends:
     base
   , base-compat
   , aeson
   , bytestring
   , http-media
   , mtl
   , servant
   , string-conversions
   , text
   , transformers

 -- Additional dependencies
 build-depends:
     hspec                >= 2.6.0    && < 2.10
   , QuickCheck           >= 2.12.6.1 && < 2.15
   , quickcheck-instances >= 0.3.19   && < 0.4

 build-tool-depends:
   hspec-discover:hspec-discover >= 2.6.0 && < 2.10