[PATCH 0/7] gnu: Add go-github-com-caddyserver-certmagic.

  • Done
  • quality assurance status badge
Details
2 participants
  • Artyom V. Poptsov
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Artyom V. Poptsov
Severity
normal
A
A
Artyom V. Poptsov wrote on 14 Nov 21:11 +0100
(address . guix-patches@gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
cover.1731615008.git.poptsov.artyom@gmail.com
This patchset adds "go-github-com-caddyserver-certmagic" and all its
dependencies.

"go-github-com-caddyserver-certmagic" is a dependency of newer Kubo versions.

Artyom V. Poptsov (7):
gnu: Add go-github-com-caddyserver-zerossl.
gnu: Add go-github-com-libdns-libdns.
gnu: Add go-github-com-mholt-acmez.
gnu: Add go-github-com-zeebo-assert.
gnu: Add go-github-com-zeebo-pcg.
gnu: Add go-github-com-zeebo-blake3.
gnu: Add go-github-com-caddyserver-certmagic.

gnu/packages/golang-crypto.scm | 78 +++++++++++
gnu/packages/golang-web.scm | 228 +++++++++++++++++++++++++++++++++
2 files changed, 306 insertions(+)


base-commit: c1cb7f1031c5dde2a260d8d8ad7547d6c79cc532
--
2.46.0
A
A
Artyom V. Poptsov wrote on 14 Nov 21:12 +0100
[PATCH 1/7] gnu: Add go-github-com-caddyserver-zerossl.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
e4efc9272d37e370d37909a7476b63926c9c5a3f.1731615008.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-caddyserver-zerossl): New variable.

Change-Id: Ibec80ae2d4d86f99f8bc271a1c4dfd2591d66290
---
gnu/packages/golang-web.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 6e47aef039..187718b589 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -641,6 +641,32 @@ (define-public go-github-com-bep-golibsass
"This package provides SCSS compiler support for Go applications.")
(license license:expat)))
+(define-public go-github-com-caddyserver-zerossl
+ (package
+ (name "go-github-com-caddyserver-zerossl")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/caddyserver/zerossl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hr2kdabhm35hz5krp7m3g6wxvyb9xlqgmy3krf4wwb3yabsqp1m"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/caddyserver/zerossl"))
+ (home-page "https://github.com/caddyserver/zerossl")
+ (synopsis "ZeroSSL REST API client implementation for Go")
+ (description "@code{zerossl} implements the
+@url{https://zerossl.com/documentation/api/, ZeroSSL REST API} in Go.
+
+The REST API is distinct from the @url{https://zerossl.com/documentation/acme/, ACME
+endpoint}, which is a standardized way of obtaining certificates.")
+ (license license:expat)))
+
(define-public go-github-com-ccding-go-stun
(package
(name "go-github-com-ccding-go-stun")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 14 Nov 21:12 +0100
[PATCH 2/7] gnu: Add go-github-com-libdns-libdns.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
12c60a82e84d5b65741a465bfdb4aefee2e4a0b3.1731615008.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-libdns-libdns): New variable.

Change-Id: I9d1a1751f575e521deda22177c55ad5be6b41eca
---
gnu/packages/golang-web.scm | 43 +++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 187718b589..c71878423f 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -3077,6 +3077,49 @@ (define-public go-github-com-koron-go-ssdp
@acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.")
(license license:expat)))
+(define-public go-github-com-libdns-libdns
+ (package
+ (name "go-github-com-libdns-libdns")
+ (version "0.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libdns/libdns")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00zx6yij1ac8mhswhsks1nchzgmhbzrsm9hr0faqbmx0vkip78j5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/libdns/libdns"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-golang-org-x-exp))
+ (home-page "https://github.com/libdns/libdns")
+ (synopsis "Universal DNS provider APIs for Go")
+ (description
+ "@code{libdns} is a collection of free-range DNS provider client implementations
+written in Go.
+
+This repository defines the core interfaces that provider packages should implement. They are small and idiomatic Go interfaces with well-defined semantics.
+
+The interfaces include:
+@itemize
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordGetter, RecordGetter} to
+list records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordAppender,
+RecordAppender} to append new records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordSetter, RecordSetter} to
+set (create or change existing) records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordDeleter, RecordDeleter}
+to delete records.
+@end itemize
+")
+ (license license:expat)))
+
(define-public go-github-com-libp2p-go-cidranger
(package
(name "go-github-com-libp2p-go-cidranger")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 14 Nov 21:12 +0100
[PATCH 3/7] gnu: Add go-github-com-mholt-acmez.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
f1356ec4d236c90868bfd30c32174ee97381350f.1731615008.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-mholt-acmez): New variable.

Change-Id: I220f588ff600e032c38974b9f09e873d22a1811a
---
gnu/packages/golang-web.scm | 83 +++++++++++++++++++++++++++++++++++++
1 file changed, 83 insertions(+)

Toggle diff (96 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index c71878423f..b29fc69b1a 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -3657,6 +3657,89 @@ (define-public go-github-com-mdlayher-socket
deadline support.")
(license license:expat)))
+(define-public go-github-com-mholt-acmez
+ (package
+ (name "go-github-com-mholt-acmez")
+ (version "2.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mholt/acmez")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xfl6p8izgjs1d26iygfilmmagxld409qsgdy60r1chfsrcnraby"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mholt/acmez"))
+ (propagated-inputs
+ (list go-golang-org-x-crypto
+ go-golang-org-x-net
+ go-go-uber-org-zap))
+ (home-page "https://github.com/mholt/acmez")
+ (synopsis "Premier ACME client library for Go")
+ (description
+ "@code{ACMEz} (@code{ack-measy} or @code{acme-zee}, whichever you prefer) is a
+fully-compliant @url{https://tools.ietf.org/html/rfc8555, RFC 8555} (ACME)
+implementation in pure Go. It is lightweight, has an elegant Go API, and its retry
+logic is highly robust against external errors. ACMEz is suitable for large-scale
+enterprise deployments. It also supports common IETF-standardized ACME extensions.
+
+NOTE: This module is for getting certificates, not managing certificates. Most users
+probably want certificate management (keeping certificates renewed) rather than to
+interface directly with ACME. Developers who want to use certificates in their
+long-running Go programs should use @url{https://github.com/caddyserver/certmagic,
+CertMagic} instead; or, if their program is not written in Go,
+@url{https://caddyserver.com/, Caddy} can be used to manage certificates (even
+without running an HTTP or TLS server if needed).
+
+This module has two primary packages:
+
+@itemize
+@item @code{acmez} is a high-level wrapper for getting certificates. It implements
+the ACME order flow described in RFC 8555 including challenge solving using pluggable
+solvers.
+@item @code{acme} is a low-level RFC 8555 implementation that provides the
+fundamental ACME operations, mainly useful if you have advanced or niche
+requirements.
+@end itemize
+
+In other words, the @code{acmez} package is porcelain while the @code{acme} package
+is plumbing (to use git's terminology).
+
+Main features:
+@itemize
+@item Go API thoroughly documented with spec citations.
+@item Robust to external errors.
+@item Structured error values ('problems' as defined in RFC 7807.)
+@item Smart retries (resilient against network and server hiccups.)
+@item Challenge plasticity (randomized challenges, and will retry others if one
+fails.)
+
+@item Context cancellation (suitable for high-frequency config changes or reloads.)
+
+@item Highly flexible and customizable.
+
+@item External Account Binding (EAB) support.
+
+@item Tested with numerous ACME CAs (more than just Let's Encrypt.)
+
+@item Implements niche aspects of RFC 8555 (such as alt cert chains and account key
+rollover.)
+
+@item Efficient solving of large SAN lists (e.g. for slow DNS record propagation.)
+
+@item Utility functions for solving challenges: device attestation
+challenges (draft-acme-device-attest-02), RFC 8737 (tls-alpn-01 challenge), RFC
+8823 (email-reply-00 challenge; S/MIME.)
+
+@item ACME Renewal Information (ARI) support (draft-ietf-acme-ari-03.)
+@end itemize
+")
+ (license license:asl2.0)))
+
(define-public go-github-com-microcosm-cc-bluemonday
(package
(name "go-github-com-microcosm-cc-bluemonday")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 14 Nov 21:12 +0100
[PATCH 4/7] gnu: Add go-github-com-zeebo-assert.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
de9ba169624c10983bce83780c57870a179b4d31.1731615008.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-assert): New variable.

Change-Id: I03a752d42e016acd416087d4426864384ffc8a05
---
gnu/packages/golang-crypto.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 1236ff38e3..9bae2b6c5e 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -1727,6 +1727,29 @@ (define-public go-github-com-youmark-pkcs8
PKCS#5 (v2.0) algorithms.")
(license license:expat)))
+(define-public go-github-com-zeebo-assert
+ (package
+ (name "go-github-com-zeebo-assert")
+ (version "1.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/assert")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xfklg04ic4xl5q7xy913jzvn2v9bxmrsnm4lyjqznninysgs9xb"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/assert"))
+ (home-page "https://github.com/zeebo/assert")
+ (synopsis "Helpers for tests")
+ (description
+ "@code{assert} is a test helper library.")
+ (license license:cc0)))
+
(define-public go-lukechampine-com-blake3
(package
(name "go-lukechampine-com-blake3")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 14 Nov 21:12 +0100
[PATCH 7/7] gnu: Add go-github-com-caddyserver-certmagic.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
115401a2eaec3c4dbdfe68a3985f31063649ec0e.1731615008.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-caddyserver-certmagic): New variable.

Change-Id: I54093acde851c9a73e18f8c557650d72a521c05f
---
gnu/packages/golang-web.scm | 76 +++++++++++++++++++++++++++++++++++++
1 file changed, 76 insertions(+)

Toggle diff (89 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index b29fc69b1a..c7d6e56351 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -641,6 +641,82 @@ (define-public go-github-com-bep-golibsass
"This package provides SCSS compiler support for Go applications.")
(license license:expat)))
+(define-public go-github-com-caddyserver-certmagic
+ (package
+ (name "go-github-com-caddyserver-certmagic")
+ (version "0.21.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/caddyserver/certmagic")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "061whx9p00lpxlfnywizqx5z9b020ggqg5vx5r5v2qhdrprg1gkz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; Tests require networking.
+ #:import-path "github.com/caddyserver/certmagic"))
+ (native-inputs
+ (list go-github-com-caddyserver-zerossl
+ go-github-com-klauspost-cpuid-v2
+ go-github-com-libdns-libdns
+ go-github-com-mholt-acmez
+ go-github-com-miekg-dns
+ go-github-com-zeebo-blake3
+ go-go-uber-org-zap
+ go-golang-org-x-crypto
+ go-golang-org-x-net))
+ (home-page "https://github.com/caddyserver/certmagic")
+ (synopsis "Automatic HTTPS for any Go program")
+ (description "@code{certmagic} provides API for TLS Automation.
+
+Main features:
+@itemize
+@item Fully automated certificate management including issuance and renewal.
+@item One-line, fully managed HTTPS servers.
+@item Full control over almost every aspect of the system.
+
+@item HTTP->HTTPS redirects.
+
+@item Multiple issuers supported: get certificates from multiple sources/CAs for
+redundancy and resiliency.
+
+@item Solves all 3 common ACME challenges: HTTP, TLS-ALPN, and DNS (and capable of
+others.)
+
+@item Most robust error handling of any ACME client
+@itemize
+@item Challenges are randomized to avoid accidental dependence.
+@item Challenges are rotated to overcome certain network blockages
+@item Robust retries for up to 30 days
+@item Exponential backoff with carefully-tuned intervals
+@item Retries with optional test/staging CA endpoint instead of production, to avoid
+rate limits.
+@end itemize
+@item Powered by @code{ACMEz}, an ACME client library for Go.
+@item All libdns DNS providers work out-of-the-box.
+@item Pluggable storage backends (default: file system.)
+@item Pluggable key sources.
+@item Wildcard certificates.
+@item Automatic OCSP stapling.
+@item Distributed solving of all challenges (works behind load balancers.)
+@item Supports @samp{on-demand} issuance of certificates.
+@item Optional event hooks for observation.
+@item One-time private keys by default (new key for each cert) to discourage pinning
+and reduce scope of key compromise.
+@item Works with any certificate authority (CA) compliant with the ACME specification
+@url{https://tools.ietf.org/html/rfc8555, RFC 8555}.
+@item Certificate revocation
+@item Must-Staple (optional; not default.)
+@item Use in conjunction with your own certificates.
+@item Full support for draft-ietf-acme-ari (ACME Renewal Information; ARI) extension.
+@end itemize
+")
+ (license license:expat)))
+
(define-public go-github-com-caddyserver-zerossl
(package
(name "go-github-com-caddyserver-zerossl")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 14 Nov 21:12 +0100
[PATCH 5/7] gnu: Add go-github-com-zeebo-pcg.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
970f77b6c8fbe67e50637a1bf40d528ced7beb63.1731615008.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-pcg): New variable.

Change-Id: Ic66e2221288fcd5e22196a12786d37150acec414
---
gnu/packages/golang-crypto.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 9bae2b6c5e..d59065e679 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -1750,6 +1750,32 @@ (define-public go-github-com-zeebo-assert
"@code{assert} is a test helper library.")
(license license:cc0)))
+(define-public go-github-com-zeebo-pcg
+ (package
+ (name "go-github-com-zeebo-pcg")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/pcg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02vyy2zc4jdcyf22dxw8dxcp1gwzy8j5qd6yxw324qyh2w557nh5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/pcg"))
+ (propagated-inputs
+ (list go-github-com-zeebo-assert))
+ (home-page "https://github.com/zeebo/pcg")
+ (synopsis "PCG random number generator")
+ (description
+ "@code{pcg} is a random number generator that uses Permuted Congruential
+Generator (PCG) algorithm.")
+ (license license:cc0)))
+
(define-public go-lukechampine-com-blake3
(package
(name "go-lukechampine-com-blake3")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 14 Nov 21:12 +0100
[PATCH 6/7] gnu: Add go-github-com-zeebo-blake3.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
e4444869b6b497b870c0e66011a5b99b8c4af271.1731615008.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-blake3): New variable.

Change-Id: I23bc863fb1731b520aeca8e9088a98c6fcfcf62d
---
gnu/packages/golang-crypto.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index d59065e679..aaa652217e 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -1750,6 +1750,35 @@ (define-public go-github-com-zeebo-assert
"@code{assert} is a test helper library.")
(license license:cc0)))
+(define-public go-github-com-zeebo-blake3
+ (package
+ (name "go-github-com-zeebo-blake3")
+ (version "0.2.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/blake3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/blake3"))
+ (propagated-inputs
+ (list go-github-com-klauspost-cpuid-v2
+ go-github-com-zeebo-assert
+ go-github-com-zeebo-pcg))
+ (home-page "https://github.com/zeebo/blake3")
+ (synopsis "Pure Go implementation of BLAKE3")
+ (description
+ "@code{blake3} is a pure Go implementation of
+@url{https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE3, BLAKE3} with AVX2
+and SSE4.1 acceleration.")
+ (license license:cc0)))
+
(define-public go-github-com-zeebo-pcg
(package
(name "go-github-com-zeebo-pcg")
--
2.46.0
S
S
Sharlatan Hellseher wrote on 15 Nov 22:43 +0100
[PATCH 0/7] gnu: Add go-github-com-caddyserver-certmagic.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
87jzd4kwb4.fsf@gmail.com
Hi,

Thanks for the patches!

Caddy by it's own is a very nice peas of software to have in Guix,
maybe it would be easy to pack ^.^

Let's review!

Some general notices - descriptions, it's not good when upstream does
not provide anything, and it guess it's overkill when it's way long
especially for intermediate libraries.

Let's balance the length of
Toggle snippet (4 lines)
+(define-public go-github-com-mholt-acmez
+(define-public go-github-com-caddyserver-certmagic

You don't need a new line after end of itemize
Toggle snippet (4 lines)
+@end itemize
+")

This is a candidate for golang-check as it's used just during tests in
dependent package
Toggle snippet (10 lines)
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -1727,6 +1727,29 @@ (define-public go-github-com-youmark-pkcs8
PKCS#5 (v2.0) algorithms.")
(license license:expat)))

+(define-public go-github-com-zeebo-assert
+ (package

Following above, place in native-inputs.
Toggle snippet (4 lines)
+ (propagated-inputs
+ (list go-github-com-zeebo-assert))

Start description from a new line:
Toggle snippet (3 lines)
+ (description "@code{zerossl} implements the

Maybe buff some spells here e.g. which helper or for which purpose:
Toggle snippet (5 lines)
+ (synopsis "Helpers for tests")
+ (description
+ "@code{assert} is a test helper library.")

There is now a #:test-flags option key where you may disable some test
by regex (see the doc for go-build-system), e.g. we need to run some
tests and disable network required only:
Toggle snippet (6 lines)
+ (arguments
+ (list
+ #:tests? #f ; Tests require networking.
+ #:import-path "github.com/caddyserver/certmagic"))

It's just a minor style review points, let's see what would QA tell us
after v2.

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

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmc3wHAACgkQdtcnv/Ys
0rVOcw/+Mf5B3xBskQlvOCJn1Hmdr3v10gMUQjbL8kKdpYDRybk4hZ8DCCGUmdWl
6vphSKNmDCZIaLCQpNJTR1TCKEqAaveqnv3HbhZX6RK7BlR6GRBa/9B/flu+3JRh
qQ2AnLnw8cCwJWK05SbyYbGHFWX2HGVV/ZTVwB54TcgnZIg9vfGfb5QdypUs3Y+u
9m19Ai+vlS069jLYeTkKZwz4y8h4GhcPnK5ImximUiZdZjVPQqnoNI9IPmYvX8XS
eOtrAa46cHn+ch1ZnlL7lgaxdoDw2+8yLmWVgXar2kDd63EX9zwxKc46YnbM6t4P
1aZWn5wrAz6EP76oTMyxL9MmZOxoqI3L+fZo1JqwNeFGhRmJ6JlPw6X7GTsS1ItY
juFrpoPRMutfxrFTZ/JCVSsQIGqP/MO+nLaqxFUi9JdIJf4vT9x2t9SMhQ5d8Uxs
GWP1eovjXoTESLfs4Yr7+ow9WxRBwAP+6XPXc9UZhpj2bkhFhN04kxM3Rrh53+7k
tmqDOyEZlv47ib5vpZ3G5sA2PsGR2hJCH5b8oQgO22rVzXJT7w4DyKltuJXhaT9f
ckLFZienjMdYI/A4/XolQte8oiEVOc2wzEXVkfd1gDcUA2ohSbAa8FNOx481hqDP
iYnnW8cuJPmPI7Yywd+tNJ+gtzcG9p131y3PamlAs9q4F5uEe8g=
=TAu4
-----END PGP SIGNATURE-----

A
A
Artyom V. Poptsov wrote on 16 Nov 08:26 +0100
[PATCH v2 1/7] gnu: Add go-github-com-caddyserver-zerossl.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
259514ca31c56e4152c7f7c99d75b6755523381e.1731741895.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-caddyserver-zerossl): New variable.

Change-Id: Ibec80ae2d4d86f99f8bc271a1c4dfd2591d66290
---
gnu/packages/golang-web.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 6e47aef039..8102bf03d7 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -641,6 +641,33 @@ (define-public go-github-com-bep-golibsass
"This package provides SCSS compiler support for Go applications.")
(license license:expat)))
+(define-public go-github-com-caddyserver-zerossl
+ (package
+ (name "go-github-com-caddyserver-zerossl")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/caddyserver/zerossl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hr2kdabhm35hz5krp7m3g6wxvyb9xlqgmy3krf4wwb3yabsqp1m"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/caddyserver/zerossl"))
+ (home-page "https://github.com/caddyserver/zerossl")
+ (synopsis "ZeroSSL REST API client implementation for Go")
+ (description
+ "@code{zerossl} implements the @url{https://zerossl.com/documentation/api/,
+ZeroSSL REST API} in Go.
+
+The REST API is distinct from the @url{https://zerossl.com/documentation/acme/, ACME
+endpoint}, which is a standardized way of obtaining certificates.")
+ (license license:expat)))
+
(define-public go-github-com-ccding-go-stun
(package
(name "go-github-com-ccding-go-stun")

base-commit: 3e8d3d80f41e016cdfe80e488a78c2351c94fef8
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 08:26 +0100
[PATCH v2 2/7] gnu: Add go-github-com-libdns-libdns.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
ca494039f6d01891fb18435a2216ac3fd0fbc754.1731741895.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-libdns-libdns): New variable.

Change-Id: I9d1a1751f575e521deda22177c55ad5be6b41eca
---
gnu/packages/golang-web.scm | 41 +++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 8102bf03d7..d04ffb5dd6 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -3078,6 +3078,47 @@ (define-public go-github-com-koron-go-ssdp
@acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.")
(license license:expat)))
+(define-public go-github-com-libdns-libdns
+ (package
+ (name "go-github-com-libdns-libdns")
+ (version "0.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libdns/libdns")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00zx6yij1ac8mhswhsks1nchzgmhbzrsm9hr0faqbmx0vkip78j5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/libdns/libdns"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (propagated-inputs (list go-golang-org-x-exp))
+ (home-page "https://github.com/libdns/libdns")
+ (synopsis "Universal DNS provider APIs for Go")
+ (description
+ "@code{libdns} is a collection of free-range DNS provider client implementations
+written in Go.
+
+This repository defines the core interfaces that provider packages should implement.
+They are small and idiomatic Go interfaces with well-defined semantics.
+
+The interfaces include:
+@itemize
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordGetter, RecordGetter} to
+list records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordAppender,
+RecordAppender} to append new records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordSetter, RecordSetter} to
+set (create or change existing) records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordDeleter, RecordDeleter}
+to delete records.
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-libp2p-go-cidranger
(package
(name "go-github-com-libp2p-go-cidranger")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 08:26 +0100
[PATCH v2 4/7] gnu: Add go-github-com-zeebo-assert.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
ad15c3ce8f37df08935831477ceebd77cb9f4ccf.1731741895.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-assert): New variable.

Change-Id: I03a752d42e016acd416087d4426864384ffc8a05
---
gnu/packages/golang-check.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm
index 3e33cdb976..7e5abf9f09 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2024 Greg Hogan <code@greghogan.com>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1402,6 +1403,30 @@ (define-public go-github-com-warpfork-go-wish
@command{go test} command.")
(license license:expat)))
+(define-public go-github-com-zeebo-assert
+ (package
+ (name "go-github-com-zeebo-assert")
+ (version "1.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/assert")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xfklg04ic4xl5q7xy913jzvn2v9bxmrsnm4lyjqznninysgs9xb"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/assert"))
+ (home-page "https://github.com/zeebo/assert")
+ (synopsis "High-level assertions for tests")
+ (description
+ "@code{assert} is a testing library that provides high-level assertions API
+based on Go @code{testing} library procedures.")
+ (license license:cc0)))
+
(define-public go-go-uber-org-goleak
(package
(name "go-go-uber-org-goleak")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 08:26 +0100
[PATCH v2 3/7] gnu: Add go-github-com-mholt-acmez.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
67682f49461bc122b23b5b2a607966a9678ea179.1731741895.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-mholt-acmez): New variable.

Change-Id: I220f588ff600e032c38974b9f09e873d22a1811a
---
gnu/packages/golang-web.scm | 63 +++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)

Toggle diff (76 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index d04ffb5dd6..ec71b598f0 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -3656,6 +3656,69 @@ (define-public go-github-com-mdlayher-socket
deadline support.")
(license license:expat)))
+(define-public go-github-com-mholt-acmez
+ (package
+ (name "go-github-com-mholt-acmez")
+ (version "2.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mholt/acmez")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xfl6p8izgjs1d26iygfilmmagxld409qsgdy60r1chfsrcnraby"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mholt/acmez"))
+ (propagated-inputs
+ (list go-golang-org-x-crypto
+ go-golang-org-x-net
+ go-go-uber-org-zap))
+ (home-page "https://github.com/mholt/acmez")
+ (synopsis "ACME (RFC 8555) client library for Go")
+ (description
+ "@code{ACMEz} is a lightweight, fully-compliant
+@url{https://tools.ietf.org/html/rfc8555, RFC 8555} (ACME) implementation in pure Go,
+that provides an API for getting certificates. @code{ACMEz} is suitable for
+large-scale enterprise deployments. It also supports common IETF-standardized ACME
+extensions.
+
+This module has two primary packages:
+@itemize
+@item @code{acmez} is a high-level wrapper for getting certificates. It implements
+the ACME order flow described in RFC 8555 including challenge solving using pluggable
+solvers.
+@item @code{acme} is a low-level RFC 8555 implementation that provides the
+fundamental ACME operations, mainly useful if you have advanced or niche
+requirements.
+@end itemize
+
+Main features:
+@itemize
+@item Go API that thoroughly documented with spec citations.
+@item Structured error values (@samp{problems} as defined in
+@url{https://tools.ietf.org/html/rfc7807, RFC 7807}.)
+@item Smart retries (resilient against network and server hiccups.)
+@item Challenge plasticity (randomized challenges, and will retry others if one
+fails.)
+@item Context cancellation (suitable for high-frequency config changes or reloads.)
+@item Highly flexible and customizable.
+@item External Account Binding (EAB) support.
+@item Tested with numerous ACME CAs (more than just Let's Encrypt.)
+@item Implements niche aspects of RFC 8555 (such as alt cert chains and account key
+rollover.)
+@item Efficient solving of large SAN lists (e.g. for slow DNS record propagation.)
+@item Utility functions for solving challenges: device attestation
+challenges (draft-acme-device-attest-02), @url{https://tools.ietf.org/html/rfc8737,
+RFC 8737} (tls-alpn-01 challenge), @url{https://tools.ietf.org/html/rfc8823, RFC
+8823} (email-reply-00 challenge; S/MIME.)
+@item ACME Renewal Information (ARI) support (draft-ietf-acme-ari-03.)
+@end itemize")
+ (license license:asl2.0)))
+
(define-public go-github-com-microcosm-cc-bluemonday
(package
(name "go-github-com-microcosm-cc-bluemonday")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 08:26 +0100
[PATCH v2 7/7] gnu: Add go-github-com-caddyserver-certmagic.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
21b126f86c406430734f86200441f542fe006e07.1731741895.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-caddyserver-certmagic): New variable.

Change-Id: I54093acde851c9a73e18f8c557650d72a521c05f
---
gnu/packages/golang-web.scm | 79 +++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)

Toggle diff (92 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index ec71b598f0..31cf2e02f9 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -641,6 +641,85 @@ (define-public go-github-com-bep-golibsass
"This package provides SCSS compiler support for Go applications.")
(license license:expat)))
+(define-public go-github-com-caddyserver-certmagic
+ (package
+ (name "go-github-com-caddyserver-certmagic")
+ (version "0.21.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/caddyserver/certmagic")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "061whx9p00lpxlfnywizqx5z9b020ggqg5vx5r5v2qhdrprg1gkz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-skip"
+ ;; Some tests require networking to run so skip them altogether.
+ (string-join (list "TestLookupNameserversOK/physics.georgetown.edu."
+ "TestFindZoneByFqdn/domain_is_a_CNAME"
+ "TestFindZoneByFqdn/domain_is_a_non-existent_subdomain"
+ "TestFindZoneByFqdn/domain_is_a_eTLD"
+ "TestFindZoneByFqdn/domain_is_a_cross-zone_CNAME"
+ "TestFindZoneByFqdn/NXDOMAIN"
+ "TestFindZoneByFqdn/several_non_existent_nameservers")
+ "|"))
+ #:import-path "github.com/caddyserver/certmagic"))
+ (native-inputs
+ (list go-github-com-caddyserver-zerossl
+ go-github-com-klauspost-cpuid-v2
+ go-github-com-libdns-libdns
+ go-github-com-mholt-acmez
+ go-github-com-miekg-dns
+ go-github-com-zeebo-blake3
+ go-go-uber-org-zap
+ go-golang-org-x-crypto
+ go-golang-org-x-net))
+ (home-page "https://github.com/caddyserver/certmagic")
+ (synopsis "Automatic HTTPS for any Go program")
+ (description
+ "@code{certmagic} provides API for TLS Automation with full control over almost
+every aspect of the system.
+
+Main features:
+@itemize
+@item Fully automated certificate management including issuance and renewal, with
+support for certificate revocation. Also works in conjunction with your own
+certificates.
+@item Wildcard certificates.
+@item One-line, fully managed HTTPS servers, with HTTP->HTTPS redirects.
+@item Multiple issuers supported: get certificates from multiple sources/CAs for
+redundancy and resiliency.
+@item Solves all 3 common ACME challenges: HTTP, TLS-ALPN, and DNS (and capable of
+others.)
+@item Robust error handling:
+@itemize
+@item Challenges are randomized to avoid accidental dependence and rotated to
+overcome certain network blockages.
+@item Robust retries for up to 30 days.
+@item Exponential backoff with carefully-tuned intervals.
+@item Retries with optional test/staging CA endpoint instead of production, to avoid
+rate limits.
+@end itemize
+@item All libdns DNS providers work out-of-the-box.
+@item Pluggable storage backends (default: file system) and key sources.
+@item Automatic OCSP stapling.
+@item Distributed solving of all challenges (works behind load balancers.)
+@item Supports @samp{on-demand} issuance of certificates.
+@item Optional event hooks for observation.
+@item One-time private keys by default (new key for each cert) to discourage pinning
+and reduce scope of key compromise.
+@item Works with any certificate authority (CA) compliant with the ACME specification
+@url{https://tools.ietf.org/html/rfc8555, RFC 8555}.
+@item Must-Staple (optional; not default.)
+@item Full support for draft-ietf-acme-ari (ACME Renewal Information; ARI) extension.
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-caddyserver-zerossl
(package
(name "go-github-com-caddyserver-zerossl")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 08:26 +0100
[PATCH v2 5/7] gnu: Add go-github-com-zeebo-pcg.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
c0435d2443830658d1bbd785ecd33e4431a5adf5.1731741895.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-pcg): New variable.

Change-Id: Ic66e2221288fcd5e22196a12786d37150acec414
---
gnu/packages/golang-crypto.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 1236ff38e3..d5915bc64d 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -1727,6 +1727,33 @@ (define-public go-github-com-youmark-pkcs8
PKCS#5 (v2.0) algorithms.")
(license license:expat)))
+(define-public go-github-com-zeebo-pcg
+ (package
+ (name "go-github-com-zeebo-pcg")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/pcg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02vyy2zc4jdcyf22dxw8dxcp1gwzy8j5qd6yxw324qyh2w557nh5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/pcg"))
+ (native-inputs
+ (list go-github-com-zeebo-assert))
+ (home-page "https://github.com/zeebo/pcg")
+ (synopsis "PCG random number generator")
+ (description
+ "@code{pcg} is a random number generator that uses
+@url{https://en.wikipedia.org/wiki/Permuted_congruential_generator, Permuted
+Congruential Generator} (PCG) algorithm.")
+ (license license:cc0)))
+
(define-public go-lukechampine-com-blake3
(package
(name "go-lukechampine-com-blake3")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 08:26 +0100
[PATCH v2 6/7] gnu: Add go-github-com-zeebo-blake3.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
85e4366a8c7d45cdec68f147b9cedbb91d9f492f.1731741895.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-blake3): New variable.

Change-Id: I23bc863fb1731b520aeca8e9088a98c6fcfcf62d
---
gnu/packages/golang-crypto.scm | 38 ++++++++++++++++++++++++++++++----
1 file changed, 34 insertions(+), 4 deletions(-)

Toggle diff (58 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index d5915bc64d..0f0e32b82a 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -1727,6 +1727,35 @@ (define-public go-github-com-youmark-pkcs8
PKCS#5 (v2.0) algorithms.")
(license license:expat)))
+(define-public go-github-com-zeebo-blake3
+ (package
+ (name "go-github-com-zeebo-blake3")
+ (version "0.2.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/blake3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/blake3"))
+ (propagated-inputs
+ (list go-github-com-klauspost-cpuid-v2
+ go-github-com-zeebo-assert
+ go-github-com-zeebo-pcg))
+ (home-page "https://github.com/zeebo/blake3")
+ (synopsis "Pure Go implementation of BLAKE3")
+ (description
+ "@code{blake3} is a pure Go implementation of
+@url{https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE3, BLAKE3} with AVX2
+and SSE4.1 acceleration.")
+ (license license:cc0)))
+
(define-public go-github-com-zeebo-pcg
(package
(name "go-github-com-zeebo-pcg")
@@ -1774,10 +1803,11 @@ (define-public go-lukechampine-com-blake3
(list go-github-com-klauspost-cpuid))
(home-page "https://pkg.go.dev/lukechampine.com/blake3")
(synopsis "Implementation of the BLAKE3 cryptographic hash function")
- (description "@code{blake3} implements the BLAKE3 cryptographic hash
-function. In addition to the pure-Go implementation, this package also
-contains AVX-512 and AVX2 routines (generated by avo) that greatly increase
-performance for large inputs and outputs.")
+ (description
+ "@code{blake3} implements the BLAKE3 cryptographic hash function. In addition
+to the pure-Go implementation, this package also contains AVX-512 and AVX2
+routines (generated by avo) that greatly increase performance for large inputs and
+outputs.")
(license license:expat)))
(define-public go-torproject-org-pluggable-transports-goptlib
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 08:28 +0100
Re: [PATCH 0/7] gnu: Add go-github-com-caddyserver-certmagic.
(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)(address . 74355@debbugs.gnu.org)
878qtjsklj.fsf@gmail.com
Hello Oleg,

thanks for the patch review! I fixed the issues you found, so please
check the v2 of the patch series.

- avp

--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
-----BEGIN PGP SIGNATURE-----

iQJNBAEBCgA3FiEEAf2F9Bp7f4IFgwalk16+BzbchX4FAmc4SboZHHBvcHRzb3Yu
YXJ0eW9tQGdtYWlsLmNvbQAKCRCTXr4HNtyFfrgnD/kBqeMSF+rgxCr0pJTS3ryc
+M3lAUp/FKRI04AvEcKllRtmCW2StykGsHqkZq/zZ+7Bw7B3GBwaHeqRG3AcV79d
595sINOt7+sqYO0b0VKkFTdvUMW8sLv1karIQoIIcj0k/eKEXr24gVEKbrP4C8jx
Hh02S7ycL2CtmA71NYFJAX+WqdP7C0pigAdanYopm03RO8Dkwo+6q7KScovrHIS9
GetDhbf8craMdz9qD3Uq8fkJ9vC+rQ7+RCZDUe9Wbjx8a5T3nmaJBPp0UpU5Pqb/
/pG678foNumNMx6soscYr4jv2lM5GHZeSMuZt6RzmEDM9gIrN9NqHbPaF2trAdDW
NzzGd92e60frb05vUyM4b+CtG6rysBF9wPdQ3SgqOUQUy3cbaJvLzdmukz/92L90
Q0qLk6JaAk/UufGIQuvhvWohgHdX24Wv8NE6a3IflLm8/Wxv+bvEiVa/T/VCbsrr
a0t+de1/AtMN55m0lXkA0PneOmBU3Af+De8Qu9tfoYsQAi9huMh35Pk38cs3fwk2
Hf9l0B52wu4MPRN/CmSj2Lwe1hnMZ54dGnQu1N55f+TncPX8zUM5v4cSe7j5VdAK
RUjE6gUjlA+SC9SB+PVbUZ8G/8vQ1sIycn3De57LUADSsfgArUI4XHzPxOst9SSE
MW7fIpicDbiILX8bMhwcyg==
=W5WH
-----END PGP SIGNATURE-----

S
S
Sharlatan Hellseher wrote on 16 Nov 15:23 +0100
[PATCH 0/7] gnu: Add go-github-com-caddyserver-certmagic.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
87h687l0kh.fsf@gmail.com
Hi,

Thanks for a fast v2!

I've noticed some whoopsies in this patch set.

In general, if you mentioned Go/Golang in synopsis you may drop any "go
implementation, implemented in go etc." in description e.g.:
Toggle snippet (16 lines)
+ (synopsis "ACME (RFC 8555) client library for Go")
+ (description
+ "@code{ACMEz} is a lightweight, fully-compliant
+@url{https://tools.ietf.org/html/rfc8555, RFC 8555} (ACME) implementation in pure Go,
<...>
+ (synopsis "Universal DNS provider APIs for Go")
+ (description
+ "@code{libdns} is a collection of free-range DNS provider client implementations
+written in Go.
<...>
+ (synopsis "ZeroSSL REST API client implementation for Go")
+ (description
+ "@code{zerossl} implements the @url{https://zerossl.com/documentation/api/,
+ZeroSSL REST API} in Go.

Check if you ammended 2 seperate packages under the same commit:

[PATCH v2 6/7] gnu: Add go-github-com-zeebo-blake3.
Toggle snippet (16 lines)
<...>
(define-public go-github-com-zeebo-pcg
(package
(name "go-github-com-zeebo-pcg")
@@ -1774,10 +1803,11 @@ (define-public go-lukechampine-com-blake3
(list go-github-com-klauspost-cpuid))
(home-page "https://pkg.go.dev/lukechampine.com/blake3")
(synopsis "Implementation of the BLAKE3 cryptographic hash function")
- (description "@code{blake3} implements the BLAKE3 cryptographic hash
-function. In addition to the pure-Go implementation, this package also
-contains AVX-512 and AVX2 routines (generated by avo) that greatly increase
-performance for large inputs and outputs.")
+ (description
<...>

We might need them in propagated inputs:

[PATCH v2 7/7] gnu: Add go-github-com-caddyserver-certmagic.
Toggle snippet (12 lines)
+ (native-inputs
+ (list go-github-com-caddyserver-zerossl
+ go-github-com-klauspost-cpuid-v2
+ go-github-com-libdns-libdns
+ go-github-com-mholt-acmez
+ go-github-com-miekg-dns
+ go-github-com-zeebo-blake3
+ go-go-uber-org-zap
+ go-golang-org-x-crypto
+ go-golang-org-x-net))

The description might need more love to refrase from "repository" to "package":

[PATCH v2 2/7] gnu: Add go-github-com-libdns-libdns.
Toggle snippet (4 lines)
+This repository defines the core interfaces that provider packages should implement.
+They are small and idiomatic Go interfaces with well-defined semantics.

Good, thanks for that!

[PATCH v2 5/7] gnu: Add go-github-com-zeebo-pcg.
Toggle snippet (4 lines)
+ (native-inputs
+ (list go-github-com-zeebo-assert))

[PATCH v2 4/7] gnu: Add go-github-com-zeebo-assert.
Toggle snippet (5 lines)
+ (description
+ "@code{assert} is a testing library that provides high-level assertions API
+based on Go @code{testing} library procedures.")

[PATCH v2 7/7] gnu: Add go-github-com-caddyserver-certmagic.
Toggle snippet (14 lines)
+ (list
+ #:test-flags
+ #~(list "-skip"
+ ;; Some tests require networking to run so skip them altogether.
+ (string-join (list "TestLookupNameserversOK/physics.georgetown.edu."
+ "TestFindZoneByFqdn/domain_is_a_CNAME"
+ "TestFindZoneByFqdn/domain_is_a_non-existent_subdomain"
+ "TestFindZoneByFqdn/domain_is_a_eTLD"
+ "TestFindZoneByFqdn/domain_is_a_cross-zone_CNAME"
+ "TestFindZoneByFqdn/NXDOMAIN"
+ "TestFindZoneByFqdn/several_non_existent_nameservers")
+ "|"))

Let's check v3 WDYT?

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

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmc4qt4ACgkQdtcnv/Ys
0rUS1w/9ElNspijI6IW9gZn4j25v1nR0LlqOFbIoSJOFmhp3xFfcO1dk5pOnR7gb
hqUOuxsUzEr+1xLVh6vm+erJdktxpgbioucJBR/nS73uLg6dcxS0zcVu0zIPeDQd
XZuOCFY/i0pE2vP8hBvoksgNehfbbqulZ9FrgA4FsWcky/4ZGv8YP97rlzQv56gD
ST5A8XpwsoD4MiegNAn4/qwThsSNICyo7cXLOgVPbNdD0Y8HUavtv9v0p2IPXsEy
E+lvxkPXNy40G5kRKlJO22OKYObaDu3zH3Fn0DtqGMGomKxe4z6ugVPh7hhBhzEP
HQJejsHZp9L41I5Gm5UKoEKF68XV4wlvEZXyIkIMfdv7CgIPwP9BMFTJQ8Q/7vyK
Kl1u1pPd/r8MMWC+RS2XZucfpVOyfyUIXlq2vpUNXKkT/Kl/jsces68HxVbdqkpm
UeOdBdNIlHWCpBMWqbGixJavtYZi/PcP3tHMQn7ix79Xac9K0h5YEzrpTv4i/PdY
o58I2Rt7X9GxodQIHMQkq1o4SDPBaLj0+ea1syfLKHMOyJdcNT3tiAWaABLg+aTR
IfuA3XtBqfFzLR16H771vIrQ0V06qSk1JxEN2Jpke2RoGSCw17tnVu+ec17CyCiV
6oErUDrVGaAN1inWDaosawqRwvjdfDkKqYvMTn0/7wKWzMYT9zs=
=dwc9
-----END PGP SIGNATURE-----

A
A
Artyom V. Poptsov wrote on 16 Nov 16:21 +0100
[PATCH v3 1/7] gnu: Add go-github-com-caddyserver-zerossl.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
63c54994d2630c740169a14e9479892e324c10a9.1731770479.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-caddyserver-zerossl): New variable.

Change-Id: Ibec80ae2d4d86f99f8bc271a1c4dfd2591d66290
---
gnu/packages/golang-web.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 6e47aef039..02a0c5e331 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -641,6 +641,33 @@ (define-public go-github-com-bep-golibsass
"This package provides SCSS compiler support for Go applications.")
(license license:expat)))
+(define-public go-github-com-caddyserver-zerossl
+ (package
+ (name "go-github-com-caddyserver-zerossl")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/caddyserver/zerossl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hr2kdabhm35hz5krp7m3g6wxvyb9xlqgmy3krf4wwb3yabsqp1m"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/caddyserver/zerossl"))
+ (home-page "https://github.com/caddyserver/zerossl")
+ (synopsis "ZeroSSL REST API client implementation for Go")
+ (description
+ "@code{zerossl} implements the @url{https://zerossl.com/documentation/api/,
+ZeroSSL REST API}.
+
+The REST API is distinct from the @url{https://zerossl.com/documentation/acme/, ACME
+endpoint}, which is a standardized way of obtaining certificates.")
+ (license license:expat)))
+
(define-public go-github-com-ccding-go-stun
(package
(name "go-github-com-ccding-go-stun")

base-commit: b647d3a149c94ee84cde1af3af7442633afa3416
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:21 +0100
[PATCH v3 2/7] gnu: Add go-github-com-libdns-libdns.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
694e57f4c91e4774f1855c5e203da761cefb9eed.1731770479.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-libdns-libdns): New variable.

Change-Id: I9d1a1751f575e521deda22177c55ad5be6b41eca
---
gnu/packages/golang-web.scm | 39 +++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)

Toggle diff (52 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 02a0c5e331..64670eed43 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -3078,6 +3078,45 @@ (define-public go-github-com-koron-go-ssdp
@acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.")
(license license:expat)))
+(define-public go-github-com-libdns-libdns
+ (package
+ (name "go-github-com-libdns-libdns")
+ (version "0.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libdns/libdns")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00zx6yij1ac8mhswhsks1nchzgmhbzrsm9hr0faqbmx0vkip78j5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/libdns/libdns"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (propagated-inputs (list go-golang-org-x-exp))
+ (home-page "https://github.com/libdns/libdns")
+ (synopsis "Universal DNS provider APIs for Go")
+ (description
+ "@code{libdns} is a collection of free-range DNS provider client
+implementations. It defines the core interfaces that provider packages should
+implement. They are small and idiomatic interfaces with well-defined semantics.
+
+The interfaces include:
+@itemize
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordGetter, RecordGetter} to
+list records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordAppender,
+RecordAppender} to append new records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordSetter, RecordSetter} to
+set (create or change existing) records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordDeleter, RecordDeleter}
+to delete records.
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-libp2p-go-cidranger
(package
(name "go-github-com-libp2p-go-cidranger")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:21 +0100
[PATCH v3 3/7] gnu: Add go-github-com-mholt-acmez.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
8126f36c39dc8f0444c1d0b35a5066487ed8cc25.1731770479.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-mholt-acmez): New variable.

Change-Id: I220f588ff600e032c38974b9f09e873d22a1811a
---
gnu/packages/golang-web.scm | 62 +++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)

Toggle diff (75 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 64670eed43..689048b368 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -3654,6 +3654,68 @@ (define-public go-github-com-mdlayher-socket
deadline support.")
(license license:expat)))
+(define-public go-github-com-mholt-acmez
+ (package
+ (name "go-github-com-mholt-acmez")
+ (version "2.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mholt/acmez")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xfl6p8izgjs1d26iygfilmmagxld409qsgdy60r1chfsrcnraby"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mholt/acmez"))
+ (propagated-inputs
+ (list go-golang-org-x-crypto
+ go-golang-org-x-net
+ go-go-uber-org-zap))
+ (home-page "https://github.com/mholt/acmez")
+ (synopsis "ACME (RFC 8555) client library for Go")
+ (description
+ "@code{ACMEz} is a lightweight, fully-compliant
+@url{https://tools.ietf.org/html/rfc8555, RFC 8555} (ACME) implementation, that
+provides an API for getting certificates. @code{ACMEz} is suitable for large-scale
+enterprise deployments. It also supports common IETF-standardized ACME extensions.
+
+This module has two primary packages:
+@itemize
+@item @code{acmez} is a high-level wrapper for getting certificates. It implements
+the ACME order flow described in RFC 8555 including challenge solving using pluggable
+solvers.
+@item @code{acme} is a low-level RFC 8555 implementation that provides the
+fundamental ACME operations, mainly useful if you have advanced or niche
+requirements.
+@end itemize
+
+Main features:
+@itemize
+@item Go API that thoroughly documented with spec citations.
+@item Structured error values (@samp{problems} as defined in
+@url{https://tools.ietf.org/html/rfc7807, RFC 7807}.)
+@item Smart retries (resilient against network and server hiccups.)
+@item Challenge plasticity (randomized challenges, and will retry others if one
+fails.)
+@item Context cancellation (suitable for high-frequency config changes or reloads.)
+@item Highly flexible and customizable.
+@item External Account Binding (EAB) support.
+@item Tested with numerous ACME CAs (more than just Let's Encrypt.)
+@item Implements niche aspects of RFC 8555 (such as alt cert chains and account key
+rollover.)
+@item Efficient solving of large SAN lists (e.g. for slow DNS record propagation.)
+@item Utility functions for solving challenges: device attestation
+challenges (draft-acme-device-attest-02), @url{https://tools.ietf.org/html/rfc8737,
+RFC 8737} (tls-alpn-01 challenge), @url{https://tools.ietf.org/html/rfc8823, RFC
+8823} (email-reply-00 challenge; S/MIME.)
+@item ACME Renewal Information (ARI) support (draft-ietf-acme-ari-03.)
+@end itemize")
+ (license license:asl2.0)))
+
(define-public go-github-com-microcosm-cc-bluemonday
(package
(name "go-github-com-microcosm-cc-bluemonday")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:21 +0100
[PATCH v3 4/7] gnu: Add go-github-com-zeebo-assert.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
84a5f8b8088bc6fa0cef882f452b97b18ff98892.1731770479.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-assert): New variable.

Change-Id: I03a752d42e016acd416087d4426864384ffc8a05
---
gnu/packages/golang-check.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm
index 3e33cdb976..7e5abf9f09 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2024 Greg Hogan <code@greghogan.com>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1402,6 +1403,30 @@ (define-public go-github-com-warpfork-go-wish
@command{go test} command.")
(license license:expat)))
+(define-public go-github-com-zeebo-assert
+ (package
+ (name "go-github-com-zeebo-assert")
+ (version "1.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/assert")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xfklg04ic4xl5q7xy913jzvn2v9bxmrsnm4lyjqznninysgs9xb"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/assert"))
+ (home-page "https://github.com/zeebo/assert")
+ (synopsis "High-level assertions for tests")
+ (description
+ "@code{assert} is a testing library that provides high-level assertions API
+based on Go @code{testing} library procedures.")
+ (license license:cc0)))
+
(define-public go-go-uber-org-goleak
(package
(name "go-go-uber-org-goleak")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:21 +0100
[PATCH v3 5/7] gnu: Add go-github-com-zeebo-pcg.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
6c8800d076dc65b3ccc3674daec85ade30afcc1e.1731770479.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-pcg): New variable.

Change-Id: Ic66e2221288fcd5e22196a12786d37150acec414
---
gnu/packages/golang-crypto.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 1236ff38e3..168eb73ac4 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -1727,6 +1727,32 @@ (define-public go-github-com-youmark-pkcs8
PKCS#5 (v2.0) algorithms.")
(license license:expat)))
+(define-public go-github-com-zeebo-pcg
+ (package
+ (name "go-github-com-zeebo-pcg")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/pcg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02vyy2zc4jdcyf22dxw8dxcp1gwzy8j5qd6yxw324qyh2w557nh5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/pcg"))
+ (native-inputs (list go-github-com-zeebo-assert))
+ (home-page "https://github.com/zeebo/pcg")
+ (synopsis "PCG random number generator")
+ (description
+ "@code{pcg} is a random number generator that uses
+@url{https://en.wikipedia.org/wiki/Permuted_congruential_generator, Permuted
+Congruential Generator} (PCG) algorithm.")
+ (license license:cc0)))
+
(define-public go-lukechampine-com-blake3
(package
(name "go-lukechampine-com-blake3")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:21 +0100
[PATCH v3 6/7] gnu: Add go-github-com-zeebo-blake3.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
675c23bbec3f474f6132345485f4b0da09702e63.1731770479.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-blake3): New variable.

Change-Id: I23bc863fb1731b520aeca8e9088a98c6fcfcf62d
---
gnu/packages/golang-crypto.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 168eb73ac4..7fdc502de6 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -1727,6 +1727,35 @@ (define-public go-github-com-youmark-pkcs8
PKCS#5 (v2.0) algorithms.")
(license license:expat)))
+(define-public go-github-com-zeebo-blake3
+ (package
+ (name "go-github-com-zeebo-blake3")
+ (version "0.2.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/blake3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/blake3"))
+ (native-inputs (list go-github-com-zeebo-assert))
+ (propagated-inputs
+ (list go-github-com-klauspost-cpuid-v2
+ go-github-com-zeebo-pcg))
+ (home-page "https://github.com/zeebo/blake3")
+ (synopsis "Pure Go implementation of BLAKE3")
+ (description
+ "@code{blake3} is an implementation of
+@url{https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE3, BLAKE3} with AVX2
+and SSE4.1 acceleration.")
+ (license license:cc0)))
+
(define-public go-github-com-zeebo-pcg
(package
(name "go-github-com-zeebo-pcg")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:21 +0100
[PATCH v3 7/7] gnu: Add go-github-com-caddyserver-certmagic.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
aa8483fe43d27a0f68042e318cbbb5346247c043.1731770479.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-caddyserver-certmagic): New variable.

Change-Id: I54093acde851c9a73e18f8c557650d72a521c05f
---
gnu/packages/golang-web.scm | 80 +++++++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)

Toggle diff (93 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 689048b368..f9f18da3ff 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -641,6 +641,86 @@ (define-public go-github-com-bep-golibsass
"This package provides SCSS compiler support for Go applications.")
(license license:expat)))
+(define-public go-github-com-caddyserver-certmagic
+ (package
+ (name "go-github-com-caddyserver-certmagic")
+ (version "0.21.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/caddyserver/certmagic")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "061whx9p00lpxlfnywizqx5z9b020ggqg5vx5r5v2qhdrprg1gkz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-skip"
+ ;; Some tests require networking to run so skip them altogether.
+ (string-join
+ (list "TestLookupNameserversOK/physics.georgetown.edu."
+ "TestFindZoneByFqdn/domain_is_a_CNAME"
+ "TestFindZoneByFqdn/domain_is_a_non-existent_subdomain"
+ "TestFindZoneByFqdn/domain_is_a_eTLD"
+ "TestFindZoneByFqdn/domain_is_a_cross-zone_CNAME"
+ "TestFindZoneByFqdn/NXDOMAIN"
+ "TestFindZoneByFqdn/several_non_existent_nameservers")
+ "|"))
+ #:import-path "github.com/caddyserver/certmagic"))
+ (native-inputs
+ (list go-github-com-caddyserver-zerossl
+ go-github-com-klauspost-cpuid-v2
+ go-github-com-libdns-libdns
+ go-github-com-mholt-acmez
+ go-github-com-miekg-dns
+ go-github-com-zeebo-blake3
+ go-go-uber-org-zap
+ go-golang-org-x-crypto
+ go-golang-org-x-net))
+ (home-page "https://github.com/caddyserver/certmagic")
+ (synopsis "Automatic HTTPS for any Go program")
+ (description
+ "@code{certmagic} provides API for TLS Automation with full control over almost
+every aspect of the system.
+
+Main features:
+@itemize
+@item Fully automated certificate management including issuance and renewal, with
+support for certificate revocation. Also works in conjunction with your own
+certificates.
+@item Wildcard certificates.
+@item One-line, fully managed HTTPS servers, with HTTP->HTTPS redirects.
+@item Multiple issuers supported: get certificates from multiple sources/CAs for
+redundancy and resiliency.
+@item Solves all 3 common ACME challenges: HTTP, TLS-ALPN, and DNS (and capable of
+others.)
+@item Robust error handling:
+@itemize
+@item Challenges are randomized to avoid accidental dependence and rotated to
+overcome certain network blockages.
+@item Robust retries for up to 30 days.
+@item Exponential backoff with carefully-tuned intervals.
+@item Retries with optional test/staging CA endpoint instead of production, to avoid
+rate limits.
+@end itemize
+@item All libdns DNS providers work out-of-the-box.
+@item Pluggable storage backends (default: file system) and key sources.
+@item Automatic OCSP stapling.
+@item Distributed solving of all challenges (works behind load balancers.)
+@item Supports @samp{on-demand} issuance of certificates.
+@item Optional event hooks for observation.
+@item One-time private keys by default (new key for each cert) to discourage pinning
+and reduce scope of key compromise.
+@item Works with any certificate authority (CA) compliant with the ACME specification
+@url{https://tools.ietf.org/html/rfc8555, RFC 8555}.
+@item Must-Staple (optional; not default.)
+@item Full support for draft-ietf-acme-ari (ACME Renewal Information; ARI) extension.
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-caddyserver-zerossl
(package
(name "go-github-com-caddyserver-zerossl")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:34 +0100
[PATCH v4 1/7] gnu: Add go-github-com-caddyserver-zerossl.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
63c54994d2630c740169a14e9479892e324c10a9.1731771236.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-caddyserver-zerossl): New variable.

Change-Id: Ibec80ae2d4d86f99f8bc271a1c4dfd2591d66290
---
gnu/packages/golang-web.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 6e47aef039..02a0c5e331 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -641,6 +641,33 @@ (define-public go-github-com-bep-golibsass
"This package provides SCSS compiler support for Go applications.")
(license license:expat)))
+(define-public go-github-com-caddyserver-zerossl
+ (package
+ (name "go-github-com-caddyserver-zerossl")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/caddyserver/zerossl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hr2kdabhm35hz5krp7m3g6wxvyb9xlqgmy3krf4wwb3yabsqp1m"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/caddyserver/zerossl"))
+ (home-page "https://github.com/caddyserver/zerossl")
+ (synopsis "ZeroSSL REST API client implementation for Go")
+ (description
+ "@code{zerossl} implements the @url{https://zerossl.com/documentation/api/,
+ZeroSSL REST API}.
+
+The REST API is distinct from the @url{https://zerossl.com/documentation/acme/, ACME
+endpoint}, which is a standardized way of obtaining certificates.")
+ (license license:expat)))
+
(define-public go-github-com-ccding-go-stun
(package
(name "go-github-com-ccding-go-stun")

base-commit: b647d3a149c94ee84cde1af3af7442633afa3416
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:34 +0100
[PATCH v4 2/7] gnu: Add go-github-com-libdns-libdns.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
694e57f4c91e4774f1855c5e203da761cefb9eed.1731771236.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-libdns-libdns): New variable.

Change-Id: I9d1a1751f575e521deda22177c55ad5be6b41eca
---
gnu/packages/golang-web.scm | 39 +++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)

Toggle diff (52 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 02a0c5e331..64670eed43 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -3078,6 +3078,45 @@ (define-public go-github-com-koron-go-ssdp
@acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.")
(license license:expat)))
+(define-public go-github-com-libdns-libdns
+ (package
+ (name "go-github-com-libdns-libdns")
+ (version "0.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libdns/libdns")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00zx6yij1ac8mhswhsks1nchzgmhbzrsm9hr0faqbmx0vkip78j5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/libdns/libdns"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (propagated-inputs (list go-golang-org-x-exp))
+ (home-page "https://github.com/libdns/libdns")
+ (synopsis "Universal DNS provider APIs for Go")
+ (description
+ "@code{libdns} is a collection of free-range DNS provider client
+implementations. It defines the core interfaces that provider packages should
+implement. They are small and idiomatic interfaces with well-defined semantics.
+
+The interfaces include:
+@itemize
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordGetter, RecordGetter} to
+list records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordAppender,
+RecordAppender} to append new records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordSetter, RecordSetter} to
+set (create or change existing) records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordDeleter, RecordDeleter}
+to delete records.
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-libp2p-go-cidranger
(package
(name "go-github-com-libp2p-go-cidranger")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:34 +0100
[PATCH v4 3/7] gnu: Add go-github-com-mholt-acmez.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
8126f36c39dc8f0444c1d0b35a5066487ed8cc25.1731771236.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-mholt-acmez): New variable.

Change-Id: I220f588ff600e032c38974b9f09e873d22a1811a
---
gnu/packages/golang-web.scm | 62 +++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)

Toggle diff (75 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 64670eed43..689048b368 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -3654,6 +3654,68 @@ (define-public go-github-com-mdlayher-socket
deadline support.")
(license license:expat)))
+(define-public go-github-com-mholt-acmez
+ (package
+ (name "go-github-com-mholt-acmez")
+ (version "2.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mholt/acmez")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xfl6p8izgjs1d26iygfilmmagxld409qsgdy60r1chfsrcnraby"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mholt/acmez"))
+ (propagated-inputs
+ (list go-golang-org-x-crypto
+ go-golang-org-x-net
+ go-go-uber-org-zap))
+ (home-page "https://github.com/mholt/acmez")
+ (synopsis "ACME (RFC 8555) client library for Go")
+ (description
+ "@code{ACMEz} is a lightweight, fully-compliant
+@url{https://tools.ietf.org/html/rfc8555, RFC 8555} (ACME) implementation, that
+provides an API for getting certificates. @code{ACMEz} is suitable for large-scale
+enterprise deployments. It also supports common IETF-standardized ACME extensions.
+
+This module has two primary packages:
+@itemize
+@item @code{acmez} is a high-level wrapper for getting certificates. It implements
+the ACME order flow described in RFC 8555 including challenge solving using pluggable
+solvers.
+@item @code{acme} is a low-level RFC 8555 implementation that provides the
+fundamental ACME operations, mainly useful if you have advanced or niche
+requirements.
+@end itemize
+
+Main features:
+@itemize
+@item Go API that thoroughly documented with spec citations.
+@item Structured error values (@samp{problems} as defined in
+@url{https://tools.ietf.org/html/rfc7807, RFC 7807}.)
+@item Smart retries (resilient against network and server hiccups.)
+@item Challenge plasticity (randomized challenges, and will retry others if one
+fails.)
+@item Context cancellation (suitable for high-frequency config changes or reloads.)
+@item Highly flexible and customizable.
+@item External Account Binding (EAB) support.
+@item Tested with numerous ACME CAs (more than just Let's Encrypt.)
+@item Implements niche aspects of RFC 8555 (such as alt cert chains and account key
+rollover.)
+@item Efficient solving of large SAN lists (e.g. for slow DNS record propagation.)
+@item Utility functions for solving challenges: device attestation
+challenges (draft-acme-device-attest-02), @url{https://tools.ietf.org/html/rfc8737,
+RFC 8737} (tls-alpn-01 challenge), @url{https://tools.ietf.org/html/rfc8823, RFC
+8823} (email-reply-00 challenge; S/MIME.)
+@item ACME Renewal Information (ARI) support (draft-ietf-acme-ari-03.)
+@end itemize")
+ (license license:asl2.0)))
+
(define-public go-github-com-microcosm-cc-bluemonday
(package
(name "go-github-com-microcosm-cc-bluemonday")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:34 +0100
[PATCH v4 5/7] gnu: Add go-github-com-zeebo-pcg.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
6c8800d076dc65b3ccc3674daec85ade30afcc1e.1731771236.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-pcg): New variable.

Change-Id: Ic66e2221288fcd5e22196a12786d37150acec414
---
gnu/packages/golang-crypto.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 1236ff38e3..168eb73ac4 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -1727,6 +1727,32 @@ (define-public go-github-com-youmark-pkcs8
PKCS#5 (v2.0) algorithms.")
(license license:expat)))
+(define-public go-github-com-zeebo-pcg
+ (package
+ (name "go-github-com-zeebo-pcg")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/pcg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02vyy2zc4jdcyf22dxw8dxcp1gwzy8j5qd6yxw324qyh2w557nh5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/pcg"))
+ (native-inputs (list go-github-com-zeebo-assert))
+ (home-page "https://github.com/zeebo/pcg")
+ (synopsis "PCG random number generator")
+ (description
+ "@code{pcg} is a random number generator that uses
+@url{https://en.wikipedia.org/wiki/Permuted_congruential_generator, Permuted
+Congruential Generator} (PCG) algorithm.")
+ (license license:cc0)))
+
(define-public go-lukechampine-com-blake3
(package
(name "go-lukechampine-com-blake3")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:34 +0100
[PATCH v4 6/7] gnu: Add go-github-com-zeebo-blake3.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
675c23bbec3f474f6132345485f4b0da09702e63.1731771236.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-blake3): New variable.

Change-Id: I23bc863fb1731b520aeca8e9088a98c6fcfcf62d
---
gnu/packages/golang-crypto.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 168eb73ac4..7fdc502de6 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -1727,6 +1727,35 @@ (define-public go-github-com-youmark-pkcs8
PKCS#5 (v2.0) algorithms.")
(license license:expat)))
+(define-public go-github-com-zeebo-blake3
+ (package
+ (name "go-github-com-zeebo-blake3")
+ (version "0.2.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/blake3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/blake3"))
+ (native-inputs (list go-github-com-zeebo-assert))
+ (propagated-inputs
+ (list go-github-com-klauspost-cpuid-v2
+ go-github-com-zeebo-pcg))
+ (home-page "https://github.com/zeebo/blake3")
+ (synopsis "Pure Go implementation of BLAKE3")
+ (description
+ "@code{blake3} is an implementation of
+@url{https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE3, BLAKE3} with AVX2
+and SSE4.1 acceleration.")
+ (license license:cc0)))
+
(define-public go-github-com-zeebo-pcg
(package
(name "go-github-com-zeebo-pcg")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:34 +0100
[PATCH v4 4/7] gnu: Add go-github-com-zeebo-assert.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
84a5f8b8088bc6fa0cef882f452b97b18ff98892.1731771236.git.poptsov.artyom@gmail.com
* gnu/packages/golang-crypto.scm (go-github-com-zeebo-assert): New variable.

Change-Id: I03a752d42e016acd416087d4426864384ffc8a05
---
gnu/packages/golang-check.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm
index 3e33cdb976..7e5abf9f09 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2024 Greg Hogan <code@greghogan.com>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1402,6 +1403,30 @@ (define-public go-github-com-warpfork-go-wish
@command{go test} command.")
(license license:expat)))
+(define-public go-github-com-zeebo-assert
+ (package
+ (name "go-github-com-zeebo-assert")
+ (version "1.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/assert")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xfklg04ic4xl5q7xy913jzvn2v9bxmrsnm4lyjqznninysgs9xb"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/assert"))
+ (home-page "https://github.com/zeebo/assert")
+ (synopsis "High-level assertions for tests")
+ (description
+ "@code{assert} is a testing library that provides high-level assertions API
+based on Go @code{testing} library procedures.")
+ (license license:cc0)))
+
(define-public go-go-uber-org-goleak
(package
(name "go-go-uber-org-goleak")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 16 Nov 16:34 +0100
[PATCH v4 7/7] gnu: Add go-github-com-caddyserver-certmagic.
(address . 74355@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
76c2b30c17d5b33266890eb84b2a320946583463.1731771236.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-caddyserver-certmagic): New variable.

Change-Id: I54093acde851c9a73e18f8c557650d72a521c05f
---
gnu/packages/golang-web.scm | 80 +++++++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)

Toggle diff (93 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 689048b368..852ea31427 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -641,6 +641,86 @@ (define-public go-github-com-bep-golibsass
"This package provides SCSS compiler support for Go applications.")
(license license:expat)))
+(define-public go-github-com-caddyserver-certmagic
+ (package
+ (name "go-github-com-caddyserver-certmagic")
+ (version "0.21.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/caddyserver/certmagic")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "061whx9p00lpxlfnywizqx5z9b020ggqg5vx5r5v2qhdrprg1gkz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-skip"
+ ;; Some tests require networking to run so skip them altogether.
+ (string-join
+ (list "TestLookupNameserversOK/physics.georgetown.edu."
+ "TestFindZoneByFqdn/domain_is_a_CNAME"
+ "TestFindZoneByFqdn/domain_is_a_non-existent_subdomain"
+ "TestFindZoneByFqdn/domain_is_a_eTLD"
+ "TestFindZoneByFqdn/domain_is_a_cross-zone_CNAME"
+ "TestFindZoneByFqdn/NXDOMAIN"
+ "TestFindZoneByFqdn/several_non_existent_nameservers")
+ "|"))
+ #:import-path "github.com/caddyserver/certmagic"))
+ (propagated-inputs
+ (list go-github-com-caddyserver-zerossl
+ go-github-com-klauspost-cpuid-v2
+ go-github-com-libdns-libdns
+ go-github-com-mholt-acmez
+ go-github-com-miekg-dns
+ go-github-com-zeebo-blake3
+ go-go-uber-org-zap
+ go-golang-org-x-crypto
+ go-golang-org-x-net))
+ (home-page "https://github.com/caddyserver/certmagic")
+ (synopsis "Automatic HTTPS for any Go program")
+ (description
+ "@code{certmagic} provides API for TLS Automation with full control over almost
+every aspect of the system.
+
+Main features:
+@itemize
+@item Fully automated certificate management including issuance and renewal, with
+support for certificate revocation. Also works in conjunction with your own
+certificates.
+@item Wildcard certificates.
+@item One-line, fully managed HTTPS servers, with HTTP->HTTPS redirects.
+@item Multiple issuers supported: get certificates from multiple sources/CAs for
+redundancy and resiliency.
+@item Solves all 3 common ACME challenges: HTTP, TLS-ALPN, and DNS (and capable of
+others.)
+@item Robust error handling:
+@itemize
+@item Challenges are randomized to avoid accidental dependence and rotated to
+overcome certain network blockages.
+@item Robust retries for up to 30 days.
+@item Exponential backoff with carefully-tuned intervals.
+@item Retries with optional test/staging CA endpoint instead of production, to avoid
+rate limits.
+@end itemize
+@item All libdns DNS providers work out-of-the-box.
+@item Pluggable storage backends (default: file system) and key sources.
+@item Automatic OCSP stapling.
+@item Distributed solving of all challenges (works behind load balancers.)
+@item Supports @samp{on-demand} issuance of certificates.
+@item Optional event hooks for observation.
+@item One-time private keys by default (new key for each cert) to discourage pinning
+and reduce scope of key compromise.
+@item Works with any certificate authority (CA) compliant with the ACME specification
+@url{https://tools.ietf.org/html/rfc8555, RFC 8555}.
+@item Must-Staple (optional; not default.)
+@item Full support for draft-ietf-acme-ari (ACME Renewal Information; ARI) extension.
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-caddyserver-zerossl
(package
(name "go-github-com-caddyserver-zerossl")
--
2.46.0
A
A
Artyom V. Poptsov wrote on 20 Nov 21:45 +0100
Re: [PATCH 0/7] gnu: Add go-github-com-caddyserver-certmagic.
(address . 74355@debbugs.gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
87cyipd472.fsf@gmail.com
Hello,

As QA sometimes lags behind[1] the build queue I've rebased this
patchset on the "master" branch once again ran the following command on
x86_64 target:

Toggle snippet (12 lines)
./pre-inst-env guix build \
--check \
--no-grafts \
go-github-com-caddyserver-zerossl \
go-github-com-libdns-libdns \
go-github-com-mholt-acmez \
go-github-com-zeebo-assert \
go-github-com-zeebo-pcg \
go-github-com-zeebo-blake3 \
go-github-com-caddyserver-certmagic >> go-github-com-caddyserver-certmagic.log 2>&1

The results are attached to the email.
As you can see there are no errors. Also I ran "guix lint" command and
it didn't find any errors as well.

Should I merge this patchset to the "master" branch?

Thanks,
- avp

References:

--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
-----BEGIN PGP SIGNATURE-----

iQJNBAEBCgA3FiEEAf2F9Bp7f4IFgwalk16+BzbchX4FAmc+SoQZHHBvcHRzb3Yu
YXJ0eW9tQGdtYWlsLmNvbQAKCRCTXr4HNtyFfjOuD/9Uy2Y9qi5J276r0KUDrqRu
49PD0JdDCiebXE4AXTVBRBuUC3IklpZ3zyhAcqk7SFbbYbm7BhfW1YCzNtgWZlPM
vtJksKL5d3G8uNwaAOsFLAAbqs5XpKh2bSryL8l0rEv99PkB1hJ3d7JKBQVL6Kev
dMtORy2KnQn4LHluNljXsoD3+7IW0mvlEP5s4Qg09oeUHVyElJY/ZFKzcPyZEAhR
xwPhrCEzB6HMoVj3WOgcrYAqHLALUIeGYc+9kOCx0sM9qxSdl0tmVyE1qIvYn/hv
oBAire7F3AiL7ec0AGMDw/nBO5+fBx+c3mjZWMwaWMQUyq1auKyG3PULebvz7ahy
4KVGJb6Nznb5wC0+BXfsUM9RFkGgWq2cswrJlUljWV6I3a7elh1iEIetDW6m2PRA
Ad8NwTVAKPgvag7uxTzPkbLvVf+naLHR3mLA00FsaWfNX8PKx6/AEo9swA+d0w7L
+/2HuRm1eKCQn0l5HkaHsNT+dO+Da+drj/2ZOwhb01BZX2OdMuv9PqGwpCQYeqeu
+xG2oRitczjptc3xbv416iLLVyIPrY69oRPDgyNueZMvrH5UdtBwCspjdCrQBcW1
SxB4XdfO/eo+YwWmmDvUgQyyJsBdTGpqH+qFKiK0XNNHL7isI0nZelPhvJcv+DCK
8LAxrpnETCWX94Y65o/89w==
=dHYU
-----END PGP SIGNATURE-----

A
A
Artyom V. Poptsov wrote on 22 Nov 17:10 +0100
(address . 74355-done@debbugs.gnu.org)
871pz3z1tn.fsf@gmail.com
Merged to the "master" branch as the following commits:

Toggle snippet (9 lines)
043f02462766a913080723ad286028a288b79373 gnu: Add go-github-com-caddyserver-certmagic.
78ba54d9465d61eb372555dfe7607f18a6a2cbd4 gnu: Add go-github-com-zeebo-blake3.
f0adac0ecf15195f319cc7b09057d869c23ddf36 gnu: Add go-github-com-zeebo-pcg.
8398642ec371a8c68b8e42a1b263ccf5ca5e3351 gnu: Add go-github-com-zeebo-assert.
12b606f276e084c1a88795ff411bd22cf9ab4a92 gnu: Add go-github-com-mholt-acmez.
082e2746e0bbd340399b299a7b70ebf09c62bc76 gnu: Add go-github-com-libdns-libdns.
507c9da4e6c1e5087f981af3292995f007eed29d gnu: Add go-github-com-caddyserver-zerossl.

- avp

--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
-----BEGIN PGP SIGNATURE-----

iQJNBAEBCgA3FiEEAf2F9Bp7f4IFgwalk16+BzbchX4FAmdArQcZHHBvcHRzb3Yu
YXJ0eW9tQGdtYWlsLmNvbQAKCRCTXr4HNtyFfqbtD/9JGbBRiZkaRIDMXQJd1VLJ
zmRLhA2gl55lYpsJkyiJOfZ851Kjk+pfK6i0wk69bPew4V9HyMWGgp1PuOLJq9+F
338/YXVPCo9T9yFrD2gqeluphQoS6dAc8Azx7u8CAO5AhhbxKrFHK6yw2efHJsGs
VW0TUMy2MVKgSPrz1da7KczOKuLiD2kdl6W36nkJT1M/Dv824qL/4rvIA1BbFVlj
JN7qK68RWP0DamVOoXHYwJE0ZkoAoVtflErvb2EvEYIz0mwxdluUIWRgfWNP5SVt
zUD2CCJxVvXSXtJaEB0+BrApYC4lCQETjdj8Hr0SrWSa+MZ7ALJZr38WYa47mekr
C0wBHIxDuKGdaYDna1tReTYaynf4BAT/qOPG1ci4I4+0XequYTDg4yIutLlKKLXT
b2KK24yr1sO8ABye7sHxl+lAs/SAfPa3uW+B5QYyRnP9Zuo8dSoJZPvo0HXCmHFR
TjvN/a/g8WRqBro3ekVBpeBz58iTUTBkbv//p8k/flGMEY3btmJZ1ij5QzqncyJC
bnOWa+KwkHUiXu/ZDl3G4ESg4/6y4tBaDJoPJ/WqIzWIOCzct2jQZtprWqU30gm3
hppZOjEkCgY8fQ1kDjc5eII5SV529Ikiut70TEWLF+iPrDLJOYvWkopko8ax/yYh
G3tYpOFvSdrp0NJV9AORTg==
=Gj53
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 74355@debbugs.gnu.org

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