Subject: [bug#64965] [PATCH 8/8] gnu: Add glirc.

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Sun, 30 Jul 2023 02:00:00 +0200

* gnu/packages/irc.scm (glirc): New public variable.
---
 gnu/packages/irc.scm | 50 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 49 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 03256241dd..865b831d5c 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2015-2023 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2016 Nikita <[email-masked]>
 ;;; Copyright © 2017 Marius Bakke <[email-masked]>
-;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <[email-masked]>
+;;; Copyright © 2017–2023 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2020 Oleg Pykhalov <[email-masked]>
 ;;; Copyright © 2020, 2021, 2022 Vinicius Monego <[email-masked]>
 ;;; Copyright © 2020 Jakub Kądziołka <[email-masked]>
@@ -40,6 +40,7 @@ (define-module (gnu packages irc)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
+  #:use-module (guix build-system haskell)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt)
@@ -66,6 +67,9 @@ (define-module (gnu packages irc)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages haskell-check)
+  #:use-module (gnu packages haskell-crypto)
+  #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages lxqt)
   #:use-module (gnu packages man)
@@ -93,6 +97,50 @@ (define-module (gnu packages irc)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
+(define-public glirc
+  (package
+  (name "glirc")
+  (version "2.39.0.1")
+  (source
+   (origin
+     (method url-fetch)
+     (uri (hackage-uri "glirc" version))
+     (sha256
+      (base32 "0jaywb43jfv6kzyz540k02mxdgw1shc6hn7kia21alssszkilh4r"))))
+  (build-system haskell-build-system)
+  (native-inputs
+   (list ghc-hunit))
+  (inputs
+   (list ghc-async
+         ghc-attoparsec
+         ghc-base64-bytestring
+         ghc-config-schema
+         ghc-config-value
+         ghc-curve25519
+         ghc-free
+         ghc-githash
+         ghc-hashable
+         ghc-hookup
+         ghc-hsopenssl
+         ghc-irc-core
+         ghc-kan-extensions
+         ghc-lens
+         ghc-network
+         ghc-psqueues
+         ghc-random
+         ghc-regex-tdfa
+         ghc-split
+         ghc-unordered-containers
+         ghc-vector
+         ghc-vty))
+  (home-page "https://github.com/glguy/irc-core")
+  (synopsis "Console IRC client")
+  (description
+   "Glirc is a console IRC client with an emphasis on providing dynamic views
+into the model of your IRC connections.  All views and transformation are
+dynamic and don't change the underlying model.")
+  (license license:isc)))
+
 (define-public quassel
   (package
     (name "quassel")
-- 
2.41.0