packages feed

wireform-flatbuffers-0.1.0.0: wireform-flatbuffers.cabal

cabal-version: 3.0
name: wireform-flatbuffers
version: 0.1.0.0
synopsis: FlatBuffers zero-copy flat serialization
description:
  FlatBuffers table and vector codecs, schema parsing and code generation,
  Template Haskell derivation, and buffer views.
category: Data, Codec
license: BSD-3-Clause
license-file: LICENSE
author: Ian Duncan
maintainer: ian@iankduncan.com
copyright: 2026 Ian Duncan
build-type: Simple

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:
    FlatBuffers
    FlatBuffers.Builder
    FlatBuffers.CodeGen
    FlatBuffers.Decode
    FlatBuffers.Derive
    FlatBuffers.Encode
    FlatBuffers.Parser
    FlatBuffers.QQ
    FlatBuffers.Reader
    FlatBuffers.Registry
    FlatBuffers.View
    FlatBuffers.Schema
    FlatBuffers.Value
  build-depends:
    base >= 4.20 && < 5,
    wireform-core >= 0.3 && < 0.4,
    wireform-derive == 0.2.*,
    bytestring >= 0.11 && < 0.13,
    text >= 2.0 && < 2.2,
    vector >= 0.13 && < 0.14,
    containers >= 0.6 && < 0.9,
    megaparsec >= 9.0 && < 10,
    template-haskell >= 2.18 && < 2.25,
    prettyprinter >= 1.7 && < 1.8,
    scientific >= 0.3 && < 0.4,
    aeson >= 2.1 && < 2.4,
    hashable >= 1.3 && < 1.6,
    unordered-containers >= 0.2.16 && < 0.3,
    deepseq >= 1.4 && < 1.6

benchmark wireform-flatbuffers-bench
  import: defaults
  type: exitcode-stdio-1.0
  hs-source-dirs: bench
  main-is: Bench.hs
  ghc-options: -O2
  build-depends:
    base,
    wireform-flatbuffers,
    bytestring,
    text,
    vector,
    criterion >= 1.5 && < 1.7

test-suite wireform-flatbuffers-derive-test
  import: defaults
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  other-modules:
    Test.FlatBuffers.Builder
    Test.FlatBuffers.Builder.Reference
    Test.FlatBuffers.Derive
    Test.FlatBuffers.Derive.Types
    Test.FlatBuffers.Derive.Instances
    Test.FlatBuffers.View
  default-extensions:
    ScopedTypeVariables
    TemplateHaskell
  build-depends:
    base,
    wireform-flatbuffers,
    wireform-derive,
    bytestring,
    containers,
    hedgehog,
    sydtest-hedgehog,
    text,
    vector,
    sydtest