name:            pandoc
version:         2.0
cabal-version:   >= 1.10
build-type:      Custom
license:         GPL
license-file:    COPYING.md
copyright:       (c) 2006-2017 John MacFarlane
author:          John MacFarlane <jgm@berkeley.edu>
maintainer:      John MacFarlane <jgm@berkeley.edu>
bug-reports:     https://github.com/jgm/pandoc/issues
stability:       alpha
homepage:        http://pandoc.org
category:        Text
tested-with:     GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2
synopsis:        Conversion between markup formats
description:     Pandoc is a Haskell library for converting from one markup
                 format to another, and a command-line tool that uses
                 this library. It can read several dialects of Markdown and
                 (subsets of) HTML, reStructuredText, LaTeX, DocBook,
                 MediaWiki markup, TWiki markup, TikiWiki markup, Haddock
                 markup, OPML, Emacs Org-Mode, txt2tags, Muse, Vimwiki, Word
                 Docx, ODT, and Textile, and it can write Markdown,
                 reStructuredText, XHTML, HTML 5, LaTeX, ConTeXt, DocBook,
                 JATS, OPML, TEI, OpenDocument, ODT, Word docx, RTF, MediaWiki,
                 DokuWiki, ZimWiki, Textile, groff man, groff ms, plain text,
                 Emacs Org-Mode, AsciiDoc, Haddock markup, EPUB (v2 and v3),
                 FictionBook2, InDesign ICML, Muse, and several kinds of
                 HTML/javascript slide shows (S5, Slidy, Slideous, DZSlides,
                 reveal.js).
                 .
                 In contrast to most existing tools for converting Markdown
                 to HTML, pandoc has a modular design: it consists of a set of
                 readers, which parse text in a given format and produce a
                 native representation of the document, and a set of writers,
                 which convert this native representation into a target
                 format. Thus, adding an input or output format requires
                 only adding a reader or writer.
data-files:
                 -- templates
                 data/templates/default.html4
                 data/templates/default.html5
                 data/templates/default.docbook4
                 data/templates/default.docbook5
                 data/templates/default.jats
                 data/templates/default.tei
                 data/templates/default.opendocument
                 data/templates/default.icml
                 data/templates/default.opml
                 data/templates/default.latex
                 data/templates/default.context
                 data/templates/default.texinfo
                 data/templates/default.man
                 data/templates/default.ms
                 data/templates/default.markdown
                 data/templates/default.muse
                 data/templates/default.commonmark
                 data/templates/default.rst
                 data/templates/default.plain
                 data/templates/default.mediawiki
                 data/templates/default.dokuwiki
                 data/templates/default.zimwiki
                 data/templates/default.rtf
                 data/templates/default.s5
                 data/templates/default.slidy
                 data/templates/default.slideous
                 data/templates/default.revealjs
                 data/templates/default.dzslides
                 data/templates/default.asciidoc
                 data/templates/default.haddock
                 data/templates/default.textile
                 data/templates/default.org
                 data/templates/default.epub2
                 data/templates/default.epub3
                 -- translations
                 data/translations/*.yaml
                 -- source files for reference.docx
                 data/docx/[Content_Types].xml
                 data/docx/_rels/.rels
                 data/docx/docProps/app.xml
                 data/docx/docProps/core.xml
                 data/docx/word/document.xml
                 data/docx/word/fontTable.xml
                 data/docx/word/footnotes.xml
                 data/docx/word/numbering.xml
                 data/docx/word/settings.xml
                 data/docx/word/webSettings.xml
                 data/docx/word/styles.xml
                 data/docx/word/_rels/document.xml.rels
                 data/docx/word/_rels/footnotes.xml.rels
                 data/docx/word/theme/theme1.xml
                 -- source files for reference.odt
                 data/odt/mimetype
                 data/odt/manifest.rdf
                 data/odt/styles.xml
                 data/odt/content.xml
                 data/odt/meta.xml
                 data/odt/settings.xml
                 data/odt/Configurations2/accelerator/current.xml
                 data/odt/Thumbnails/thumbnail.png
                 data/odt/META-INF/manifest.xml
                  -- stylesheet for EPUB writer
                 data/epub.css
                 -- data for LaTeXMathML writer
                 data/LaTeXMathML.js
                 -- data for dzslides writer
                 data/dzslides/template.html
                 -- default abbreviations file
                 data/abbreviations
                 -- sample lua custom writer
                 data/sample.lua
                 -- pandoc lua module
                 data/pandoc.lua
                 -- sample highlighting theme
                 data/default.theme
                 -- bash completion template
                 data/bash_completion.tpl
                 -- jats csl
                 data/jats.csl
                 -- documentation
                 MANUAL.txt, COPYRIGHT
extra-source-files:
                 -- documentation
                 INSTALL.md, BUGS, README.md, CONTRIBUTING.md, changelog
                 man/pandoc.1
                 -- stack build plan
                 stack.yaml
                 -- files needed to build man page
                 man/capitalizeHeaders.hs
                 man/removeNotes.hs
                 man/removeLinks.hs
                 man/pandoc.1.template
                 -- trypandoc
                 trypandoc/Makefile
                 trypandoc/index.html
                 -- tests
                 test/bodybg.gif
                 test/*.native
                 test/command/*.md
                 test/command/3533-rst-csv-tables.csv
                 test/command/3880.txt
                 test/command/abbrevs
                 test/command/SVG_logo-without-xml-declaration.svg
                 test/command/SVG_logo.svg
                 test/command/corrupt.svg
                 test/command/inkscape-cube.svg
                 test/command/sub-file-chapter-1.tex
                 test/command/sub-file-chapter-2.tex
                 test/command/3510-subdoc.org
                 test/command/3510-export.latex
                 test/command/3510-src.hs
                 test/docbook-reader.docbook
                 test/docbook-xref.docbook
                 test/html-reader.html
                 test/opml-reader.opml
                 test/haddock-reader.haddock
                 test/insert
                 test/lalune.jpg
                 test/movie.jpg
                 test/media/rId25.jpg
                 test/media/rId26.jpg
                 test/media/rId27.jpg
                 test/latex-reader.latex
                 test/textile-reader.textile
                 test/markdown-reader-more.txt
                 test/markdown-citations.txt
                 test/textile-reader.textile
                 test/mediawiki-reader.wiki
                 test/vimwiki-reader.wiki
                 test/rst-reader.rst
                 test/s5-basic.html
                 test/s5-fancy.html
                 test/s5-fragment.html
                 test/s5-inserts.html
                 test/tables.context
                 test/tables.docbook4
                 test/tables.docbook5
                 test/tables.jats
                 test/tables.dokuwiki
                 test/tables.zimwiki
                 test/tables.icml
                 test/tables.html4
                 test/tables.html5
                 test/tables.latex
                 test/tables.man
                 test/tables.ms
                 test/tables.plain
                 test/tables.markdown
                 test/tables.mediawiki
                 test/tables.tei
                 test/tables.textile
                 test/tables.opendocument
                 test/tables.org
                 test/tables.asciidoc
                 test/tables.haddock
                 test/tables.texinfo
                 test/tables.rst
                 test/tables.rtf
                 test/tables.txt
                 test/tables.fb2
                 test/tables.muse
                 test/testsuite.txt
                 test/writer.latex
                 test/writer.context
                 test/writer.docbook4
                 test/writer.docbook5
                 test/writer.jats
                 test/writer.html4
                 test/writer.html5
                 test/writer.man
                 test/writer.ms
                 test/writer.markdown
                 test/writer.plain
                 test/writer.mediawiki
                 test/writer.textile
                 test/writer.opendocument
                 test/writer.org
                 test/writer.asciidoc
                 test/writer.haddock
                 test/writer.rst
                 test/writer.icml
                 test/writer.rtf
                 test/writer.tei
                 test/writer.texinfo
                 test/writer.fb2
                 test/writer.opml
                 test/writer.dokuwiki
                 test/writer.zimwiki
                 test/writer.muse
                 test/writers-lang-and-dir.latex
                 test/writers-lang-and-dir.context
                 test/dokuwiki_inline_formatting.dokuwiki
                 test/lhs-test.markdown
                 test/lhs-test.markdown+lhs
                 test/lhs-test.rst
                 test/lhs-test.rst+lhs
                 test/lhs-test.latex
                 test/lhs-test.latex+lhs
                 test/lhs-test.html
                 test/lhs-test.html+lhs
                 test/lhs-test.fragment.html+lhs
                 test/pipe-tables.txt
                 test/dokuwiki_external_images.dokuwiki
                 test/dokuwiki_external_images.native
                 test/dokuwiki_multiblock_table.dokuwiki
                 test/dokuwiki_multiblock_table.native
                 test/fb2/*.markdown
                 test/fb2/*.fb2
                 test/fb2/images-embedded.html
                 test/fb2/images-embedded.fb2
                 test/fb2/test-small.png
                 test/fb2/test.jpg
                 test/docx/*.docx
                 test/docx/*.native
                 test/epub/*.epub
                 test/epub/*.native
                 test/txt2tags.t2t
                 test/twiki-reader.twiki
                 test/tikiwiki-reader.tikiwiki
                 test/odt/odt/*.odt
                 test/odt/markdown/*.md
                 test/odt/native/*.native
                 test/lua/*.lua
source-repository head
  type:          git
  location:      git://github.com/jgm/pandoc.git

flag static
  Description:   Use static linking for pandoc executable.
  Default:       False

flag embed_data_files
  Description:   Embed data files in binary for relocatable executable.
  Default:       False

flag trypandoc
  Description:   Build trypandoc cgi executable.
  Default:       False

flag weigh-pandoc
  Description:   Build weigh-pandoc to measure memory usage.
  Default:       False

flag network-uri
  Description:   Get Network.URI from the network-uri package
  Default:       True

flag old-locale
  Description:   Use old-locale and time < 1.5
  Default:       False

custom-setup
  setup-depends: base, Cabal

library
  build-depends: base >= 4.7 && < 5,
                 syb >= 0.1 && < 0.8,
                 containers >= 0.4.2.1 && < 0.6,
                 unordered-containers >= 0.2 && < 0.3,
                 parsec >= 3.1 && < 3.2,
                 mtl >= 2.2 && < 2.3,
                 filepath >= 1.1 && < 1.5,
                 process >= 1.2.3 && < 1.7,
                 directory >= 1 && < 1.4,
                 bytestring >= 0.9 && < 0.11,
                 text >= 0.11 && < 1.3,
                 safe >= 0.3 && < 0.4,
                 zip-archive >= 0.2.3.4 && < 0.4,
                 HTTP >= 4000.0.5 && < 4000.4,
                 texmath >= 0.9.4.1 && < 0.10,
                 xml >= 1.3.12 && < 1.4,
                 split >= 0.2 && < 0.3,
                 random >= 1 && < 1.2,
                 pandoc-types >= 1.17.1 && < 1.18,
                 aeson >= 0.7 && < 1.3,
                 aeson-pretty >= 0.8 && < 0.9,
                 tagsoup >= 0.13.7 && < 0.15,
                 base64-bytestring >= 0.1 && < 1.1,
                 zlib >= 0.5 && < 0.7,
                 skylighting >= 0.4 && <0.5,
                 data-default >= 0.4 && < 0.8,
                 temporary >= 1.1 && < 1.3,
                 blaze-html >= 0.5 && < 0.10,
                 blaze-markup >= 0.5.1 && < 0.9,
                 yaml >= 0.8.8.2 && < 0.9,
                 scientific >= 0.2 && < 0.4,
                 vector >= 0.10 && < 0.13,
                 hslua >= 0.8 && < 0.9,
                 binary >= 0.5 && < 0.9,
                 SHA >= 1.6 && < 1.7,
                 haddock-library >= 1.1 && < 1.5,
                 deepseq >= 1.3 && < 1.5,
                 JuicyPixels >= 3.1.6.1 && < 3.3,
                 Glob >= 0.7 && < 0.9,
                 cmark-gfm >= 0.1.1 && < 0.2,
                 doctemplates >= 0.1 && < 0.2,
                 http-client >= 0.4.30 && < 0.6,
                 http-client-tls >= 0.2.4 && < 0.4,
                 http-types >= 0.8 && < 0.10,
                 csv-conduit >= 0.6 && < 0.7
  if os(windows)
    cpp-options:      -D_WINDOWS
  else
    build-depends:  unix >= 2.4 && < 2.8
  if flag(old-locale)
     build-depends: old-locale >= 1 && < 1.1,
                    time >= 1.2 && < 1.5
  else
     build-depends: time >= 1.5 && < 1.9
  if flag(network-uri)
     build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6
  else
     build-depends: network >= 2 && < 2.6
  if flag(embed_data_files)
     cpp-options:   -DEMBED_DATA_FILES
     build-depends: file-embed >= 0.0 && < 0.1
     other-modules: Text.Pandoc.Data
  if os(windows)
    cpp-options:      -D_WINDOWS
  ghc-options:   -Wall -fno-warn-unused-do-bind
  ghc-prof-options: -fprof-auto-exported
  default-language: Haskell98
  other-extensions:   PatternGuards, OverloadedStrings,
                      ScopedTypeVariables, GeneralizedNewtypeDeriving,
                      RelaxedPolyRec, DeriveDataTypeable, TypeSynonymInstances,
                      FlexibleInstances
  hs-source-dirs:  src
  if impl(ghc < 7.10)
     hs-source-dirs: prelude
     other-modules:  Prelude

  exposed-modules: Text.Pandoc,
                   Text.Pandoc.App,
                   Text.Pandoc.Options,
                   Text.Pandoc.Extensions,
                   Text.Pandoc.Pretty,
                   Text.Pandoc.Shared,
                   Text.Pandoc.MediaBag,
                   Text.Pandoc.Error,
                   Text.Pandoc.Readers,
                   Text.Pandoc.Readers.HTML,
                   Text.Pandoc.Readers.LaTeX,
                   Text.Pandoc.Readers.LaTeX.Types,
                   Text.Pandoc.Readers.Markdown,
                   Text.Pandoc.Readers.CommonMark,
                   Text.Pandoc.Readers.MediaWiki,
                   Text.Pandoc.Readers.Vimwiki,
                   Text.Pandoc.Readers.RST,
                   Text.Pandoc.Readers.Org,
                   Text.Pandoc.Readers.DocBook,
                   Text.Pandoc.Readers.OPML,
                   Text.Pandoc.Readers.Textile,
                   Text.Pandoc.Readers.Native,
                   Text.Pandoc.Readers.Haddock,
                   Text.Pandoc.Readers.TWiki,
                   Text.Pandoc.Readers.TikiWiki,
                   Text.Pandoc.Readers.Txt2Tags,
                   Text.Pandoc.Readers.Docx,
                   Text.Pandoc.Readers.Odt,
                   Text.Pandoc.Readers.EPUB,
                   Text.Pandoc.Readers.Muse,
                   Text.Pandoc.Writers,
                   Text.Pandoc.Writers.Native,
                   Text.Pandoc.Writers.Docbook,
                   Text.Pandoc.Writers.JATS,
                   Text.Pandoc.Writers.OPML,
                   Text.Pandoc.Writers.HTML,
                   Text.Pandoc.Writers.ICML,
                   Text.Pandoc.Writers.LaTeX,
                   Text.Pandoc.Writers.ConTeXt,
                   Text.Pandoc.Writers.OpenDocument,
                   Text.Pandoc.Writers.Texinfo,
                   Text.Pandoc.Writers.Man,
                   Text.Pandoc.Writers.Ms,
                   Text.Pandoc.Writers.Markdown,
                   Text.Pandoc.Writers.CommonMark,
                   Text.Pandoc.Writers.Haddock,
                   Text.Pandoc.Writers.RST,
                   Text.Pandoc.Writers.Org,
                   Text.Pandoc.Writers.AsciiDoc,
                   Text.Pandoc.Writers.Custom,
                   Text.Pandoc.Writers.Textile,
                   Text.Pandoc.Writers.MediaWiki,
                   Text.Pandoc.Writers.DokuWiki,
                   Text.Pandoc.Writers.ZimWiki,
                   Text.Pandoc.Writers.RTF,
                   Text.Pandoc.Writers.ODT,
                   Text.Pandoc.Writers.Docx,
                   Text.Pandoc.Writers.EPUB,
                   Text.Pandoc.Writers.FB2,
                   Text.Pandoc.Writers.TEI,
                   Text.Pandoc.Writers.Muse,
                   Text.Pandoc.Writers.Math,
                   Text.Pandoc.Writers.Shared,
                   Text.Pandoc.Lua,
                   Text.Pandoc.PDF,
                   Text.Pandoc.UTF8,
                   Text.Pandoc.Templates,
                   Text.Pandoc.XML,
                   Text.Pandoc.SelfContained,
                   Text.Pandoc.Highlighting,
                   Text.Pandoc.Logging,
                   Text.Pandoc.Process,
                   Text.Pandoc.MIME,
                   Text.Pandoc.Parsing,
                   Text.Pandoc.Asciify,
                   Text.Pandoc.Emoji,
                   Text.Pandoc.ImageSize,
                   Text.Pandoc.Class
  other-modules:   Text.Pandoc.Readers.Docx.Lists,
                   Text.Pandoc.Readers.Docx.Combine,
                   Text.Pandoc.Readers.Docx.Parse,
                   Text.Pandoc.Readers.Docx.Util,
                   Text.Pandoc.Readers.Docx.StyleMap,
                   Text.Pandoc.Readers.Odt.Base,
                   Text.Pandoc.Readers.Odt.Namespaces,
                   Text.Pandoc.Readers.Odt.StyleReader,
                   Text.Pandoc.Readers.Odt.ContentReader,
                   Text.Pandoc.Readers.Odt.Generic.Fallible,
                   Text.Pandoc.Readers.Odt.Generic.SetMap,
                   Text.Pandoc.Readers.Odt.Generic.Utils,
                   Text.Pandoc.Readers.Odt.Generic.Namespaces,
                   Text.Pandoc.Readers.Odt.Generic.XMLConverter,
                   Text.Pandoc.Readers.Odt.Arrows.State,
                   Text.Pandoc.Readers.Odt.Arrows.Utils,
                   Text.Pandoc.Readers.Org.BlockStarts,
                   Text.Pandoc.Readers.Org.Blocks,
                   Text.Pandoc.Readers.Org.DocumentTree,
                   Text.Pandoc.Readers.Org.ExportSettings,
                   Text.Pandoc.Readers.Org.Inlines,
                   Text.Pandoc.Readers.Org.Meta,
                   Text.Pandoc.Readers.Org.ParserState,
                   Text.Pandoc.Readers.Org.Parsing,
                   Text.Pandoc.Readers.Org.Shared,
                   Text.Pandoc.Lua.PandocModule,
                   Text.Pandoc.Lua.StackInstances,
                   Text.Pandoc.Lua.Util,
                   Text.Pandoc.CSS,
                   Text.Pandoc.CSV,
                   Text.Pandoc.UUID,
                   Text.Pandoc.BCP47,
                   Text.Pandoc.Translations,
                   Text.Pandoc.Slides,
                   Text.Pandoc.Compat.Time,
                   Paths_pandoc

  buildable:       True

executable pandoc
  build-depends: pandoc, base >= 4.7 && < 5
  ghc-options:   -rtsopts -with-rtsopts=-K16m -Wall -fno-warn-unused-do-bind
  ghc-prof-options: -fprof-auto-exported -rtsopts -with-rtsopts=-K16m
  if flag(static)
    ld-options:     -static
  default-language: Haskell98
  other-extensions: PatternGuards, OverloadedStrings,
                    ScopedTypeVariables, GeneralizedNewtypeDeriving,
                    RelaxedPolyRec, DeriveDataTypeable, TypeSynonymInstances,
                    FlexibleInstances
  hs-source-dirs:  .
  if impl(ghc < 7.10)
     hs-source-dirs: prelude
     other-modules:  Prelude
  main-is:         pandoc.hs
  buildable:       True
  other-modules:   Paths_pandoc

executable trypandoc
  main-is:         trypandoc.hs
  hs-source-dirs:  trypandoc
  if impl(ghc < 7.10)
     hs-source-dirs: prelude
     other-modules:  Prelude
  default-language: Haskell2010
  if flag(trypandoc)
    build-depends: base, aeson, pandoc,
                   text, wai-extra, wai >= 0.3, http-types
    buildable:     True
  else
    buildable:     False

executable weigh-pandoc
  main-is:         weigh-pandoc.hs
  hs-source-dirs:  benchmark
  if impl(ghc < 7.10)
     hs-source-dirs: prelude
     other-modules:  Prelude
  if flag(weigh-pandoc)
     build-depends:   pandoc,
                      base >= 4.2 && < 5,
                      text,
                      weigh >= 0.0 && < 0.1,
                      mtl >= 2.2 && < 2.3
     buildable:       True
  else
    buildable:     False
  ghc-options:   -rtsopts -Wall -fno-warn-unused-do-bind
  default-language: Haskell98

test-suite test-pandoc
  type:           exitcode-stdio-1.0
  main-is:        test-pandoc.hs
  hs-source-dirs: test
  if impl(ghc < 7.10)
     hs-source-dirs: prelude
     other-modules:  Prelude
  build-depends:  base >= 4.2 && < 5,
                  syb >= 0.1 && < 0.8,
                  pandoc,
                  pandoc-types >= 1.17.1 && < 1.18,
                  bytestring >= 0.9 && < 0.11,
                  text >= 0.11 && < 1.3,
                  directory >= 1 && < 1.4,
                  filepath >= 1.1 && < 1.5,
                  hslua >= 0.8 && < 0.9,
                  process >= 1.2.3 && < 1.7,
                  skylighting >= 0.4 && < 0.5,
                  temporary >= 1.1 && < 1.3,
                  Diff >= 0.2 && < 0.4,
                  tasty >= 0.11 && < 0.12,
                  tasty-hunit >= 0.9 && < 0.10,
                  tasty-quickcheck >= 0.8 && < 0.10,
                  tasty-golden >= 2.3 && < 2.4,
                  QuickCheck >= 2.4 && < 2.11,
                  containers >= 0.4.2.1 && < 0.6,
                  executable-path >= 0.0 && < 0.1,
                  zip-archive >= 0.2.3.4 && < 0.4,
                  mtl >= 2.2 && < 2.3
  other-modules:  Tests.Old
                  Tests.Command
                  Tests.Helpers
                  Tests.Lua
                  Tests.Shared
                  Tests.Readers.LaTeX
                  Tests.Readers.HTML
                  Tests.Readers.Markdown
                  Tests.Readers.Org
                  Tests.Readers.RST
                  Tests.Readers.Docx
                  Tests.Readers.Odt
                  Tests.Readers.Txt2Tags
                  Tests.Readers.EPUB
                  Tests.Readers.Muse
                  Tests.Writers.Native
                  Tests.Writers.ConTeXt
                  Tests.Writers.Docbook
                  Tests.Writers.HTML
                  Tests.Writers.Markdown
                  Tests.Writers.Org
                  Tests.Writers.Plain
                  Tests.Writers.AsciiDoc
                  Tests.Writers.LaTeX
                  Tests.Writers.Docx
                  Tests.Writers.RST
                  Tests.Writers.TEI
                  Tests.Writers.Muse
  ghc-options:  -rtsopts -Wall -fno-warn-unused-do-bind -threaded
  default-language: Haskell98

benchmark benchmark-pandoc
  type:            exitcode-stdio-1.0
  main-is:         benchmark-pandoc.hs
  hs-source-dirs:  benchmark
  if impl(ghc < 7.10)
     hs-source-dirs: prelude
     other-modules:  Prelude
  build-depends:   pandoc,
                   time, bytestring, containers,
                   base >= 4.2 && < 5,
                   text >= 0.11 && < 1.3,
                   syb >= 0.1 && < 0.8,
                   criterion >= 1.0 && < 1.3
  ghc-options:   -rtsopts -Wall -fno-warn-unused-do-bind
  default-language: Haskell98