Subject: [PATCH v2 01/24] gnu: Add ghc-cache.

From: Stephen Paul Weber <[email-masked]>
Date: Thu, 13 Jan 2022 21:45:23 -0500

* gnu/packages/haskell-xyz.scm (ghc-cache): New variable.
---
 gnu/packages/haskell-xyz.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 1d86fe0c47..8260bb7dc4 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16027,3 +16027,33 @@ data Dec a
      "This package provides Type-level booleans.")
     (license license:bsd-3)))
 
+(define-public ghc-cache
+  (package
+    (name "ghc-cache")
+    (version "0.1.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://hackage.haskell.org/package/cache/cache-"
+               version
+               ".tar.gz"))
+        (sha256
+          (base32 "0d75257kvjpnv95ja50x5cs77pj8ccfr0nh9q5gzvcps83qdksa2"))))
+    (build-system haskell-build-system)
+    (inputs
+      (list
+        ghc-clock
+        ghc-hashable
+        ghc-unordered-containers))
+    (native-inputs
+      (list
+        ghc-hspec
+        hspec-discover))
+    (home-page "https://github.com/hverr/haskell-cache#readme")
+    (synopsis "In-memory key/value store with expiration support")
+    (description
+      "Cache is an in-memory key/value store with expiration support, similar to
+patrickmn/go-cache for Go.  The cache is a shared mutable HashMap implemented
+using STM and with support for expiration times.")
+    (license license:bsd-3)))
-- 
2.30.2