packages feed

irc-core-1.1.0.1: irc-core.cabal

name:                irc-core
version:             1.1.0.1
homepage:            https://github.com/glguy/irc-core
bug-reports:         https://github.com/glguy/irc-core/issues
license:             BSD3
license-file:        LICENSE
author:              Eric Mertens
maintainer:          Eric Mertens <emertens@gmail.com>
copyright:           2015 Eric Mertens
category:            Network
build-type:          Simple
cabal-version:       >=1.10
synopsis:            An IRC client library and text client
description:
  This package provides an IRC connection library as well as a console-based IRC client
  that uses the library.
  .
  /Library module breakdown/
  .
  * "Irc.Cmd" - Functions for generating IRC protocol message for client-to-server
  .
  * "Irc.Core" - Functions for parsing low-level IRC messages into mid-level IRC messages
  .
  * "Irc.Core.Prisms" - Prisms for all of the mid-level IRC message constructors
  .
  * "Irc.Format" - Functions for parsing and rendering low-level IRC protocol messages
  .
  * "Irc.Message" - High-level IRC event messages for client interpretation
  .
  * "Irc.Model" - Functions for interpreting mid-level IRC messages to generate high-level
                  event messages and to maintain a consistent view of the connection
  .
  * "Irc.RateLimit" - Functions to assist with rate-limiting outgoing client messages
  .
  * "Irc.Time" - Internal compatibility module for time-1.4 and time-1.5 interop
  .
  /Library module breakdown/
  .
  * "Main" - Main client module
  .
  * "ClientState" - Types and operations representing the full state of the client
  .
  * "CommandArgs" - Types and functions for interpreting the initial client configuration
  .
  * "CommandParser" - Types and functions for parsing and pretty printing IRC commands
  .
  * "Connection" - Types and functions for establishing a plain and TLS connections
  .
  * "CtcpHandler" - Event handler for CTCP messages
  .
  * "EditBox" - Types and functions for managing the input box along the bottom of the client
  .
  * "HaskelHighlighter" - Haskell syntax highlighting support
  .
  * "ImageUtils" - Functions to support the various view construction
  .
  * "Moderation" - Implementation of various IRC channel moderation automation
  .
  * "ServerSettings" - Types for defining connection parameters for an IRC server
  .
  * "Views.BanList" - Functions to generate the ban list view
  .
  * "Views.Channel" - Functions to generate message list views
  .
  * "Views.ChannelInfo" - Functions to generate metadata views for channels
  .
  See the associated README file for help using the client.

extra-source-files:     README.md
                        CHANGELOG.md

-- Use time-1.5 and drop old-locale
flag time15
  default: True

library
  exposed-modules:     Irc.Core
                       Irc.Core.Prisms
                       Irc.Cmd
                       Irc.Message
                       Irc.Model
                       Irc.Format
                       Irc.RateLimit

  other-modules:       Irc.Time

  -- Note: GHC 7.8.4 fixes a bug that can cause IRC.Core
  -- to use an absurd amount of RAM when compiling.
  -- The base >= 4.7.0.2 is to protect people from finding
  -- this out the hard way.
  build-depends:       base             >= 4.7.0.2  && < 4.9,

                       array            >= 0.5      && < 0.6,
                       attoparsec       >= 0.12.1.2 && < 0.14,
                       bytestring       >= 0.10     && < 0.11,
                       base64-bytestring>= 1.0.0.1  && < 1.1,
                       containers       >= 0.5      && < 0.6,
                       free             >= 4.11     && < 4.13,
                       lens             >= 4.7      && < 4.11,
                       text             >= 1.2.0.4  && < 1.3,
                       transformers     >= 0.2      && < 0.5

  if flag(time15)
    build-depends:     time             >= 1.5      && < 1.6
  else
    build-depends:     time             >= 1.4.2    && < 1.5,
                       old-locale       >= 1.0.0.6  && < 1.1

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

executable glirc
  main-is: Main.hs
  other-modules: ClientState
                 CommandArgs
                 CommandParser
                 Connection
                 CtcpHandler
                 EditBox
                 HaskellHighlighter
                 ImageUtils
                 Moderation
                 ServerSettings
                 Views.BanList
                 Views.Channel
                 Views.ChannelInfo
  hs-source-dirs: driver
  ghc-options: -threaded
  build-depends: irc-core,

                 connection       >= 0.2.4    && < 0.3,
                 tls              >= 1.2.16   && < 1.3,
                 data-default-class >= 0.0.1  && < 0.1,
                 x509             >= 1.5.0.1  && < 1.6,
                 x509-system      >= 1.5.0    && < 1.6,
                 x509-store       >= 1.5.0    && < 1.6,
                 x509-validation  >= 1.5.1    && < 1.6,

                 array            >= 0.5      && < 0.6,
                 base             >= 4.7      && < 4.9,
                 bytestring       >= 0.10.4.0 && < 0.11,
                 containers       >= 0.5      && < 0.6,
                 config-value     >= 0.4      && < 0.5,
                 deepseq          >= 1.3.0.2  && < 1.5,
                 directory        >= 1.2.1.0  && < 1.3,
                 filepath         >= 1.3.0.2  && < 1.5,
                 lens             >= 4.7      && < 4.11,
                 network          >= 2.6.0.2  && < 2.7,
                 old-locale       >= 1.0.0.6  && < 1.1,
                 split            >= 0.2.2    && < 0.3,
                 stm              >= 2.4.4    && < 2.5,
                 text             >= 1.2.0.4  && < 1.3,
                 time             >= 1.4.2    && < 1.6,
                 vty              >= 5.2.7    && < 5.3,
                 haskell-lexer    >= 1.0      && < 1.1,
                 transformers     >= 0.2      && < 0.5
  default-language:    Haskell2010

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