cabal-version: 1.12

-- This file has been generated from package.yaml by hpack version 0.34.4.
--
-- see: https://github.com/sol/hpack
--
-- hash: 3bdb491a0318dc4b53cba4131f192e4c4e17b42e88043495666d1688a1f95443

name:           simplexmq
version:        0.5.0
synopsis:       SimpleXMQ message broker
description:    This package includes <./docs/Simplex-Messaging-Server.html server>,
                <./docs/Simplex-Messaging-Client.html client> and
                <./docs/Simplex-Messaging-Agent.html agent> for SMP protocols:
                .
                * <https://github.com/simplex-chat/simplexmq/blob/master/protocol/simplex-messaging.md SMP protocol>
                * <https://github.com/simplex-chat/simplexmq/blob/master/protocol/agent-protocol.md SMP agent protocol>
                .
                See <https://github.com/simplex-chat/simplex-chat terminal chat prototype> built with SimpleXMQ broker.
category:       Chat, Network, Web, System, Cryptography
homepage:       https://github.com/simplex-chat/simplexmq#readme
author:         simplex.chat
maintainer:     chat@simplex.chat
copyright:      2020 simplex.chat
license:        AGPL-3
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md
    CHANGELOG.md
    migrations/20210101_initial.sql
    migrations/20210624_confirmations.sql
    migrations/20210809_snd_messages.sql
    migrations/20211202_connection_mode.sql
    migrations/README.md

library
  exposed-modules:
      Simplex.Messaging.Agent
      Simplex.Messaging.Agent.Client
      Simplex.Messaging.Agent.Env.SQLite
      Simplex.Messaging.Agent.Protocol
      Simplex.Messaging.Agent.RetryInterval
      Simplex.Messaging.Agent.Store
      Simplex.Messaging.Agent.Store.SQLite
      Simplex.Messaging.Agent.Store.SQLite.Migrations
      Simplex.Messaging.Client
      Simplex.Messaging.Crypto
      Simplex.Messaging.Parsers
      Simplex.Messaging.Protocol
      Simplex.Messaging.Server
      Simplex.Messaging.Server.Env.STM
      Simplex.Messaging.Server.MsgStore
      Simplex.Messaging.Server.MsgStore.STM
      Simplex.Messaging.Server.QueueStore
      Simplex.Messaging.Server.QueueStore.STM
      Simplex.Messaging.Server.StoreLog
      Simplex.Messaging.Transport
      Simplex.Messaging.Transport.WebSockets
      Simplex.Messaging.Util
  other-modules:
      Paths_simplexmq
  hs-source-dirs:
      src
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns
  build-depends:
      QuickCheck ==2.14.*
    , ansi-terminal >=0.10 && <0.12
    , asn1-encoding ==0.9.*
    , asn1-types ==0.3.*
    , async ==2.2.*
    , attoparsec ==0.13.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , bytestring ==0.10.*
    , composition ==1.0.*
    , constraints >=0.12 && <0.14
    , containers ==0.6.*
    , cryptonite >=0.27 && <0.30
    , direct-sqlite ==2.3.*
    , directory ==1.3.*
    , file-embed ==0.0.14.*
    , filepath ==1.4.*
    , generic-random >=1.3 && <1.5
    , http-types ==0.12.*
    , iso8601-time ==0.1.*
    , memory ==0.15.*
    , mtl ==2.2.*
    , network ==3.1.*
    , network-transport ==0.5.*
    , random >=1.1 && <1.3
    , simple-logger ==0.1.*
    , sqlite-simple ==0.4.*
    , stm ==2.5.*
    , template-haskell ==2.16.*
    , text ==1.2.*
    , time ==1.9.*
    , transformers ==0.5.*
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , websockets ==0.12.*
    , x509 ==1.7.*
  default-language: Haskell2010

executable smp-agent
  main-is: Main.hs
  other-modules:
      Paths_simplexmq
  hs-source-dirs:
      apps/smp-agent
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns -threaded
  build-depends:
      QuickCheck ==2.14.*
    , ansi-terminal >=0.10 && <0.12
    , asn1-encoding ==0.9.*
    , asn1-types ==0.3.*
    , async ==2.2.*
    , attoparsec ==0.13.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , bytestring ==0.10.*
    , composition ==1.0.*
    , constraints >=0.12 && <0.14
    , containers ==0.6.*
    , cryptonite >=0.27 && <0.30
    , direct-sqlite ==2.3.*
    , directory ==1.3.*
    , file-embed ==0.0.14.*
    , filepath ==1.4.*
    , generic-random >=1.3 && <1.5
    , http-types ==0.12.*
    , iso8601-time ==0.1.*
    , memory ==0.15.*
    , mtl ==2.2.*
    , network ==3.1.*
    , network-transport ==0.5.*
    , random >=1.1 && <1.3
    , simple-logger ==0.1.*
    , simplexmq
    , sqlite-simple ==0.4.*
    , stm ==2.5.*
    , template-haskell ==2.16.*
    , text ==1.2.*
    , time ==1.9.*
    , transformers ==0.5.*
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , websockets ==0.12.*
    , x509 ==1.7.*
  default-language: Haskell2010

executable smp-server
  main-is: Main.hs
  other-modules:
      Paths_simplexmq
  hs-source-dirs:
      apps/smp-server
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns -threaded
  build-depends:
      QuickCheck ==2.14.*
    , ansi-terminal >=0.10 && <0.12
    , asn1-encoding ==0.9.*
    , asn1-types ==0.3.*
    , async ==2.2.*
    , attoparsec ==0.13.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , bytestring ==0.10.*
    , composition ==1.0.*
    , constraints >=0.12 && <0.14
    , containers ==0.6.*
    , cryptonite >=0.27 && <0.30
    , cryptostore ==0.2.*
    , direct-sqlite ==2.3.*
    , directory ==1.3.*
    , file-embed ==0.0.14.*
    , filepath ==1.4.*
    , generic-random >=1.3 && <1.5
    , http-types ==0.12.*
    , ini ==0.4.*
    , iso8601-time ==0.1.*
    , memory ==0.15.*
    , mtl ==2.2.*
    , network ==3.1.*
    , network-transport ==0.5.*
    , optparse-applicative >=0.15 && <0.17
    , random >=1.1 && <1.3
    , simple-logger ==0.1.*
    , simplexmq
    , sqlite-simple ==0.4.*
    , stm ==2.5.*
    , template-haskell ==2.16.*
    , text ==1.2.*
    , time ==1.9.*
    , transformers ==0.5.*
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , websockets ==0.12.*
    , x509 ==1.7.*
  default-language: Haskell2010

test-suite smp-server-test
  type: exitcode-stdio-1.0
  main-is: Test.hs
  other-modules:
      AgentTests
      AgentTests.ConnectionRequestTests
      AgentTests.FunctionalAPITests
      AgentTests.SQLiteTests
      ProtocolErrorTests
      ServerTests
      SMPAgentClient
      SMPClient
      Paths_simplexmq
  hs-source-dirs:
      tests
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns
  build-depends:
      HUnit ==1.6.*
    , QuickCheck ==2.14.*
    , ansi-terminal >=0.10 && <0.12
    , asn1-encoding ==0.9.*
    , asn1-types ==0.3.*
    , async ==2.2.*
    , attoparsec ==0.13.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , bytestring ==0.10.*
    , composition ==1.0.*
    , constraints >=0.12 && <0.14
    , containers ==0.6.*
    , cryptonite >=0.27 && <0.30
    , direct-sqlite ==2.3.*
    , directory ==1.3.*
    , file-embed ==0.0.14.*
    , filepath ==1.4.*
    , generic-random >=1.3 && <1.5
    , hspec ==2.7.*
    , hspec-core ==2.7.*
    , http-types ==0.12.*
    , iso8601-time ==0.1.*
    , memory ==0.15.*
    , mtl ==2.2.*
    , network ==3.1.*
    , network-transport ==0.5.*
    , random >=1.1 && <1.3
    , simple-logger ==0.1.*
    , simplexmq
    , sqlite-simple ==0.4.*
    , stm ==2.5.*
    , template-haskell ==2.16.*
    , text ==1.2.*
    , time ==1.9.*
    , timeit ==2.0.*
    , transformers ==0.5.*
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , websockets ==0.12.*
    , x509 ==1.7.*
  default-language: Haskell2010