packages feed

proto3-wire-1.4.2: proto3-wire.cabal

cabal-version: >=1.10

name:         proto3-wire
version:      1.4.2
synopsis:     A low-level implementation of the Protocol Buffers (version 3) wire format
license:      Apache-2.0
license-file: LICENSE
author:       Arista Networks <opensource@awakesecurity.com>
maintainer:   Arista Networks <opensource@awakesecurity.com>
copyright:    2017 Awake Security, 2021 Arista Networks
category:     Codec
build-type:   Simple

extra-source-files:
  CHANGELOG.md
  README.md

source-repository head
  type:     git
  location: https://github.com/awakesecurity/proto3-wire

library
  default-language: Haskell2010
  hs-source-dirs:   src

  ghc-options:
    -O2
    -fobject-code
    -Wall

  -- Add any other architectures on which an unaligned poke of a multibyte
  -- value would succeed and be faster than writing the bytes one by one.
  if arch(x86_64) || arch(i386)
    cpp-options: -DUNALIGNED_POKES

  build-depends:
      base >=4.12 && <=5.0
    , bytestring >=0.10.6.0 && <0.12.0
    , cereal >= 0.5.1 && <0.6
    , containers >=0.5 && < 0.7
    , deepseq >=1.4 && <1.6
    , hashable <1.5
    , parameterized >=0.5.0.0 && <1
    , primitive >=0.6.4 && <0.9
    , safe ==0.3.*
    , template-haskell >= 2.15.0 && < 2.22
    , text >= 0.2 && <2.1
    , text-short ==0.1.*
    , transformers >=0.5.6.2 && <0.6
    , unordered-containers >= 0.1.0.0 && <0.3
    , vector >=0.12.0.2 && <0.14
    , QuickCheck >=2.8 && <3.0
    , word-compat >= 0.0.6

  exposed-modules:
    Proto3.Wire
    Proto3.Wire.Builder
    Proto3.Wire.Class
    Proto3.Wire.Decode
    Proto3.Wire.Encode
    Proto3.Wire.Reverse
    Proto3.Wire.Reverse.Prim
    Proto3.Wire.Tutorial
    Proto3.Wire.Types
    Proto3.Wire.Reverse.Internal

  other-modules:
    Proto3.Wire.Reverse.Width

test-suite tests
  type:             exitcode-stdio-1.0
  main-is:          Main.hs
  hs-source-dirs:   test
  default-language: Haskell2010

  build-depends:
      base >=4.9 && <=5.0
    , bytestring >=0.10.6.0 && <0.12.0
    , cereal >= 0.5.1 && <0.6
    , doctest >= 0.7.0 && <0.21.0
    , proto3-wire
    , QuickCheck >=2.8 && <3.0
    , tasty >= 0.11 && <1.5
    , tasty-hunit >= 0.9 && <0.11
    , tasty-quickcheck >= 0.8.4 && <0.11
    , text >= 0.2 && <2.1
    , text-short ==0.1.*
    , transformers >=0.5.6.2 && <0.6
    , vector >=0.12.0.2 && <0.14

benchmark bench
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  hs-source-dirs:   bench
  main-is:          Main.hs

  ghc-options:
    -O2
    -Wall

  build-depends:
      base >= 4 && < 5
    , bytestring
    , criterion
    , proto3-wire
    , random