packages feed

avro-0.4.5.3: avro.cabal

cabal-version:  2.2

name:           avro
version:        0.4.5.3
synopsis:       Avro serialization support for Haskell
description:    Avro serialization and deserialization support for Haskell
category:       Data
homepage:       https://github.com/haskell-works/avro#readme
bug-reports:    https://github.com/haskell-works/avro/issues
author:         Thomas M. DuBuisson
maintainer:     Alexey Raga <alexey.raga@gmail.com>
license:        BSD-3-Clause
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md
    ChangeLog.md
    test/data/enums.avsc
    test/data/internal-bindings.avsc
    test/data/karma.avsc
    test/data/logical.avsc
    test/data/maybe.avsc
    test/data/record.avsc
    test/data/reused.avsc
    test/data/small.avsc
    test/data/unions-no-namespace.avsc
    test/data/unions.avsc
    test/data/enums-object.json
    test/data/namespace-inference.json
    test/data/null-namespace.json
    test/data/unions-object-a.json
    test/data/unions-object-b.json
    test/data/overlay/composite.avsc
    test/data/overlay/expectation.avsc
    test/data/overlay/primitives.avsc
    test/data/fixed-types.avsc

source-repository head
  type: git
  location: https://github.com/haskell-works/avro

flag dev
  description: Use development GHC flags
  manual: True
  default: False

flag templatehaskell
  description: Build Avro.Deriving, which uses Template Haskell.
  manual: False
  default: True

common base                     { build-depends: base                     >= 4          && < 5      }

common aeson                    { build-depends: aeson                                              }
common array                    { build-depends: array                                              }
common avro                     { build-depends: avro                                               }
common base16-bytestring        { build-depends: base16-bytestring                                  }
common bifunctors               { build-depends: bifunctors                                         }
common binary                   { build-depends: binary                                             }
common bytestring               { build-depends: bytestring                                         }
common containers               { build-depends: containers                                         }
common data-binary-ieee754      { build-depends: data-binary-ieee754                                }
common deepseq                  { build-depends: deepseq                                            }
common directory                { build-depends: directory                                          }
common extra                    { build-depends: extra                                              }
common fail                     { build-depends: fail                                               }
common gauge                    { build-depends: gauge                                              }
common hashable                 { build-depends: hashable                                           }
common hspec                    { build-depends: hspec                                              }
common lens                     { build-depends: lens                                               }
common lens-aeson               { build-depends: lens-aeson                                         }
common mtl                      { build-depends: mtl                                                }
common pure-zlib                { build-depends: pure-zlib                                          }
common QuickCheck               { build-depends: QuickCheck                                         }
common random                   { build-depends: random                                             }
common raw-strings-qq           { build-depends: raw-strings-qq                                     }
common scientific               { build-depends: scientific                                         }
common semigroups               { build-depends: semigroups                                         }
common tagged                   { build-depends: tagged                                             }
common text                     { build-depends: text                     >= 1.2.3      && < 1.3    }
common tf-random                { build-depends: tf-random                                          }
common transformers             { build-depends: transformers                                       }
common unordered-containers     { build-depends: unordered-containers                               }
common vector                   { build-depends: vector                                             }
common zlib                     { build-depends: zlib                                               }

common config
  default-language: Haskell2010
  if flag(templatehaskell)
    other-extensions: TemplateHaskell
    build-depends:
        template-haskell >=2.4
  if flag(dev)
    ghc-options: -Wall -Werror

library
  import:   base
          , aeson
          , array
          , base16-bytestring
          , bifunctors
          , binary
          , bytestring
          , containers
          , config
          , data-binary-ieee754
          , deepseq
          , fail
          , hashable
          , mtl
          , scientific
          , semigroups
          , tagged
          , text
          , tf-random
          , unordered-containers
          , vector
          , zlib
  exposed-modules:
      Data.Avro
      Data.Avro.Codec
      Data.Avro.Decode
      Data.Avro.Decode.Get
      Data.Avro.Decode.Lazy
      Data.Avro.Decode.Lazy.Convert
      Data.Avro.Decode.Lazy.Deconflict
      Data.Avro.Decode.Lazy.FromLazyAvro
      Data.Avro.Decode.Lazy.LazyValue
      Data.Avro.Decode.Strict
      Data.Avro.Decode.Strict.Internal
      Data.Avro.DecodeRaw
      Data.Avro.Deconflict
      Data.Avro.Deriving
      Data.Avro.Deriving.Lift
      Data.Avro.Deriving.NormSchema
      Data.Avro.EitherN
      Data.Avro.Encode
      Data.Avro.EncodeRaw
      Data.Avro.FromAvro
      Data.Avro.HasAvroSchema
      Data.Avro.JSON
      Data.Avro.Schema
      Data.Avro.ToAvro
      Data.Avro.Types
      Data.Avro.Types.Value
      Data.Avro.Zag
      Data.Avro.Zig
  hs-source-dirs: src
  other-extensions: OverloadedStrings

test-suite test
  import:   base
          , aeson
          , array
          , avro
          , base16-bytestring
          , bifunctors
          , binary
          , bytestring
          , containers
          , directory
          , extra
          , fail
          , hashable
          , hspec
          , lens
          , lens-aeson
          , mtl
          , pure-zlib
          , QuickCheck
          , raw-strings-qq
          , scientific
          , semigroups
          , tagged
          , text
          , tf-random
          , transformers
          , unordered-containers
          , vector
  type: exitcode-stdio-1.0
  ghc-options: -threaded
  default-language: Haskell2010
  main-is: Spec.hs
  build-tool-depends: hspec-discover:hspec-discover
  other-modules:
      Avro.Codec.ArraySpec
      Avro.Codec.BoolSpec
      Avro.Codec.CodecRawSpec
      Avro.Codec.DoubleSpec
      Avro.Codec.FloatSpec
      Avro.Codec.Int64Spec
      Avro.Codec.MaybeSpec
      Avro.Codec.NestedSpec
      Avro.Codec.TextSpec
      Avro.Codec.ZigZagSpec
      Avro.Decode.Lazy.ContainerSpec
      Avro.Decode.Lazy.RawBlocksSpec
      Avro.Decode.Lazy.RawValuesSpec
      Avro.Decode.Lazy.ValuesSpec
      Avro.Deconflict.A.Reader
      Avro.Deconflict.A.Writer
      Avro.Deconflict.B.Reader
      Avro.Deconflict.B.Writer
      Avro.Deconflict.C.Reader
      Avro.Deconflict.C.Writer
      Avro.DeconflictSpec
      Avro.DefaultsSpec
      Avro.EncodeRawSpec
      Avro.JSONSpec
      Avro.NamespaceSpec
      Avro.NormSchemaSpec
      Avro.ReuseFixedSpec
      Avro.SchemaSpec
      Avro.THEncodeContainerSpec
      Avro.THEnumSpec
      Avro.THLogicalTypeSpec
      Avro.THReusedSpec
      Avro.THSimpleSpec
      Avro.THUnionSpec
      Avro.ToAvroSpec
      DecodeContainer
      Example1
      Paths_avro
  autogen-modules:    Paths_avro
  hs-source-dirs:     test


benchmark bench-time
  import:   base, config
          , avro
          , aeson
          , bytestring
          , containers
          , gauge
          , hashable
          , mtl
          , random
          , raw-strings-qq
          , text
          , transformers
          , unordered-containers
          , vector
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
    Bench.Deconflict
    Bench.Deconflict.Reader
    Bench.Deconflict.Writer
    Bench.Time
  hs-source-dirs: bench