cabal-version: 2.0
Name: haskell-xmpp
Version: 2.0.0
License: BSD3
License-File: LICENSE
Author: Dmitry Astapov <dastapov@gmail.com>, pierre <k.pierre.k@gmail.com>, riskbook <support@riskbook.com>
Maintainer: riskbook <support@riskbook.com>
Homepage: https://github.com/riskbook/haskell-xmpp
Category: Network
Copyright: (c) 2005-2011 Dmitry Astapov, k.pierre
Stability: Stable
Tested-with: GHC==8.8.3
Build-type: Simple
Bug-reports: https://github.com/riskbook/haskell-xmpp/issues
Extra-source-files: README.md examples/Test.hs Changelog.md

Synopsis: Haskell XMPP (eXtensible Message Passing Protocol, a.k.a. Jabber) library
Description: Haskell XMPP (eXtensible Message Passing Protocol, a.k.a. Jabber) library
  .
  Unlike package network-protocol-xmpp, which uses libxml-sax, this library uses HaXml and supports MUC.
  However, MUC support of the moment is worse than that in package XMPP.
  .
  This library make extensive use of STM and threads to simplify writing message-handling code.

source-repository head
  type: git
  location: git@github.com:riskbook/haskell-xmpp.git

flag examples
  description: Build examples
  default: False

flag debug
  description: Enable debugging output
  default: False

library
  default-language: Haskell2010
  Hs-Source-Dirs: ./src
  Build-Depends: base > 4.11.0.0 && <= 4.14.0.0
               , random
               , pretty
               , array
               , mtl
               , HaXml
               , network
               , network-bsd
               , html
               , polyparse
               , regex-compat
               , stm
               , utf8-string
               , uuid
               , xml-hamlet
               , xml-conduit
               , text
               , blaze-markup
               , singlethongs
               , time
               , unliftio
               , aeson
               , http-conduit < 2.3.8.0
               , bytestring
               , http-client

  Exposed-modules: Network.XMPP
                 , Network.XMPP.Sasl
                 , Network.XMPP.Core
                 , Network.XMPP.Types
                 , Network.XMPP.Print
                 , Network.XMPP.Helpers
                 , Network.XMPP.Stream
                 , Network.XMPP.Stanza
                 , Network.XMPP.Utils
                 , Network.XMPP.IM.Presence
                 , Network.XMPP.IQ
                 , Network.XMPP.UTF8
                 , Network.XMPP.XML
                 , Network.XMPP.MD5
                 , Network.XMPP.Base64
                 , Network.XMPP.Ejabberd
                 , Network.XMPP.XEP.MUC
                 , Network.XMPP.XEP.MAM
                 , Network.XMPP.XEP.Form
                 , Network.XMPP.XEP.Delayed
                 , Network.XMPP.XEP.Version
                 , Network.XMPP.Concurrent
  GHC-Options: -Wall -Wincomplete-patterns -fno-warn-name-shadowing -fno-warn-orphans
  if flag(debug)
     CPP-Options: -DDEBUG

Executable haskell-xmpp-test
  default-language: Haskell2010
  Hs-Source-Dirs: ./src ./examples
  if flag(examples)
    build-depends: base > 3 && <=5
  else
    buildable: False
  if flag(debug)
     CPP-Options: -DDEBUG
  Main-Is: Test.hs
  GHC-Options: -Wall -fno-warn-name-shadowing -fno-warn-orphans

Executable haskell-xmpp-io-test
  default-language: Haskell2010
  hs-source-dirs: ./test
  main-is: Main.hs
  build-tool-depends: hspec-discover:hspec-discover -any
  build-depends:
      base                         >=4.9.1.0 && <5
    , hspec
    , haskell-xmpp
    , text
  other-modules:
    TestSuiteSpec
    RoomSpec