Subject: [bug#46755] [PATCH] gnu: Add cl-irc

From: Aurora <[email-masked]>
Date: Mon, 22 Feb 2021 18:28:13 -0500

Debian fork is used as the primary host is no-longer functional.
---
 gnu/packages/lisp-xyz.scm | 45 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 40d756649d..97adbe9120 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -279,6 +279,51 @@ interactive development model in mind.")
 (define-public ecl-fiveam
   (sbcl-package->ecl-package sbcl-fiveam))
 
+(define-public sbcl-cl-irc
+  (package
+    (name "sbcl-cl-irc")
+    (version "0.9.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
+                    (commit "963823537c7bfcda2edd4c44d172192da6722175")))
+              (sha256
+               (base32
+                "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
+    (build-system asdf-build-system/sbcl)
+    (native-inputs
+     ;; Tests only.
+     `(("rt" ,sbcl-rt)))
+    (inputs
+     `(("usocket"          ,sbcl-usocket)
+       ("flexi-streams"    ,sbcl-flexi-streams)
+       ("split-sequence"   ,sbcl-split-sequence)
+       ("cl+ssl"           ,sbcl-cl+ssl)))
+    (arguments
+     `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
+                                 ;; found by guix otherwise.
+       #:asd-files '("cl-irc.asd")
+       ;; #:test-asd-file "test/cl-irc-test.asd" ;; Tests are broken?
+       #:tests? #f))
+    (synopsis "irc client library for Common Lisp")
+    (description "cl-irc is a Common Lisp IRC client library that features (partial) DCC, CTCP and all relevant commands from the IRC RFCs (RFC2810, RFC2811 and RFC2812). It uses ASDF and has been tested mostly on SBCL but should work for other implementations with little or no extra code.
+
+Features:
+@itemize
+@item implements all commands in the RFCs
+@item extra convenience commands such as op/deop, ban, ignore, etc.
+@item partial DCC SEND/CHAT support
+@item event driven model with hooks makes interfacing easy
+@item the user can keep multiple connections
+@item all CTCP commands
+@end itemize\n")
+    (home-page "https://common-lisp.net/project/cl-irc/")
+    (license license:bsd-2)))
+
+(define-public cl-irc
+  (sbcl-package->cl-source-package sbcl-cl-irc))
+
 (define-public sbcl-trivial-timeout
   (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
         (revision "1"))
-- 
2.20.1