packages feed

yaml-streamly-0.12.2: yaml-streamly.cabal

cabal-version:      1.12
name:               yaml-streamly
version:            0.12.2
synopsis:           Support for parsing and rendering YAML documents.
description:        Rewrite of yaml in streamly
category:           Data
stability:          stable
homepage:           https://github.com/hasufell/streamly-yaml#readme
bug-reports:        https://github.com/hasufell/streamly-yaml
author:
  Michael Snoyman <michael@snoyman.com>, Anton Ageev <antage@gmail.com>,Kirill Simonov, Julian Ospald <hasufell@posteo.de>

maintainer:         Julian Ospald <hasufell@posteo.de>
license:            BSD3
license-file:       LICENSE
build-type:         Simple
extra-source-files:
  ./bench/resources/ghcup-0.0.6.yaml
  ./bench/resources/ghcup-0.0.6.yaml.decoded
  ./ChangeLog.md
  ./README.md
  ./test/json.yaml
  ./test/largest-string.yaml
  ./test/resources/accent/foo.yaml
  ./test/resources/bar.yaml
  ./test/resources/baz.yaml
  ./test/resources/empty.yaml
  ./test/resources/empty2.yaml
  ./test/resources/foo.yaml
  ./test/resources/loop/bar.yaml
  ./test/resources/loop/foo.yaml

source-repository head
  type:     git
  location: https://github.com/hasufell/streamly-yaml

flag no-examples
  description: don't build the examples
  manual:      False
  default:     True

flag no-exe
  description: don't install the yaml2json or json2yaml executables
  manual:      False
  default:     True

library
  exposed-modules:
    Data.Yaml
    Data.Yaml.Aeson
    Data.Yaml.Builder
    Data.Yaml.Config
    Data.Yaml.Include
    Data.Yaml.Internal
    Data.Yaml.Parser
    Data.Yaml.Pretty
    Data.Yaml.TH

  other-modules:    Paths_yaml_streamly
  hs-source-dirs:   src
  other-extensions: LambdaCase
  ghc-options:
    -Wall -Wcompat -fspecialise-aggressively -fexpose-all-unfoldings
    -fdicts-strict -O2 -fmax-worker-args=16 -fspec-constr-recursive=16

  build-depends:
      aeson                 >=0.11
    , attoparsec            >=0.11.3.0
    , base                  >=4.9.1    && <5
    , bytestring            >=0.9.1.4
    , containers
    , deepseq
    , directory
    , filepath
    , libyaml-streamly      >=0.2.1
    , mtl
    , safe-exceptions
    , scientific            >=0.3
    , streamly              >=0.8.0
    , template-haskell
    , text
    , transformers          >=0.1
    , unordered-containers
    , vector

  default-language: Haskell2010

executable examples
  main-is:          Main.hs
  other-modules:
    Config
    Paths_yaml_streamly
    Simple

  hs-source-dirs:   examples
  ghc-options:      -Wall -Wcompat
  build-depends:
      aeson       >=0.11
    , base        >=4.9.1   && <5
    , bytestring  >=0.9.1.4
    , text

  if flag(no-examples)
    buildable: False

  else
    build-depends:
        raw-strings-qq
      , yaml-streamly

  default-language: Haskell2010

executable json2yaml
  main-is:          json2yaml.hs
  other-modules:
    Common
    Paths_yaml_streamly

  hs-source-dirs:   exe
  ghc-options:      -Wall -Wcompat
  build-depends:
      aeson                 >=0.11
    , base                  >=4.9.1   && <5
    , bytestring            >=0.9.1.4
    , optparse-applicative
    , yaml-streamly

  if flag(no-exe)
    buildable: False

  default-language: Haskell2010

executable yaml2json
  main-is:          yaml2json.hs
  other-modules:
    Common
    Paths_yaml_streamly

  hs-source-dirs:   exe
  other-extensions:
    CPP
    LambdaCase
    NamedFieldPuns

  ghc-options:      -Wall -Wcompat
  build-depends:
      aeson                 >=0.11
    , base                  >=4.9.1   && <5
    , bytestring            >=0.9.1.4
    , optparse-applicative
    , yaml-streamly

  if flag(no-exe)
    buildable: False

  default-language: Haskell2010

test-suite spec
  type:               exitcode-stdio-1.0
  main-is:            Spec.hs
  other-modules:
    Data.Yaml.IncludeSpec
    Data.Yaml.THSpec
    Data.YamlSpec
    Paths_yaml_streamly

  hs-source-dirs:     test
  ghc-options:        -Wall -Wcompat -with-rtsopts=-K1K
  cpp-options:        -DTEST
  build-tool-depends: hspec-discover:hspec-discover -any
  build-depends:
      aeson                 >=0.11
    , base                  >=4.9.1   && <5
    , base-compat
    , bytestring            >=0.9.1.4
    , directory
    , hspec                 >=1.3
    , HUnit
    , libyaml-streamly      >=0.2.1
    , mockery
    , raw-strings-qq
    , scientific            >=0.3
    , streamly              >=0.8.0
    , temporary
    , text
    , unordered-containers
    , vector
    , yaml-streamly

  default-language:   Haskell2010

benchmark bench
  default-language: Haskell2010
  ghc-options:
    -Wall -Wcompat -fspecialise-aggressively -fexpose-all-unfoldings
    -fdicts-strict -O2 -fmax-worker-args=16 -fspec-constr-recursive=16

  build-depends:
      aeson
    , base
    , bytestring
    , containers
    , criterion
    , deepseq
    , directory
    , filepath
    , megaparsec
    , strict
    , temporary
    , text
    , versions
    , yaml-streamly

  type:             exitcode-stdio-1.0
  hs-source-dirs:   bench
  main-is:          Main.hs
  other-modules:    GHCupTypes