name:                glirc
version:             2.23
synopsis:            Console IRC client
description:         Console IRC client
                     .
                     glirc is a console IRC client with an emphasis on providing
                     dynamic views into the model of your IRC connections.
                     .
                     <https://github.com/glguy/irc-core/wiki Documentation Wiki>
license:             ISC
license-file:        LICENSE
author:              Eric Mertens
maintainer:          emertens@gmail.com
copyright:           2016,2017 Eric Mertens
category:            Network
build-type:          Custom
extra-source-files:  ChangeLog.md README.md
                     exec/linux_exported_symbols.txt
                     exec/macos_exported_symbols.txt
cabal-version:       >=1.23
homepage:            https://github.com/glguy/irc-core
bug-reports:         https://github.com/glguy/irc-core/issues
tested-with:         GHC==8.0.2

custom-setup
  setup-depends: base     >=4.9  && <4.11,
                 filepath >=1.4  && <1.5,
                 Cabal    >=1.24 && <2.1

source-repository head
  type: git
  location: git://github.com/glguy/irc-core.git
  branch: v2

executable glirc2
  main-is:             Main.hs
  other-modules:       Exports
  ghc-options:         -threaded -rtsopts

  hs-source-dirs:      exec
  default-language:    Haskell2010

  -- Constraints can be found on the library itself
  build-depends:       base, glirc, lens, text, vty

  if os(Linux)
      ld-options: -Wl,--dynamic-list=exec/linux_exported_symbols.txt
  if os(Darwin)
      ld-options: -Wl,-exported_symbols_list,exec/macos_exported_symbols.txt

library
  ghc-options:         -Wall -O2
  hs-source-dirs:      src
  include-dirs:        include
  includes:            include/glirc-api.h
  install-includes:    glirc-api.h
  default-language:    Haskell2010
  build-tools:         hsc2hs

  exposed-modules:     Client.Authentication.Ecdsa
                       Client.CApi
                       Client.CApi.Exports
                       Client.CApi.Types
                       Client.Commands
                       Client.Commands.Arguments.Spec
                       Client.Commands.Arguments.Parser
                       Client.Commands.Arguments.Renderer
                       Client.Commands.Exec
                       Client.Commands.Interpolation
                       Client.Commands.Recognizer
                       Client.Commands.WordCompletion
                       Client.Configuration
                       Client.Configuration.Colors
                       Client.Configuration.Macros
                       Client.Configuration.ServerSettings
                       Client.EventLoop
                       Client.EventLoop.Actions
                       Client.EventLoop.Errors
                       Client.Hook
                       Client.Hook.Znc.Buffextras
                       Client.Hooks
                       Client.Image
                       Client.Image.Layout
                       Client.Image.LineWrap
                       Client.Image.Message
                       Client.Image.MircFormatting
                       Client.Image.PackedImage
                       Client.Image.Palette
                       Client.Image.StatusLine
                       Client.Image.Textbox
                       Client.Log
                       Client.Message
                       Client.Network.Async
                       Client.Network.Connect
                       Client.Options
                       Client.State
                       Client.State.Channel
                       Client.State.EditBox
                       Client.State.EditBox.Content
                       Client.State.Focus
                       Client.State.Network
                       Client.State.Window
                       Client.View
                       Client.View.ChannelInfo
                       Client.View.Digraphs
                       Client.View.Help
                       Client.View.KeyMap
                       Client.View.MaskList
                       Client.View.Mentions
                       Client.View.Messages
                       Client.View.Palette
                       Client.View.RtsStats
                       Client.View.UrlSelection
                       Client.View.UserList
                       Client.View.Windows

  other-modules:       LensUtils
                       StrictUnit
                       Digraphs
                       DigraphQuote
                       RtsStats
                       Paths_glirc
                       Build_glirc

  build-depends:       base                 >=4.9    && <4.11,
                       HsOpenSSL            >=0.11   && <0.12,
                       async                >=2.1    && <2.2,
                       attoparsec           >=0.13   && <0.14,
                       base64-bytestring    >=1.0.0.1&& <1.1,
                       bytestring           >=0.10.8 && <0.11,
                       config-schema        >=0.4    && <0.6,
                       config-value         >=0.6    && <0.7,
                       containers           >=0.5.7  && <0.6,
                       directory            >=1.2.6  && <1.4,
                       filepath             >=1.4.1  && <1.5,
                       free                 >=4.12   && <4.13,
                       gitrev               >=1.2    && <1.4,
                       hashable             >=1.2.4  && <1.3,
                       hookup               >=0.1    && <0.2,
                       irc-core             >=2.3    && <2.4,
                       kan-extensions       >=5.0    && <5.1,
                       lens                 >=4.14   && <4.16,
                       network              >=2.6.2  && <2.7,
                       process              >=1.4.2  && <1.7,
                       regex-tdfa           >=1.2    && <1.3,
                       semigroupoids        >=5.1    && <5.3,
                       socks                >=0.5.5  && <0.6,
                       split                >=0.2    && <0.3,
                       stm                  >=2.4    && <2.5,
                       template-haskell     >=2.11   && <2.13,
                       text                 >=1.2.2  && <1.3,
                       time                 >=1.6    && <1.9,
                       transformers         >=0.5.2  && <0.6,
                       unix                 >=2.7    && <2.8,
                       unordered-containers >=0.2.7  && <0.3,
                       vector               >=0.11   && <0.13,
                       vty                  >=5.11.1 && <5.16

test-suite test
  type:                exitcode-stdio-1.0
  main-is:             Main.hs
  hs-source-dirs:      test
  build-depends:       base, glirc,
                       HUnit                >=1.3 && <1.7
  default-language:    Haskell2010