packages feed

pinchot-0.18.2.0: pinchot.cabal

-- This Cabal file generated using the Cartel library.
-- Cartel is available at:
-- http://www.github.com/massysett/cartel
--
-- Script name used to generate: genCabal.hs
-- Generated on: 2016-07-07 14:15:57.679603 EDT
-- Cartel library version: 0.16.0.0

name: pinchot
version: 0.18.2.0
cabal-version: >= 1.14
license: BSD3
license-file: LICENSE
build-type: Simple
copyright: 2015-2016 Omari Norman
author: Omari Norman
maintainer: omari@smileystation.com
stability: Experimental
homepage: http://www.github.com/massysett/pinchot
bug-reports: http://www.github.com/massysett/pinchot/issues
synopsis: Write grammars, not parsers
description:
  Pinchot provides a simple language that you use to write a Haskell
  value that describes a context-free grammar.  Using this value, you can
  automatically generate data types corresponding to the grammar,
  as well as an Earley parser to parse strings in that grammar.
  .
  For more documentation, see the Haddocks for the main Pinchot module.
category: Development
extra-source-files:
  "newTemplateHaskell/Pinchot/Internal/TemplateHaskellShim.hs"
  "oldTemplateHaskell/Pinchot/Internal/TemplateHaskellShim.hs"
  README

Library
  exposed-modules:
    Pinchot
    Pinchot.Earley
    Pinchot.Examples
    Pinchot.Examples.AllRulesRecord
    Pinchot.Examples.Earley
    Pinchot.Examples.Newman
    Pinchot.Examples.Postal
    Pinchot.Examples.RulesToOptics
    Pinchot.Examples.SyntaxTrees
    Pinchot.Examples.Terminalize
    Pinchot.Intervals
    Pinchot.Locator
    Pinchot.NonEmpty
    Pinchot.RecursiveDo
    Pinchot.Rules
    Pinchot.SyntaxTree
    Pinchot.SyntaxTree.Instancer
    Pinchot.SyntaxTree.Optics
    Pinchot.SyntaxTree.Wrappers
    Pinchot.Terminalize
    Pinchot.Types
  build-depends:
      base >= 4.8.0.0 && < 5
    , containers >= 0.5.6.2
    , transformers >= 0.4.2.0
    , Earley >= 0.11.0.1
    , lens >= 4.13
    , ListLike >= 4.2.1
    , semigroups >= 0.18.1
  if flag(oldTemplateHaskell)
    build-depends:
        template-haskell >= 2.10 && < 2.11
    hs-source-dirs:
      oldTemplateHaskell
  else
    build-depends:
        template-haskell >= 2.11
    hs-source-dirs:
      newTemplateHaskell
  other-modules:
    Pinchot.Internal.TemplateHaskellShim
  other-extensions:
    TemplateHaskell
  default-language: Haskell2010
  hs-source-dirs:
    lib

source-repository head
  type: git
  location: https://github.com/massysett/penny.git

Executable newman
  main-is: newman.hs
  if flag(executables)
    buildable: True
    other-modules:
      Pinchot
      Pinchot.Earley
      Pinchot.Examples
      Pinchot.Examples.AllRulesRecord
      Pinchot.Examples.Earley
      Pinchot.Examples.Newman
      Pinchot.Examples.Postal
      Pinchot.Examples.RulesToOptics
      Pinchot.Examples.SyntaxTrees
      Pinchot.Examples.Terminalize
      Pinchot.Intervals
      Pinchot.Locator
      Pinchot.NonEmpty
      Pinchot.RecursiveDo
      Pinchot.Rules
      Pinchot.SyntaxTree
      Pinchot.SyntaxTree.Instancer
      Pinchot.SyntaxTree.Optics
      Pinchot.SyntaxTree.Wrappers
      Pinchot.Terminalize
      Pinchot.Types
    hs-source-dirs:
      exe
    build-depends:
        base >= 4.8.0.0 && < 5
      , containers >= 0.5.6.2
      , transformers >= 0.4.2.0
      , Earley >= 0.11.0.1
      , lens >= 4.13
      , ListLike >= 4.2.1
      , semigroups >= 0.18.1
    if flag(oldTemplateHaskell)
      build-depends:
          template-haskell >= 2.10 && < 2.11
      hs-source-dirs:
        oldTemplateHaskell
    else
      build-depends:
          template-haskell >= 2.11
      hs-source-dirs:
        newTemplateHaskell
    other-modules:
      Pinchot.Internal.TemplateHaskellShim
    other-extensions:
      TemplateHaskell
    default-language: Haskell2010
    hs-source-dirs:
      lib
  else
    buildable: False

Flag oldTemplateHaskell
  description: Use version of Template Haskell before 2.11
  default: False
  manual: False

Flag executables
  description: Build executables
  default: False
  manual: True