[PATCH 00/13] Add soju

  • Done
  • quality assurance status badge
Details
2 participants
  • Jesse Eisses
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Jesse Eisses
Severity
normal

Debbugs page

J
J
Jesse Eisses wrote on 9 Apr 13:48 -0700
(address . guix-patches@gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240409204806.12347-1-jesse@eisses.email
Hi all,

I've been using Guix happily as a main driver for some years, and would like to start contributing a few packages.

This one is for the Soju IRC bouncer. It needed some specific versions of Go modules, for which I tried to place the package definitions in the correct files.

It's likely I made some mistakes in the formatting or file placement, so feedback is welcome. Thanks!


Jesse Eisses (13):
gnu: packages: Add go-github-com-golang-jwt-jwt-v3
gnu: packages: Add go-github-com-msteinert-pam
gnu: packages: Add go-nhooyr-io-websocket
gnu: packages: Add go-github-com-pires-go-proxyproto
gnu: packages: Add go-github-com-prometheus-client-model-v0.5
gnu: packages: Add go-github-com-sherclockholmes-webpush-go
gnu: packages: Add go-git-sr-ht-emersion-go-sqlite3-fts5
gnu: packages: Add go-git-sr-ht-sircmpwn-go-bare
gnu: packages: Add go-github-com-prometheus-common-v0.45
gnu: packages: Add go-github-com-prometheus-client-golang-v1.17
gnu: packages: Add go-gopkg-in-irc-v4
gnu: packages: Add
go-github-com-matttproud-golang-protobuf-extensions-pbutil-v2
gnu: packages: Add soju

gnu/packages/golang-crypto.scm | 19 ++++
gnu/packages/golang-xyz.scm | 178 +++++++++++++++++++++++++++++++++
gnu/packages/golang.scm | 41 ++++++++
gnu/packages/irc.scm | 25 +++++
gnu/packages/messaging.scm | 81 +++++++++++++++
gnu/packages/syncthing.scm | 21 ++++
6 files changed, 365 insertions(+)


base-commit: 7988ca6a480a7648971c06edc0dfb8da6fd0777b
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:09 -0700
[PATCH 01/13] gnu: packages: Add go-github-com-golang-jwt-jwt-v3
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-1-jesse@eisses.email
Change-Id: I2382208434859b7a9b9a314930fa8769072964c7
---
gnu/packages/golang-crypto.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 8d0e0ddb64..292734a8d6 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
;;; Copyright © 2023 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -478,6 +479,24 @@ (define-public go-github-com-golang-jwt-jwt-v4
RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
(license license:expat)))
+(define-public go-github-com-golang-jwt-jwt-v3
+ (package
+ (inherit go-github-com-golang-jwt-jwt-v4)
+ (name "go-github-com-golang-jwt-jwt-v3")
+ (version "3.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/golang-jwt/jwt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hq8wz11g6kddx9ab0icl5h3k4lrivk1ixappnr5db2ng2wjks9c"))))
+ (arguments
+ (list
+ #:import-path "github.com/golang-jwt/jwt"))))
+
(define-public go-github-com-golang-jwt-jwt-v5
(package
(inherit go-github-com-golang-jwt-jwt-v4)
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:09 -0700
[PATCH 02/13] gnu: packages: Add go-github-com-msteinert-pam
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-2-jesse@eisses.email
Change-Id: I2b3ec472f93914a2b1b9682fadc4d6c20b6cd89c
---
gnu/packages/golang-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index b82e96045e..61fdf5f020 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -31,6 +31,7 @@
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -56,6 +57,7 @@ (define-module (gnu packages golang-xyz)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
@@ -2123,6 +2125,33 @@ (define-public go-github-com-mreiferson-go-svc
@url{https://github.com/judwhite/go-svc/raw/master/svc/svc_windows_test.go,here}.")
(license license:expat))))
+(define-public go-github-com-msteinert-pam
+ (package
+ (name "go-github-com-msteinert-pam")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/msteinert/pam")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qnr0zxyxny85andq3cbj90clmz2609j8z9mp0zvdyxiwryfhyhj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go gccgo-12
+ ;; tests don't work, they require special root set up
+ #:tests? #f
+ #:import-path "github.com/msteinert/pam"))
+ (inputs `(("linux-pam" ,linux-pam)))
+ (propagated-inputs `(("go-golang-org-x-term" ,go-golang-org-x-term)))
+ (home-page "https://github.com/msteinert/pam")
+ (synopsis "Go PAM")
+ (description "Package pam provides a wrapper for the PAM application API.")
+ (license license:bsd-2)))
+
(define-public go-github-com-multiformats-go-varint
(package
(name "go-github-com-multiformats-go-varint")
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:09 -0700
[PATCH 03/13] gnu: packages: Add go-nhooyr-io-websocket
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-3-jesse@eisses.email
Change-Id: Ifced88b4d916b8593e4b65022cf419c8ae18a769
---
gnu/packages/golang-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 61fdf5f020..2213c040b5 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2255,6 +2255,33 @@ (define-public go-github-com-nbrownus-go-metrics-prometheus
registry.")
(license license:asl2.0)))
+(define-public go-nhooyr-io-websocket
+ (package
+ (name "go-nhooyr-io-websocket")
+ (version "1.8.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nhooyr/websocket")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ig77m18sj8kx0f5xyi0vzvwc96cspsyk0d52dp5qph7vyc37lja"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; tests require additional dependencies like `wasmbrowsertest`
+ #:tests? #f
+ #:import-path "nhooyr.io/websocket"))
+ (home-page "https://nhooyr.io/websocket")
+ (synopsis "Minimal and idiomatic WebSocket library for Go")
+ (description
+ "Package websocket implements the
+@@url{https://rfc-editor.org/rfc/rfc6455.html,RFC 6455} @code{WebSocket}
+protocol.")
+ (license license:isc)))
+
(define-public go-github-com-nsqio-go-diskqueue
(package
(name "go-github-com-nsqio-go-diskqueue")
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:09 -0700
[PATCH 04/13] gnu: packages: Add go-github-com-pires-go-proxyproto
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-4-jesse@eisses.email
Change-Id: Iec8e8ead7e18cbbd9be00ec398d11e632e4b2ac4
---
gnu/packages/golang-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 2213c040b5..70909de050 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2407,6 +2407,31 @@ (define-public go-github-com-pierrec-cmdflag
on top of the standard library @code{flag} package.")
(license license:bsd-3)))
+(define-public go-github-com-pires-go-proxyproto
+ (package
+ (name "go-github-com-pires-go-proxyproto")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pires/go-proxyproto")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p18w555xp187fl807h1yd092cvs8jarp98pa76zl84rxlk4k2h4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/pires/go-proxyproto"))
+ (home-page "https://github.com/pires/go-proxyproto")
+ (synopsis "Implementation of the PROXY protocol")
+ (description
+ "Package proxyproto implements Proxy Protocol (v1 and v2) parser and writer, as
+per specification: @@url{https://www.haproxy.org/download/2.3/doc/proxy-protocol.txt}")
+ (license license:asl2.0)))
+
(define-public go-github-com-prometheus-client-model
(let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
(revision "2"))
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:10 -0700
[PATCH 05/13] gnu: packages: Add go-github-com-prometheus-client-model-v0.5
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-5-jesse@eisses.email
Change-Id: I2b818ab740ae10252aff3c3d72b6e527545d7755
---
gnu/packages/golang-xyz.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)

Toggle diff (28 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 70909de050..d54b82e15e 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2462,6 +2462,21 @@ (define-public go-github-com-prometheus-client-model
(home-page "https://github.com/prometheus/client_model")
(license license:asl2.0))))
+(define-public go-github-com-prometheus-client-model-v0.5
+ (package
+ (inherit go-github-com-prometheus-client-model)
+ (name "go-github-com-prometheus-client-model-v0.5")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/client_model")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pl9i969jx5vkhm8vd5vb8yrifv37aw6h8mjg04820pw0ygfbigy"))))))
+
(define-public go-github-com-rcrowley-go-metrics
(let ((commit "cac0b30c2563378d434b5af411844adff8e32960")
(revision "2"))
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:10 -0700
[PATCH 06/13] gnu: packages: Add go-github-com-sherclockholmes-webpush-go
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-6-jesse@eisses.email
Change-Id: Ia6c56b401ebbe4e612fcf36ad4141ec0f0b7dca8
---
gnu/packages/golang-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index d54b82e15e..a563fe2aab 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2507,6 +2507,31 @@ (define-public go-github-com-rcrowley-go-metrics
(home-page "https://github.com/rcrowley/go-metrics")
(license license:bsd-2))))
+(define-public go-github-com-sherclockholmes-webpush-go
+ (package
+ (name "go-github-com-sherclockholmes-webpush-go")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SherClockHolmes/webpush-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qv16zvkd1c7q81v2ai8pfz590fxdrk4lfbgyymln0q7jn5wlvki"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/SherClockHolmes/webpush-go"))
+ (propagated-inputs
+ `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+ ("go-github-com-golang-jwt-jwt-v3" ,go-github-com-golang-jwt-jwt-v3)))
+ (home-page "https://github.com/SherClockHolmes/webpush-go")
+ (synopsis "Web Push API Encryption with VAPID support")
+ (description "Web Push API Encryption with VAPID support.")
+ (license license:expat)))
+
(define-public go-github-com-schollz-progressbar-v3
(package
(name "go-github-com-schollz-progressbar-v3")
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:10 -0700
[PATCH 08/13] gnu: packages: Add go-git-sr-ht-sircmpwn-go-bare
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-8-jesse@eisses.email
Change-Id: I5de06d7bc4a109a1d2a7007cf43584200304a065
---
gnu/packages/golang-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 2ee165e012..5a2b0df32f 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2984,6 +2984,31 @@ (define-public go-git-sr-ht-emersion-go-sqlite3-fts5
@@url{https://github.com/mattn/go-sqlite3,go-sqlite3}.")
(license license:expat)))
+(define-public go-git-sr-ht-sircmpwn-go-bare
+ (package
+ (name "go-git-sr-ht-sircmpwn-go-bare")
+ (version "0.0.0-20210406120253-ab86bc2846d9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~sircmpwn/go-bare")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zh36qppk8lscd8mysy0anm2vw5c74c10f4qvhd541wxm06di928"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "git.sr.ht/~sircmpwn/go-bare"))
+ (propagated-inputs
+ `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
+ ("go-git-sr-ht-sircmpwn-getopt" ,go-git-sr-ht-sircmpwn-getopt)))
+ (home-page "https://git.sr.ht/~sircmpwn/go-bare")
+ (synopsis "Implementation of the BARE message format")
+ (description "An implementation of the BARE message format for Go.")
+ (license license:asl2.0)))
+
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:10 -0700
[PATCH 07/13] gnu: packages: Add go-git-sr-ht-emersion-go-sqlite3-fts5
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-7-jesse@eisses.email
Change-Id: I921cab70edb4b726d3f0145470d2d2b3092bd6c1
---
gnu/packages/golang-xyz.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index a563fe2aab..2ee165e012 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2952,6 +2952,38 @@ (define-public go-github-com-xhit-go-str2duration-v2
similar string with weeks or days too.")
(license license:bsd-3)))
+(define-public go-git-sr-ht-emersion-go-sqlite3-fts5
+ (package
+ (name "go-git-sr-ht-emersion-go-sqlite3-fts5")
+ (version "0.0.0-20230217131031-f2c8767594fc")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (commit "f2c8767594fc")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07wj4ypmfn8gmbg08bah3vrn6f2jbcfp47nlraw304rwpxflw05h"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:go ,go-1.18
+ #:import-path "git.sr.ht/~emersion/go-sqlite3-fts5"
+ #:phases (modify-phases %standard-phases
+ (add-before 'build 'set-flags
+ (lambda _
+ ;; Make sure CMake picks Clang as compiler
+ (begin
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files") #t))))))
+ (propagated-inputs
+ `(("go-github-com-mattn-go-sqlite3" ,go-github-com-mattn-go-sqlite3)))
+ (home-page "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (synopsis "Standalone FTS5 extension for go-sqlite3")
+ (description "Standalone FTS5 extension for
+@@url{https://github.com/mattn/go-sqlite3,go-sqlite3}.")
+ (license license:expat)))
+
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:10 -0700
[PATCH 09/13] gnu: packages: Add go-github-com-prometheus-common-v0.45
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-9-jesse@eisses.email
Change-Id: Iff95fff93e585018be2b35105b6a5faf65b3d04d
---
gnu/packages/golang.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e2a514a1ac..20ce4b5518 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7978,6 +7978,25 @@ (define-public go-github-com-prometheus-common
(home-page "https://github.com/prometheus/common")
(license license:asl2.0)))
+(define-public go-github-com-prometheus-common-v0.45
+ (package
+ (inherit go-github-com-prometheus-common)
+ (name "go-github-com-prometheus-common")
+ (version "0.45.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/common")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "006y6mlxglr2xzmdqxl5bwh899whfx1prcgjai7qhhs5ys5dspy5"))))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf-proto
+ go-github-com-matttproud-golang-protobuf-extensions-pbutil-v2
+ go-github-com-prometheus-client-model-v0.5))))
+
(define-public go-github-com-prometheus-procfs
(package
(name "go-github-com-prometheus-procfs")
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:10 -0700
[PATCH 10/13] gnu: packages: Add go-github-com-prometheus-client-golang-v1.17
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-10-jesse@eisses.email
Change-Id: I5e1ee54b68389658e1a87ed8fedbd0accde20230
---
gnu/packages/golang.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 20ce4b5518..f3e69ebde1 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -8057,6 +8057,28 @@ (define-public go-github-com-prometheus-client-golang
(home-page "https://github.com/prometheus/client_golang")
(license license:asl2.0)))
+(define-public go-github-com-prometheus-client-golang-v1.17
+ (package
+ (inherit go-github-com-prometheus-client-golang)
+ (name "go-github-com-prometheus-client-golang")
+ (version "1.17.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/client_golang")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1v8vdvi9wlpf18nxi62diysfnh9gc3c3cqq6hvx378snsvvl6n82"))))
+
+ (propagated-inputs (list go-github-com-beorn7-perks-quantile
+ go-github-com-golang-protobuf-proto
+ go-github-com-prometheus-client-model-v0.5
+ go-github-com-prometheus-common-v0.45
+ go-github-com-prometheus-procfs
+ go-github-com-cespare-xxhash))))
+
(define-public go-github-com-zalando-go-keyring
(package
(name "go-github-com-zalando-go-keyring")
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:10 -0700
[PATCH 11/13] gnu: packages: Add go-gopkg-in-irc-v4
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-11-jesse@eisses.email
Change-Id: I5a8acf3869021660c98cbb8b674d25ca28a7fd1d
---
gnu/packages/irc.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 39b915a518..2d7467443b 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -781,6 +781,31 @@ (define-public go-gopkg-in-irc-v3
building block for other projects.")
(license license:expat)))
+(define-public go-gopkg-in-irc-v4
+ (package
+ (inherit go-gopkg-in-irc-v3)
+ (name "go-gopkg-in-irc-v4")
+ (version "4.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gopkg.in/irc.v4")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1yr7m1vz7fj0jbmk8njg54nyc9hx4kv24k13sjc4zj5fyqljj0p2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:import-path "gopkg.in/irc.v4"
+ #:unpack-path "gopkg.in/irc.v4"))
+ (propagated-inputs
+ `(("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2)
+ ("go-golang-org-x-time" ,go-golang-org-x-time)
+ ("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))))
+
(define-public chathistorysync
(package
(name "chathistorysync")
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:10 -0700
[PATCH 13/13] gnu: packages: Add soju
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-13-jesse@eisses.email
Change-Id: I8a6e45c560f3735e9a659a6493504580f1376d65
---
gnu/packages/messaging.scm | 81 ++++++++++++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)

Toggle diff (106 lines)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 24a9810c43..aa399104a6 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -88,6 +88,7 @@ (define-module (gnu packages messaging)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphviz)
@@ -96,6 +97,7 @@ (define-module (gnu packages messaging)
#:use-module (gnu packages guile)
#:use-module (gnu packages hunspell)
#:use-module (gnu packages icu4c)
+ #:use-module (gnu packages irc)
#:use-module (gnu packages image)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
@@ -3566,4 +3568,83 @@ (define-public senpai
"@code{senpai} is an IRC client that works best with bouncers.")
(license license:isc)))
+(define-public soju
+ (package
+ (name "soju")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/soju")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a0mp8f5i1ajh67y6fasmzgca3w1ccaiz19sx87rflbyi1mrhdlz"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "git.sr.ht/~emersion/soju"
+ #:go ,go-1.19
+ #:install-source? #f
+ #:phases (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (setenv "SYSCONFDIR"
+ (string-append (assoc-ref outputs "out")
+ "/etc"))
+ (invoke "make"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (let ((bin-dir (string-append (assoc-ref outputs "out")
+ "/bin"))
+ (conf-dir (string-append (assoc-ref outputs
+ "out")
+ "/etc/soju")))
+ (install-file "soju" bin-dir)
+ (install-file "sojudb" bin-dir)
+ (install-file "sojuctl" bin-dir)
+ ;; the default config file is not useful so we empty it for now
+ (substitute* "config.in" ((".*") ""))
+ (mkdir-p conf-dir)
+ (copy-file "config.in"
+ (string-append conf-dir "/config"))))))
+ (add-before 'build 'set-flags
+ (lambda _
+ (begin
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files") #t))))))
+ (native-inputs `(("scdoc" ,scdoc)))
+ (inputs `(("go-google-golang-org-protobuf" ,go-google-golang-org-protobuf)
+ ("go" ,go-1.19)))
+ (propagated-inputs
+ `(("go-nhooyr-io-websocket" ,go-nhooyr-io-websocket)
+ ("go-gopkg-in-irc-v4" ,go-gopkg-in-irc-v4)
+ ("go-golang-org-x-time" ,go-golang-org-x-time)
+ ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+ ("go-github-com-prometheus-client-golang"
+ ,go-github-com-prometheus-client-golang-v1.17)
+ ("go-github-com-pires-go-proxyproto"
+ ,go-github-com-pires-go-proxyproto)
+ ("go-github-com-msteinert-pam" ,go-github-com-msteinert-pam)
+ ("go-github-com-mattn-go-sqlite3"
+ ,go-github-com-mattn-go-sqlite3)
+ ("go-github-com-lib-pq" ,go-github-com-lib-pq)
+ ("go-github-com-emersion-go-sasl" ,go-github-com-emersion-go-sasl)
+ ("go-github-com-sherclockholmes-webpush-go"
+ ,go-github-com-sherclockholmes-webpush-go)
+ ("go-git-sr-ht-sircmpwn-go-bare" ,go-git-sr-ht-sircmpwn-go-bare)
+ ("go-git-sr-ht-emersion-go-sqlite3-fts5" ,go-git-sr-ht-emersion-go-sqlite3-fts5)
+ ("go-git-sr-ht-emersion-go-scfg" ,go-git-sr-ht-emersion-go-scfg)))
+ (home-page "https://git.sr.ht/~emersion/soju")
+ (synopsis "User-friendly IRC bouncer") ;
+ (description
+ "Connects to upstream IRC servers on behalf of the user to provide
+extra functionality. soju supports many features
+such as multiple users, numerous @@url{https://ircv3.net/,IRCv3} extensions,
+chat history playback and detached channels. It is well-suited for both small
+and large deployments.")
+ (license license:agpl3)))
+
;;; messaging.scm ends here
--
2.41.0
J
J
Jesse Eisses wrote on 10 Apr 01:10 -0700
[PATCH 12/13] gnu: packages: Add go-github-com-matttproud-golang-protobuf-extensions-pbutil-v2
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240410081012.25854-12-jesse@eisses.email
Change-Id: I5d4611e34924b4784c51c85ac8c6b97c41a18c5f
---
gnu/packages/syncthing.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 4d2f7ef9f0..b60031538f 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -689,6 +689,27 @@ (define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
(home-page "https://github.com/matttproud/golang_protobuf_extensions")
(license asl2.0))))
+(define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil-v2
+ (package
+ (inherit go-github-com-matttproud-golang-protobuf-extensions-pbutil)
+ (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil-v2")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/matttproud/golang_protobuf_extensions")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jw4vjycwx0a82yvixmp25805krdyqd960y8lnyggllb6br0vh41"))))
+ (arguments
+ '(#:import-path
+ "github.com/matttproud/golang_protobuf_extensions/v2/pbutil"
+ #:unpack-path "github.com/matttproud/golang_protobuf_extensions/v2"))
+ (propagated-inputs (list go-github-com-golang-protobuf-proto
+ go-google-golang-org-protobuf))))
+
(define-public go-github-com-go-asn1-ber-asn1-ber
(package
(name "go-github-com-go-asn1-ber-asn1-ber")
--
2.41.0
S
S
Sharlatan Hellseher wrote on 25 Apr 07:16 -0700
[PATCH 00/13] Add soju
(address . 70317@debbugs.gnu.org)(address . jesse@eisses.email)
87le511q99.fsf@gmail.com
Hi Jesse,

Thank you for the patches.

From the first review round it looks like QA is not happy with some git
conflicts while applying the patches.

I've checked the general styling and some of the packages have lables,
some not, some use list style some not, let's still to one style across
all of the. WDYT?

Some review point for v2:
- rebase to master, fix git conflict

- do not use input labels e.g.
from
Toggle snippet (2 lines)
+ (inputs `(("linux-pam" ,linux-pam)))
to
Toggle snippet (3 lines)
+ (inputs (list linux-pam))

- use list style everywhere in arguments e.g.
from
Toggle snippet (4 lines)
+ (arguments
+ `(#:go ,go-1.18
+ #:import-path "git.sr.ht/~emersion/go-sqlite3-fts5"
to
Toggle snippet (6 lines)
+ (arguments
+ (list
+ #:go ,go-1.18
+ #:import-path "git.sr.ht/~emersion/go-sqlite3-fts5"

- check import-path, it should be the same as may see in go.mod
from
Toggle snippet (2 lines)
+ #:import-path "github.com/golang-jwt/jwt"))))
to
Toggle snippet (2 lines)
+ #:import-path "github.com/golang-jwt/jwt/v4"))))
If the module name does not contain "v<version>" try to update existing
package in Guix.

- description of the package needs to be more informative and longer
than synopsis
Toggle snippet (5 lines)
+ (synopsis "Standalone FTS5 extension for go-sqlite3")
+ (description "Standalone FTS5 extension for
+@@url{https://github.com/mattn/go-sqlite3,go-sqlite3}.")

- explain why tests are disabled
Toggle snippet (7 lines)
+ (arguments
+ (list
+ #:tests? #f
+ #:import-path "gopkg.in/irc.v4"
+ #:unpack-path "gopkg.in/irc.v4"))

- according to the description, soju may be placed in (gnu packages irc)
Toggle snippet (3 lines)
+ (synopsis "User-friendly IRC bouncer") ;

- try to apply G-expression which may simplify the package a lot (se
examples in golang-* modules)
Toggle snippet (11 lines)
+ #:phases (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (setenv "SYSCONFDIR"
+ (string-append (assoc-ref outputs "out")
+ "/etc"))
+ (invoke "make"))))


Looking forward for v2!

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmYqZdIACgkQdtcnv/Ys
0rXdwhAAn098Eqz+KtZHElzIrX+7UgUcLlN7LZf1oJyyz+6hHxC3NL1jedvyU+25
Ttpu3iA8Yfc6ZWON0T4+CxMttfFEh0e/gBkp78sySSCQM3/c9zeuzFDS8as4IeBM
BeYYU8UD9dlG3uWh8in6NszDnTOC6FDKx0mGzeHebX+xj06kBuoCfykTIn9SIjB1
dU3e+XGX2ORXMmwRXBukImbw4qAZqc2OY/1gMB/fl0X9b67xOXmouGBIRMaMC9Pp
EBRXMYzvRdPLHKARmOsQW+5jYHKbbR60NMUtu269S8eMzJ2t3dEwvBwcmrSxiBiR
fnwjfpT2JEnBg5ESnWZn3kGc+y++B76Uzqe1Cip8cbEYloM8qnGClHZtku6fm9V7
8bbPxJAiyjO3P0WOuF7TTGVwdB4x99kmFfgBoOmUeygzc+DGsMkHAsdnKty9edGm
aSKYOR8KqN2hQBA3VgASP6qO3gEsENB59RnDf0yK65a27zMHWFyVGaFYdRGkOkEr
NxRPdeQJG4dL6QUtL3W9Dcccktx12FWDMK7M9yhfGVPd/QPccwafSed8cj6W8Wo+
SpW1iquA5Q+8ooxQ337wAdR2d9XJhXlAMNyaI0tIrz4R0db0dDpNHYQ3mQYpADlh
vuyFczNN9vM1a8UnbYLWHQSFGYibokTHW9FTIWDxV4z6Ioqgxps=
=MNd4
-----END PGP SIGNATURE-----

J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 00/13] Add soju
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-2-jesse@eisses.email
Hi Oleg,

Thank you for the detailed feedback, I learned a lot from it.

I've updated the patch set with the following:

- rebased on to master
- do not use input labels
- added longer package description for fts5
- added explanation for disabled tests
- moved soju to (gnu packages irc)

About the import-path for the jwt-v3 package: I believe this is correct, as
this patch adds the jwt-v3 package and does not touch the v4 package.

I'm not sure what was meant with applying a G-expression, but I did add
a #~ in front of modify-phases.

I hope this improves the situation and will statisfy the QA. Looking forward
to further input, thanks!

- Jesse

Jesse Eisses (13):
gnu: packages: Add go-github-com-golang-jwt-jwt-v3
gnu: packages: Add go-github-com-msteinert-pam
gnu: packages: Add go-nhooyr-io-websocket
gnu: packages: Add go-github-com-pires-go-proxyproto
gnu: go-github-com-prometheus-client-model: Update to 0.5.0
gnu: packages: Add go-github-com-sherclockholmes-webpush-go
gnu: packages: Add go-git-sr-ht-emersion-go-sqlite3-fts5
gnu: packages: Add go-git-sr-ht-sircmpwn-go-bare
gnu: go-github-com-prometheus-common: Update to 0.45.0
gnu: go-github-com-prometheus-client-golang: Update to 1.17.0
gnu: packages: Add go-gopkg-in-irc-v4
gnu: golang-protobuf-extensions-pbutil: Update to 2.0.0
gnu: packages: Add soju

gnu/packages/golang-crypto.scm | 19 +++
gnu/packages/golang-xyz.scm | 218 ++++++++++++++++++++++++++++-----
gnu/packages/golang.scm | 8 +-
gnu/packages/irc.scm | 103 ++++++++++++++++
gnu/packages/messaging.scm | 81 ++++++++++++
gnu/packages/syncthing.scm | 52 ++++----
6 files changed, 423 insertions(+), 58 deletions(-)

--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 04/13] gnu: packages: Add go-github-com-pires-go-proxyproto
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-6-jesse@eisses.email
Change-Id: Iec8e8ead7e18cbbd9be00ec398d11e632e4b2ac4
---
gnu/packages/golang-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index a3d44a6237..97849913d7 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2761,6 +2761,31 @@ (define-public go-github-com-pierrec-cmdflag
on top of the standard library @code{flag} package.")
(license license:bsd-3)))
+(define-public go-github-com-pires-go-proxyproto
+ (package
+ (name "go-github-com-pires-go-proxyproto")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pires/go-proxyproto")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p18w555xp187fl807h1yd092cvs8jarp98pa76zl84rxlk4k2h4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/pires/go-proxyproto"))
+ (home-page "https://github.com/pires/go-proxyproto")
+ (synopsis "Implementation of the PROXY protocol")
+ (description
+ "Package proxyproto implements Proxy Protocol (v1 and v2) parser and writer, as
+per specification: @@url{https://www.haproxy.org/download/2.3/doc/proxy-protocol.txt}")
+ (license license:asl2.0)))
+
(define-public go-github-com-prometheus-client-model
(let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
(revision "2"))
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 01/13] gnu: packages: Add go-github-com-golang-jwt-jwt-v3
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-3-jesse@eisses.email
Change-Id: I2382208434859b7a9b9a314930fa8769072964c7
---
gnu/packages/golang-crypto.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index ca35d5c391..f6d30c8707 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
;;; Copyright © 2023 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -480,6 +481,24 @@ (define-public go-github-com-golang-jwt-jwt-v4
RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
(license license:expat)))
+(define-public go-github-com-golang-jwt-jwt-v3
+ (package
+ (inherit go-github-com-golang-jwt-jwt-v4)
+ (name "go-github-com-golang-jwt-jwt-v3")
+ (version "3.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/golang-jwt/jwt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hq8wz11g6kddx9ab0icl5h3k4lrivk1ixappnr5db2ng2wjks9c"))))
+ (arguments
+ (list
+ #:import-path "github.com/golang-jwt/jwt"))))
+
(define-public go-github-com-golang-jwt-jwt-v5
(package
(inherit go-github-com-golang-jwt-jwt-v4)
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 02/13] gnu: packages: Add go-github-com-msteinert-pam
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-4-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index fcb352148c..c224ab5307 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -60,6 +61,7 @@ (define-module (gnu packages golang-xyz)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
@@ -2426,6 +2428,33 @@ (define-public go-github-com-multiformats-go-multibase
multibase} (self identifying base encodings) in Go.")
(license license:expat)))
+(define-public go-github-com-msteinert-pam
+ (package
+ (name "go-github-com-msteinert-pam")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/msteinert/pam")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qnr0zxyxny85andq3cbj90clmz2609j8z9mp0zvdyxiwryfhyhj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go gccgo-12
+ ;; tests don't work, they require special root set up
+ #:tests? #f
+ #:import-path "github.com/msteinert/pam"))
+ (inputs (list linux-pam))
+ (propagated-inputs (list go-golang-org-x-term))
+ (home-page "https://github.com/msteinert/pam")
+ (synopsis "Go PAM")
+ (description "Package pam provides a wrapper for the PAM application API.")
+ (license license:bsd-2)))
+
(define-public go-github-com-multiformats-go-varint
(package
(name "go-github-com-multiformats-go-varint")
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 03/13] gnu: packages: Add go-nhooyr-io-websocket
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-5-jesse@eisses.email
Change-Id: Ifced88b4d916b8593e4b65022cf419c8ae18a769
---
gnu/packages/golang-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index c224ab5307..a3d44a6237 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2558,6 +2558,33 @@ (define-public go-github-com-nbrownus-go-metrics-prometheus
registry.")
(license license:asl2.0)))
+(define-public go-nhooyr-io-websocket
+ (package
+ (name "go-nhooyr-io-websocket")
+ (version "1.8.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nhooyr/websocket")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ig77m18sj8kx0f5xyi0vzvwc96cspsyk0d52dp5qph7vyc37lja"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; tests require additional dependencies like `wasmbrowsertest`
+ #:tests? #f
+ #:import-path "nhooyr.io/websocket"))
+ (home-page "https://nhooyr.io/websocket")
+ (synopsis "Minimal and idiomatic WebSocket library for Go")
+ (description
+ "Package websocket implements the
+@@url{https://rfc-editor.org/rfc/rfc6455.html,RFC 6455} @code{WebSocket}
+protocol.")
+ (license license:isc)))
+
(define-public go-github-com-nsqio-go-diskqueue
(package
(name "go-github-com-nsqio-go-diskqueue")
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 05/13] gnu: go-github-com-prometheus-client-model: Update to 0.5.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-7-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 54 ++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 28 deletions(-)

Toggle diff (67 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 97849913d7..225bb9b930 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2787,34 +2787,32 @@ (define-public go-github-com-pires-go-proxyproto
(license license:asl2.0)))
(define-public go-github-com-prometheus-client-model
- (let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
- (revision "2"))
- (package
- (name "go-github-com-prometheus-client-model")
- (version (git-version "0.0.2" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/prometheus/client_model")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/prometheus/client_model"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- ;; Source-only package
- (delete 'build))))
- (propagated-inputs
- (list go-github-com-golang-protobuf-proto))
- (synopsis "Data model artifacts for Prometheus")
- (description "This package provides data model artifacts for Prometheus.")
- (home-page "https://github.com/prometheus/client_model")
- (license license:asl2.0))))
+ (package
+ (name "go-github-com-prometheus-client-model")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/client_model")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pl9i969jx5vkhm8vd5vb8yrifv37aw6h8mjg04820pw0ygfbigy"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/prometheus/client_model"
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf-proto))
+ (synopsis "Data model artifacts for Prometheus")
+ (description "This package provides data model artifacts for Prometheus.")
+ (home-page "https://github.com/prometheus/client_model")
+ (license license:asl2.0)))
(define-public go-github-com-rcrowley-go-metrics
(let ((commit "cac0b30c2563378d434b5af411844adff8e32960")
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 06/13] gnu: packages: Add go-github-com-sherclockholmes-webpush-go
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-8-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 225bb9b930..9ed4060359 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2844,6 +2844,29 @@ (define-public go-github-com-rcrowley-go-metrics
(home-page "https://github.com/rcrowley/go-metrics")
(license license:bsd-2))))
+(define-public go-github-com-sherclockholmes-webpush-go
+ (package
+ (name "go-github-com-sherclockholmes-webpush-go")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SherClockHolmes/webpush-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qv16zvkd1c7q81v2ai8pfz590fxdrk4lfbgyymln0q7jn5wlvki"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/SherClockHolmes/webpush-go"))
+ (propagated-inputs (list go-golang-org-x-crypto go-github-com-golang-jwt-jwt-v3))
+ (home-page "https://github.com/SherClockHolmes/webpush-go")
+ (synopsis "Web Push API Encryption with VAPID support")
+ (description "Web Push API Encryption with VAPID support.")
+ (license license:expat)))
+
(define-public go-github-com-schollz-progressbar-v3
(package
(name "go-github-com-schollz-progressbar-v3")
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 10/13] gnu: go-github-com-prometheus-client-golang: Update to 1.17.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-12-jesse@eisses.email
---
gnu/packages/golang.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c4888d95fc..d4d242fcfb 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7950,7 +7950,7 @@ (define-public go-github-com-prometheus-procfs
(define-public go-github-com-prometheus-client-golang
(package
(name "go-github-com-prometheus-client-golang")
- (version "1.2.1")
+ (version "1.17.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7959,7 +7959,7 @@ (define-public go-github-com-prometheus-client-golang
(file-name (git-file-name name version))
(sha256
(base32
- "0zs49psk23n9z8wrl02d5vib5wclpym8kaxcy6n5pk696i419065"))))
+ "1v8vdvi9wlpf18nxi62diysfnh9gc3c3cqq6hvx378snsvvl6n82"))))
(build-system go-build-system)
(arguments
'(#:tests? #f
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 12/13] gnu: golang-protobuf-extensions-pbutil: Update to 2.0.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-14-jesse@eisses.email
---
gnu/packages/syncthing.scm | 52 +++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 26 deletions(-)

Toggle diff (67 lines)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 43199d4ad6..cc495de3b2 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -588,34 +588,34 @@ (define-public go-github-com-syncthing-notify
(license expat))))
(define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
- (let ((commit "c12348ce28de40eed0136aa2b644d0ee0650e56c")
- (revision "0"))
- (package
- (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
- (version (git-version "1.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/matttproud/golang_protobuf_extensions")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/matttproud/golang_protobuf_extensions/pbutil"
- #:unpack-path "github.com/matttproud/golang_protobuf_extensions"))
- (propagated-inputs
- (list go-github-com-golang-protobuf-proto))
- (synopsis "Streaming Protocol Buffers in Go")
- (description "This package provides various Protocol Buffer
+ (package
+ (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/matttproud/golang_protobuf_extensions")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jw4vjycwx0a82yvixmp25805krdyqd960y8lnyggllb6br0vh41"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/matttproud/golang_protobuf_extensions/v2/pbutil"
+ #:unpack-path "github.com/matttproud/golang_protobuf_extensions/v2"))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf-proto
+ go-google-golang-org-protobuf))
+ (synopsis "Streaming Protocol Buffers in Go")
+ (description "This package provides various Protocol Buffer
extensions for the Go language, namely support for record length-delimited
message streaming.")
- (home-page "https://github.com/matttproud/golang_protobuf_extensions")
- (license asl2.0))))
+ (home-page "https://github.com/matttproud/golang_protobuf_extensions")
+ (license asl2.0)))
(define-public go-github-com-go-asn1-ber-asn1-ber
(package
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 13/13] gnu: packages: Add soju
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-15-jesse@eisses.email
---
gnu/packages/irc.scm | 77 ++++++++++++++++++++++++++++++++++++
gnu/packages/messaging.scm | 81 ++++++++++++++++++++++++++++++++++++++
2 files changed, 158 insertions(+)

Toggle diff (191 lines)
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 80b2e740ee..90dad61eb9 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -1032,3 +1032,80 @@ (define-public snuik
now). It has some basic functionality only, such as seen, tell, and
what.")
(license license:gpl3+)))
+
+(define-public soju
+ (package
+ (name "soju")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/soju")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a0mp8f5i1ajh67y6fasmzgca3w1ccaiz19sx87rflbyi1mrhdlz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "git.sr.ht/~emersion/soju"
+ #:go go-1.19
+ #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (setenv "SYSCONFDIR"
+ (string-append (assoc-ref outputs "out")
+ "/etc"))
+ (invoke "make"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (let ((bin-dir (string-append (assoc-ref outputs "out")
+ "/bin"))
+ (conf-dir (string-append (assoc-ref outputs
+ "out")
+ "/etc/soju")))
+ (install-file "soju" bin-dir)
+ (install-file "sojudb" bin-dir)
+ (install-file "sojuctl" bin-dir)
+ ;; the default config file is not useful so we empty it for now
+ (substitute* "config.in" ((".*") ""))
+ (mkdir-p conf-dir)
+ (copy-file "config.in"
+ (string-append conf-dir "/config"))))))
+ (add-before 'build 'set-flags
+ (lambda _
+ (begin
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files") #t))))))
+ (native-inputs (list scdoc))
+ (inputs (list go-google-golang-org-protobuf go-1.19))
+ (propagated-inputs
+ (list go-nhooyr-io-websocket
+ go-gopkg-in-irc
+ go-golang-org-x-time
+ go-golang-org-x-crypto
+ go-github-com-prometheus-client-golang
+ go-github-com-pires-go-proxyproto
+ go-github-com-msteinert-pam
+ go-github-com-mattn-go-sqlite3
+ go-github-com-lib-pq
+ go-github-com-emersion-go-sasl
+ go-github-com-sherclockholmes-webpush-go
+ go-git-sr-ht-sircmpwn-go-bare
+ go-git-sr-ht-emersion-go-sqlite3-fts5
+ go-git-sr-ht-emersion-go-scfg))
+ (home-page "https://git.sr.ht/~emersion/soju")
+ (synopsis "User-friendly IRC bouncer") ;
+ (description
+ "Connects to upstream IRC servers on behalf of the user to provide
+extra functionality. soju supports many features
+such as multiple users, numerous @@url{https://ircv3.net/,IRCv3} extensions,
+chat history playback and detached channels. It is well-suited for both small
+and large deployments.")
+ (license license:agpl3)))
+
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 20bdb713b5..f2529f6cb3 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -88,6 +88,7 @@ (define-module (gnu packages messaging)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphviz)
@@ -96,6 +97,7 @@ (define-module (gnu packages messaging)
#:use-module (gnu packages guile)
#:use-module (gnu packages hunspell)
#:use-module (gnu packages icu4c)
+ #:use-module (gnu packages irc)
#:use-module (gnu packages image)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
@@ -3625,4 +3627,83 @@ (define-public senpai
"@code{senpai} is an IRC client that works best with bouncers.")
(license license:isc)))
+(define-public soju
+ (package
+ (name "soju")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/soju")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a0mp8f5i1ajh67y6fasmzgca3w1ccaiz19sx87rflbyi1mrhdlz"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "git.sr.ht/~emersion/soju"
+ #:go ,go-1.19
+ #:install-source? #f
+ #:phases (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (setenv "SYSCONFDIR"
+ (string-append (assoc-ref outputs "out")
+ "/etc"))
+ (invoke "make"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (let ((bin-dir (string-append (assoc-ref outputs "out")
+ "/bin"))
+ (conf-dir (string-append (assoc-ref outputs
+ "out")
+ "/etc/soju")))
+ (install-file "soju" bin-dir)
+ (install-file "sojudb" bin-dir)
+ (install-file "sojuctl" bin-dir)
+ ;; the default config file is not useful so we empty it for now
+ (substitute* "config.in" ((".*") ""))
+ (mkdir-p conf-dir)
+ (copy-file "config.in"
+ (string-append conf-dir "/config"))))))
+ (add-before 'build 'set-flags
+ (lambda _
+ (begin
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files") #t))))))
+ (native-inputs `(("scdoc" ,scdoc)))
+ (inputs `(("go-google-golang-org-protobuf" ,go-google-golang-org-protobuf)
+ ("go" ,go-1.19)))
+ (propagated-inputs
+ `(("go-nhooyr-io-websocket" ,go-nhooyr-io-websocket)
+ ("go-gopkg-in-irc-v4" ,go-gopkg-in-irc-v4)
+ ("go-golang-org-x-time" ,go-golang-org-x-time)
+ ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+ ("go-github-com-prometheus-client-golang"
+ ,go-github-com-prometheus-client-golang-v1.17)
+ ("go-github-com-pires-go-proxyproto"
+ ,go-github-com-pires-go-proxyproto)
+ ("go-github-com-msteinert-pam" ,go-github-com-msteinert-pam)
+ ("go-github-com-mattn-go-sqlite3"
+ ,go-github-com-mattn-go-sqlite3)
+ ("go-github-com-lib-pq" ,go-github-com-lib-pq)
+ ("go-github-com-emersion-go-sasl" ,go-github-com-emersion-go-sasl)
+ ("go-github-com-sherclockholmes-webpush-go"
+ ,go-github-com-sherclockholmes-webpush-go)
+ ("go-git-sr-ht-sircmpwn-go-bare" ,go-git-sr-ht-sircmpwn-go-bare)
+ ("go-git-sr-ht-emersion-go-sqlite3-fts5" ,go-git-sr-ht-emersion-go-sqlite3-fts5)
+ ("go-git-sr-ht-emersion-go-scfg" ,go-git-sr-ht-emersion-go-scfg)))
+ (home-page "https://git.sr.ht/~emersion/soju")
+ (synopsis "User-friendly IRC bouncer") ;
+ (description
+ "Connects to upstream IRC servers on behalf of the user to provide
+extra functionality. soju supports many features
+such as multiple users, numerous @@url{https://ircv3.net/,IRCv3} extensions,
+chat history playback and detached channels. It is well-suited for both small
+and large deployments.")
+ (license license:agpl3)))
+
;;; messaging.scm ends here
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 09/13] gnu: go-github-com-prometheus-common: Update to 0.45.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-11-jesse@eisses.email
---
gnu/packages/golang.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 269bcaa3e4..c4888d95fc 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7893,7 +7893,7 @@ (define-public go-github-com-delthas-go-localeinfo
(define-public go-github-com-prometheus-common
(package
(name "go-github-com-prometheus-common")
- (version "0.4.1")
+ (version "0.45.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7902,7 +7902,7 @@ (define-public go-github-com-prometheus-common
(file-name (git-file-name name version))
(sha256
(base32
- "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
+ "006y6mlxglr2xzmdqxl5bwh899whfx1prcgjai7qhhs5ys5dspy5"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/common"
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 07/13] gnu: packages: Add go-git-sr-ht-emersion-go-sqlite3-fts5
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-9-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 9ed4060359..7a07f823d2 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -3321,6 +3321,40 @@ (define-public go-go-uber-org-atomic
atomic access.")
(license license:expat)))
+(define-public go-git-sr-ht-emersion-go-sqlite3-fts5
+ (package
+ (name "go-git-sr-ht-emersion-go-sqlite3-fts5")
+ (version "0.0.0-20230217131031-f2c8767594fc")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (commit "f2c8767594fc")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07wj4ypmfn8gmbg08bah3vrn6f2jbcfp47nlraw304rwpxflw05h"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "git.sr.ht/~emersion/go-sqlite3-fts5"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-flags
+ (lambda _
+ ;; Make sure CMake picks Clang as compiler
+ (begin
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files") #t))))))
+ (propagated-inputs (list go-github-com-mattn-go-sqlite3))
+ (home-page "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (synopsis "FTS5 extension for go-sqlite3")
+ (description "Standalone FTS5 extension for
+@@url{https://github.com/mattn/go-sqlite3,go-sqlite3}, that provides full-text
+search functionality to database applications..")
+ (license license:expat)))
+
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 08/13] gnu: packages: Add go-git-sr-ht-sircmpwn-go-bare
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-10-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 7a07f823d2..cdfc4c2f6b 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -3355,6 +3355,32 @@ (define-public go-git-sr-ht-emersion-go-sqlite3-fts5
search functionality to database applications..")
(license license:expat)))
+(define-public go-git-sr-ht-sircmpwn-go-bare
+ (package
+ (name "go-git-sr-ht-sircmpwn-go-bare")
+ (version "0.0.0-20210406120253-ab86bc2846d9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~sircmpwn/go-bare")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zh36qppk8lscd8mysy0anm2vw5c74c10f4qvhd541wxm06di928"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "git.sr.ht/~sircmpwn/go-bare"))
+ (propagated-inputs
+ (list
+ go-github-com-stretchr-testify
+ go-git-sr-ht-sircmpwn-getopt))
+ (home-page "https://git.sr.ht/~sircmpwn/go-bare")
+ (synopsis "Implementation of the BARE message format")
+ (description "An implementation of the BARE message format for Go.")
+ (license license:asl2.0)))
+
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
--
2.41.0
J
J
Jesse Eisses wrote on 25 Apr 15:08 -0700
[PATCH v2 11/13] gnu: packages: Add go-gopkg-in-irc-v4
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240425221648.5322-13-jesse@eisses.email
---
gnu/packages/irc.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 39b915a518..80b2e740ee 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -781,6 +781,32 @@ (define-public go-gopkg-in-irc-v3
building block for other projects.")
(license license:expat)))
+(define-public go-gopkg-in-irc
+ (package
+ (inherit go-gopkg-in-irc-v3)
+ (name "go-gopkg-in-irc")
+ (version "4.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gopkg.in/irc.v4")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1yr7m1vz7fj0jbmk8njg54nyc9hx4kv24k13sjc4zj5fyqljj0p2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; TODO: the same tests fail as in the go-gopkg-in-irc-v3 package
+ #:tests? #f
+ #:import-path "gopkg.in/irc.v4"
+ #:unpack-path "gopkg.in/irc.v4"))
+ (propagated-inputs
+ (list go-gopkg-in-yaml-v2
+ go-golang-org-x-time
+ go-github-com-stretchr-testify))))
+
(define-public chathistorysync
(package
(name "chathistorysync")
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 00/13] Add Soju
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-1-jesse@eisses.email
I noticed a mistake in my v2 patch set, so here is an updated vesion

Jesse Eisses (13):
gnu: packages: Add go-github-com-golang-jwt-jwt-v3
gnu: packages: Add go-github-com-msteinert-pam
gnu: packages: Add go-nhooyr-io-websocket
gnu: packages: Add go-github-com-pires-go-proxyproto
gnu: go-github-com-prometheus-client-model: Update to 0.5.0
gnu: packages: Add go-github-com-sherclockholmes-webpush-go
gnu: packages: Add go-git-sr-ht-emersion-go-sqlite3-fts5
gnu: packages: Add go-git-sr-ht-sircmpwn-go-bare
gnu: go-github-com-prometheus-common: Update to 0.45.0
gnu: go-github-com-prometheus-client-golang: Update to 1.17.0
gnu: packages: Add go-gopkg-in-irc-v4
gnu: golang-protobuf-extensions-pbutil: Update to 2.0.0
gnu: packages: Add soju

gnu/packages/golang-crypto.scm | 19 +++
gnu/packages/golang-xyz.scm | 218 ++++++++++++++++++++++++++++-----
gnu/packages/golang.scm | 8 +-
gnu/packages/irc.scm | 103 ++++++++++++++++
gnu/packages/syncthing.scm | 52 ++++----
5 files changed, 342 insertions(+), 58 deletions(-)

--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 02/13] gnu: packages: Add go-github-com-msteinert-pam
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-3-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index fcb352148c..c224ab5307 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -60,6 +61,7 @@ (define-module (gnu packages golang-xyz)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
@@ -2426,6 +2428,33 @@ (define-public go-github-com-multiformats-go-multibase
multibase} (self identifying base encodings) in Go.")
(license license:expat)))
+(define-public go-github-com-msteinert-pam
+ (package
+ (name "go-github-com-msteinert-pam")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/msteinert/pam")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qnr0zxyxny85andq3cbj90clmz2609j8z9mp0zvdyxiwryfhyhj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go gccgo-12
+ ;; tests don't work, they require special root set up
+ #:tests? #f
+ #:import-path "github.com/msteinert/pam"))
+ (inputs (list linux-pam))
+ (propagated-inputs (list go-golang-org-x-term))
+ (home-page "https://github.com/msteinert/pam")
+ (synopsis "Go PAM")
+ (description "Package pam provides a wrapper for the PAM application API.")
+ (license license:bsd-2)))
+
(define-public go-github-com-multiformats-go-varint
(package
(name "go-github-com-multiformats-go-varint")
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 01/13] gnu: packages: Add go-github-com-golang-jwt-jwt-v3
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-2-jesse@eisses.email
Change-Id: I2382208434859b7a9b9a314930fa8769072964c7
---
gnu/packages/golang-crypto.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index ca35d5c391..f6d30c8707 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
;;; Copyright © 2023 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -480,6 +481,24 @@ (define-public go-github-com-golang-jwt-jwt-v4
RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
(license license:expat)))
+(define-public go-github-com-golang-jwt-jwt-v3
+ (package
+ (inherit go-github-com-golang-jwt-jwt-v4)
+ (name "go-github-com-golang-jwt-jwt-v3")
+ (version "3.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/golang-jwt/jwt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hq8wz11g6kddx9ab0icl5h3k4lrivk1ixappnr5db2ng2wjks9c"))))
+ (arguments
+ (list
+ #:import-path "github.com/golang-jwt/jwt"))))
+
(define-public go-github-com-golang-jwt-jwt-v5
(package
(inherit go-github-com-golang-jwt-jwt-v4)
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 03/13] gnu: packages: Add go-nhooyr-io-websocket
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-4-jesse@eisses.email
Change-Id: Ifced88b4d916b8593e4b65022cf419c8ae18a769
---
gnu/packages/golang-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index c224ab5307..a3d44a6237 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2558,6 +2558,33 @@ (define-public go-github-com-nbrownus-go-metrics-prometheus
registry.")
(license license:asl2.0)))
+(define-public go-nhooyr-io-websocket
+ (package
+ (name "go-nhooyr-io-websocket")
+ (version "1.8.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nhooyr/websocket")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ig77m18sj8kx0f5xyi0vzvwc96cspsyk0d52dp5qph7vyc37lja"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; tests require additional dependencies like `wasmbrowsertest`
+ #:tests? #f
+ #:import-path "nhooyr.io/websocket"))
+ (home-page "https://nhooyr.io/websocket")
+ (synopsis "Minimal and idiomatic WebSocket library for Go")
+ (description
+ "Package websocket implements the
+@@url{https://rfc-editor.org/rfc/rfc6455.html,RFC 6455} @code{WebSocket}
+protocol.")
+ (license license:isc)))
+
(define-public go-github-com-nsqio-go-diskqueue
(package
(name "go-github-com-nsqio-go-diskqueue")
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 04/13] gnu: packages: Add go-github-com-pires-go-proxyproto
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-5-jesse@eisses.email
Change-Id: Iec8e8ead7e18cbbd9be00ec398d11e632e4b2ac4
---
gnu/packages/golang-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index a3d44a6237..97849913d7 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2761,6 +2761,31 @@ (define-public go-github-com-pierrec-cmdflag
on top of the standard library @code{flag} package.")
(license license:bsd-3)))
+(define-public go-github-com-pires-go-proxyproto
+ (package
+ (name "go-github-com-pires-go-proxyproto")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pires/go-proxyproto")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p18w555xp187fl807h1yd092cvs8jarp98pa76zl84rxlk4k2h4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/pires/go-proxyproto"))
+ (home-page "https://github.com/pires/go-proxyproto")
+ (synopsis "Implementation of the PROXY protocol")
+ (description
+ "Package proxyproto implements Proxy Protocol (v1 and v2) parser and writer, as
+per specification: @@url{https://www.haproxy.org/download/2.3/doc/proxy-protocol.txt}")
+ (license license:asl2.0)))
+
(define-public go-github-com-prometheus-client-model
(let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
(revision "2"))
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 06/13] gnu: packages: Add go-github-com-sherclockholmes-webpush-go
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-7-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 225bb9b930..9ed4060359 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2844,6 +2844,29 @@ (define-public go-github-com-rcrowley-go-metrics
(home-page "https://github.com/rcrowley/go-metrics")
(license license:bsd-2))))
+(define-public go-github-com-sherclockholmes-webpush-go
+ (package
+ (name "go-github-com-sherclockholmes-webpush-go")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SherClockHolmes/webpush-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qv16zvkd1c7q81v2ai8pfz590fxdrk4lfbgyymln0q7jn5wlvki"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/SherClockHolmes/webpush-go"))
+ (propagated-inputs (list go-golang-org-x-crypto go-github-com-golang-jwt-jwt-v3))
+ (home-page "https://github.com/SherClockHolmes/webpush-go")
+ (synopsis "Web Push API Encryption with VAPID support")
+ (description "Web Push API Encryption with VAPID support.")
+ (license license:expat)))
+
(define-public go-github-com-schollz-progressbar-v3
(package
(name "go-github-com-schollz-progressbar-v3")
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 05/13] gnu: go-github-com-prometheus-client-model: Update to 0.5.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-6-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 54 ++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 28 deletions(-)

Toggle diff (67 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 97849913d7..225bb9b930 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2787,34 +2787,32 @@ (define-public go-github-com-pires-go-proxyproto
(license license:asl2.0)))
(define-public go-github-com-prometheus-client-model
- (let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
- (revision "2"))
- (package
- (name "go-github-com-prometheus-client-model")
- (version (git-version "0.0.2" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/prometheus/client_model")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/prometheus/client_model"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- ;; Source-only package
- (delete 'build))))
- (propagated-inputs
- (list go-github-com-golang-protobuf-proto))
- (synopsis "Data model artifacts for Prometheus")
- (description "This package provides data model artifacts for Prometheus.")
- (home-page "https://github.com/prometheus/client_model")
- (license license:asl2.0))))
+ (package
+ (name "go-github-com-prometheus-client-model")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/client_model")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pl9i969jx5vkhm8vd5vb8yrifv37aw6h8mjg04820pw0ygfbigy"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/prometheus/client_model"
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf-proto))
+ (synopsis "Data model artifacts for Prometheus")
+ (description "This package provides data model artifacts for Prometheus.")
+ (home-page "https://github.com/prometheus/client_model")
+ (license license:asl2.0)))
(define-public go-github-com-rcrowley-go-metrics
(let ((commit "cac0b30c2563378d434b5af411844adff8e32960")
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 07/13] gnu: packages: Add go-git-sr-ht-emersion-go-sqlite3-fts5
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-8-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 9ed4060359..7a07f823d2 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -3321,6 +3321,40 @@ (define-public go-go-uber-org-atomic
atomic access.")
(license license:expat)))
+(define-public go-git-sr-ht-emersion-go-sqlite3-fts5
+ (package
+ (name "go-git-sr-ht-emersion-go-sqlite3-fts5")
+ (version "0.0.0-20230217131031-f2c8767594fc")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (commit "f2c8767594fc")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07wj4ypmfn8gmbg08bah3vrn6f2jbcfp47nlraw304rwpxflw05h"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "git.sr.ht/~emersion/go-sqlite3-fts5"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-flags
+ (lambda _
+ ;; Make sure CMake picks Clang as compiler
+ (begin
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files") #t))))))
+ (propagated-inputs (list go-github-com-mattn-go-sqlite3))
+ (home-page "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (synopsis "FTS5 extension for go-sqlite3")
+ (description "Standalone FTS5 extension for
+@@url{https://github.com/mattn/go-sqlite3,go-sqlite3}, that provides full-text
+search functionality to database applications..")
+ (license license:expat)))
+
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 08/13] gnu: packages: Add go-git-sr-ht-sircmpwn-go-bare
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-9-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 7a07f823d2..cdfc4c2f6b 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -3355,6 +3355,32 @@ (define-public go-git-sr-ht-emersion-go-sqlite3-fts5
search functionality to database applications..")
(license license:expat)))
+(define-public go-git-sr-ht-sircmpwn-go-bare
+ (package
+ (name "go-git-sr-ht-sircmpwn-go-bare")
+ (version "0.0.0-20210406120253-ab86bc2846d9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~sircmpwn/go-bare")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zh36qppk8lscd8mysy0anm2vw5c74c10f4qvhd541wxm06di928"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "git.sr.ht/~sircmpwn/go-bare"))
+ (propagated-inputs
+ (list
+ go-github-com-stretchr-testify
+ go-git-sr-ht-sircmpwn-getopt))
+ (home-page "https://git.sr.ht/~sircmpwn/go-bare")
+ (synopsis "Implementation of the BARE message format")
+ (description "An implementation of the BARE message format for Go.")
+ (license license:asl2.0)))
+
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 10/13] gnu: go-github-com-prometheus-client-golang: Update to 1.17.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-11-jesse@eisses.email
---
gnu/packages/golang.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c4888d95fc..d4d242fcfb 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7950,7 +7950,7 @@ (define-public go-github-com-prometheus-procfs
(define-public go-github-com-prometheus-client-golang
(package
(name "go-github-com-prometheus-client-golang")
- (version "1.2.1")
+ (version "1.17.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7959,7 +7959,7 @@ (define-public go-github-com-prometheus-client-golang
(file-name (git-file-name name version))
(sha256
(base32
- "0zs49psk23n9z8wrl02d5vib5wclpym8kaxcy6n5pk696i419065"))))
+ "1v8vdvi9wlpf18nxi62diysfnh9gc3c3cqq6hvx378snsvvl6n82"))))
(build-system go-build-system)
(arguments
'(#:tests? #f
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 09/13] gnu: go-github-com-prometheus-common: Update to 0.45.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-10-jesse@eisses.email
---
gnu/packages/golang.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 269bcaa3e4..c4888d95fc 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7893,7 +7893,7 @@ (define-public go-github-com-delthas-go-localeinfo
(define-public go-github-com-prometheus-common
(package
(name "go-github-com-prometheus-common")
- (version "0.4.1")
+ (version "0.45.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7902,7 +7902,7 @@ (define-public go-github-com-prometheus-common
(file-name (git-file-name name version))
(sha256
(base32
- "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
+ "006y6mlxglr2xzmdqxl5bwh899whfx1prcgjai7qhhs5ys5dspy5"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/common"
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 12/13] gnu: golang-protobuf-extensions-pbutil: Update to 2.0.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-13-jesse@eisses.email
---
gnu/packages/syncthing.scm | 52 +++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 26 deletions(-)

Toggle diff (67 lines)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 43199d4ad6..cc495de3b2 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -588,34 +588,34 @@ (define-public go-github-com-syncthing-notify
(license expat))))
(define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
- (let ((commit "c12348ce28de40eed0136aa2b644d0ee0650e56c")
- (revision "0"))
- (package
- (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
- (version (git-version "1.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/matttproud/golang_protobuf_extensions")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/matttproud/golang_protobuf_extensions/pbutil"
- #:unpack-path "github.com/matttproud/golang_protobuf_extensions"))
- (propagated-inputs
- (list go-github-com-golang-protobuf-proto))
- (synopsis "Streaming Protocol Buffers in Go")
- (description "This package provides various Protocol Buffer
+ (package
+ (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/matttproud/golang_protobuf_extensions")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jw4vjycwx0a82yvixmp25805krdyqd960y8lnyggllb6br0vh41"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/matttproud/golang_protobuf_extensions/v2/pbutil"
+ #:unpack-path "github.com/matttproud/golang_protobuf_extensions/v2"))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf-proto
+ go-google-golang-org-protobuf))
+ (synopsis "Streaming Protocol Buffers in Go")
+ (description "This package provides various Protocol Buffer
extensions for the Go language, namely support for record length-delimited
message streaming.")
- (home-page "https://github.com/matttproud/golang_protobuf_extensions")
- (license asl2.0))))
+ (home-page "https://github.com/matttproud/golang_protobuf_extensions")
+ (license asl2.0)))
(define-public go-github-com-go-asn1-ber-asn1-ber
(package
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:02 -0700
[PATCH v2 13/13] gnu: packages: Add soju
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-14-jesse@eisses.email
---
gnu/packages/irc.scm | 77 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)

Toggle diff (87 lines)
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 80b2e740ee..90dad61eb9 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -1032,3 +1032,80 @@ (define-public snuik
now). It has some basic functionality only, such as seen, tell, and
what.")
(license license:gpl3+)))
+
+(define-public soju
+ (package
+ (name "soju")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/soju")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a0mp8f5i1ajh67y6fasmzgca3w1ccaiz19sx87rflbyi1mrhdlz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "git.sr.ht/~emersion/soju"
+ #:go go-1.19
+ #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (setenv "SYSCONFDIR"
+ (string-append (assoc-ref outputs "out")
+ "/etc"))
+ (invoke "make"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (let ((bin-dir (string-append (assoc-ref outputs "out")
+ "/bin"))
+ (conf-dir (string-append (assoc-ref outputs
+ "out")
+ "/etc/soju")))
+ (install-file "soju" bin-dir)
+ (install-file "sojudb" bin-dir)
+ (install-file "sojuctl" bin-dir)
+ ;; the default config file is not useful so we empty it for now
+ (substitute* "config.in" ((".*") ""))
+ (mkdir-p conf-dir)
+ (copy-file "config.in"
+ (string-append conf-dir "/config"))))))
+ (add-before 'build 'set-flags
+ (lambda _
+ (begin
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files") #t))))))
+ (native-inputs (list scdoc))
+ (inputs (list go-google-golang-org-protobuf go-1.19))
+ (propagated-inputs
+ (list go-nhooyr-io-websocket
+ go-gopkg-in-irc
+ go-golang-org-x-time
+ go-golang-org-x-crypto
+ go-github-com-prometheus-client-golang
+ go-github-com-pires-go-proxyproto
+ go-github-com-msteinert-pam
+ go-github-com-mattn-go-sqlite3
+ go-github-com-lib-pq
+ go-github-com-emersion-go-sasl
+ go-github-com-sherclockholmes-webpush-go
+ go-git-sr-ht-sircmpwn-go-bare
+ go-git-sr-ht-emersion-go-sqlite3-fts5
+ go-git-sr-ht-emersion-go-scfg))
+ (home-page "https://git.sr.ht/~emersion/soju")
+ (synopsis "User-friendly IRC bouncer") ;
+ (description
+ "Connects to upstream IRC servers on behalf of the user to provide
+extra functionality. soju supports many features
+such as multiple users, numerous @@url{https://ircv3.net/,IRCv3} extensions,
+chat history playback and detached channels. It is well-suited for both small
+and large deployments.")
+ (license license:agpl3)))
+
--
2.41.0
J
J
Jesse Eisses wrote on 26 Apr 01:01 -0700
[PATCH v2 11/13] gnu: packages: Add go-gopkg-in-irc-v4
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240426080315.25131-12-jesse@eisses.email
---
gnu/packages/irc.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 39b915a518..80b2e740ee 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -781,6 +781,32 @@ (define-public go-gopkg-in-irc-v3
building block for other projects.")
(license license:expat)))
+(define-public go-gopkg-in-irc
+ (package
+ (inherit go-gopkg-in-irc-v3)
+ (name "go-gopkg-in-irc")
+ (version "4.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gopkg.in/irc.v4")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1yr7m1vz7fj0jbmk8njg54nyc9hx4kv24k13sjc4zj5fyqljj0p2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; TODO: the same tests fail as in the go-gopkg-in-irc-v3 package
+ #:tests? #f
+ #:import-path "gopkg.in/irc.v4"
+ #:unpack-path "gopkg.in/irc.v4"))
+ (propagated-inputs
+ (list go-gopkg-in-yaml-v2
+ go-golang-org-x-time
+ go-github-com-stretchr-testify))))
+
(define-public chathistorysync
(package
(name "chathistorysync")
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 01/13] gnu: packages: Add go-github-com-golang-jwt-jwt-v3
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-2-jesse@eisses.email
Change-Id: I2382208434859b7a9b9a314930fa8769072964c7
---
gnu/packages/golang-crypto.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index ca35d5c391..f6d30c8707 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
;;; Copyright © 2023 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -480,6 +481,24 @@ (define-public go-github-com-golang-jwt-jwt-v4
RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
(license license:expat)))
+(define-public go-github-com-golang-jwt-jwt-v3
+ (package
+ (inherit go-github-com-golang-jwt-jwt-v4)
+ (name "go-github-com-golang-jwt-jwt-v3")
+ (version "3.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/golang-jwt/jwt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hq8wz11g6kddx9ab0icl5h3k4lrivk1ixappnr5db2ng2wjks9c"))))
+ (arguments
+ (list
+ #:import-path "github.com/golang-jwt/jwt"))))
+
(define-public go-github-com-golang-jwt-jwt-v5
(package
(inherit go-github-com-golang-jwt-jwt-v4)
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 02/13] gnu: packages: Add go-github-com-msteinert-pam
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-3-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index fcb352148c..c224ab5307 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -60,6 +61,7 @@ (define-module (gnu packages golang-xyz)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
@@ -2426,6 +2428,33 @@ (define-public go-github-com-multiformats-go-multibase
multibase} (self identifying base encodings) in Go.")
(license license:expat)))
+(define-public go-github-com-msteinert-pam
+ (package
+ (name "go-github-com-msteinert-pam")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/msteinert/pam")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qnr0zxyxny85andq3cbj90clmz2609j8z9mp0zvdyxiwryfhyhj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go gccgo-12
+ ;; tests don't work, they require special root set up
+ #:tests? #f
+ #:import-path "github.com/msteinert/pam"))
+ (inputs (list linux-pam))
+ (propagated-inputs (list go-golang-org-x-term))
+ (home-page "https://github.com/msteinert/pam")
+ (synopsis "Go PAM")
+ (description "Package pam provides a wrapper for the PAM application API.")
+ (license license:bsd-2)))
+
(define-public go-github-com-multiformats-go-varint
(package
(name "go-github-com-multiformats-go-varint")
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 00/13] Add Soju
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-1-jesse@eisses.email
I noticed in the QA that the tests for package
`go-github-com-nbrownus-go-metrics-prometheus` were failing because of a
dependency that was updated. This was only because a small output change of the
`prometheus-client-golang` package. Not sure if it's better to include a
patch here in the Guix codebase, or to disable tests for now and submit a fix
upstream - I decided to go for the latter.

Also, not sure if submitting the whole patch set through email, every time
I update something, is the right way to do this. Please let me know if I should
use a different workflow. Thanks!

- Jesse

Jesse Eisses (13):
gnu: packages: Add go-github-com-golang-jwt-jwt-v3
gnu: packages: Add go-github-com-msteinert-pam
gnu: packages: Add go-nhooyr-io-websocket
gnu: packages: Add go-github-com-pires-go-proxyproto
gnu: go-github-com-prometheus-client-model: Update to 0.5.0
gnu: packages: Add go-github-com-sherclockholmes-webpush-go
gnu: packages: Add go-git-sr-ht-emersion-go-sqlite3-fts5
gnu: packages: Add go-git-sr-ht-sircmpwn-go-bare
gnu: go-github-com-prometheus-common: Update to 0.45.0
gnu: go-github-com-prometheus-client-golang: Update to 1.17.0
gnu: packages: Add go-gopkg-in-irc-v4
gnu: golang-protobuf-extensions-pbutil: Update to 2.0.0
gnu: packages: Add soju

gnu/packages/golang-crypto.scm | 19 +++
gnu/packages/golang-xyz.scm | 226 ++++++++++++++++++++++++++++-----
gnu/packages/golang.scm | 8 +-
gnu/packages/irc.scm | 103 +++++++++++++++
gnu/packages/syncthing.scm | 52 ++++----
5 files changed, 349 insertions(+), 59 deletions(-)

--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 03/13] gnu: packages: Add go-nhooyr-io-websocket
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-4-jesse@eisses.email
Change-Id: Ifced88b4d916b8593e4b65022cf419c8ae18a769
---
gnu/packages/golang-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index c224ab5307..a3d44a6237 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2558,6 +2558,33 @@ (define-public go-github-com-nbrownus-go-metrics-prometheus
registry.")
(license license:asl2.0)))
+(define-public go-nhooyr-io-websocket
+ (package
+ (name "go-nhooyr-io-websocket")
+ (version "1.8.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nhooyr/websocket")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ig77m18sj8kx0f5xyi0vzvwc96cspsyk0d52dp5qph7vyc37lja"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; tests require additional dependencies like `wasmbrowsertest`
+ #:tests? #f
+ #:import-path "nhooyr.io/websocket"))
+ (home-page "https://nhooyr.io/websocket")
+ (synopsis "Minimal and idiomatic WebSocket library for Go")
+ (description
+ "Package websocket implements the
+@@url{https://rfc-editor.org/rfc/rfc6455.html,RFC 6455} @code{WebSocket}
+protocol.")
+ (license license:isc)))
+
(define-public go-github-com-nsqio-go-diskqueue
(package
(name "go-github-com-nsqio-go-diskqueue")
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 04/13] gnu: packages: Add go-github-com-pires-go-proxyproto
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-5-jesse@eisses.email
Change-Id: Iec8e8ead7e18cbbd9be00ec398d11e632e4b2ac4
---
gnu/packages/golang-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index a3d44a6237..97849913d7 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2761,6 +2761,31 @@ (define-public go-github-com-pierrec-cmdflag
on top of the standard library @code{flag} package.")
(license license:bsd-3)))
+(define-public go-github-com-pires-go-proxyproto
+ (package
+ (name "go-github-com-pires-go-proxyproto")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pires/go-proxyproto")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p18w555xp187fl807h1yd092cvs8jarp98pa76zl84rxlk4k2h4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/pires/go-proxyproto"))
+ (home-page "https://github.com/pires/go-proxyproto")
+ (synopsis "Implementation of the PROXY protocol")
+ (description
+ "Package proxyproto implements Proxy Protocol (v1 and v2) parser and writer, as
+per specification: @@url{https://www.haproxy.org/download/2.3/doc/proxy-protocol.txt}")
+ (license license:asl2.0)))
+
(define-public go-github-com-prometheus-client-model
(let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
(revision "2"))
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 05/13] gnu: go-github-com-prometheus-client-model: Update to 0.5.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-6-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 54 ++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 28 deletions(-)

Toggle diff (67 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 97849913d7..225bb9b930 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2787,34 +2787,32 @@ (define-public go-github-com-pires-go-proxyproto
(license license:asl2.0)))
(define-public go-github-com-prometheus-client-model
- (let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
- (revision "2"))
- (package
- (name "go-github-com-prometheus-client-model")
- (version (git-version "0.0.2" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/prometheus/client_model")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/prometheus/client_model"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- ;; Source-only package
- (delete 'build))))
- (propagated-inputs
- (list go-github-com-golang-protobuf-proto))
- (synopsis "Data model artifacts for Prometheus")
- (description "This package provides data model artifacts for Prometheus.")
- (home-page "https://github.com/prometheus/client_model")
- (license license:asl2.0))))
+ (package
+ (name "go-github-com-prometheus-client-model")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/client_model")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pl9i969jx5vkhm8vd5vb8yrifv37aw6h8mjg04820pw0ygfbigy"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/prometheus/client_model"
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf-proto))
+ (synopsis "Data model artifacts for Prometheus")
+ (description "This package provides data model artifacts for Prometheus.")
+ (home-page "https://github.com/prometheus/client_model")
+ (license license:asl2.0)))
(define-public go-github-com-rcrowley-go-metrics
(let ((commit "cac0b30c2563378d434b5af411844adff8e32960")
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 06/13] gnu: packages: Add go-github-com-sherclockholmes-webpush-go
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-7-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 225bb9b930..9ed4060359 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2844,6 +2844,29 @@ (define-public go-github-com-rcrowley-go-metrics
(home-page "https://github.com/rcrowley/go-metrics")
(license license:bsd-2))))
+(define-public go-github-com-sherclockholmes-webpush-go
+ (package
+ (name "go-github-com-sherclockholmes-webpush-go")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SherClockHolmes/webpush-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qv16zvkd1c7q81v2ai8pfz590fxdrk4lfbgyymln0q7jn5wlvki"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/SherClockHolmes/webpush-go"))
+ (propagated-inputs (list go-golang-org-x-crypto go-github-com-golang-jwt-jwt-v3))
+ (home-page "https://github.com/SherClockHolmes/webpush-go")
+ (synopsis "Web Push API Encryption with VAPID support")
+ (description "Web Push API Encryption with VAPID support.")
+ (license license:expat)))
+
(define-public go-github-com-schollz-progressbar-v3
(package
(name "go-github-com-schollz-progressbar-v3")
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 07/13] gnu: packages: Add go-git-sr-ht-emersion-go-sqlite3-fts5
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-8-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 9ed4060359..7a07f823d2 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -3321,6 +3321,40 @@ (define-public go-go-uber-org-atomic
atomic access.")
(license license:expat)))
+(define-public go-git-sr-ht-emersion-go-sqlite3-fts5
+ (package
+ (name "go-git-sr-ht-emersion-go-sqlite3-fts5")
+ (version "0.0.0-20230217131031-f2c8767594fc")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (commit "f2c8767594fc")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07wj4ypmfn8gmbg08bah3vrn6f2jbcfp47nlraw304rwpxflw05h"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "git.sr.ht/~emersion/go-sqlite3-fts5"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-flags
+ (lambda _
+ ;; Make sure CMake picks Clang as compiler
+ (begin
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files") #t))))))
+ (propagated-inputs (list go-github-com-mattn-go-sqlite3))
+ (home-page "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (synopsis "FTS5 extension for go-sqlite3")
+ (description "Standalone FTS5 extension for
+@@url{https://github.com/mattn/go-sqlite3,go-sqlite3}, that provides full-text
+search functionality to database applications..")
+ (license license:expat)))
+
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 09/13] gnu: go-github-com-prometheus-common: Update to 0.45.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-10-jesse@eisses.email
---
gnu/packages/golang.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 269bcaa3e4..c4888d95fc 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7893,7 +7893,7 @@ (define-public go-github-com-delthas-go-localeinfo
(define-public go-github-com-prometheus-common
(package
(name "go-github-com-prometheus-common")
- (version "0.4.1")
+ (version "0.45.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7902,7 +7902,7 @@ (define-public go-github-com-prometheus-common
(file-name (git-file-name name version))
(sha256
(base32
- "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
+ "006y6mlxglr2xzmdqxl5bwh899whfx1prcgjai7qhhs5ys5dspy5"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/common"
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 08/13] gnu: packages: Add go-git-sr-ht-sircmpwn-go-bare
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-9-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 7a07f823d2..cdfc4c2f6b 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -3355,6 +3355,32 @@ (define-public go-git-sr-ht-emersion-go-sqlite3-fts5
search functionality to database applications..")
(license license:expat)))
+(define-public go-git-sr-ht-sircmpwn-go-bare
+ (package
+ (name "go-git-sr-ht-sircmpwn-go-bare")
+ (version "0.0.0-20210406120253-ab86bc2846d9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~sircmpwn/go-bare")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zh36qppk8lscd8mysy0anm2vw5c74c10f4qvhd541wxm06di928"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "git.sr.ht/~sircmpwn/go-bare"))
+ (propagated-inputs
+ (list
+ go-github-com-stretchr-testify
+ go-git-sr-ht-sircmpwn-getopt))
+ (home-page "https://git.sr.ht/~sircmpwn/go-bare")
+ (synopsis "Implementation of the BARE message format")
+ (description "An implementation of the BARE message format for Go.")
+ (license license:asl2.0)))
+
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 10/13] gnu: go-github-com-prometheus-client-golang: Update to 1.17.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-11-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 8 +++++++-
gnu/packages/golang.scm | 4 ++--
2 files changed, 9 insertions(+), 3 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index cdfc4c2f6b..67ff1018c0 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2544,7 +2544,13 @@ (define-public go-github-com-nbrownus-go-metrics-prometheus
(sha256
(base32 "1kl9l08aas544627zmhkgp843qx94sxs4inxm20nw1hx7gp79dz0"))))
(build-system go-build-system)
- (arguments '(#:import-path "github.com/nbrownus/go-metrics-prometheus"))
+ (arguments
+ '(#:import-path "github.com/nbrownus/go-metrics-prometheus"
+ ;; TODO: The tests fail because they expect an older version of
+ ;; go-github-com-prometheus-client-golang (v1.1.0) that has a slightly
+ ;; different output format. This would be resolved by the following PR:
+ ;; https://github.com/nbrownus/go-metrics-prometheus/pull/2
+ #:tests? #f))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c4888d95fc..d4d242fcfb 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7950,7 +7950,7 @@ (define-public go-github-com-prometheus-procfs
(define-public go-github-com-prometheus-client-golang
(package
(name "go-github-com-prometheus-client-golang")
- (version "1.2.1")
+ (version "1.17.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7959,7 +7959,7 @@ (define-public go-github-com-prometheus-client-golang
(file-name (git-file-name name version))
(sha256
(base32
- "0zs49psk23n9z8wrl02d5vib5wclpym8kaxcy6n5pk696i419065"))))
+ "1v8vdvi9wlpf18nxi62diysfnh9gc3c3cqq6hvx378snsvvl6n82"))))
(build-system go-build-system)
(arguments
'(#:tests? #f
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 11/13] gnu: packages: Add go-gopkg-in-irc-v4
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-12-jesse@eisses.email
---
gnu/packages/irc.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 39b915a518..80b2e740ee 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -781,6 +781,32 @@ (define-public go-gopkg-in-irc-v3
building block for other projects.")
(license license:expat)))
+(define-public go-gopkg-in-irc
+ (package
+ (inherit go-gopkg-in-irc-v3)
+ (name "go-gopkg-in-irc")
+ (version "4.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gopkg.in/irc.v4")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1yr7m1vz7fj0jbmk8njg54nyc9hx4kv24k13sjc4zj5fyqljj0p2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; TODO: the same tests fail as in the go-gopkg-in-irc-v3 package
+ #:tests? #f
+ #:import-path "gopkg.in/irc.v4"
+ #:unpack-path "gopkg.in/irc.v4"))
+ (propagated-inputs
+ (list go-gopkg-in-yaml-v2
+ go-golang-org-x-time
+ go-github-com-stretchr-testify))))
+
(define-public chathistorysync
(package
(name "chathistorysync")
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 12/13] gnu: golang-protobuf-extensions-pbutil: Update to 2.0.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-13-jesse@eisses.email
---
gnu/packages/syncthing.scm | 52 +++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 26 deletions(-)

Toggle diff (67 lines)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 43199d4ad6..cc495de3b2 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -588,34 +588,34 @@ (define-public go-github-com-syncthing-notify
(license expat))))
(define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
- (let ((commit "c12348ce28de40eed0136aa2b644d0ee0650e56c")
- (revision "0"))
- (package
- (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
- (version (git-version "1.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/matttproud/golang_protobuf_extensions")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/matttproud/golang_protobuf_extensions/pbutil"
- #:unpack-path "github.com/matttproud/golang_protobuf_extensions"))
- (propagated-inputs
- (list go-github-com-golang-protobuf-proto))
- (synopsis "Streaming Protocol Buffers in Go")
- (description "This package provides various Protocol Buffer
+ (package
+ (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/matttproud/golang_protobuf_extensions")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jw4vjycwx0a82yvixmp25805krdyqd960y8lnyggllb6br0vh41"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/matttproud/golang_protobuf_extensions/v2/pbutil"
+ #:unpack-path "github.com/matttproud/golang_protobuf_extensions/v2"))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf-proto
+ go-google-golang-org-protobuf))
+ (synopsis "Streaming Protocol Buffers in Go")
+ (description "This package provides various Protocol Buffer
extensions for the Go language, namely support for record length-delimited
message streaming.")
- (home-page "https://github.com/matttproud/golang_protobuf_extensions")
- (license asl2.0))))
+ (home-page "https://github.com/matttproud/golang_protobuf_extensions")
+ (license asl2.0)))
(define-public go-github-com-go-asn1-ber-asn1-ber
(package
--
2.41.0
J
J
Jesse Eisses wrote on 29 Apr 13:08 -0700
[PATCH v4 13/13] gnu: packages: Add soju
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240429201649.2851-14-jesse@eisses.email
---
gnu/packages/irc.scm | 77 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)

Toggle diff (87 lines)
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 80b2e740ee..90dad61eb9 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -1032,3 +1032,80 @@ (define-public snuik
now). It has some basic functionality only, such as seen, tell, and
what.")
(license license:gpl3+)))
+
+(define-public soju
+ (package
+ (name "soju")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/soju")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a0mp8f5i1ajh67y6fasmzgca3w1ccaiz19sx87rflbyi1mrhdlz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "git.sr.ht/~emersion/soju"
+ #:go go-1.19
+ #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (setenv "SYSCONFDIR"
+ (string-append (assoc-ref outputs "out")
+ "/etc"))
+ (invoke "make"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (let ((bin-dir (string-append (assoc-ref outputs "out")
+ "/bin"))
+ (conf-dir (string-append (assoc-ref outputs
+ "out")
+ "/etc/soju")))
+ (install-file "soju" bin-dir)
+ (install-file "sojudb" bin-dir)
+ (install-file "sojuctl" bin-dir)
+ ;; the default config file is not useful so we empty it for now
+ (substitute* "config.in" ((".*") ""))
+ (mkdir-p conf-dir)
+ (copy-file "config.in"
+ (string-append conf-dir "/config"))))))
+ (add-before 'build 'set-flags
+ (lambda _
+ (begin
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files") #t))))))
+ (native-inputs (list scdoc))
+ (inputs (list go-google-golang-org-protobuf go-1.19))
+ (propagated-inputs
+ (list go-nhooyr-io-websocket
+ go-gopkg-in-irc
+ go-golang-org-x-time
+ go-golang-org-x-crypto
+ go-github-com-prometheus-client-golang
+ go-github-com-pires-go-proxyproto
+ go-github-com-msteinert-pam
+ go-github-com-mattn-go-sqlite3
+ go-github-com-lib-pq
+ go-github-com-emersion-go-sasl
+ go-github-com-sherclockholmes-webpush-go
+ go-git-sr-ht-sircmpwn-go-bare
+ go-git-sr-ht-emersion-go-sqlite3-fts5
+ go-git-sr-ht-emersion-go-scfg))
+ (home-page "https://git.sr.ht/~emersion/soju")
+ (synopsis "User-friendly IRC bouncer") ;
+ (description
+ "Connects to upstream IRC servers on behalf of the user to provide
+extra functionality. soju supports many features
+such as multiple users, numerous @@url{https://ircv3.net/,IRCv3} extensions,
+chat history playback and detached channels. It is well-suited for both small
+and large deployments.")
+ (license license:agpl3)))
+
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 01/13] gnu: packages: Add go-github-com-golang-jwt-jwt-v3
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-2-jesse@eisses.email
Change-Id: I2382208434859b7a9b9a314930fa8769072964c7
---
gnu/packages/golang-crypto.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 273879b47a..49e229f0d9 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
;;; Copyright © 2023 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -480,6 +481,24 @@ (define-public go-github-com-golang-jwt-jwt-v4
RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
(license license:expat)))
+(define-public go-github-com-golang-jwt-jwt-v3
+ (package
+ (inherit go-github-com-golang-jwt-jwt-v4)
+ (name "go-github-com-golang-jwt-jwt-v3")
+ (version "3.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/golang-jwt/jwt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hq8wz11g6kddx9ab0icl5h3k4lrivk1ixappnr5db2ng2wjks9c"))))
+ (arguments
+ (list
+ #:import-path "github.com/golang-jwt/jwt"))))
+
(define-public go-github-com-golang-jwt-jwt-v5
(package
(inherit go-github-com-golang-jwt-jwt-v4)
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 00/13] Add Soju
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-1-jesse@eisses.email
The QA was failing because golang-xyz was updated on master. I've rebased
again so hopefully this one will pass :)

Again, please correct me if I'm sending too many updates to this patch series,
this is my first time using an email based workflow with git.

Jesse Eisses (13):
gnu: packages: Add go-github-com-golang-jwt-jwt-v3
gnu: packages: Add go-github-com-msteinert-pam
gnu: packages: Add go-nhooyr-io-websocket
gnu: packages: Add go-github-com-pires-go-proxyproto
gnu: go-github-com-prometheus-client-model: Update to 0.5.0
gnu: packages: Add go-github-com-sherclockholmes-webpush-go
gnu: packages: Add go-git-sr-ht-emersion-go-sqlite3-fts5
gnu: packages: Add go-git-sr-ht-sircmpwn-go-bare
gnu: go-github-com-prometheus-common: Update to 0.45.0
gnu: go-github-com-prometheus-client-golang: Update to 1.17.0
gnu: packages: Add go-gopkg-in-irc-v4
gnu: golang-protobuf-extensions-pbutil: Update to 2.0.0
gnu: packages: Add soju

gnu/packages/golang-crypto.scm | 19 +++
gnu/packages/golang-xyz.scm | 226 ++++++++++++++++++++++++++++-----
gnu/packages/golang.scm | 8 +-
gnu/packages/irc.scm | 103 +++++++++++++++
gnu/packages/syncthing.scm | 52 ++++----
5 files changed, 349 insertions(+), 59 deletions(-)

--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 02/13] gnu: packages: Add go-github-com-msteinert-pam
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-3-jesse@eisses.email
Change-Id: Id2b8424033b37846a6a0fbc3ff222e8bd31c9998
---
gnu/packages/golang-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 4e40e148f2..bbf70fbdbc 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -60,6 +61,7 @@ (define-module (gnu packages golang-xyz)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
@@ -2454,6 +2456,33 @@ (define-public go-github-com-multiformats-go-multibase
multibase} (self identifying base encodings) in Go.")
(license license:expat)))
+(define-public go-github-com-msteinert-pam
+ (package
+ (name "go-github-com-msteinert-pam")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/msteinert/pam")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qnr0zxyxny85andq3cbj90clmz2609j8z9mp0zvdyxiwryfhyhj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go gccgo-12
+ ;; tests don't work, they require special root set up
+ #:tests? #f
+ #:import-path "github.com/msteinert/pam"))
+ (inputs (list linux-pam))
+ (propagated-inputs (list go-golang-org-x-term))
+ (home-page "https://github.com/msteinert/pam")
+ (synopsis "Go PAM")
+ (description "Package pam provides a wrapper for the PAM application API.")
+ (license license:bsd-2)))
+
(define-public go-github-com-multiformats-go-multicodec
(package
(name "go-github-com-multiformats-go-multicodec")
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 04/13] gnu: packages: Add go-github-com-pires-go-proxyproto
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-5-jesse@eisses.email
Change-Id: Iec8e8ead7e18cbbd9be00ec398d11e632e4b2ac4
---
gnu/packages/golang-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 6ca8c40bfd..eb7cfb7ecf 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2824,6 +2824,31 @@ (define-public go-github-com-pierrec-cmdflag
on top of the standard library @code{flag} package.")
(license license:bsd-3)))
+(define-public go-github-com-pires-go-proxyproto
+ (package
+ (name "go-github-com-pires-go-proxyproto")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pires/go-proxyproto")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p18w555xp187fl807h1yd092cvs8jarp98pa76zl84rxlk4k2h4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/pires/go-proxyproto"))
+ (home-page "https://github.com/pires/go-proxyproto")
+ (synopsis "Implementation of the PROXY protocol")
+ (description
+ "Package proxyproto implements Proxy Protocol (v1 and v2) parser and writer, as
+per specification: @@url{https://www.haproxy.org/download/2.3/doc/proxy-protocol.txt}")
+ (license license:asl2.0)))
+
(define-public go-github-com-prometheus-client-model
(let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
(revision "2"))
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 03/13] gnu: packages: Add go-nhooyr-io-websocket
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-4-jesse@eisses.email
Change-Id: Ifced88b4d916b8593e4b65022cf419c8ae18a769
---
gnu/packages/golang-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index bbf70fbdbc..6ca8c40bfd 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2621,6 +2621,33 @@ (define-public go-github-com-nbrownus-go-metrics-prometheus
registry.")
(license license:asl2.0)))
+(define-public go-nhooyr-io-websocket
+ (package
+ (name "go-nhooyr-io-websocket")
+ (version "1.8.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nhooyr/websocket")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ig77m18sj8kx0f5xyi0vzvwc96cspsyk0d52dp5qph7vyc37lja"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; tests require additional dependencies like `wasmbrowsertest`
+ #:tests? #f
+ #:import-path "nhooyr.io/websocket"))
+ (home-page "https://nhooyr.io/websocket")
+ (synopsis "Minimal and idiomatic WebSocket library for Go")
+ (description
+ "Package websocket implements the
+@@url{https://rfc-editor.org/rfc/rfc6455.html,RFC 6455} @code{WebSocket}
+protocol.")
+ (license license:isc)))
+
(define-public go-github-com-nsqio-go-diskqueue
(package
(name "go-github-com-nsqio-go-diskqueue")
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 05/13] gnu: go-github-com-prometheus-client-model: Update to 0.5.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-6-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 54 ++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 28 deletions(-)

Toggle diff (67 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index eb7cfb7ecf..ae47670b95 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2850,34 +2850,32 @@ (define-public go-github-com-pires-go-proxyproto
(license license:asl2.0)))
(define-public go-github-com-prometheus-client-model
- (let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
- (revision "2"))
- (package
- (name "go-github-com-prometheus-client-model")
- (version (git-version "0.0.2" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/prometheus/client_model")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/prometheus/client_model"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- ;; Source-only package
- (delete 'build))))
- (propagated-inputs
- (list go-github-com-golang-protobuf-proto))
- (synopsis "Data model artifacts for Prometheus")
- (description "This package provides data model artifacts for Prometheus.")
- (home-page "https://github.com/prometheus/client_model")
- (license license:asl2.0))))
+ (package
+ (name "go-github-com-prometheus-client-model")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/client_model")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pl9i969jx5vkhm8vd5vb8yrifv37aw6h8mjg04820pw0ygfbigy"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/prometheus/client_model"
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf-proto))
+ (synopsis "Data model artifacts for Prometheus")
+ (description "This package provides data model artifacts for Prometheus.")
+ (home-page "https://github.com/prometheus/client_model")
+ (license license:asl2.0)))
(define-public go-github-com-rcrowley-go-metrics
(let ((commit "cac0b30c2563378d434b5af411844adff8e32960")
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 06/13] gnu: packages: Add go-github-com-sherclockholmes-webpush-go
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-7-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index ae47670b95..31b592c16a 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2907,6 +2907,29 @@ (define-public go-github-com-rcrowley-go-metrics
(home-page "https://github.com/rcrowley/go-metrics")
(license license:bsd-2))))
+(define-public go-github-com-sherclockholmes-webpush-go
+ (package
+ (name "go-github-com-sherclockholmes-webpush-go")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SherClockHolmes/webpush-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qv16zvkd1c7q81v2ai8pfz590fxdrk4lfbgyymln0q7jn5wlvki"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/SherClockHolmes/webpush-go"))
+ (propagated-inputs (list go-golang-org-x-crypto go-github-com-golang-jwt-jwt-v3))
+ (home-page "https://github.com/SherClockHolmes/webpush-go")
+ (synopsis "Web Push API Encryption with VAPID support")
+ (description "Web Push API Encryption with VAPID support.")
+ (license license:expat)))
+
(define-public go-github-com-schollz-progressbar-v3
(package
(name "go-github-com-schollz-progressbar-v3")
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 07/13] gnu: packages: Add go-git-sr-ht-emersion-go-sqlite3-fts5
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-8-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 31b592c16a..77e72f0eef 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -3384,6 +3384,40 @@ (define-public go-go-uber-org-atomic
atomic access.")
(license license:expat)))
+(define-public go-git-sr-ht-emersion-go-sqlite3-fts5
+ (package
+ (name "go-git-sr-ht-emersion-go-sqlite3-fts5")
+ (version "0.0.0-20230217131031-f2c8767594fc")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (commit "f2c8767594fc")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07wj4ypmfn8gmbg08bah3vrn6f2jbcfp47nlraw304rwpxflw05h"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "git.sr.ht/~emersion/go-sqlite3-fts5"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-flags
+ (lambda _
+ ;; Make sure CMake picks Clang as compiler
+ (begin
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files") #t))))))
+ (propagated-inputs (list go-github-com-mattn-go-sqlite3))
+ (home-page "https://git.sr.ht/~emersion/go-sqlite3-fts5")
+ (synopsis "FTS5 extension for go-sqlite3")
+ (description "Standalone FTS5 extension for
+@@url{https://github.com/mattn/go-sqlite3,go-sqlite3}, that provides full-text
+search functionality to database applications..")
+ (license license:expat)))
+
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 08/13] gnu: packages: Add go-git-sr-ht-sircmpwn-go-bare
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-9-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 77e72f0eef..7e67f02175 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -3418,6 +3418,32 @@ (define-public go-git-sr-ht-emersion-go-sqlite3-fts5
search functionality to database applications..")
(license license:expat)))
+(define-public go-git-sr-ht-sircmpwn-go-bare
+ (package
+ (name "go-git-sr-ht-sircmpwn-go-bare")
+ (version "0.0.0-20210406120253-ab86bc2846d9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~sircmpwn/go-bare")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zh36qppk8lscd8mysy0anm2vw5c74c10f4qvhd541wxm06di928"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "git.sr.ht/~sircmpwn/go-bare"))
+ (propagated-inputs
+ (list
+ go-github-com-stretchr-testify
+ go-git-sr-ht-sircmpwn-getopt))
+ (home-page "https://git.sr.ht/~sircmpwn/go-bare")
+ (synopsis "Implementation of the BARE message format")
+ (description "An implementation of the BARE message format for Go.")
+ (license license:asl2.0)))
+
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 09/13] gnu: go-github-com-prometheus-common: Update to 0.45.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-10-jesse@eisses.email
---
gnu/packages/golang.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 4de36a3199..fe9d84c698 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7865,7 +7865,7 @@ (define-public go-github-com-delthas-go-localeinfo
(define-public go-github-com-prometheus-common
(package
(name "go-github-com-prometheus-common")
- (version "0.4.1")
+ (version "0.45.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7874,7 +7874,7 @@ (define-public go-github-com-prometheus-common
(file-name (git-file-name name version))
(sha256
(base32
- "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
+ "006y6mlxglr2xzmdqxl5bwh899whfx1prcgjai7qhhs5ys5dspy5"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/common"
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 10/13] gnu: go-github-com-prometheus-client-golang: Update to 1.17.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-11-jesse@eisses.email
---
gnu/packages/golang-xyz.scm | 8 +++++++-
gnu/packages/golang.scm | 4 ++--
2 files changed, 9 insertions(+), 3 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 7e67f02175..a2eecb6ceb 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2607,7 +2607,13 @@ (define-public go-github-com-nbrownus-go-metrics-prometheus
(sha256
(base32 "1kl9l08aas544627zmhkgp843qx94sxs4inxm20nw1hx7gp79dz0"))))
(build-system go-build-system)
- (arguments '(#:import-path "github.com/nbrownus/go-metrics-prometheus"))
+ (arguments
+ '(#:import-path "github.com/nbrownus/go-metrics-prometheus"
+ ;; TODO: The tests fail because they expect an older version of
+ ;; go-github-com-prometheus-client-golang (v1.1.0) that has a slightly
+ ;; different output format. This would be resolved by the following PR:
+ ;; https://github.com/nbrownus/go-metrics-prometheus/pull/2
+ #:tests? #f))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index fe9d84c698..3d119b4221 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7922,7 +7922,7 @@ (define-public go-github-com-prometheus-procfs
(define-public go-github-com-prometheus-client-golang
(package
(name "go-github-com-prometheus-client-golang")
- (version "1.2.1")
+ (version "1.17.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7931,7 +7931,7 @@ (define-public go-github-com-prometheus-client-golang
(file-name (git-file-name name version))
(sha256
(base32
- "0zs49psk23n9z8wrl02d5vib5wclpym8kaxcy6n5pk696i419065"))))
+ "1v8vdvi9wlpf18nxi62diysfnh9gc3c3cqq6hvx378snsvvl6n82"))))
(build-system go-build-system)
(arguments
'(#:tests? #f
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 11/13] gnu: packages: Add go-gopkg-in-irc-v4
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-12-jesse@eisses.email
---
gnu/packages/irc.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 39b915a518..80b2e740ee 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -781,6 +781,32 @@ (define-public go-gopkg-in-irc-v3
building block for other projects.")
(license license:expat)))
+(define-public go-gopkg-in-irc
+ (package
+ (inherit go-gopkg-in-irc-v3)
+ (name "go-gopkg-in-irc")
+ (version "4.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gopkg.in/irc.v4")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1yr7m1vz7fj0jbmk8njg54nyc9hx4kv24k13sjc4zj5fyqljj0p2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; TODO: the same tests fail as in the go-gopkg-in-irc-v3 package
+ #:tests? #f
+ #:import-path "gopkg.in/irc.v4"
+ #:unpack-path "gopkg.in/irc.v4"))
+ (propagated-inputs
+ (list go-gopkg-in-yaml-v2
+ go-golang-org-x-time
+ go-github-com-stretchr-testify))))
+
(define-public chathistorysync
(package
(name "chathistorysync")
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 12/13] gnu: golang-protobuf-extensions-pbutil: Update to 2.0.0
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-13-jesse@eisses.email
---
gnu/packages/syncthing.scm | 52 +++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 26 deletions(-)

Toggle diff (67 lines)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 43199d4ad6..cc495de3b2 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -588,34 +588,34 @@ (define-public go-github-com-syncthing-notify
(license expat))))
(define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
- (let ((commit "c12348ce28de40eed0136aa2b644d0ee0650e56c")
- (revision "0"))
- (package
- (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
- (version (git-version "1.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/matttproud/golang_protobuf_extensions")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/matttproud/golang_protobuf_extensions/pbutil"
- #:unpack-path "github.com/matttproud/golang_protobuf_extensions"))
- (propagated-inputs
- (list go-github-com-golang-protobuf-proto))
- (synopsis "Streaming Protocol Buffers in Go")
- (description "This package provides various Protocol Buffer
+ (package
+ (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/matttproud/golang_protobuf_extensions")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jw4vjycwx0a82yvixmp25805krdyqd960y8lnyggllb6br0vh41"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/matttproud/golang_protobuf_extensions/v2/pbutil"
+ #:unpack-path "github.com/matttproud/golang_protobuf_extensions/v2"))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf-proto
+ go-google-golang-org-protobuf))
+ (synopsis "Streaming Protocol Buffers in Go")
+ (description "This package provides various Protocol Buffer
extensions for the Go language, namely support for record length-delimited
message streaming.")
- (home-page "https://github.com/matttproud/golang_protobuf_extensions")
- (license asl2.0))))
+ (home-page "https://github.com/matttproud/golang_protobuf_extensions")
+ (license asl2.0)))
(define-public go-github-com-go-asn1-ber-asn1-ber
(package
--
2.41.0
J
J
Jesse Eisses wrote on 4 May 01:30 -0700
[PATCH v5 13/13] gnu: packages: Add soju
(address . 70317@debbugs.gnu.org)(name . Jesse Eisses)(address . jesse@eisses.email)
20240504083033.29426-14-jesse@eisses.email
---
gnu/packages/irc.scm | 77 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)

Toggle diff (87 lines)
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 80b2e740ee..90dad61eb9 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -1032,3 +1032,80 @@ (define-public snuik
now). It has some basic functionality only, such as seen, tell, and
what.")
(license license:gpl3+)))
+
+(define-public soju
+ (package
+ (name "soju")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~emersion/soju")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a0mp8f5i1ajh67y6fasmzgca3w1ccaiz19sx87rflbyi1mrhdlz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "git.sr.ht/~emersion/soju"
+ #:go go-1.19
+ #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (setenv "SYSCONFDIR"
+ (string-append (assoc-ref outputs "out")
+ "/etc"))
+ (invoke "make"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src/git.sr.ht/~emersion/soju"
+ (let ((bin-dir (string-append (assoc-ref outputs "out")
+ "/bin"))
+ (conf-dir (string-append (assoc-ref outputs
+ "out")
+ "/etc/soju")))
+ (install-file "soju" bin-dir)
+ (install-file "sojudb" bin-dir)
+ (install-file "sojuctl" bin-dir)
+ ;; the default config file is not useful so we empty it for now
+ (substitute* "config.in" ((".*") ""))
+ (mkdir-p conf-dir)
+ (copy-file "config.in"
+ (string-append conf-dir "/config"))))))
+ (add-before 'build 'set-flags
+ (lambda _
+ (begin
+ (setenv "CGO_LDFLAGS"
+ "-Wl,--unresolved-symbols=ignore-in-object-files") #t))))))
+ (native-inputs (list scdoc))
+ (inputs (list go-google-golang-org-protobuf go-1.19))
+ (propagated-inputs
+ (list go-nhooyr-io-websocket
+ go-gopkg-in-irc
+ go-golang-org-x-time
+ go-golang-org-x-crypto
+ go-github-com-prometheus-client-golang
+ go-github-com-pires-go-proxyproto
+ go-github-com-msteinert-pam
+ go-github-com-mattn-go-sqlite3
+ go-github-com-lib-pq
+ go-github-com-emersion-go-sasl
+ go-github-com-sherclockholmes-webpush-go
+ go-git-sr-ht-sircmpwn-go-bare
+ go-git-sr-ht-emersion-go-sqlite3-fts5
+ go-git-sr-ht-emersion-go-scfg))
+ (home-page "https://git.sr.ht/~emersion/soju")
+ (synopsis "User-friendly IRC bouncer") ;
+ (description
+ "Connects to upstream IRC servers on behalf of the user to provide
+extra functionality. soju supports many features
+such as multiple users, numerous @@url{https://ircv3.net/,IRCv3} extensions,
+chat history playback and detached channels. It is well-suited for both small
+and large deployments.")
+ (license license:agpl3)))
+
--
2.41.0
S
S
Sharlatan Hellseher wrote on 4 May 07:19 -0700
[PATCH 00/13] Add soju
(address . 70317@debbugs.gnu.org)
87bk5lpslv.fsf@gmail.com
Version: 1


-----BEGIN PGP MESSAGE-----

hQIMA7MNkAS4N2gGAQ/+OWtkEQWU7QaywDToSxilo5H7yh6HVYr5oqsnk3cQBR+O
qF/Nxe+WX8GYLVwrlNylQdnzWAfZ8pTbK6TzdNM7caSBqY6CBAuEBWO5T33Cm8iQ
vMP8ltkYfWPTqCM5ykDXK+7LZu3Apcqz+r3h0xV1d3v0sSg/zkdOKqJOyxSLaIHk
edpKz2/Raa6PmC779YLiOBfB2yD7HgkMp2JV+tCtRiCwj3QwnHiiTb2QeTGxKTRj
hcMo9DjwJuj9eI8Rvyzq4fD8YPYpaC5oNvIZTv8RDQ87eMohtJmdJIsyQtx/vF03
dVRpY6PZgN3UjadpxW50ga1UPnsr4rp2RdFEHoJNCmRv8c7kSaWztdCit+QRZwws
zpXC5OvSumqzIfLuHhcQNqJB0tnggYbHIExS7fVsYNZ1OX7/M4Z40/LFj7Q8wQyy
ap81iL8nFNOt+Zl2kXtOhTJZRwdBidsQndWoSwJCtxlBGk+wWMm8s/BdIEAVwZr7
H6BbD0xyS5uGIwlhCeFzCWtzKNF0/k8LkysalqaakGBQR2PnB/SNn9+7IogJl0yb
cStjdtMtRyJ4a8vYARjtTdyyPNXmu+0373B7Bh+jb6M4Uo04Msxq02jaEvsZwtRZ
MK9JxexxGvwQdgh4yangPsHo0sajPz5XnmT6jBI6nhY8tDYqgUpJTq+5zTRCzcLS
wD0BVZxH6ipmbd5yP7UI6WDf2ysu1RFod04PdL2JVEFb5JDj04FVms+Ggmw6SdWH
L0RN2RNZ8PJUnAbUDOQcFL3+n5GPnndyX9mlsvrJWfAN6j1J/nIxRAJDHfML8/xP
2JvHypggy6nfe+vTLrYTCEYquO4FaFvb+fkv1q/02exQHiibTUl4y6fyPMsVABZi
0RmnQdqVoAKgz84/BXG2W2C1gKIZQOTkw7wd+3W3xsTSZe1Wg/ZOdxZ8kmc1Ecb8
oi1Yz2toR37v3y6irP17c0fj6+GeFrMZVQVgoIC4fKEvmPCpb6STwrz6/BZyqFFE
Hij38PRIHOuhR8BHnQxn
=KmSQ
-----END PGP MESSAGE-----

S
S
Sharlatan Hellseher wrote on 7 May 15:33 -0700
(address . 70317-done@debbugs.gnu.org)
87cypxfe1f.fsf@gmail.com
Hi Jesse,

I've pushed the patch series v2 after rebase and adjust some of them.

One side note - Soju is a services or looks like it and requires (hard)
to be provided with configuration file during runtime.

Let's write a Shepherd service !?

- review-notes [7/7]
- [X] [PATCH v2 01/13] gnu: packages: Add go-github-com-golang-jwt-jwt-v3
- Rename to go-github-com-golang-jwt-jwt
- Inherit go-github-com-golang-jwt-jwt-v4 from go-github-com-golang-jwt-jwt
- [X] [PATCH v2 06/13] gnu: packages: Add go-github-com-sherclockholmes-webpush-go
- Place to golang-web
- [X] [PATCH v2 02/13] gnu: packages: Add go-github-com-msteinert-pam
- Use go-1.20 as seen in go.mod, as gccgo-12 is for building Golang itself.
- Adjust synopsis and description.
- The latest commit of Soju requires v2 of this package, add as a separate commit in advance
for the future update..
- [X] [PATCH v2 03/13] gnu: packages: Add go-nhooyr-io-websocket
- Place to golang-web
- Update to the latest 1.8.11
- [X] [PATCH v2 04/13] gnu: packages: Add go-github-com-pires-go-proxyproto
- Place to golang-web
- Extend description
- [X] [PATCH v2 11/13] gnu: packages: Add go-gopkg-in-irc-v4
- Adjust package name
- Enable tests
- [X] [PATCH v2 07/13] gnu: packages: Add go-git-sr-ht-emersion-go-sqlite3-fts5
- Update to the latest version

Pushed as 223c531ec4..d12456bebd to master.

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmY6rCwACgkQdtcnv/Ys
0rWqrRAArfNKOJhITXT+Xnhxqz1fpBQmq5vDUtDIQIuIVT70wugNzDH3En4Rc8UT
BMANICT/TjqfzBxVSqv4IHGJIoT5TH0RGkkDSBR52P/sIpfnAiKFncmXi1paT97A
ctPm+4olAsNxZmPUx36qzjuNQtp0gZl6IVdClBCCuheHn0v6KsOvshISWztBeq54
w8EzQvx/3b6aIpTY3uAyA4AtA8ppWi4lwTkUmi604tlzwsLFIm1d15gCebUMaobZ
iGqdYHDlB1QFy22VklGbk1WeVJQyjj5QsGql4xjyfWW41kWtelMK61D2dN++ekZp
fRxKPPIAM0570UCw+3sqEeJ0Ttn7AG9qec64pdysp/KwD3yf5zBrYVwtQyFrHZdJ
nRw2D3bRjUkCkpVD9u1wwg4RoAjq610BOhvOnTGvohOyyCXHQqe0NI8Y6aMaq23v
DLX7NUyhCEgiPRku9t30NCOr6XDL1+Ym0s6PZgocW6ltwk4enHlrZjfICvd/ofjB
1ZrIFhXapuKCS1n6bCMYSVKBxmMQsc9VZVqdt305HtDEuepj2nu1BmPyBes7hBn+
y7YlI1GkRyS1sYKD7T2SdfPCk22uAEr4O7WNGfmHunLLoaJdVRlHqNc7cQflF6Bj
+iZZ3JfA6Ep5F0WwFPNAu4qfpGJOFUqTtwwnGzQ7XOFbU1hhodw=
=F3eP
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 70317@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 70317
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch