File citeproc.cabal of Package ghc-citeproc

cabal-version:       2.2
name:                citeproc
version:             0.7
x-revision: 1
synopsis:            Generates citations and bibliography from CSL styles.
description:         citeproc parses CSL style files and uses them to
                     generate a list of formatted citations and bibliography
                     entries.  For more information about CSL, see
                     <https://citationstyles.org/>.
license:             BSD-2-Clause
license-file:        LICENSE
author:              John MacFarlane
maintainer:          jgm@berkeley.edu
copyright:           2020 John MacFarlane
category:            Text
build-type:          Simple
extra-doc-files:     README.md
                   , CHANGELOG.md
extra-source-files:  stack.yaml
                     cabal.project
                     locales/*.xml
                     locales/locales.json
                     man/citeproc.1.md
                     man/citeproc.1
                     test/NOTES.md
                     test/csl/*.txt
                     test/extra/*.txt
                     test/overrides/*.txt
tested-with:         GHC == 8.0.2, GHC == 8.2.2,
                     GHC == 8.4.4, GHC == 8.6.5,
                     GHC == 8.8.4, GHC == 8.10.7,
                     GHC == 9.0.2, GHC == 9.2.2

source-repository    head
  type:              git
  location:          https://github.com/jgm/citeproc.git

flag icu
  description: Use Haskell bindings to the ICU library
  default:     False

flag executable
  description: Build citeproc executable
  default:     False

common hie-options
  if impl(ghc >= 8.8)
     ghc-options:  -fwrite-ide-info -hiedir=.hie

library
  import:              hie-options
  hs-source-dirs:      src
  exposed-modules:     Citeproc
                       Citeproc.Types
                       Citeproc.Locale
                       Citeproc.Style
                       Citeproc.CslJson
                       Citeproc.Pandoc
                       Citeproc.Eval
                       Citeproc.CaseTransform
  other-modules:       Citeproc.Element
                       Citeproc.Data
                       Citeproc.Unicode

  build-depends:       base >= 4.8 && < 5
                     , safe
                     , bytestring
                     , text
                     , containers >= 0.6.0.1 && < 0.7
                     , transformers >= 0.5.6 && < 0.7
                     , case-insensitive >= 1.2 && < 1.3
                     , vector
                     , scientific
                     , uniplate
                     , xml-conduit
                     , attoparsec
                     , data-default >= 0.5.2
                     , aeson
                     , filepath
                     , file-embed
                     , pandoc-types >= 1.22 && < 1.23
                     , unicode-collation >= 0.1.3 && < 0.2
                     -- , pretty-show
  if flag(icu)
     build-depends:    text-icu >= 0.7.1.0

  ghc-options:         -Wall
                       -Wincomplete-record-updates
                       -Wcompat
                       -Widentities
                       -Wredundant-constraints

  if impl(ghc >= 8.2)
    ghc-options:       -Wcpp-undef
  if impl(ghc >= 8.4)
    ghc-options:       -Wincomplete-uni-patterns
                       -Widentities
                       -Werror=missing-home-modules
                       -fhide-source-paths

  if impl(ghc < 8.8)
    build-depends:       base-compat          >= 0.10
    hs-source-dirs:      prelude
    other-modules:       Prelude

  default-language:    Haskell2010

executable citeproc
  import:              hie-options
  hs-source-dirs:      app
  main-is:             Main.hs
  build-depends:       base >= 4.8 && < 5
                     , citeproc
                     , bytestring
                     , text
                     , aeson
                     , aeson-pretty

  ghc-options:         -Wall
                       -Wincomplete-record-updates
                       -Wcompat
                       -Widentities
                       -Wredundant-constraints
                       -optP-Wno-nonportable-include-path
  if impl(ghc >= 8.2)
    ghc-options:       -Wcpp-undef
  if impl(ghc >= 8.4)
    ghc-options:       -Wincomplete-uni-patterns
                       -Widentities
                       -fhide-source-paths
  default-language:    Haskell2010
  if flag(executable)
     buildable:        True
  else
     buildable:        False

test-suite spec
  import:              hie-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs

  build-depends:       base >= 4.8 && < 5
                     , citeproc
                     , bytestring
                     , text
                     , containers
                     , directory
                     , transformers
                     , mtl
                     , timeit
                     , Diff >= 0.4
                     , pretty
                     , filepath
                     , aeson


  ghc-options:         -Wall
                       -threaded
                       -rtsopts
                       -with-rtsopts=-N
                       -Wincomplete-record-updates
                       -Wcompat
                       -Widentities
                       -Wredundant-constraints
  if impl(ghc >= 8.2)
    ghc-options:       -Wcpp-undef
  if impl(ghc >= 8.4)
    ghc-options:       -Wincomplete-uni-patterns
                       -Widentities
                       -Werror=missing-home-modules
                       -fhide-source-paths

  default-language:    Haskell2010

openSUSE Build Service is sponsored by