name:            yaml
version:         0.8.15.1
license:         BSD3
license-file:    LICENSE
author:          Michael Snoyman <michael@snoyman.com>, Anton Ageev <antage@gmail.com>,Kirill Simonov 
maintainer:      Michael Snoyman <michael@snoyman.com>
synopsis:        Support for parsing and rendering YAML documents.
description:     Please see the README.md file.
category:        Web
stability:       stable
cabal-version:   >= 1.8
build-type:      Simple
homepage:        http://github.com/snoyberg/yaml/
extra-source-files: c/helper.h
                    libyaml/yaml_private.h
                    libyaml/yaml.h
                    libyaml/LICENSE
                    test/largest-string.yaml
                    test/json.yaml
                    test/resources/foo.yaml
                    test/resources/bar.yaml
                    test/resources/baz.yaml
                    test/resources/loop/foo.yaml
                    test/resources/loop/bar.yaml
                    README.md
                    ChangeLog.md

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

flag system-libyaml
  description: Use the system-wide libyaml instead of the bundled copy
  default: False

flag no-unicode
  description: Don't enable unicode output. Instead, unicode characters will be escaped.
  default: False

library
    build-depends:   base >= 4 && < 5
                   , transformers >= 0.1
                   , bytestring >= 0.9.1.4
                   , conduit >= 1.1.0 && < 1.3
                   , resourcet >= 0.3 && < 1.2
                   , aeson >= 0.5
                   , containers
                   , unordered-containers
                   , vector
                   , text
                   , attoparsec >= 0.11.3.0
                   , scientific
                   , filepath
                   , directory
                   , enclosed-exceptions
    exposed-modules: Text.Libyaml
                     Data.Yaml
                     Data.Yaml.Aeson
                     Data.Yaml.Builder
                     Data.Yaml.Pretty
                     Data.Yaml.Parser
                     Data.Yaml.Include
    other-modules:
                     Data.Yaml.Internal
    ghc-options:     -Wall
    c-sources:       c/helper.c
    include-dirs:    c
    if flag(no-unicode)
            cpp-options:     -D__NO_UNICODE__
    if flag(system-libyaml)
            pkgconfig-depends: yaml-0.1
    else
            c-sources:       libyaml/api.c,
                             libyaml/dumper.c,
                             libyaml/emitter.c,
                             libyaml/loader.c,
                             libyaml/parser.c,
                             libyaml/reader.c,
                             libyaml/scanner.c,
                             libyaml/writer.c
            include-dirs:    libyaml

executable yaml2json
    if flag(no-exe)
      Buildable: False
    else
      Buildable: True

    hs-source-dirs: exe
    main-is: yaml2json.hs
    build-depends: base >= 4 && < 5
                 , yaml
                 , bytestring >= 0.9.1.4
                 , aeson >= 0.5

executable json2yaml
    if flag(no-exe)
      Buildable: False
    else
      Buildable: True

    hs-source-dirs: exe
    main-is: json2yaml.hs
    build-depends: base >= 4 && < 5
                 , yaml
                 , bytestring >= 0.9.1.4
                 , aeson >= 0.5


test-suite spec
    type: exitcode-stdio-1.0
    hs-source-dirs:  test
    main-is:         Spec.hs
    other-modules:   Data.YamlSpec
                     Data.Yaml.IncludeSpec
    cpp-options:     -DTEST
    build-depends:   hspec >= 1.3
                   , HUnit
                   , base >= 4 && < 5
                   , transformers >= 0.1
                   , bytestring >= 0.9.1.4
                   , conduit
                   , yaml
                   , text
                   , aeson
                   , unordered-containers
                   , vector
                   , resourcet
                   , aeson-qq
                   , mockery
                   , base-compat
    ghc-options:     -Wall

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