Blob Blame History Raw
cabal-version:       >=1.10
name:                servant
version:             0.16.2
x-revision:          1

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:             BSD3
license-file:        LICENSE
author:              Servant Contributors
maintainer:          haskell-servant-maintainers@googlegroups.com
copyright:           2014-2016 Zalora South East Asia Pte Ltd, 2016-2019 Servant Contributors
build-type:          Custom

tested-with:
  GHC ==8.0.2
   || ==8.2.2
   || ==8.4.4
   || ==8.6.5
   || ==8.8.1

extra-source-files:
  CHANGELOG.md

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

custom-setup
  setup-depends:
    base >= 4 && <5,
    Cabal,
    cabal-doctest >= 1.0.6 && <1.1

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.Generic
    Servant.API.Header
    Servant.API.HttpVersion
    Servant.API.IsSecure
    Servant.API.Modifiers
    Servant.API.QueryParam
    Servant.API.Raw
    Servant.API.RemoteHost
    Servant.API.ReqBody
    Servant.API.ResponseHeaders
    Servant.API.Stream
    Servant.API.Sub
    Servant.API.TypeLevel
    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

  -- Deprecated modules, to be removed in late 2019
  exposed-modules:
    Servant.Utils.Links
    Servant.API.Internal.Test.ComprehensiveAPI

  -- 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.14
    , bytestring             >= 0.10.8.1 && < 0.11
    , mtl                    >= 2.2.2    && < 2.3
    , transformers           >= 0.5.2.0  && < 0.6
    , text                   >= 1.2.3.0  && < 1.3


  -- 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.2
    , singleton-bool         >= 0.1.5    && < 0.1.6

  -- 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.12
    , aeson                  >= 1.4.1.0  && < 1.5
    , attoparsec             >= 0.13.2.2 && < 0.14
    , 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.2
    , network-uri            >= 2.6.1.0  && < 2.7
    , QuickCheck             >= 2.12.6.1 && < 2.14
    , 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: CPP
                  , ConstraintKinds
                  , DataKinds
                  , DeriveDataTypeable
                  , FlexibleInstances
                  , FunctionalDependencies
                  , GADTs
                  , KindSignatures
                  , MultiParamTypeClasses
                  , OverlappingInstances
                  , OverloadedStrings
                  , PolyKinds
                  , QuasiQuotes
                  , RecordWildCards
                  , ScopedTypeVariables
                  , TemplateHaskell
                  , TypeFamilies
                  , TypeOperators
                  , TypeSynonymInstances
                  , 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

  -- Additonal dependencies
  build-depends:
      hspec                >= 2.6.0    && < 2.8
    , QuickCheck           >= 2.12.6.1 && < 2.14
    , quickcheck-instances >= 0.3.19   && < 0.4

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

test-suite doctests
  build-depends:
      base
    , servant
    , doctest >= 0.16.0 && <0.17

  -- We test Links failure with doctest, so we need extra dependencies
  build-depends:
      hspec                >= 2.6.0  && < 2.8

  type: exitcode-stdio-1.0
  main-is: test/doctests.hs
  buildable: True
  default-language: Haskell2010
  ghc-options: -Wall -threaded
  if impl(ghc >= 8.2)
    x-doctest-options: -fdiagnostics-color=never
  x-doctest-source-dirs: test
  x-doctest-modules: Servant.LinksSpec