summaryrefslogtreecommitdiff
path: root/devel/hs-async
diff options
context:
space:
mode:
authorpho <pho@pkgsrc.org>2020-01-02 17:37:50 +0000
committerpho <pho@pkgsrc.org>2020-01-02 17:37:50 +0000
commitac6d57ccab10b8300bad05dc0a03fbeb2fedf359 (patch)
treeee639975cc45122d0078dc1cd03ff09611ca67b8 /devel/hs-async
parent940f38079effcc9873ac76be9a5adabf4a13e824 (diff)
downloadpkgsrc-ac6d57ccab10b8300bad05dc0a03fbeb2fedf359.tar.gz
Import async-2.2.2
This package provides 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).
Diffstat (limited to 'devel/hs-async')
-rw-r--r--devel/hs-async/DESCR14
-rw-r--r--devel/hs-async/Makefile13
-rw-r--r--devel/hs-async/buildlink3.mk16
-rw-r--r--devel/hs-async/distinfo6
4 files changed, 49 insertions, 0 deletions
diff --git a/devel/hs-async/DESCR b/devel/hs-async/DESCR
new file mode 100644
index 00000000000..e7fa8ba0fc9
--- /dev/null
+++ b/devel/hs-async/DESCR
@@ -0,0 +1,14 @@
+This package provides 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).
diff --git a/devel/hs-async/Makefile b/devel/hs-async/Makefile
new file mode 100644
index 00000000000..ce0b3e7b112
--- /dev/null
+++ b/devel/hs-async/Makefile
@@ -0,0 +1,13 @@
+# $NetBSD: Makefile,v 1.1 2020/01/02 17:37:50 pho Exp $
+
+DISTNAME= async-2.2.2
+CATEGORIES= devel
+
+MAINTAINER= pho@cielonegro.org
+COMMENT= Run IO operations asynchronously and wait for their results
+LICENSE= modified-bsd
+
+.include "../../mk/haskell.mk"
+.include "../../devel/hs-hashable/buildlink3.mk"
+.include "../../devel/hs-stm/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/devel/hs-async/buildlink3.mk b/devel/hs-async/buildlink3.mk
new file mode 100644
index 00000000000..13512f56b78
--- /dev/null
+++ b/devel/hs-async/buildlink3.mk
@@ -0,0 +1,16 @@
+# $NetBSD: buildlink3.mk,v 1.1 2020/01/02 17:37:50 pho Exp $
+
+BUILDLINK_TREE+= hs-async
+
+.if !defined(HS_ASYNC_BUILDLINK3_MK)
+HS_ASYNC_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.hs-async+= hs-async>=2.2.2
+BUILDLINK_ABI_DEPENDS.hs-async+= hs-async>=2.2.2
+BUILDLINK_PKGSRCDIR.hs-async?= ../../devel/hs-async
+
+.include "../../devel/hs-hashable/buildlink3.mk"
+.include "../../devel/hs-stm/buildlink3.mk"
+.endif # HS_ASYNC_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -hs-async
diff --git a/devel/hs-async/distinfo b/devel/hs-async/distinfo
new file mode 100644
index 00000000000..65ee978c7b0
--- /dev/null
+++ b/devel/hs-async/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2020/01/02 17:37:50 pho Exp $
+
+SHA1 (async-2.2.2.tar.gz) = c8299a67196e787f67c4ca1845c6e62f67c3ab35
+RMD160 (async-2.2.2.tar.gz) = 7720a66b809212545e0dc20c95b375d4240afb2d
+SHA512 (async-2.2.2.tar.gz) = 6984c74b76dc1db73363ca2e360d2be6f2e7b4de5c7de452c4df7ee996b2256790a8cecb532af6d7d675541315a16f8e4ce566c5f79e4102e4a857f057e2d811
+Size (async-2.2.2.tar.gz) = 12927 bytes