cabal-version:       2.4
name:                PyF
version:             0.8.0.1
synopsis: Quasiquotations for a python like interpolated string formater
description: Quasiquotations for a python like interpolated string formater.
license:             BSD-3-Clause
license-file:        LICENSE
author:              Guillaume Bouchard
maintainer:          guillaum.bouchard@gmail.com
category:            Text
build-type:          Simple
extra-source-files:  ChangeLog.md Readme.md test/failureCases/*.hs test/golden/*.golden

library
  exposed-modules:
                  PyF
                  PyF.Class
                  PyF.Internal.PythonSyntax
                  PyF.Internal.QQ
                  PyF.Internal.Extensions
                  PyF.Formatters

  build-depends:       base >= 4.9 && < 5.0
                     , template-haskell >= 2.11 && < 2.15

                     -- Parsec and some transitive deps
                     , megaparsec >= 7.0 && < 8.0
                     , text >= 0.11 && < 1.3
                     , containers >= 0.5 && < 0.7

                     -- haskell-src-meta < 0.8.2 does not correctly handle TypeApplication
                     -- That's not critical for PyF, so you can ignore this bound if needed
                     , haskell-src-meta >= 0.8.2
                     , haskell-src-exts
  hs-source-dirs: src
  ghc-options: -Wall
  default-language:    Haskell2010

test-suite pyf-test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  other-modules: SpecUtils SpecCustomDelimiters
  build-tools:  python3
  build-depends:       base, PyF, hspec, text, template-haskell, process
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010

test-suite pyf-overloaded
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             SpecOverloaded.hs
  build-depends:       base, PyF, hspec, text, bytestring
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010

test-suite pyf-failure
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             SpecFail.hs
  build-tools:  python3
  build-depends:       base, hspec, text, template-haskell, process, hspec, temporary, hashable, filepath, deepseq, directory, HUnit
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010

source-repository head
  type:     git
  location: http://github.com/guibou/PyF