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 | 49 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 40d756649d..747059abe9 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -279,6 +279,55 @@ 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