cabal-version: 1.12

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

name:           pinch
version:        0.4.1.2
synopsis:       An alternative implementation of Thrift for Haskell.
description:    This library provides machinery for types to specify how they can be
                serialized and deserialized into/from Thrift payloads. It makes no
                assumptions on how these payloads are sent or received and performs no code
                generation. Types may specify how to be serialized and deserialized by
                defining instances of the @Pinchable@ typeclass by hand, with
                automatically derived instances by using generics or by using the pinch-gen code
                generator. Check the documentation in the "Pinch" module for more information.
                .
                /What is Thrift?/ Apache Thrift provides an interface description language,
                a set of communication protocols, and a code generator and libraries for
                various programming languages to interact with the generated code. Pinch
                aims to provide an alternative implementation of Thrift for Haskell.
category:       Development
homepage:       https://github.com/abhinav/pinch#readme
bug-reports:    https://github.com/abhinav/pinch/issues
author:         Abhinav Gupta
maintainer:     mail@abhinavg.net
license:        BSD3
license-file:   LICENSE
tested-with:
    GHC == 8.10.2, GHC == 8.8.3, GHC == 8.6.5, GHC == 8.4.4
build-type:     Simple
extra-source-files:
    README.md
    CHANGES.md
    bench/pinch-bench/Bench.hs
    bench/pinch-bench/pinch-bench.cabal
    examples/keyvalue/Client.hs
    examples/keyvalue/Server.hs
    examples/keyvalue/Setup.hs
    examples/keyvalue/Types.hs
    examples/keyvalue/keyvalue.cabal
    examples/keyvalue/keyvalue.thrift

source-repository head
  type: git
  location: https://github.com/abhinav/pinch

library
  exposed-modules:
      Pinch
      Pinch.Client
      Pinch.Internal.Builder
      Pinch.Internal.Exception
      Pinch.Internal.FoldList
      Pinch.Internal.Generic
      Pinch.Internal.Message
      Pinch.Internal.Pinchable
      Pinch.Internal.RPC
      Pinch.Internal.TType
      Pinch.Internal.Value
      Pinch.Protocol
      Pinch.Protocol.Binary
      Pinch.Protocol.Compact
      Pinch.Server
      Pinch.Transport
  other-modules:
      Pinch.Internal.Bits
      Pinch.Internal.Pinchable.Parser
      Paths_pinch
  hs-source-dirs:
      src
  ghc-options: -Wall
  build-tool-depends:
      hspec-discover:hspec-discover >=2.1
  build-depends:
      array >=0.5
    , base >=4.7 && <5
    , bytestring >=0.10 && <0.12
    , cereal >=0.5.8.1 && <0.6
    , containers >=0.5 && <0.7
    , deepseq >=1.3 && <1.5
    , ghc-prim
    , hashable >=1.2 && <1.4
    , network >=3.1.2.0 && <3.2
    , semigroups >=0.18 && <0.21
    , text ==1.2.*
    , unordered-containers ==0.2.*
    , vector >=0.10 && <0.13
  default-language: Haskell2010

test-suite pinch-spec
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Pinch.Arbitrary
      Pinch.ClientServerSpec
      Pinch.Expectations
      Pinch.Internal.BuilderParserSpec
      Pinch.Internal.BuilderSpec
      Pinch.Internal.FoldListSpec
      Pinch.Internal.GenericSpec
      Pinch.Internal.PinchableSpec
      Pinch.Internal.TTypeSpec
      Pinch.Internal.Util
      Pinch.Internal.ValueSpec
      Pinch.Protocol.BinarySpec
      Pinch.Protocol.CompactSpec
      Pinch.TransportSpec
      Paths_pinch
  hs-source-dirs:
      tests
  ghc-options: -Wall
  build-tool-depends:
      hspec-discover:hspec-discover >=2.1
  build-depends:
      QuickCheck >=2.5
    , async >=2.2.2 && <2.3
    , base >=4.7 && <5
    , bytestring >=0.10 && <0.12
    , cereal >=0.5.8.1 && <0.6
    , containers >=0.5 && <0.7
    , hspec >=2.0
    , network >=3.1.2.0 && <3.2
    , network-run >=0.2.4 && <0.3
    , pinch
    , semigroups >=0.18 && <0.21
    , text ==1.2.*
    , unordered-containers ==0.2.*
    , vector >=0.10 && <0.13
  default-language: Haskell2010