summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorJacob MacDonald <jaccarmac@gmail.com>2019-06-07 05:36:25 -0500
committerLudovic Courtès <ludo@gnu.org>2019-07-02 18:33:52 +0200
commit3c69d462ce478b2d4e3939afd6b895a3e0534809 (patch)
tree4834bf7141d0a839ab3afd42989a296a0ed14c68 /gnu
parent4e3ebbfb1649063bcc0f350523868c667e6699dd (diff)
downloadguix-3c69d462ce478b2d4e3939afd6b895a3e0534809.tar.gz
gnu: Add ghc-concurrent-output.
* gnu/packages/haskell.scm (ghc-concurrent-output): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/haskell.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c16a291563..63d4360182 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
 ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
+;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -11607,6 +11608,40 @@ default)
 @end itemize")
     (license license:bsd-3)))
 
+(define-public ghc-concurrent-output
+  (package
+    (name "ghc-concurrent-output")
+    (version "1.10.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://hackage/package/concurrent-output/concurrent-output-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1wnjxnwbc3l853kiiijagzjyb6fmhz3lmkwls24plbximl1qrr22"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-async" ,ghc-async)
+       ("ghc-stm" ,ghc-stm)
+       ("ghc-exceptions" ,ghc-exceptions)
+       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+       ("ghc-terminal-size" ,ghc-terminal-size)))
+    (home-page
+     "https://hackage.haskell.org/package/concurrent-output")
+    (synopsis
+     "Ungarble output from several threads or commands")
+    (description
+     "Lets multiple threads and external processes concurrently output to the
+console, without it getting all garbled up.
+
+Built on top of that is a way of defining multiple output regions, which are
+automatically laid out on the screen and can be individually updated by
+concurrent threads.  Can be used for progress displays etc.")
+    (license license:bsd-2)))
+
 (define-public ghc-wl-pprint-annotated
   (package
     (name "ghc-wl-pprint-annotated")