From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:47211) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hmyww-0004yL-Bm for guix-patches@gnu.org; Mon, 15 Jul 2019 07:15:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hmywu-0002VP-6T for guix-patches@gnu.org; Mon, 15 Jul 2019 07:15:18 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:37853) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hmywt-0002UX-CI for guix-patches@gnu.org; Mon, 15 Jul 2019 07:15:16 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hmywt-0003Uo-59 for guix-patches@gnu.org; Mon, 15 Jul 2019 07:15:15 -0400 Subject: [bug#36663] [PATCH 13/14] gnu: Add ghc-threads Resent-Message-ID: From: Robert Vollmert Date: Mon, 15 Jul 2019 13:14:11 +0200 Message-Id: <20190715111412.74324-13-rob@vllmrt.net> In-Reply-To: <20190715111412.74324-1-rob@vllmrt.net> References: <20190715111412.74324-1-rob@vllmrt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 36663@debbugs.gnu.org Cc: Robert Vollmert * gnu/packages/haskell-xyz.scm (ghc-threads): New field. --- gnu/packages/haskell-xyz.scm | 39 ++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 7763b94ae4..f8a063a7dd 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -220,3 +220,42 @@ primitives for I/O using streams.") pretty printing library. Provides the pretty printing class and instances for the Prelude types.") (license license:bsd-3))) + +(define-public ghc-threads + (package + (name "ghc-threads") + (version "0.5.1.6") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/threads/threads-" + version + ".tar.gz")) + (sha256 + (base32 + "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk")))) + (build-system haskell-build-system) + (native-inputs + `(("ghc-concurrent-extra" ,ghc-concurrent-extra) + ("ghc-hunit" ,ghc-hunit) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-hunit" + ,ghc-test-framework-hunit))) + (home-page + "https://github.com/basvandijk/threads") + (synopsis + "Fork threads and wait for their result") + (description + "This package provides functions to fork threads and wait for their +result, whether it's an exception or a normal value. +Besides waiting for the termination of a single thread this packages also +provides functions to wait for a group of threads to terminate. +This package is similar to the threadmanager, async and spawn packages. +The advantages of this package are: +* Simpler API. +* More efficient in both space and time. +* No space-leak when forking a large number of threads. +* Correct handling of asynchronous exceptions. +* GHC specific functionality like forkOn and forkIOWithUnmask.") + (license license:bsd-3))) -- 2.20.1 (Apple Git-117)