packages feed

hw-xml-0.5.1.1: hw-xml.cabal

cabal-version: 2.2

name:                 hw-xml
version:              0.5.1.1
synopsis:             XML parser based on succinct data structures.
description:          XML parser based on succinct data structures. Please see README.md
category:             Data, XML, Succinct Data Structures, Data Structures
homepage:             http://github.com/haskell-works/hw-xml#readme
bug-reports:          https://github.com/haskell-works/hw-xml/issues
author:               John Ky,
                      Alexey Raga
maintainer:           alexey.raga@gmail.com
copyright:            2016-2021 John Ky
                  ,   2016-2019 Alexey Raga
license:              BSD-3-Clause
license-file:         LICENSE
tested-with:          GHC == 9.2.2, GHC == 9.0.2, GHC == 8.10.7, GHC == 8.8.4, GHC == 8.6.5
build-type:           Simple
extra-source-files:   README.md
data-files:           data/catalog.xml

source-repository head
  type: git
  location: https://github.com/haskell-works/hw-xml

common base                       { build-depends: base                       >= 4.11       && < 5      }

common ansi-wl-pprint             { build-depends: ansi-wl-pprint             >= 0.6.9      && < 0.7    }
common array                      { build-depends: array                      >= 0.5.2.0    && < 0.6    }
common attoparsec                 { build-depends: attoparsec                 >= 0.13.2.2   && < 0.15   }
common bytestring                 { build-depends: bytestring                 >= 0.10.8.2   && < 0.12   }
common cereal                     { build-depends: cereal                     >= 0.5.8.1    && < 0.6    }
common containers                 { build-depends: containers                 >= 0.5.10.2   && < 0.7    }
common criterion                  { build-depends: criterion                  >= 1.5.5.0    && < 1.6    }
common deepseq                    { build-depends: deepseq                    >= 1.4.3.0    && < 1.5    }
common doctest                    { build-depends: doctest                    >= 0.16.2     && < 0.21   }
common doctest-discover           { build-depends: doctest-discover           >= 0.2        && < 0.3    }
common generic-lens               { build-depends: generic-lens               >= 2.2        && < 2.3    }
common ghc-prim                   { build-depends: ghc-prim                   >= 0.5        && < 0.9    }
common hedgehog                   { build-depends: hedgehog                   >= 1.0        && < 1.2    }
common hspec                      { build-depends: hspec                      >= 2.5        && < 3.0    }
common hw-balancedparens          { build-depends: hw-balancedparens          >= 0.3.0.1    && < 0.5    }
common hw-bits                    { build-depends: hw-bits                    >= 0.7.0.9    && < 0.8    }
common hw-hspec-hedgehog          { build-depends: hw-hspec-hedgehog          >= 0.1        && < 0.2    }
common hw-parser                  { build-depends: hw-parser                  >= 0.1.0.1    && < 0.2    }
common hw-prim                    { build-depends: hw-prim                    >= 0.6.2.39   && < 0.7    }
common hw-rankselect              { build-depends: hw-rankselect              >= 0.13.2.0   && < 0.14   }
common hw-rankselect-base         { build-depends: hw-rankselect-base         >= 0.3.2.1    && < 0.4    }
common lens                       { build-depends: lens                       >= 4.17.1     && < 6      }
common mmap                       { build-depends: mmap                       >= 0.5.9      && < 0.6    }
common mtl                        { build-depends: mtl                        >= 2.2.2      && < 3      }
common optparse-applicative       { build-depends: optparse-applicative       >= 0.15.1.0   && < 0.18   }
common resourcet                  { build-depends: resourcet                  >= 1.2.2      && < 1.3    }
common text                       { build-depends: text                       >= 1.2.3.2    && < 1.3    }
common transformers               { build-depends: transformers               >= 0.5        && < 0.7    }
common vector                     { build-depends: vector                     >= 0.12.0.3   && < 0.13   }
common word8                      { build-depends: word8                      >= 0.1.3      && < 0.2    }

common config
  default-language:   Haskell2010

common hw-xml
  build-depends: hw-xml

library
  import:             base, config
                    , ansi-wl-pprint
                    , array
                    , attoparsec
                    , base
                    , bytestring
                    , cereal
                    , containers
                    , deepseq
                    , ghc-prim
                    , hw-balancedparens
                    , hw-bits
                    , hw-parser
                    , hw-prim
                    , hw-rankselect
                    , hw-rankselect-base
                    , lens
                    , mmap
                    , mtl
                    , resourcet
                    , text
                    , transformers
                    , vector
                    , word8
  exposed-modules:    HaskellWorks.Data.Xml
                      HaskellWorks.Data.Xml.Blank
                      HaskellWorks.Data.Xml.CharLike
                      HaskellWorks.Data.Xml.Decode
                      HaskellWorks.Data.Xml.DecodeError
                      HaskellWorks.Data.Xml.DecodeResult
                      HaskellWorks.Data.Xml.Grammar
                      HaskellWorks.Data.Xml.Index
                      HaskellWorks.Data.Xml.Internal.BalancedParens
                      HaskellWorks.Data.Xml.Internal.ByteString
                      HaskellWorks.Data.Xml.Internal.Blank
                      HaskellWorks.Data.Xml.Internal.List
                      HaskellWorks.Data.Xml.Internal.Show
                      HaskellWorks.Data.Xml.Internal.Tables
                      HaskellWorks.Data.Xml.Internal.ToIbBp64
                      HaskellWorks.Data.Xml.Internal.Words
                      HaskellWorks.Data.Xml.Lens
                      HaskellWorks.Data.Xml.Succinct
                      HaskellWorks.Data.Xml.Succinct.Cursor
                      HaskellWorks.Data.Xml.Succinct.Cursor.BalancedParens
                      HaskellWorks.Data.Xml.Succinct.Cursor.BlankedXml
                      HaskellWorks.Data.Xml.Succinct.Cursor.Create
                      HaskellWorks.Data.Xml.Succinct.Cursor.InterestBits
                      HaskellWorks.Data.Xml.Succinct.Cursor.Internal
                      HaskellWorks.Data.Xml.Succinct.Cursor.Load
                      HaskellWorks.Data.Xml.Succinct.Cursor.Types
                      HaskellWorks.Data.Xml.Succinct.Cursor.MMap
                      HaskellWorks.Data.Xml.Succinct.Cursor.Token
                      HaskellWorks.Data.Xml.Succinct.Index
                      HaskellWorks.Data.Xml.RawDecode
                      HaskellWorks.Data.Xml.RawValue
                      HaskellWorks.Data.Xml.Token.Tokenize
                      HaskellWorks.Data.Xml.Token.Types
                      HaskellWorks.Data.Xml.Token
                      HaskellWorks.Data.Xml.Type
                      HaskellWorks.Data.Xml.Value
  other-modules:      Paths_hw_xml
  autogen-modules:    Paths_hw_xml
  hs-source-dirs:     src
  ghc-options:        -Wall -O2 -msse4.2

executable hw-xml
  import:               base, config
                      , attoparsec
                      , bytestring
                      , deepseq
                      , generic-lens
                      , hw-balancedparens
                      , hw-bits
                      , hw-prim
                      , hw-rankselect
                      , hw-xml
                      , lens
                      , mmap
                      , mtl
                      , optparse-applicative
                      , resourcet
                      , text
                      , vector
  main-is:              Main.hs
  other-modules:        App.Commands
                        App.Commands.Count
                        App.Commands.CreateBlankedXml
                        App.Commands.CreateBpIndex
                        App.Commands.CreateIbIndex
                        App.Commands.CreateIndex
                        App.Commands.Demo
                        App.Commands.Types
                        App.Options
                        App.XPath.Parser
                        App.XPath.Types
                        App.Show
                        App.Naive
  hs-source-dirs:       app
  ghc-options:          -threaded -rtsopts -with-rtsopts=-N -O2 -Wall -msse4.2

test-suite hw-xml-test
  import:             base, config
                    , attoparsec
                    , base
                    , bytestring
                    , hedgehog
                    , hspec
                    , hw-balancedparens
                    , hw-bits
                    , hw-hspec-hedgehog
                    , hw-prim
                    , hw-xml
                    , hw-rankselect
                    , hw-rankselect-base
                    , text
                    , vector
  type:               exitcode-stdio-1.0
  main-is:            Spec.hs
  hs-source-dirs:     test
  ghc-options:        -threaded -rtsopts -with-rtsopts=-N
  default-language:   Haskell2010
  build-tool-depends: hspec-discover:hspec-discover
  other-modules:      HaskellWorks.Data.Xml.Internal.BlankSpec
                      HaskellWorks.Data.Xml.RawValueSpec
                      HaskellWorks.Data.Xml.Succinct.Cursor.BalancedParensSpec
                      HaskellWorks.Data.Xml.Succinct.Cursor.BlankedXmlSpec
                      HaskellWorks.Data.Xml.Succinct.Cursor.InterestBitsSpec
                      HaskellWorks.Data.Xml.Succinct.CursorSpec.Make
                      HaskellWorks.Data.Xml.Succinct.CursorSpec
                      HaskellWorks.Data.Xml.Token.TokenizeSpec
                      HaskellWorks.Data.Xml.TypeSpec

benchmark bench
  import:             base, config
                    , bytestring
                    , criterion
                    , hw-balancedparens
                    , hw-bits
                    , hw-prim
                    , mmap
                    , resourcet
                    , vector
  type:               exitcode-stdio-1.0
  main-is:            Main.hs
  build-depends:      hw-xml
  hs-source-dirs:     bench
  ghc-options:        -O2 -Wall -msse4.2

test-suite doctest
  import:               base, config
                      , doctest
                      , doctest-discover
                      , hw-xml
  type:                 exitcode-stdio-1.0
  ghc-options:          -threaded -rtsopts -with-rtsopts=-N
  main-is:              DoctestDriver.hs
  HS-Source-Dirs:       doctest
  build-tool-depends:   doctest-discover:doctest-discover