Subject: [PATCH v2 3/4] gnu: packages: Add senpai.

From: "(" <[email-masked]>
Date: Mon, 10 Oct 2022 17:57:08 +0100

* gnu/packages/irc.scm (senpai): New variable.
---
 gnu/packages/irc.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index b82210081c..b64932310b 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2020 Brett Gilio <[email-masked]>
 ;;; Copyright © 2021 WinterHound <[email-masked]>
 ;;; Copyright © 2022 Jai Vetrivelan <[email-masked]>
+;;; Copyright © 2022 ( <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -38,6 +39,7 @@ (define-module (gnu packages irc)
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system go)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt)
@@ -61,10 +63,12 @@ (define-module (gnu packages irc)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages kde)
@@ -688,3 +692,47 @@ (define-public inspircd
 server written in C++ for Unix-like operating systems.")
     (home-page "https://www.inspircd.org/")
     (license license:gpl2)))
+
+(define-public senpai
+  (package
+    (name "senpai")
+    (version "0.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.sr.ht/~taiite/senpai")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1g3fpchjl859xl529wwdx8l0m88ji813mphmh316shdkm09ff160"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "git.sr.ht/~taiite/senpai"
+           #:install-source? #f
+           #:phases
+           #~(modify-phases %standard-phases
+               (replace 'build
+                 (lambda* (#:key import-path #:allow-other-keys)
+                   (invoke "make" "-C" (string-append "src/" import-path))))
+               (replace 'install
+                 (lambda* (#:key import-path #:allow-other-keys)
+                   (invoke "make" "install" "-C"
+                           (string-append "src/" import-path)
+                           (string-append "PREFIX=" #$output)))))))
+    (native-inputs (list scdoc))
+    (propagated-inputs
+     (list go-github-com-delthas-tcell
+           go-mvdan-cc-xurls
+           go-golang-org-x-time
+           go-golang-org-x-term
+           go-golang-org-x-net
+           go-github-com-mattn-go-runewidth
+           go-git-sr-ht-emersion-go-scfg))
+    (home-page "https://git.sr.ht/~taiite/senpai")
+    (synopsis "IRC client that works best with bouncers")
+    (description
+     "@code{senpai} is an IRC client that works best with bouncers.  No logs
+are kept, history is fetched from the server via @code{CHATHISTORY}, and
+networks are fetched via @code{bouncer-networks}.")
+    (license license:isc)))
-- 
2.38.0