Subject: [PATCH 2/3] gnu: Add ghc-brick and bump ghc-vty version as required

From: Tomás Ortín <[email-masked]>
Date: Fri, 24 Nov 2023 18:25:58 +0100

* gnu/packages/haskell-xyz.scm (ghc-vty): Update to 5.37.
* gnu/packages/haskell-xyz.scm (ghc-brick): New variable.

Change-Id: I7f1f302c9811e0409a68806412c73bf643f91ce4
---
  gnu/packages/haskell-xyz.scm | 102 ++++++++++++++++++++++-------------
  1 file changed, 64 insertions(+), 38 deletions(-)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index d733c6a5f6..c8df26bc3b 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13969,45 +13969,71 @@ (define-public ghc-void

  (define-public ghc-vty
    (package
-  (name "ghc-vty")
-  (version "5.35.1")
-  (source
-   (origin
-     (method url-fetch)
-     (uri (hackage-uri "vty" version))
-     (sha256
-      (base32 "062dpz8fxrnggzpl041zpbph0xj56jki98ajm2s78dldg5vy0c9k"))))
-  (build-system haskell-build-system)
-  (native-inputs
-   (list ghc-hunit
-         ghc-quickcheck
-         ghc-quickcheck-assertions
-         ghc-random
-         ghc-smallcheck
-         ghc-string-qq
-         ghc-test-framework
-         ghc-test-framework-smallcheck
-         ghc-test-framework-hunit))
-  (inputs
-   (list ghc-ansi-terminal
-         ghc-blaze-builder
-         ghc-hashable
-         ghc-microlens
-         ghc-microlens-mtl
-         ghc-microlens-th
-         ghc-parallel
-         ghc-utf8-string
-         ghc-vector))
-  (arguments
-   `(#:cabal-revision ("1"
- 
"1zqcvgqhcij92241g20zn3c3a4033biid3f3cqg05q1ygrmznxb5")))
-  (properties '((upstream-name . "vty")))
-  (home-page "https://github.com/jtdaugherty/vty")
-  (synopsis "Simple terminal UI library")
-  (description
-   "vty is a terminal GUI library in the niche of ncurses, intended to 
be easy
+    (name "ghc-vty")
+    (version "5.37")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "vty" version))
+       (sha256
+        (base32 "1w6dc25npvlaflxcyzdssnymgi7x03zkwg7swyjw6cjjfdmkgqb7"))))
+    (build-system haskell-build-system)
+    (native-inputs (list ghc-hunit
+                         ghc-quickcheck
+                         ghc-quickcheck-assertions
+                         ghc-random
+                         ghc-smallcheck
+                         ghc-string-qq
+                         ghc-test-framework
+                         ghc-test-framework-smallcheck
+                         ghc-test-framework-hunit))
+    (inputs (list ghc-ansi-terminal
+                  ghc-blaze-builder
+                  ghc-hashable
+                  ghc-microlens
+                  ghc-microlens-mtl
+                  ghc-microlens-th
+                  ghc-parallel
+                  ghc-utf8-string
+                  ghc-vector))
+    (properties '((upstream-name . "vty")))
+    (home-page "https://github.com/jtdaugherty/vty")
+    (synopsis "Simple terminal UI library")
+    (description
+     "vty is a terminal GUI library in the niche of ncurses, intended 
to be easy
  to use and to provide good support for common terminal types.")
-  (license license:bsd-3)))
+    (license license:bsd-3)))
+
+(define-public ghc-brick
+  (package
+    (name "ghc-brick")
+    (version "1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "brick" version))
+       (sha256
+        (base32 "12gwwqq38x0k6hjcn72dpcdwi0lrvyy8gxmp884h22l73xa4vda6"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "brick")))
+    (inputs (list ghc-bimap
+                  ghc-config-ini
+                  ghc-contravariant
+                  ghc-data-clist
+                  ghc-microlens
+                  ghc-microlens-mtl
+                  ghc-microlens-th
+                  ghc-text-zipper
+                  ghc-vector
+                  ghc-vty
+                  ghc-word-wrap))
+    (native-inputs (list ghc-quickcheck))
+    (home-page "https://github.com/jtdaugherty/brick")
+    (synopsis "Declarative terminal user interface (TUI) programming
+toolkit")
+    (description "Terminal user interface programming tooklit providing
+a declarative, purely functional API.")
+    (license license:expat)))

  (define-public ghc-wave
    (package
-- 
2.41.0