Subject: [PATCH 2/4] gnu: Add ghc-twain.

From: VÖRÖSKŐI András <[email-masked]>
Date: Mon, 13 Nov 2023 06:03:49 +0100

* gnu/packages/haskell-xyz.scm (ghc-twain): New variable.

Change-Id: Ic193d53c9b6892e1de34d61a9f9d4a2d2921569b
---
 gnu/packages/haskell-xyz.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index a5bd2f2196..d6d858f6e1 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -6562,6 +6562,35 @@ (define-public ghc-these-lens
     (description "This package provides Prism and Traversals for @code{These}.")
     (license license:bsd-3)))
 
+(define-public ghc-twain
+  (package
+    (name "ghc-twain")
+    (version "2.1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "twain" version))
+       (sha256
+        (base32 "1hkzp2g671dagmv1qznkf3mw3l2mslckg7h0a8x8633h6i3j6br0"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "twain")))
+    (inputs (list ghc-aeson
+                  ghc-case-insensitive
+                  ghc-cookie
+                  ghc-either
+                  ghc-http-types
+                  ghc-http2
+                  ghc-vault
+                  ghc-wai
+                  ghc-wai-extra))
+    (native-inputs (list ghc-hspec ghc-hspec-discover ghc-hspec-wai))
+    (home-page "https://github.com/alexmingoia/twain")
+    (synopsis "Tiny web application framework for WAI")
+    (description
+     "Twain is tiny web application framework for WAI.  It provides routing,
+parameter parsing, and an either-like monad for composing responses.")
+    (license license:bsd-3)))
+
 (define-public ghc-libffi
   (package
     (name "ghc-libffi")
-- 
2.41.0