Subject: [bug#38808] [PATCH v2] gnu: Add ghcid.

From: Alexandru-Sergiu Marton <[email-masked]>
Date: Tue, 4 Feb 2020 15:59:03 +0200

* gnu/packages/haskell-apps.scm (ghcid): New variable.
---
This moves the package to haskell-apps and brings a newer version (0.8.1, rather than 0.8).

 gnu/packages/haskell-apps.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 767f0c7f99..6e614245a9 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2015 John Soo <[email-masked]>
 ;;; Copyright © 2019 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2019 Alex Griffin <[email-masked]>
+;;; Copyright © 2020 Alexandru-Sergiu Marton <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -267,6 +268,40 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
 @end enumerate")
     (license license:gpl2)))
 
+(define-public ghcid
+  (package
+    (name "ghcid")
+    (version "0.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/ghcid/"
+                           "ghcid-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1k5yk9ba6g2x0wsqx1zb9zviqp9p7myd628fxi2rf4wjh0kkjc4c"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-extra" ,ghc-extra)
+       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+       ("ghc-cmdargs" ,ghc-cmdargs)
+       ("ghc-fsnotify" ,ghc-fsnotify)
+       ("ghc-terminal-size" ,ghc-terminal-size)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+    (home-page
+     "https://github.com/ndmitchell/ghcid#readme")
+    (synopsis "GHCi based bare bones IDE")
+    (description
+     "Either \"GHCi as a daemon\" or \"GHC + a bit of an IDE\".  A very simple Haskell
+development tool which shows you the errors in your project and updates them whenever
+you save.  Run @code{ghcid --topmost --command=ghci}, where @code{--topmost} makes the
+window on top of all others (Windows only) and @code{--command} is the command to start
+GHCi on your project (defaults to @code{ghci} if you have a @file{.ghci} file, or else
+to @code{cabal repl}).")
+    (license license:bsd-3)))
+
 (define-public git-annex
   (package
     (name "git-annex")
-- 
2.25.0