name:                servant-server
version:             0.13
synopsis:            A family of combinators for defining webservices APIs and serving them
description:
  A family of combinators for defining webservices APIs and serving them
  .
  You can learn about the basics in the <http://haskell-servant.readthedocs.org/en/stable/tutorial/index.html tutorial>.
  .
  <https://github.com/haskell-servant/servant/blob/master/servant-server/example/greet.hs Here>
  is a runnable example, with comments, that defines a dummy API and implements
  a webserver that serves this API, using this package.
  .
  <https://github.com/haskell-servant/servant/blob/master/servant-server/CHANGELOG.md CHANGELOG>
homepage:            http://haskell-servant.readthedocs.org/
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, Servant Contributors
category:            Servant, Web
build-type:          Custom
cabal-version:       >=1.10
tested-with:
  GHC==7.8.4
  GHC==7.10.3
  GHC==8.0.2
  GHC==8.2.2
extra-source-files:
  include/*.h
  CHANGELOG.md
  README.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.1 && <1.1

library
  exposed-modules:
    Servant
    Servant.Server
    Servant.Server.Experimental.Auth
    Servant.Server.Internal
    Servant.Server.Internal.BasicAuth
    Servant.Server.Internal.Context
    Servant.Server.Internal.Handler
    Servant.Server.Internal.Router
    Servant.Server.Internal.RoutingApplication
    Servant.Server.Internal.ServantErr
    Servant.Utils.StaticFiles

  -- 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.7      && < 4.11
    , bytestring         >= 0.10.4.0 && < 0.11
    , containers         >= 0.5.5.1  && < 0.6
    , mtl                >= 2.1      && < 2.3
    , text               >= 1.2.3.0  && < 1.3
    , transformers       >= 0.3.0.0  && < 0.6
    , filepath           >= 1.3.0.2  && < 1.5

  -- Servant dependencies
  build-depends:
      servant            == 0.13.*

  -- 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:
      aeson               >= 1.2.3.0  && < 1.4
    , base-compat         >= 0.9.3    && < 0.10
    , attoparsec          >= 0.13.2.0 && < 0.14
    , base64-bytestring   >= 1.0.0.1  && < 1.1
    , exceptions          >= 0.8.3    && < 0.11
    , http-api-data       >= 0.3.7.1  && < 0.4
    , http-media          >= 0.7.1.1  && < 0.8
    , http-types          >= 0.12     && < 0.13
    , network-uri         >= 2.6.1.0  && < 2.7
    , monad-control       >= 1.0.0.4  && < 1.1
    , network             >= 2.6.3.2  && < 2.7
    , safe                >= 0.3.15   && < 0.4
    , split               >= 0.2.3.2  && < 0.3
    , string-conversions  >= 0.4.0.1  && < 0.5
    , system-filepath     >= 0.4      && < 0.5
    , resourcet           >= 1.1.9    && < 1.3
    , tagged              >= 0.8.5    && < 0.9
    , transformers-base   >= 0.4.4    && < 0.5
    , transformers-compat >= 0.5.1    && < 0.6
    , wai                 >= 3.2.1.1  && < 3.3
    , wai-app-static      >= 3.1.6.1  && < 3.2
    , warp                >= 3.2.13   && < 3.3
    , word8               >= 0.1.3    && < 0.2

  hs-source-dirs: src
  default-language: Haskell2010
  ghc-options: -Wall
  if impl(ghc >= 8.0)
    ghc-options: -Wno-redundant-constraints
  include-dirs: include

executable greet
  main-is: greet.hs
  hs-source-dirs: example
  ghc-options: -Wall
  default-language: Haskell2010
  build-depends:
      base
    , servant
    , servant-server
    , aeson
    , warp
    , wai
    , text

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.ArbitraryMonadServerSpec
      Servant.Server.ErrorSpec
      Servant.Server.Internal.ContextSpec
      Servant.Server.Internal.RoutingApplicationSpec
      Servant.Server.RouterSpec
      Servant.Server.StreamingSpec
      Servant.Server.UsingContextSpec
      Servant.Server.UsingContextSpec.TestCombinators
      Servant.HoistSpec
      Servant.ServerSpec
      Servant.Utils.StaticFilesSpec

  -- Dependencies inherited from the library. No need to specify bounds.
  build-depends:
      base
    , base-compat
    , aeson
    , base64-bytestring
    , bytestring
    , exceptions
    , http-types
    , mtl
    , network
    , resourcet
    , safe
    , servant
    , servant-server
    , string-conversions
    , text
    , transformers
    , transformers-compat
    , wai
    , warp

  -- Additonal dependencies
  build-depends:
      directory            >= 1.2.1.0  && < 1.4
    , hspec                >= 2.4.4    && < 2.5
    , hspec-wai            >= 0.9      && < 0.10
    , should-not-typecheck >= 2.1.0    && < 2.2
    , parsec               >= 3.1.11   && < 3.2
    , QuickCheck           >= 2.10.1   && < 2.12
    , wai-extra            >= 3.0.21.0 && < 3.1
    , temporary            >= 1.2.0.3  && < 1.3

  build-tool-depends:
    hspec-discover:hspec-discover >=2.4.4 && <2.5

test-suite doctests
  build-depends:
      base
    , servant-server
    , doctest >= 0.13.0 && <0.14
  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
  include-dirs: include