packages feed

Dust-2.0: Dust.cabal

Name:                Dust
Version:             2.0
Description:         Dust is a polymorphic protocol engine designed to circumvent Internet filtering based on protocol identification
Synopsis:            Polymorphic protocol engine
Category:            Network
License:             GPL
License-file:        LICENSE
Author:              Brandon Wiley
Maintainer:          brandon@ischool.utexas.edu
Build-Type:          Simple
Cabal-Version:       >=1.8

Library
  Build-Depends:
    base >= 3 && < 5,
    bytestring,
    entropy,
    network,
    cereal,
    ghc-prim,
    binary,
    random,
    random-extras,
    random-source,
    random-fu,
    containers,
    directory,
    split,
    cipher-aes
  Extensions:
    ForeignFunctionInterface

  Exposed-modules:
      Dust.Network.TcpServer
      Dust.Network.UdpServer
      Dust.Network.TcpClient
      Dust.Network.Util
      Dust.Model.PacketLength
      Dust.Model.Huffman
      Dust.Model.Content
      Dust.Core.Invite
      Dust.Model.Observations
      Dust.Model.Stats
      Dust.Crypto.Keys
      Dust.Crypto.ECDSA
      Dust.Crypto.ECDH
      Dust.Crypto.DustCipher


--  if os(windows)
--    build-depends: Win32
--    C-sources: lib/curve25519-donna.c, lib/ed25519-donna/ed25519.c
--    extra-lib-dirs=C:\OpenSSL-Win64 /OpenSSL-Win64 C:\OpenSSL-Win64\lib C:\OpenSSL-Win64\bin
--    extra-libraries: ssleay32 eay32

  if os(linux) || os(darwin)
    C-sources: lib/curve25519-donna.c, lib/ed25519-donna/ed25519.c
    Include-Dirs: lib
    extra-libraries: crypto
    Exposed-modules:
      Dust.Crypto.Curve25519
      Dust.Crypto.Ed25519
      Dust.Core.DustPacket
      Dust.Core.CryptoProtocol
      Dust.Core.WireProtocol
      Dust.Core.WireProtocolHandler
      Dust.Network.DustServer
      Dust.Model.Port
      Dust.Model.Packet

test-suite crypto
  type: exitcode-stdio-1.0
  main-is: TestCrypto.hs
  ghc-options: -w -threaded -rtsopts -with-rtsopts=-N
  hs-source-dirs: tests

  build-depends:
    base,
    Dust,
    HUnit >= 1.2,
    test-framework       >= 0.6,
    test-framework-hunit >= 0.2,
    test-framework-quickcheck2,
--    test-framework-th,
    bytestring,
    cipher-aes,
    cereal,
    ghc-prim,
    QuickCheck

test-suite core
  type: exitcode-stdio-1.0
  main-is: TestCore.hs
  ghc-options: -w -threaded -rtsopts -with-rtsopts=-N
  hs-source-dirs: tests

  build-depends:
    base,
    Dust,
    HUnit >= 1.2,
    test-framework       >= 0.6,
    test-framework-hunit >= 0.2,
    test-framework-quickcheck2,
    test-framework-th,
    bytestring,
    cipher-aes,
    cereal,
    ghc-prim,
    QuickCheck

-- test-suite model
--   type: exitcode-stdio-1.0
--   main-is: TestModel.hs
--   ghc-options: -w -threaded -rtsopts -with-rtsopts=-N
--   hs-source-dirs: tests

--   build-depends:
--     base,
--     Dust,
--     HUnit >= 1.2,
--     test-framework       >= 0.6,
--     test-framework-hunit >= 0.2,
--     test-framework-th,
--     base >= 3 && < 5, bytestring, cipher-aes, entropy, network, cereal, ghc-prim, binary, random, random-extras, random-source, random-fu, containers