guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 13b8bc09a31ed2fb9ed5c82ce0c984bc77fcea7f
Author: Arthur Rodrigues <[email protected]>
AuthorDate: Tue Jan 27 22:33:26 2026 -0300

    gnu: Add go-github-com-cloudflare-redoctober.
    
    * gnu/packages/golang-crypto.scm (go-github-com-cloudflare-redoctober): New 
variable.
    
    Change-Id: Ibe13fbc7fc9776a3530d38534a6566e3576e7fe0
    Modified-by: Sharlatan Hellseher <[email protected]>
    Signed-off-by: Sharlatan Hellseher <[email protected]>
---
 gnu/packages/golang-crypto.scm | 54 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 844e8d37a9..d36186c3e5 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -64,6 +64,7 @@
   #:use-module (gnu packages golang-xyz)
   #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages prometheus)
   #:use-module (gnu packages security-token)
   #:use-module (gnu packages specifications)
   #:use-module (gnu packages tls))
@@ -599,6 +600,59 @@ cryptographic algorithms targeting Post-Quantum (PQ) and 
Elliptic Curve
 Cryptography (ECC).")
     (license license:bsd-3)))
 
+(define-public go-github-com-cloudflare-redoctober
+  (package
+    (name "go-github-com-cloudflare-redoctober")
+    (version "0.0.0-20241112165158-ce2ad370627b")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/cloudflare/redoctober";)
+              (commit (go-version->git-ref version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0mlmm68x0y4m6dzris6ggkhzfxpd99df4syj3zc6350q3fxi0kv9"))
+       (snippet
+        #~(begin (use-modules (guix build utils))
+                 (delete-file-recursively "vendor")))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/cloudflare/redoctober"
+      #:test-flags #~(list "-vet=off")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-imports
+            (lambda* (#:key tests? import-path #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                (substitute* "server/server.go"
+                  (("github.com/coreos/go-systemd/activation")
+                   "github.com/coreos/go-systemd/v22/activation")))))
+          (add-before 'check 'fix-bin-path-for-tests
+            (lambda* (#:key tests? import-path #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                (substitute* "redoctober_test.go"
+                  (("\\./redoctober")
+                   (string-append #$output "/bin/redoctober")))))))))
+    (propagated-inputs
+     (list go-github-com-coreos-go-systemd-v22
+           ;; Reporting to Sentry is not enabled by default in
+           ;; <report/report.go>.
+           go-github-com-getsentry-sentry-go
+           go-github-com-prometheus-client-golang
+           go-golang-org-x-crypto))
+    (home-page "https://github.com/cloudflare/redoctober";)
+    (synopsis "Cloudflare Red October key management support for Golang")
+    (description
+     "This package provides an implementation of the Red October keyserver
+protocol for Golang.  It uses the
+@url{https://en.wikipedia.org/wiki/Two-person_rule, Two-Person Rule} to
+protect sensitive data, which means it supports generating, distributing, and
+recovering keys among multiple parties with configurable quorum requirements.
+The package include Go source library and @code{redoctober} command.")
+    (license license:bsd-2)))
+
 (define-public go-github-com-cloudwego-base64x
   (package
     (name "go-github-com-cloudwego-base64x")

Reply via email to