-- Initial haskell-magic-wormhole-client.cabal generated by cabal init.
-- For further documentation, see http://haskell.org/cabal/users-guide/

name:                hwormhole
version:             0.2.0.1
synopsis:            magic-wormhole client
description:         A secure way to send files over the Internet using the magic-wormhole protocol
license:             GPL-3
license-file:        LICENSE
author:              Ramakrishnan Muthukrishnan <ram@leastauthority.com>, Jean-Paul Calderone <jean-paul@leastauthority.com>
maintainer:          Least Authority TFA GmbH
copyright:           (c) 2018 Least Authority TFA GmbH
category:            Network
build-type:          Simple
extra-source-files:  ChangeLog.md
cabal-version:       1.24

source-repository head
  type: git
  location: https://github.com/LeastAuthority/wormhole-client

library
  hs-source-dirs:      src
  exposed-modules:     Transit
                     , Transit.Internal.App
                     , Transit.Internal.Conf
                     , Transit.Internal.Errors
                     , Transit.Internal.FileTransfer
                     , Transit.Internal.Network
                     , Transit.Internal.Peer
                     , Transit.Internal.Messages
                     , Transit.Internal.Pipeline
                     , Transit.Internal.Crypto
  build-depends:       aeson           >= 1.4     && < 2
                     , async           >= 2.1.0   && < 3.0
                     , base            >= 4.6     && < 5
                     , binary          >= 0.7     && < 1.0
                     , bytestring      >= 0.9     && < 1.0
                     , conduit         >= 1.2.13  && < 2.0
                     , conduit-extra   >  1.0.0   && < 2.0
                     , containers      >= 0.5.10  && < 1.0
                     , cryptonite      >= 0.24    && < 1.0
                     , directory       >= 1.3     && < 2.0
                     , filepath        >= 1.4.0   && < 2.0
                     , haskeline       >= 0.7.4   && < 1.0
                     , magic-wormhole  >= 0.2.1   && < 1.0
                     , memory          >= 0.14.15 && < 1.0
                     , mtl             >= 2.2.2   && < 3.0
                     , network         >= 2.7     && < 3
                     , network-info    >= 0.2.0   && < 1.0
                     , pathwalk        >= 0.3.1.2 && < 1.0
                     , pgp-wordlist    >= 0.1.0.2 && < 1.0
                     , protolude       >= 0.2.1   && < 1.0
                     , random          >= 1.1     && < 2.0
                     , saltine         == 0.1.0.1 && < 1.0
                     , spake2          >= 0.4     && < 1.0
                     , temporary       >= 1.3     && < 2.0
                     , text            >= 1.2.1   && < 2.0
                     , transformers    >= 0.5.5   && < 1.0
                     , unix-compat     >= 0.5.0   && < 1.0
                     , zip             >= 1.2.0   && < 2.0
  default-language:    Haskell2010
  default-extensions:  NoImplicitPrelude OverloadedStrings TypeApplications
  ghc-options: -Wall -Werror=incomplete-patterns

executable hwormhole-exe
  main-is:             Main.hs
  other-modules:       Options
  -- other-extensions:
  build-depends:       base            >=4.6      && <5
                     , bytestring
                     , aeson           >=1.4      && <2
                     , binary
                     , hwormhole
                     , optparse-applicative
                     , protolude
                     , text
                     , transformers
  hs-source-dirs:      cmd
  default-language:    Haskell2010
  default-extensions:  NoImplicitPrelude OverloadedStrings TypeApplications
  ghc-options: -Wall -Werror=incomplete-patterns

test-suite hwormhole-tests
  type:               exitcode-stdio-1.0
  main-is:            Main.hs
  hs-source-dirs:     tests
  default-extensions: NoImplicitPrelude OverloadedStrings TypeApplications
  ghc-options: -Wall -Werror=incomplete-patterns
  build-depends:      base             >=4.6      && <5
                    , bytestring
                    , aeson            >=1.4      && <2
                    , bytestring
                    , conduit
                    , containers
                    , binary
                    , binary-conduit
                    , conduit-extra
                    , text
                    , protolude
                    , hspec
                    , saltine
                    , hwormhole
                    , magic-wormhole
                    , hedgehog
  other-modules:      ProtocolTests
                    , MessagesTests
                    , PipelineTests
                    , CryptoTests
                    , Generator
  default-language:   Haskell2010