[PATCH 00/13] Add soju

  • Open
  • quality assurance status badge
Details
2 participants
  • Jesse Eisses
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Jesse Eisses
Severity
normal
J
J
Jesse Eisses wrote on 9 Apr 22:48 +0200
(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 10:09 +0200
[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 10:09 +0200
[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 10:09 +0200
[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 10:09 +0200
[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 10:10 +0200
[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 10:10 +0200
[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 10:10 +0200
[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 10:10 +0200
[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 10:10 +0200
[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 10:10 +0200
[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 10:10 +0200
[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 10:10 +0200
[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 10:10 +0200
[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 7 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 6 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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 3 days ago
[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
?