A higher-level interface over threads, in which an "Async a" is a

concurrent thread that will eventually deliver a value of type "a".
The package provides ways to create "Async" computations, wait for
their results, and cancel them.

ok sthen@
This commit is contained in:
kili 2012-12-02 20:10:22 +00:00
parent 4d5103d170
commit 9905b2ecb8
4 changed files with 70 additions and 0 deletions

27
devel/hs-async/Makefile Normal file
View File

@ -0,0 +1,27 @@
# $OpenBSD: Makefile,v 1.1.1.1 2012/12/02 20:10:22 kili Exp $
COMMENT = asynchronous IO operations
DISTNAME = async-2.0.1.3
CATEGORIES = devel
MAINTAINER = Matthias Kilian <kili@openbsd.org>
# BSD3
PERMIT_PACKAGE_CDROM = Yes
PERMIT_PACKAGE_FTP = Yes
PERMIT_DISTFILES_CDROM =Yes
PERMIT_DISTFILES_FTP = Yes
MODULES = lang/ghc
MODGHC_BUILD = cabal hackage haddock register
BUILD_DEPENDS = ${RUN_DEPENDS}
RUN_DEPENDS = devel/hs-stm>=2.2,<2.5
# Needs --enable-test, which will probably set by ghc.port.mk soon
# (when I have some numbers about build times).
NO_REGRESS = Yes
.include <bsd.port.mk>

2
devel/hs-async/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (ghc/async-2.0.1.3.tar.gz) = cNaBCErKgmyE1yIyD8XWesYpSAKvuxP4tejqwrvJcuU=
SIZE (ghc/async-2.0.1.3.tar.gz) = 8345

14
devel/hs-async/pkg/DESCR Normal file
View File

@ -0,0 +1,14 @@
A higher-level interface over threads, in which an "Async a" is a
concurrent thread that will eventually deliver a value of type "a".
The package provides ways to create "Async" computations, wait for
their results, and cancel them.
Using Async is safer than using threads in two ways:
* When waiting for a thread to return a result, if the thread dies
with an exception then the caller must either re-throw the exception
('wait') or handle it ('waitCatch'); the exception cannot be
ignored.
* The API makes it possible to build a tree of threads that are
automatically killed when their parent dies (see 'withAsync').

27
devel/hs-async/pkg/PLIST Normal file
View File

@ -0,0 +1,27 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2012/12/02 20:10:22 kili Exp $
lib/ghc/${DISTNAME}/
lib/ghc/${DISTNAME}/Control/
lib/ghc/${DISTNAME}/Control/Concurrent/
lib/ghc/${DISTNAME}/Control/Concurrent/Async.hi
lib/ghc/${DISTNAME}/HS${DISTNAME}.o
lib/ghc/${DISTNAME}/libHS${DISTNAME}.a
lib/ghc/${DISTNAME}/register.sh
share/doc/hs-${DISTNAME}/
share/doc/hs-${DISTNAME}/LICENSE
share/doc/hs-${DISTNAME}/html/
share/doc/hs-${DISTNAME}/html/Control-Concurrent-Async.html
share/doc/hs-${DISTNAME}/html/async.haddock
share/doc/hs-${DISTNAME}/html/doc-index.html
share/doc/hs-${DISTNAME}/html/frames.html
share/doc/hs-${DISTNAME}/html/haddock-util.js
share/doc/hs-${DISTNAME}/html/hslogo-16.png
share/doc/hs-${DISTNAME}/html/index-frames.html
share/doc/hs-${DISTNAME}/html/index.html
share/doc/hs-${DISTNAME}/html/mini_Control-Concurrent-Async.html
share/doc/hs-${DISTNAME}/html/minus.gif
share/doc/hs-${DISTNAME}/html/ocean.css
share/doc/hs-${DISTNAME}/html/plus.gif
share/doc/hs-${DISTNAME}/html/synopsis.png
@exec /usr/bin/env HOME=/nonexistent %D/lib/ghc/${DISTNAME}/register.sh -v0
@unexec /usr/bin/env HOME=/nonexistent %D/lib/ghc/${DISTNAME}/unregister.sh -v0 --force
lib/ghc/${DISTNAME}/unregister.sh