cabal-version: 3.6 -- Copyright (c) Facebook, Inc. and its affiliates. name: thrift-lib version: 0.1.0.0 synopsis: Libraries for Haskell Thrift homepage: https://github.com/facebookincubator/hsthrift bug-reports: https://github.com/facebookincubator/hsthrift/issues license: BSD-3-Clause license-file: LICENSE author: Facebook, Inc. maintainer: hsthrift-team@fb.com copyright: (c) Facebook, All Rights Reserved category: Thrift build-type: Simple extra-source-files: if/*.thrift, test/if/*.thrift extra-doc-files: CHANGELOG.md description: Support for building client and server applications that communicate using the Thrift protocols. NOTE: for build instructions and documentation, see source-repository head type: git location: https://github.com/facebookincubator/hsthrift.git common fb-haskell default-language: Haskell2010 default-extensions: BangPatterns BinaryLiterals DataKinds DeriveDataTypeable DeriveGeneric EmptyCase ExistentialQuantification FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving LambdaCase MultiParamTypeClasses MultiWayIf NoMonomorphismRestriction OverloadedStrings PatternSynonyms RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeFamilies TypeSynonymInstances NondecreasingIndentation build-tool-depends: thrift-compiler:thrift-compiler library import: fb-haskell exposed-modules: Thrift.HasFields Thrift.Monad Thrift.CodegenTypesOnly Thrift.Processor Thrift.Api Thrift.Codegen Thrift.Channel Thrift.Channel.SocketChannel Thrift.Channel.SocketChannel.Server Thrift.Protocol Thrift.Protocol.Compact Thrift.Protocol.Id Thrift.Protocol.JSON Thrift.Protocol.Binary Thrift.Protocol.Binary.Internal Thrift.Protocol.JSON.Base64 Thrift.Protocol.JSON.String Thrift.Binary.Parser Thrift.Protocol.ApplicationException.Types Thrift.Protocol.RpcOptions.Types Thrift.Util hs-source-dirs: . gen-hs2 -- needed for fb-utils extra-libraries: stdc++ build-depends: QuickCheck >= 2.14.3 && < 2.15, STMonadTrans >= 0.4.8 && < 0.5, aeson >= 1 && < 2.1, aeson-pretty >= 0.8.10 && < 0.9, async ^>= 2.2, base >=4.11.1 && <4.17, bytestring >=0.10.8.2 && <0.12, bytestring-lexing >= 0.5.0 && < 0.6, containers >= 0.6 && < 0.7, data-default >= 0.8.0 && < 0.9, deepseq >= 1.4.4 && < 1.5, fb-stubs >= 0.1.0 && < 0.2, fb-util >= 0.1.0 && < 0.2, filepath >= 1.4.2 && < 1.5, ghc >= 8.6.5 && < 9.3, ghc-prim >= 0.5 && < 0.9, hashable >=1.2.7.0 && <1.5, hspec >= 2.11.11 && < 2.12, hspec-contrib >= 0.5.2 && < 0.6, network >= 3.2.7 && < 3.3, scientific >= 0.3.7 && < 0.4, some >= 1.0.6 && < 1.1, text >= 1.2.3 && < 1.3, text-show >= 3.10.5 && < 3.11, transformers ^>=0.5.5.0, unordered-containers >= 0.2.9.0 && < 0.3, vector >= 0.12.0.1 && < 0.14, word8 >= 0.1.3 && < 0.2 if flag(tests_use_ipv4) -- for SocketChannel.hs cpp-options: -DIPV4 flag tests_use_ipv4 description: Force tests to use IPV4 whenever bringing thrift clients/servers up default: False manual: True -- This will be used by other packages library test-helpers import: fb-haskell visibility: public hs-source-dirs: test/helpers exposed-modules: Network TestChannel if flag(tests_use_ipv4) -- for test/Network.hs cpp-options: -DIPV4 build-depends: base, bytestring, network, thrift-lib, common test-deps if flag(tests_use_ipv4) -- for test/Network.hs cpp-options: -DIPV4 -- for test/cpp/MathServer.cpp cxx-options: -DIPV4 build-depends: async ^>= 2.2, base, bytestring, fb-stubs, fb-util, filepath, ghc-prim, hspec, hspec-contrib, HUnit ^>= 1.6.1, network, text, thrift-lib, -- vvv for HsTest.Types deepseq, transformers, aeson, data-default, unordered-containers, hashable, containers, vector, QuickCheck, STMonadTrans, thrift-lib:test-helpers, -- This is used by local tests only library test-lib import: fb-haskell, test-deps visibility: private hs-source-dirs: test/lib, test/gen-hs2, exposed-modules: TestCommon Math.Types Math.Adder.Client Math.Calculator.Client Math.Adder.Service Math.Calculator.Service HsTest.Types common test-common import: test-deps hs-source-dirs: test build-depends: thrift-lib:test-helpers, thrift-lib:test-lib test-suite channel import: fb-haskell, test-common type: exitcode-stdio-1.0 main-is: ChannelTest.hs ghc-options: -main-is ChannelTest test-suite socket-channel import: fb-haskell, test-common type: exitcode-stdio-1.0 main-is: SocketChannelTest.hs ghc-options: -main-is SocketChannelTest test-suite client import: fb-haskell, test-common type: exitcode-stdio-1.0 main-is: ClientTest.hs ghc-options: -main-is ClientTest test-suite binary-parser import: fb-haskell, test-common type: exitcode-stdio-1.0 main-is: BinaryParserTest.hs ghc-options: -main-is BinaryParserTest test-suite json-parsing import: fb-haskell, test-common type: exitcode-stdio-1.0 main-is: JSONStringTest.hs ghc-options: -main-is JSONStringTest test-suite json-num import: fb-haskell, test-common type: exitcode-stdio-1.0 main-is: JSONNumTest.hs ghc-options: -main-is JSONNumTest test-suite json-null import: fb-haskell, test-common type: exitcode-stdio-1.0 main-is: JSONNullTest.hs ghc-options: -main-is JSONNullTest