cabal-version: 1.12

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

name:           simplex-chat
version:        4.5.0.3
category:       Web, System, Services, Cryptography
homepage:       https://github.com/simplex-chat/simplex-chat#readme
author:         simplex.chat
maintainer:     chat@simplex.chat
copyright:      2020-22 simplex.chat
license:        AGPL-3
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md

flag swift
  description: Enable swift JSON format
  manual: True
  default: False

library
  exposed-modules:
      Simplex.Chat
      Simplex.Chat.Archive
      Simplex.Chat.Bot
      Simplex.Chat.Call
      Simplex.Chat.Controller
      Simplex.Chat.Core
      Simplex.Chat.Help
      Simplex.Chat.Markdown
      Simplex.Chat.Messages
      Simplex.Chat.Migrations.M20220101_initial
      Simplex.Chat.Migrations.M20220122_v1_1
      Simplex.Chat.Migrations.M20220205_chat_item_status
      Simplex.Chat.Migrations.M20220210_deduplicate_contact_requests
      Simplex.Chat.Migrations.M20220224_messages_fks
      Simplex.Chat.Migrations.M20220301_smp_servers
      Simplex.Chat.Migrations.M20220302_profile_images
      Simplex.Chat.Migrations.M20220304_msg_quotes
      Simplex.Chat.Migrations.M20220321_chat_item_edited
      Simplex.Chat.Migrations.M20220404_files_status_fields
      Simplex.Chat.Migrations.M20220514_profiles_user_id
      Simplex.Chat.Migrations.M20220626_auto_reply
      Simplex.Chat.Migrations.M20220702_calls
      Simplex.Chat.Migrations.M20220715_groups_chat_item_id
      Simplex.Chat.Migrations.M20220811_chat_items_indices
      Simplex.Chat.Migrations.M20220812_incognito_profiles
      Simplex.Chat.Migrations.M20220818_chat_notifications
      Simplex.Chat.Migrations.M20220822_groups_host_conn_custom_user_profile_id
      Simplex.Chat.Migrations.M20220823_delete_broken_group_event_chat_items
      Simplex.Chat.Migrations.M20220824_profiles_local_alias
      Simplex.Chat.Migrations.M20220909_commands
      Simplex.Chat.Migrations.M20220926_connection_alias
      Simplex.Chat.Migrations.M20220928_settings
      Simplex.Chat.Migrations.M20221001_shared_msg_id_indices
      Simplex.Chat.Migrations.M20221003_delete_broken_integrity_error_chat_items
      Simplex.Chat.Migrations.M20221004_idx_msg_deliveries_message_id
      Simplex.Chat.Migrations.M20221011_user_contact_links_group_id
      Simplex.Chat.Migrations.M20221012_inline_files
      Simplex.Chat.Migrations.M20221019_unread_chat
      Simplex.Chat.Migrations.M20221021_auto_accept__group_links
      Simplex.Chat.Migrations.M20221024_contact_used
      Simplex.Chat.Migrations.M20221025_chat_settings
      Simplex.Chat.Migrations.M20221029_group_link_id
      Simplex.Chat.Migrations.M20221112_server_password
      Simplex.Chat.Migrations.M20221115_server_cfg
      Simplex.Chat.Migrations.M20221129_delete_group_feature_items
      Simplex.Chat.Migrations.M20221130_delete_item_deleted
      Simplex.Chat.Migrations.M20221209_verified_connection
      Simplex.Chat.Migrations.M20221210_idxs
      Simplex.Chat.Migrations.M20221211_group_description
      Simplex.Chat.Migrations.M20221212_chat_items_timed
      Simplex.Chat.Migrations.M20221214_live_message
      Simplex.Chat.Migrations.M20221222_chat_ts
      Simplex.Chat.Migrations.M20221223_idx_chat_items_item_status
      Simplex.Chat.Migrations.M20221230_idxs
      Simplex.Chat.Migrations.M20230107_connections_auth_err_counter
      Simplex.Chat.Migrations.M20230111_users_agent_user_id
      Simplex.Chat.Migrations.M20230117_fkey_indexes
      Simplex.Chat.Migrations.M20230118_recreate_smp_servers
      Simplex.Chat.Migrations.M20230129_drop_chat_items_group_idx
      Simplex.Chat.Mobile
      Simplex.Chat.Options
      Simplex.Chat.ProfileGenerator
      Simplex.Chat.Protocol
      Simplex.Chat.Store
      Simplex.Chat.Styled
      Simplex.Chat.Terminal
      Simplex.Chat.Terminal.Input
      Simplex.Chat.Terminal.Notification
      Simplex.Chat.Terminal.Output
      Simplex.Chat.Types
      Simplex.Chat.Util
      Simplex.Chat.View
  other-modules:
      Paths_simplex_chat
  hs-source-dirs:
      src
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns
  build-depends:
      aeson ==2.0.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , bytestring ==0.10.*
    , composition ==1.0.*
    , containers ==0.6.*
    , cryptonite >=0.27 && <0.30
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , http-types ==0.12.*
    , mtl ==2.2.*
    , network >=3.1.2.7 && <3.2
    , optparse-applicative >=0.15 && <0.17
    , process ==1.6.*
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , simple-logger ==0.1.*
    , simplexmq >=3.4
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , template-haskell ==2.16.*
    , terminal ==0.2.*
    , text ==1.2.*
    , time ==1.9.*
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , zip ==1.7.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON

executable simplex-bot
  main-is: Main.hs
  other-modules:
      Paths_simplex_chat
  hs-source-dirs:
      apps/simplex-bot
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns -threaded
  build-depends:
      aeson ==2.0.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , bytestring ==0.10.*
    , composition ==1.0.*
    , containers ==0.6.*
    , cryptonite >=0.27 && <0.30
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , http-types ==0.12.*
    , mtl ==2.2.*
    , network >=3.1.2.7 && <3.2
    , optparse-applicative >=0.15 && <0.17
    , process ==1.6.*
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , simple-logger ==0.1.*
    , simplex-chat
    , simplexmq >=3.4
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , template-haskell ==2.16.*
    , terminal ==0.2.*
    , text ==1.2.*
    , time ==1.9.*
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , zip ==1.7.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON

executable simplex-bot-advanced
  main-is: Main.hs
  other-modules:
      Paths_simplex_chat
  hs-source-dirs:
      apps/simplex-bot-advanced
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns -threaded
  build-depends:
      aeson ==2.0.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , bytestring ==0.10.*
    , composition ==1.0.*
    , containers ==0.6.*
    , cryptonite >=0.27 && <0.30
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , http-types ==0.12.*
    , mtl ==2.2.*
    , network >=3.1.2.7 && <3.2
    , optparse-applicative >=0.15 && <0.17
    , process ==1.6.*
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , simple-logger ==0.1.*
    , simplex-chat
    , simplexmq >=3.4
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , template-haskell ==2.16.*
    , terminal ==0.2.*
    , text ==1.2.*
    , time ==1.9.*
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , zip ==1.7.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON

executable simplex-chat
  main-is: Main.hs
  other-modules:
      Server
      Paths_simplex_chat
  hs-source-dirs:
      apps/simplex-chat
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns -threaded
  build-depends:
      aeson ==2.0.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , bytestring ==0.10.*
    , composition ==1.0.*
    , containers ==0.6.*
    , cryptonite >=0.27 && <0.30
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , http-types ==0.12.*
    , mtl ==2.2.*
    , network ==3.1.*
    , optparse-applicative >=0.15 && <0.17
    , process ==1.6.*
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , simple-logger ==0.1.*
    , simplex-chat
    , simplexmq >=3.4
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , template-haskell ==2.16.*
    , terminal ==0.2.*
    , text ==1.2.*
    , time ==1.9.*
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , websockets ==0.12.*
    , zip ==1.7.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON

test-suite simplex-chat-test
  type: exitcode-stdio-1.0
  main-is: Test.hs
  other-modules:
      ChatClient
      ChatTests
      ChatTests.Direct
      ChatTests.Files
      ChatTests.Groups
      ChatTests.Profiles
      ChatTests.Utils
      MarkdownTests
      MobileTests
      ProtocolTests
      SchemaDump
      Paths_simplex_chat
  hs-source-dirs:
      tests
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns -threaded
  build-depends:
      aeson ==2.0.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , bytestring ==0.10.*
    , composition ==1.0.*
    , containers ==0.6.*
    , cryptonite >=0.27 && <0.30
    , deepseq ==1.4.*
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , hspec ==2.7.*
    , http-types ==0.12.*
    , mtl ==2.2.*
    , network ==3.1.*
    , optparse-applicative >=0.15 && <0.17
    , process ==1.6.*
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , simple-logger ==0.1.*
    , simplex-chat
    , simplexmq >=3.4
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , template-haskell ==2.16.*
    , terminal ==0.2.*
    , text ==1.2.*
    , time ==1.9.*
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , zip ==1.7.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON
