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:        5.5.5.0
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
    cabal.project

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

library
  exposed-modules:
      Simplex.Chat
      Simplex.Chat.Archive
      Simplex.Chat.Bot
      Simplex.Chat.Bot.KnownContacts
      Simplex.Chat.Call
      Simplex.Chat.Controller
      Simplex.Chat.Core
      Simplex.Chat.Files
      Simplex.Chat.Help
      Simplex.Chat.Markdown
      Simplex.Chat.Messages
      Simplex.Chat.Messages.Batch
      Simplex.Chat.Messages.CIContent
      Simplex.Chat.Messages.CIContent.Events
      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.Migrations.M20230206_item_deleted_by_group_member_id
      Simplex.Chat.Migrations.M20230303_group_link_role
      Simplex.Chat.Migrations.M20230317_hidden_profiles
      Simplex.Chat.Migrations.M20230318_file_description
      Simplex.Chat.Migrations.M20230321_agent_file_deleted
      Simplex.Chat.Migrations.M20230328_files_protocol
      Simplex.Chat.Migrations.M20230402_protocol_servers
      Simplex.Chat.Migrations.M20230411_extra_xftp_file_descriptions
      Simplex.Chat.Migrations.M20230420_rcv_files_to_receive
      Simplex.Chat.Migrations.M20230422_profile_contact_links
      Simplex.Chat.Migrations.M20230504_recreate_msg_delivery_events_cleanup_messages
      Simplex.Chat.Migrations.M20230505_chat_item_versions
      Simplex.Chat.Migrations.M20230511_reactions
      Simplex.Chat.Migrations.M20230519_item_deleted_ts
      Simplex.Chat.Migrations.M20230526_indexes
      Simplex.Chat.Migrations.M20230529_indexes
      Simplex.Chat.Migrations.M20230608_deleted_contacts
      Simplex.Chat.Migrations.M20230618_favorite_chats
      Simplex.Chat.Migrations.M20230621_chat_item_moderations
      Simplex.Chat.Migrations.M20230705_delivery_receipts
      Simplex.Chat.Migrations.M20230721_group_snd_item_statuses
      Simplex.Chat.Migrations.M20230814_indexes
      Simplex.Chat.Migrations.M20230827_file_encryption
      Simplex.Chat.Migrations.M20230829_connections_chat_vrange
      Simplex.Chat.Migrations.M20230903_connections_to_subscribe
      Simplex.Chat.Migrations.M20230913_member_contacts
      Simplex.Chat.Migrations.M20230914_member_probes
      Simplex.Chat.Migrations.M20230926_contact_status
      Simplex.Chat.Migrations.M20231002_conn_initiated
      Simplex.Chat.Migrations.M20231009_via_group_link_uri_hash
      Simplex.Chat.Migrations.M20231010_member_settings
      Simplex.Chat.Migrations.M20231019_indexes
      Simplex.Chat.Migrations.M20231030_xgrplinkmem_received
      Simplex.Chat.Migrations.M20231107_indexes
      Simplex.Chat.Migrations.M20231113_group_forward
      Simplex.Chat.Migrations.M20231114_remote_control
      Simplex.Chat.Migrations.M20231126_remote_ctrl_address
      Simplex.Chat.Migrations.M20231207_chat_list_pagination
      Simplex.Chat.Migrations.M20231214_item_content_tag
      Simplex.Chat.Migrations.M20231215_recreate_msg_deliveries
      Simplex.Chat.Migrations.M20240102_note_folders
      Simplex.Chat.Migrations.M20240104_members_profile_update
      Simplex.Chat.Migrations.M20240115_block_member_for_all
      Simplex.Chat.Migrations.M20240122_indexes
      Simplex.Chat.Mobile
      Simplex.Chat.Mobile.File
      Simplex.Chat.Mobile.Shared
      Simplex.Chat.Mobile.WebRTC
      Simplex.Chat.Options
      Simplex.Chat.ProfileGenerator
      Simplex.Chat.Protocol
      Simplex.Chat.Remote
      Simplex.Chat.Remote.AppVersion
      Simplex.Chat.Remote.Multicast
      Simplex.Chat.Remote.Protocol
      Simplex.Chat.Remote.RevHTTP
      Simplex.Chat.Remote.Transport
      Simplex.Chat.Remote.Types
      Simplex.Chat.Store
      Simplex.Chat.Store.Connections
      Simplex.Chat.Store.Direct
      Simplex.Chat.Store.Files
      Simplex.Chat.Store.Groups
      Simplex.Chat.Store.Messages
      Simplex.Chat.Store.Migrations
      Simplex.Chat.Store.NoteFolders
      Simplex.Chat.Store.Profiles
      Simplex.Chat.Store.Remote
      Simplex.Chat.Store.Shared
      Simplex.Chat.Styled
      Simplex.Chat.Terminal
      Simplex.Chat.Terminal.Input
      Simplex.Chat.Terminal.Notification
      Simplex.Chat.Terminal.Output
      Simplex.Chat.Types
      Simplex.Chat.Types.Preferences
      Simplex.Chat.Types.Util
      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.2.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , composition ==1.0.*
    , constraints >=0.12 && <0.14
    , containers ==0.6.*
    , crypton ==0.34.*
    , data-default ==0.7.*
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , http-types ==0.12.*
    , http2 >=4.2.2 && <4.3
    , memory ==0.18.*
    , mtl >=2.3.1 && <3.0
    , network >=3.1.2.7 && <3.2
    , network-transport ==0.5.6
    , optparse-applicative >=0.15 && <0.17
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , simple-logger ==0.1.*
    , simplexmq >=5.0
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , terminal ==0.2.*
    , time ==1.12.*
    , tls >=1.7.0 && <1.8
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , zip ==2.0.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON
  if impl(ghc >= 9.6.2)
    build-depends:
        bytestring ==0.11.*
      , process ==1.6.*
      , template-haskell ==2.20.*
      , text >=2.0.1 && <2.2
  if impl(ghc < 9.6.2)
    build-depends:
        bytestring ==0.10.*
      , process >=1.6 && <1.6.18
      , template-haskell ==2.16.*
      , text >=1.2.3.0 && <1.3

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.2.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , composition ==1.0.*
    , constraints >=0.12 && <0.14
    , containers ==0.6.*
    , crypton ==0.34.*
    , data-default ==0.7.*
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , http-types ==0.12.*
    , http2 >=4.2.2 && <4.3
    , memory ==0.18.*
    , mtl >=2.3.1 && <3.0
    , network >=3.1.2.7 && <3.2
    , network-transport ==0.5.6
    , optparse-applicative >=0.15 && <0.17
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , simple-logger ==0.1.*
    , simplex-chat
    , simplexmq >=5.0
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , terminal ==0.2.*
    , time ==1.12.*
    , tls >=1.7.0 && <1.8
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , zip ==2.0.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON
  if impl(ghc >= 9.6.2)
    build-depends:
        bytestring ==0.11.*
      , process ==1.6.*
      , template-haskell ==2.20.*
      , text >=2.0.1 && <2.2
  if impl(ghc < 9.6.2)
    build-depends:
        bytestring ==0.10.*
      , process >=1.6 && <1.6.18
      , template-haskell ==2.16.*
      , text >=1.2.3.0 && <1.3

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.2.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , composition ==1.0.*
    , constraints >=0.12 && <0.14
    , containers ==0.6.*
    , crypton ==0.34.*
    , data-default ==0.7.*
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , http-types ==0.12.*
    , http2 >=4.2.2 && <4.3
    , memory ==0.18.*
    , mtl >=2.3.1 && <3.0
    , network >=3.1.2.7 && <3.2
    , network-transport ==0.5.6
    , optparse-applicative >=0.15 && <0.17
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , simple-logger ==0.1.*
    , simplex-chat
    , simplexmq >=5.0
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , terminal ==0.2.*
    , time ==1.12.*
    , tls >=1.7.0 && <1.8
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , zip ==2.0.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON
  if impl(ghc >= 9.6.2)
    build-depends:
        bytestring ==0.11.*
      , process ==1.6.*
      , template-haskell ==2.20.*
      , text >=2.0.1 && <2.2
  if impl(ghc < 9.6.2)
    build-depends:
        bytestring ==0.10.*
      , process >=1.6 && <1.6.18
      , template-haskell ==2.16.*
      , text >=1.2.3.0 && <1.3

executable simplex-broadcast-bot
  main-is: ../Main.hs
  other-modules:
      Broadcast.Bot
      Broadcast.Options
      Paths_simplex_chat
  hs-source-dirs:
      apps/simplex-broadcast-bot/src
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns -threaded
  build-depends:
      aeson ==2.2.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , composition ==1.0.*
    , constraints >=0.12 && <0.14
    , containers ==0.6.*
    , crypton ==0.34.*
    , data-default ==0.7.*
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , http-types ==0.12.*
    , http2 >=4.2.2 && <4.3
    , memory ==0.18.*
    , mtl >=2.3.1 && <3.0
    , network >=3.1.2.7 && <3.2
    , network-transport ==0.5.6
    , optparse-applicative >=0.15 && <0.17
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , simple-logger ==0.1.*
    , simplex-chat
    , simplexmq >=5.0
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , terminal ==0.2.*
    , time ==1.12.*
    , tls >=1.7.0 && <1.8
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , zip ==2.0.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON
  if impl(ghc >= 9.6.2)
    build-depends:
        bytestring ==0.11.*
      , process ==1.6.*
      , template-haskell ==2.20.*
      , text >=2.0.1 && <2.2
  if impl(ghc < 9.6.2)
    build-depends:
        bytestring ==0.10.*
      , process >=1.6 && <1.6.18
      , template-haskell ==2.16.*
      , text >=1.2.3.0 && <1.3

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.2.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , composition ==1.0.*
    , constraints >=0.12 && <0.14
    , containers ==0.6.*
    , crypton ==0.34.*
    , data-default ==0.7.*
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , http-types ==0.12.*
    , http2 >=4.2.2 && <4.3
    , memory ==0.18.*
    , mtl >=2.3.1 && <3.0
    , network ==3.1.*
    , network-transport ==0.5.6
    , optparse-applicative >=0.15 && <0.17
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , simple-logger ==0.1.*
    , simplex-chat
    , simplexmq >=5.0
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , terminal ==0.2.*
    , time ==1.12.*
    , tls >=1.7.0 && <1.8
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , websockets ==0.12.*
    , zip ==2.0.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON
  if impl(ghc >= 9.6.2)
    build-depends:
        bytestring ==0.11.*
      , process ==1.6.*
      , template-haskell ==2.20.*
      , text >=2.0.1 && <2.2
  if impl(ghc < 9.6.2)
    build-depends:
        bytestring ==0.10.*
      , process >=1.6 && <1.6.18
      , template-haskell ==2.16.*
      , text >=1.2.3.0 && <1.3

executable simplex-directory-service
  main-is: ../Main.hs
  other-modules:
      Directory.Events
      Directory.Options
      Directory.Search
      Directory.Service
      Directory.Store
      Paths_simplex_chat
  hs-source-dirs:
      apps/simplex-directory-service/src
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns -threaded
  build-depends:
      aeson ==2.2.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , composition ==1.0.*
    , constraints >=0.12 && <0.14
    , containers ==0.6.*
    , crypton ==0.34.*
    , data-default ==0.7.*
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , http-types ==0.12.*
    , http2 >=4.2.2 && <4.3
    , memory ==0.18.*
    , mtl >=2.3.1 && <3.0
    , network >=3.1.2.7 && <3.2
    , network-transport ==0.5.6
    , optparse-applicative >=0.15 && <0.17
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , simple-logger ==0.1.*
    , simplex-chat
    , simplexmq >=5.0
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , terminal ==0.2.*
    , time ==1.12.*
    , tls >=1.7.0 && <1.8
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , zip ==2.0.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON
  if impl(ghc >= 9.6.2)
    build-depends:
        bytestring ==0.11.*
      , process ==1.6.*
      , template-haskell ==2.20.*
      , text >=2.0.1 && <2.2
  if impl(ghc < 9.6.2)
    build-depends:
        bytestring ==0.10.*
      , process >=1.6 && <1.6.18
      , template-haskell ==2.16.*
      , text >=1.2.3.0 && <1.3

test-suite simplex-chat-test
  type: exitcode-stdio-1.0
  main-is: Test.hs
  other-modules:
      Bots.BroadcastTests
      Bots.DirectoryTests
      ChatClient
      ChatTests
      ChatTests.ChatList
      ChatTests.Direct
      ChatTests.Files
      ChatTests.Groups
      ChatTests.Local
      ChatTests.Profiles
      ChatTests.Utils
      JSONTests
      MarkdownTests
      MessageBatching
      MobileTests
      ProtocolTests
      RemoteTests
      SchemaDump
      ValidNames
      ViewTests
      WebRTCTests
      Broadcast.Bot
      Broadcast.Options
      Directory.Events
      Directory.Options
      Directory.Search
      Directory.Service
      Directory.Store
      Paths_simplex_chat
  hs-source-dirs:
      tests
      apps/simplex-broadcast-bot/src
      apps/simplex-directory-service/src
  ghc-options: -Wall -Wcompat -Werror=incomplete-patterns -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -Wunused-type-patterns -threaded
  build-depends:
      QuickCheck ==2.14.*
    , aeson ==2.2.*
    , ansi-terminal >=0.10 && <0.12
    , async ==2.2.*
    , attoparsec ==0.14.*
    , base >=4.7 && <5
    , base64-bytestring >=1.0 && <1.3
    , composition ==1.0.*
    , constraints >=0.12 && <0.14
    , containers ==0.6.*
    , crypton ==0.34.*
    , data-default ==0.7.*
    , deepseq ==1.4.*
    , direct-sqlcipher ==2.3.*
    , directory ==1.3.*
    , email-validate ==2.3.*
    , exceptions ==0.10.*
    , filepath ==1.4.*
    , generic-random ==1.5.*
    , http-types ==0.12.*
    , http2 >=4.2.2 && <4.3
    , memory ==0.18.*
    , mtl >=2.3.1 && <3.0
    , network ==3.1.*
    , network-transport ==0.5.6
    , optparse-applicative >=0.15 && <0.17
    , random >=1.1 && <1.3
    , record-hasfield ==1.0.*
    , silently ==1.2.*
    , simple-logger ==0.1.*
    , simplex-chat
    , simplexmq >=5.0
    , socks ==0.6.*
    , sqlcipher-simple ==0.4.*
    , stm ==2.5.*
    , terminal ==0.2.*
    , time ==1.12.*
    , tls >=1.7.0 && <1.8
    , unliftio ==0.2.*
    , unliftio-core ==0.2.*
    , zip ==2.0.*
  default-language: Haskell2010
  if flag(swift)
    cpp-options: -DswiftJSON
  if impl(ghc >= 9.6.2)
    build-depends:
        bytestring ==0.11.*
      , process ==1.6.*
      , template-haskell ==2.20.*
      , text >=2.0.1 && <2.2
  if impl(ghc < 9.6.2)
    build-depends:
        bytestring ==0.10.*
      , process >=1.6 && <1.6.18
      , template-haskell ==2.16.*
      , text >=1.2.3.0 && <1.3
  if impl(ghc >= 9.6.2)
    build-depends:
        hspec ==2.11.*
  if impl(ghc < 9.6.2)
    build-depends:
        hspec ==2.7.*
