packages feed

hstox-0.0.1: hstox.cabal

name:                 hstox
synopsis:             A Tox protocol implementation in Haskell
version:              0.0.1
cabal-version:        >= 1.10
license:              AGPL-3
license-file:         LICENSE.md
build-type:           Simple
author:               iphy
maintainer:           iphy
copyright:            © 2016 iphy
homepage:             http://hstox.github.io
category:             Network
description:          A Tox protocol implementation in Haskell

source-repository head
  type: git
  location: https://github.com/iphydf/hstox

flag library-only
  description: Build only library, no executables or tests.
  default: False

library
  default-language: Haskell2010
  hs-source-dirs:
      src/tox
  ghc-options:
      -Wall
      -fno-warn-unused-imports
  build-depends:
      base < 5
    , QuickCheck                >= 2.9.1
    , base16-bytestring
    , binary
    , binary-bits
    , bytestring
    , containers
    , data-msgpack
    , integer-gmp
    , iproute
    -- network-2.6.2.1 is the last version that can be cross-compiled, so we install
    -- it explicitly here.
    , network                   <= 2.6.2.1
    , network-msgpack-rpc       >= 0.0.3
    , saltine
    , tagged
    , text
    , transformers
  exposed-modules:
      Network.Tox
      Network.Tox.Binary
      Network.Tox.Crypto
      Network.Tox.Crypto.Box
      Network.Tox.Crypto.CombinedKey
      Network.Tox.Crypto.Key
      Network.Tox.Crypto.KeyPair
      Network.Tox.Crypto.Nonce
      Network.Tox.DHT
      Network.Tox.DHT.DhtPacket
      Network.Tox.DHT.DhtState
      Network.Tox.DHT.Distance
      Network.Tox.DHT.KBuckets
      Network.Tox.DHT.NodesRequest
      Network.Tox.DHT.NodesResponse
      Network.Tox.DHT.PingPacket
      Network.Tox.DHT.RpcPacket
      Network.Tox.Encoding
      Network.Tox.NodeInfo
      Network.Tox.NodeInfo.HostAddress
      Network.Tox.NodeInfo.NodeInfo
      Network.Tox.NodeInfo.PortNumber
      Network.Tox.NodeInfo.SocketAddress
      Network.Tox.NodeInfo.TransportProtocol
      Network.Tox.Protocol
      Network.Tox.Protocol.Packet
      Network.Tox.Protocol.PacketKind
      Network.Tox.Testing
  if !flag(library-only)
    hs-source-dirs:
        src/testsuite
    build-depends:
        hspec
    other-modules:
        Network.Tox.Crypto.BoxSpec
        Network.Tox.Crypto.CombinedKeySpec
        Network.Tox.Crypto.KeyPairSpec
        Network.Tox.Crypto.KeySpec
        Network.Tox.Crypto.NonceSpec
        Network.Tox.CryptoSpec
        Network.Tox.DHT.DhtPacketSpec
        Network.Tox.DHT.DhtStateSpec
        Network.Tox.DHT.DistanceSpec
        Network.Tox.DHT.KBucketsSpec
        Network.Tox.DHT.NodesRequestSpec
        Network.Tox.DHT.NodesResponseSpec
        Network.Tox.DHT.PingPacketSpec
        Network.Tox.DHT.RpcPacketSpec
        Network.Tox.DHTSpec
        Network.Tox.EncodingSpec
        Network.Tox.NodeInfo.HostAddressSpec
        Network.Tox.NodeInfo.NodeInfoSpec
        Network.Tox.NodeInfo.PortNumberSpec
        Network.Tox.NodeInfo.SocketAddressSpec
        Network.Tox.NodeInfoSpec
        Network.Tox.NodeInfo.TransportProtocolSpec
        Network.Tox.Protocol.PacketKindSpec
        Network.Tox.Protocol.PacketSpec
        Network.Tox.ProtocolSpec
        Network.Tox.RPCTest
    exposed-modules:
        ToxTestSuite

executable tox-spectest
  default-language: Haskell2010
  hs-source-dirs:
      src
  ghc-options:
      -Wall
      -fno-warn-unused-imports
  build-depends:
      base < 5
    , hstox
    , process
  main-is: tox-spectest.hs
  if flag(library-only)
    buildable: False

test-suite testsuite
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  hs-source-dirs:
      test
  ghc-options:
      -Wall
      -fno-warn-unused-imports
  build-depends:
      base < 5
    , async
    , hstox
  main-is: testsuite.hs