summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Norton <patrick.147.norton@gmail.com>2026-01-04 13:48:13 -0500
committerSharlatan Hellseher <sharlatanus@gmail.com>2026-04-30 21:38:57 +0100
commit19c5a311a62706f5c205a0185c779f98522b4a38 (patch)
treefa1ad5c9ebe5b3e53c97e7c620a4aebd7bb96554
parent7cd1d68189a11daf37b3d9cd90bee40de4dbaa93 (diff)
gnu: Add go-go-etcd-io-etcd-server-v3.
* gnu/packages/kubernetes.scm (go-go-etcd-io-etcd-server-v3): New variable. Relates-to: https://codeberg.org/guix/guix/pulls/5417 Change-Id: Ie5262a670bdec301581d3a6f0004e276cd2af76f Reviewed-by: Arthur Rodrigues <arthurhdrodrigues@proton.me> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
-rw-r--r--gnu/packages/kubernetes.scm84
1 files changed, 84 insertions, 0 deletions
diff --git a/gnu/packages/kubernetes.scm b/gnu/packages/kubernetes.scm
index 41e02a6070..ddf8b5419c 100644
--- a/gnu/packages/kubernetes.scm
+++ b/gnu/packages/kubernetes.scm
@@ -24,6 +24,7 @@
#:use-module (guix packages)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
+ #:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages prometheus))
@@ -122,6 +123,89 @@
"This package implements the official Go client for etcd.")
(license license:asl2.0)))
+(define-public go-go-etcd-io-etcd-server-v3
+ (package
+ (name "go-go-etcd-io-etcd-server-v3")
+ (version "3.6.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/etcd-io/etcd")
+ (commit (go-version->git-ref version
+ #:subdir "server"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0d9rjyl5h0xm9isgr8b2fz8528wk3pds71rjl8g08fgsmsa5kicb"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
+ (snippet #~(begin
+ (define (delete-all-but directory . preserve)
+ (with-directory-excursion directory
+ (let* ((pred (negate (cut member <>
+ (cons* "." ".." preserve))))
+ (items (scandir "." pred)))
+ (for-each (cut delete-file-recursively <>) items))))
+ (delete-all-but "." "server")
+ (rename-file "server" "server.tmp")
+ (mkdir-p "server/v3")
+ (rename-file "server.tmp" "server/v3")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:tests? #f ;Setup fails
+ #:import-path "go.etcd.io/etcd/server/v3"
+ #:unpack-path "go.etcd.io/etcd"))
+ (propagated-inputs
+ (list go-github-com-coreos-go-semver
+ go-github-com-coreos-go-systemd-v22
+ go-github-com-dustin-go-humanize
+ go-github-com-gogo-protobuf
+ go-github-com-golang-groupcache
+ go-github-com-golang-jwt-jwt-v5
+ go-github-com-golang-protobuf
+ go-github-com-google-btree
+ go-github-com-google-go-cmp
+ go-github-com-grpc-ecosystem-go-grpc-middleware
+ go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
+ go-github-com-grpc-ecosystem-grpc-gateway-v2
+ go-github-com-jonboulle-clockwork
+ go-github-com-prometheus-client-golang
+ go-github-com-prometheus-client-model
+ go-github-com-soheilhy-cmux
+ go-github-com-spf13-cobra
+ go-github-com-stretchr-testify
+ go-github-com-tmc-grpc-websocket-proxy
+ go-github-com-xiang90-probing
+ go-go-etcd-io-bbolt
+ go-go-etcd-io-etcd-client-v3
+ go-go-etcd-io-etcd-pkg-v3
+ go-go-etcd-io-raft-v3
+ go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
+ go-go-opentelemetry-io-otel
+ go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
+ go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
+ go-go-opentelemetry-io-otel-sdk
+ go-go-uber-org-zap
+ go-golang-org-x-crypto
+ go-golang-org-x-net
+ go-golang-org-x-time
+ go-google-golang-org-genproto-googleapis-api
+ go-google-golang-org-grpc
+ go-google-golang-org-protobuf
+ go-gopkg-in-natefinch-lumberjack-v2
+ go-sigs-k8s-io-json
+ go-sigs-k8s-io-yaml))
+ (home-page "https://go.etcd.io/etcd")
+ (synopsis "Server package for ETCD")
+ (description
+ "This package provides a server for the ETCD distributed key-value storage
+system.")
+ (license license:asl2.0)))
+
+
(define-public go-go-etcd-io-etcd-pkg-v3
(package
(name "go-go-etcd-io-etcd-pkg-v3")