packages feed

pinpon-0.2.0.2: pinpon.cabal

-- This file has been generated from package.yaml by hpack version 0.27.0.
--
-- see: https://github.com/sol/hpack
--
-- hash: ae6d5ceb311afb4ad42b828e2776e55db2c1a23aaa3d83a1c1be1f795294d7e7

name:                   pinpon
version:                0.2.0.2
synopsis:               A gateway for various cloud notification services
description:            @pinpon@ is a gateway for various cloud notification services, such
                        as the Amazon AWS SNS service.
                        .
                        Think of @pinpon@ as a hub for dispatching notifications originating
                        from multiple notification sources. Clients of the @pinpon@ service
                        create topics and send notifications via the REST-ish @pinpon@
                        service, and the @pinpon@ server takes care of the per-service
                        details and communicating with the upstream cloud services.
                        .
                        Advantages of this approach, compared to programming directly to the
                        individual notification services' interfaces, are:
                        .
                        * A common API for all supported notification services.
                        .
                        * The secret credentials required to communicate with each cloud
                        notification service can be kept in a central location (namely,
                        the @pinpon@ server), rather than being distributed to each
                        notification source host, therefore reducing the attack surface.
                        .
                        * Hosts which send notifications via the @pinpon@ gateway can be
                        firewalled from the public Internet. This is especially useful in
                        IoT applications.
                        .
                        Currently-supported notification services:
                        .
                        * Amazon AWS SNS
category:               Network
stability:              experimental
homepage:               https://github.com/quixoftic/pinpon#readme
bug-reports:            https://github.com/quixoftic/pinpon/issues
author:                 Drew Hess <dhess-src@quixoftic.com>
maintainer:             Drew Hess <dhess-src@quixoftic.com>
copyright:              Copyright (c) 2018, Quixoftic, LLC
license:                BSD3
license-file:           LICENSE
tested-with:            GHC==8.0.2 GHC==8.2.2
build-type:             Simple
cabal-version:          >= 1.10

extra-source-files:
    changelog.md
    package.yaml
    README.md
    stack-lts-10.yaml
    stack-lts-9.yaml
    stack.yaml

data-files:
    swagger.json

source-repository head
  type: git
  location: https://github.com/quixoftic/pinpon

flag pinpon-executable
  description: Build pinpon program
  manual: True
  default: True

flag pinpon-gpio-executable
  description: Build pinpon-gpio program
  manual: True
  default: True

flag pinpon-ring-executable
  description: Build pinpon-ring program
  manual: True
  default: True

flag test-doctests
  description: Build doctests
  manual: True
  default: True

flag test-hlint
  description: Build hlint test
  manual: True
  default: False

library
  exposed-modules:
      Network.PinPon
      Network.PinPon.API
      Network.PinPon.API.Topic
      Network.PinPon.AWS
      Network.PinPon.Client
      Network.PinPon.Config
      Network.PinPon.Notification
      Network.PinPon.SwaggerAPI
      Network.PinPon.Util
      Network.PinPon.WireTypes.APNS
      Network.PinPon.WireTypes.SNS
  other-modules:
      Paths_pinpon
  hs-source-dirs:
      src
  default-extensions: NoImplicitPrelude
  other-extensions: DataKinds DeriveGeneric DuplicateRecordFields MultiParamTypeClasses OverloadedStrings Safe TemplateHaskell Trustworthy TypeOperators
  ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
  build-depends:
      aeson >=1.1 && <1.3
    , aeson-pretty ==0.8.*
    , amazonka >=1.4.5 && <1.6
    , amazonka-core >=1.4.5 && <1.6
    , amazonka-sns >=1.4.5 && <1.6
    , base >=4 && <5
    , bytestring >=0.10.8 && <0.11
    , containers >=0.5.7 && <0.6
    , exceptions >=0.8.3 && <0.9
    , http-client >=0.5.7 && <0.6
    , http-types >=0.9.1 && <0.10
    , lens ==4.15.*
    , lucid >=2.9.9 && <3
    , mtl >=2.2.1 && <2.3
    , protolude ==0.2.*
    , resourcet >=1.1.9 && <1.2
    , servant ==0.11.*
    , servant-client ==0.11.*
    , servant-docs ==0.11.*
    , servant-lucid >=0.7.1 && <0.8
    , servant-server ==0.11.*
    , servant-swagger >=1.1.4 && <1.2
    , servant-swagger-ui >=0.2.4 && <0.3
    , swagger2 >=2.1.6 && <2.3
    , text >=1.2.2 && <1.3
    , time >=1.6 && <1.9
    , transformers >=0.5.2 && <0.6
    , transformers-base >=0.4.4 && <0.5
    , wai ==3.2.*
    , warp ==3.2.*
  default-language: Haskell2010

executable pinpon
  main-is: Main.hs
  other-modules:
      Paths_pinpon
  hs-source-dirs:
      pinpon
  default-extensions: NoImplicitPrelude
  other-extensions: LambdaCase OverloadedStrings
  ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances -fno-warn-redundant-constraints
  if !(flag(pinpon-executable))
    buildable: False
  else
    build-depends:
        amazonka
      , amazonka-sns
      , base
      , containers
      , exceptions
      , lens
      , mtl
      , network >=2.6.3 && <2.7
      , optparse-applicative >=0.13.2 && <0.15
      , optparse-text ==0.1.*
      , pinpon
      , protolude
      , text
      , transformers
      , warp
  default-language: Haskell2010

executable pinpon-gpio
  main-is: Main.hs
  other-modules:
      Paths_pinpon
  hs-source-dirs:
      pinpon-gpio
  default-extensions: NoImplicitPrelude
  other-extensions: FlexibleContexts OverloadedStrings
  ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances -fno-warn-redundant-constraints
  if !(flag(pinpon-gpio-executable))
    buildable: False
  else
    build-depends:
        base
      , bytestring
      , exceptions
      , hpio
      , http-client
      , http-client-tls
      , http-types
      , lens
      , mtl
      , network
      , optparse-applicative
      , optparse-text
      , pinpon
      , protolude
      , servant-client
      , text
      , time
      , transformers
      , warp
  default-language: Haskell2010

executable pinpon-ring
  main-is: Main.hs
  other-modules:
      Paths_pinpon
  hs-source-dirs:
      pinpon-ring
  default-extensions: NoImplicitPrelude
  other-extensions: LambdaCase OverloadedStrings
  ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances -fno-warn-redundant-constraints
  if !(flag(pinpon-ring-executable))
    buildable: False
  else
    build-depends:
        base
      , bytestring
      , exceptions
      , http-client
      , http-client-tls >=0.3.5 && <0.4
      , http-types
      , lens
      , network
      , optparse-applicative
      , optparse-text
      , pinpon
      , protolude
      , servant-client ==0.11.*
      , text
      , transformers
      , warp
  default-language: Haskell2010

test-suite doctest
  type: exitcode-stdio-1.0
  main-is: doctest.hs
  hs-source-dirs:
      test
  default-extensions: NoImplicitPrelude
  ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded
  if !(flag(test-doctests))
    buildable: False
  else
    build-depends:
        base
      , doctest >=0.10.1 && <1
      , protolude
  default-language: Haskell2010

test-suite hlint
  type: exitcode-stdio-1.0
  main-is: hlint.hs
  hs-source-dirs:
      test
  default-extensions: NoImplicitPrelude
  ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -w -threaded
  if !(flag(test-hlint))
    buildable: False
  else
    build-depends:
        base
      , hlint >=2.0 && <2.2
      , protolude
  default-language: Haskell2010

test-suite spec
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  hs-source-dirs:
      test
  default-extensions: NoImplicitPrelude
  ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -w -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      QuickCheck >=2.9 && <2.11
    , aeson
    , base
    , bytestring
    , exceptions
    , hspec ==2.4.*
    , pinpon
    , protolude
    , quickcheck-instances ==0.3.*
    , servant-swagger
  if !(flag(test-hlint))
    buildable: False
  else
    build-depends:
        base
      , hlint >=2.0 && <2.2
      , protolude
  default-language: Haskell2010