cabal-version:  3.0
name:           distributed-process-async
version:        0.2.8
x-revision: 2
build-type:     Simple
license:        BSD-3-Clause
license-file:   LICENCE
stability:      experimental
Copyright:      Tim Watson 2012 - 2016
Author:         Tim Watson
maintainer:     The Distributed Haskell team
Homepage:       http://github.com/haskell-distributed/distributed-process
Bug-Reports:    http://github.com/haskell-distributed/distributed-process/issues
synopsis:       Cloud Haskell Async API
description:    This package provides a higher-level interface over Processes, in which an Async a is a
                concurrent, possibly distributed Process that will eventually deliver a value of type a.
                The package provides ways to create Async computations, wait for their results, and cancel them.
category:       Control
tested-with:   GHC==8.10.7 GHC==9.0.2 GHC==9.2.8 GHC==9.4.5 GHC==9.6.4 GHC==9.8.2 GHC==9.10.1
extra-doc-files: CHANGELOG.md

source-repository head
  Type:     git
  Location: https://github.com/haskell-distributed/distributed-process
  SubDir:   packages/distributed-process-async

common warnings
    ghc-options: -Wall
                 -Wcompat
                 -Widentities
                 -Wincomplete-uni-patterns
                 -Wincomplete-record-updates
                 -Wredundant-constraints
                 -fhide-source-paths
                 -Wpartial-fields

library
  import:          warnings
  build-depends:
                   base >= 4.14 && < 5,
                   data-accessor >= 0.2.2.3,
                   distributed-process >= 0.6.1 && < 0.8,
                   exceptions >= 0.10 && < 1.0,
                   binary >= 0.8 && < 0.9,
                   deepseq >= 1.4 && < 1.7,
                   mtl,
                   containers >= 0.6 && < 0.8,
                   hashable >= 1.2.0.5 && < 1.6,
                   unordered-containers >= 0.2.3.0 && < 0.3,
                   fingertree < 0.2,
                   stm >= 2.4 && < 2.6,
                   time >= 1.9,
                   transformers
  default-extensions:      CPP
                   InstanceSigs
  hs-source-dirs:   src
  default-language: Haskell2010
  exposed-modules:
                   Control.Distributed.Process.Async
  other-modules:
                   Control.Distributed.Process.Async.Internal.Types

test-suite AsyncTests
  import:          warnings
  type:            exitcode-stdio-1.0
  x-uses-tf:       true
  build-depends:
                   base >= 4.14 && < 5,
                   ansi-terminal >= 0.5 && < 0.9,
                   distributed-process,
                   distributed-process-async,
                   distributed-process-systest >= 0.2.0 && <0.4,
                   exceptions >= 0.10 && < 1.0,
                   network >= 2.5 && < 3.3,
                   network-transport >= 0.4 && < 0.6,
                   network-transport-tcp >= 0.6 && < 0.9,
                   binary >= 0.8 && < 0.9,
                   deepseq >= 1.4 && < 1.6,
                   -- HUnit >= 1.2 && < 2,
                   stm >= 2.3 && < 2.6,
                   test-framework >= 0.6 && < 0.9,
                   test-framework-hunit,
                   rematch >= 0.2.0.0,
                   transformers
  hs-source-dirs:
                   tests
  default-language: Haskell2010
  ghc-options:     -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind
  default-extensions:      CPP
  main-is:         TestAsync.hs