wireform-thrift-0.1.0.0: wireform-thrift.cabal
cabal-version: 3.0
name: wireform-thrift
version: 0.1.0.0
synopsis: Apache Thrift binary protocol, schema, and JSON mapping
description:
Binary and Compact protocol codecs, dynamic values, IDL parsing and code
generation, schema-driven Haskell derivation, and JSON mapping.
category: Data, Codec
license: BSD-3-Clause
license-file: LICENSE
author: Ian Duncan
maintainer: ian@iankduncan.com
copyright: 2026 Ian Duncan
build-type: Simple
extra-source-files:
scripts/protocol_golden.py
test/fixtures/protocol-encodings.tsv
common defaults
ghc-options:
-Wall
-Wcompat
-Widentities
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wpartial-fields
-Wredundant-constraints
-O2
default-language: GHC2021
default-extensions:
StrictData
DerivingStrategies
DeriveGeneric
DeriveAnyClass
OverloadedStrings
LambdaCase
library
import: defaults
hs-source-dirs: src
exposed-modules:
Thrift
Thrift.Class
Thrift.CodeGen
Thrift.Decode
Thrift.Derive
Thrift.Encode
Thrift.Encoding
Thrift.JSON
Thrift.Message
Thrift.Parser
Thrift.QQ
Thrift.Registry
Thrift.Schema
Thrift.Transport
Thrift.Value
Thrift.Wire
build-depends:
base >= 4.20 && < 5,
wireform-core >= 0.3 && < 0.4,
wireform-derive == 0.2.*,
bytestring >= 0.11 && < 0.13,
base16-bytestring >= 1.0 && < 1.1,
base64-bytestring >= 1.2 && < 1.3,
containers >= 0.6 && < 0.9,
text >= 2.0 && < 2.2,
vector >= 0.13 && < 0.14,
megaparsec >= 9.0 && < 10,
template-haskell >= 2.18 && < 2.25,
prettyprinter >= 1.7 && < 1.8,
hashable >= 1.3 && < 1.6,
unordered-containers >= 0.2.16 && < 0.3,
deepseq >= 1.4 && < 1.6,
aeson >= 2.1 && < 2.4,
scientific >= 0.3 && < 0.4,
stm >= 2.5 && < 2.6
benchmark wireform-thrift-bench
import: defaults
type: exitcode-stdio-1.0
hs-source-dirs: bench
main-is: Bench.hs
ghc-options: -O2
build-depends:
base,
wireform-thrift,
bytestring,
deepseq,
text,
vector,
criterion >= 1.5 && < 1.7
test-suite wireform-thrift-derive-test
import: defaults
ghc-options: -rtsopts
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
other-modules:
Test.Thrift.CompactBool
Test.Thrift.Derive
Test.Thrift.Derive.Types
Test.Thrift.Derive.Instances
default-extensions:
ScopedTypeVariables
TemplateHaskell
build-depends:
base,
wireform-thrift,
wireform-derive,
wireform-core,
bytestring,
hedgehog,
sydtest-hedgehog,
text,
vector,
sydtest