aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMateusz Piotrowski <0mp@FreeBSD.org>2025-04-29 15:13:53 +0000
committerMateusz Piotrowski <0mp@FreeBSD.org>2025-05-05 14:51:24 +0000
commit9b11ea8c5d69c91fc37ddb6f453e4040a6661e49 (patch)
tree4b20949bd539b4a8350b88fed4b5dcbb84f71608
parent3479e63393e64f00049af1099a33cc253072298c (diff)
-rw-r--r--devel/Makefile1
-rw-r--r--devel/etcd35/Makefile68
-rw-r--r--devel/etcd35/distinfo25
-rw-r--r--devel/etcd35/pkg-descr11
4 files changed, 105 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 5475347adb34..c47fb7ae1b69 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -690,6 +690,7 @@
SUBDIR += etcd32
SUBDIR += etcd33
SUBDIR += etcd34
+ SUBDIR += etcd35
SUBDIR += etl
SUBDIR += evcxr-jupyter
SUBDIR += evdev-proto
diff --git a/devel/etcd35/Makefile b/devel/etcd35/Makefile
new file mode 100644
index 000000000000..7e47aae2ecd2
--- /dev/null
+++ b/devel/etcd35/Makefile
@@ -0,0 +1,68 @@
+PORTNAME= etcd
+DISTVERSIONPREFIX= v
+DISTVERSION= 3.5.21
+CATEGORIES= devel
+MASTER_SITES= https://raw.githubusercontent.com/etcd-io/${PORTNAME}/${DISTVERSIONFULL}/:gomod
+PKGNAMEPREFIX= coreos-
+PKGNAMESUFFIX= 35
+DISTFILES= go.mod:gomod \
+ api/go.mod:gomod \
+ pkg/go.mod:gomod \
+ client/pkg/go.mod:gomod \
+ client/v2/go.mod:gomod \
+ client/v3/go.mod:gomod \
+ etcdctl/go.mod:gomod \
+ etcdutl/go.mod:gomod \
+ raft/go.mod:gomod \
+ server/go.mod:gomod \
+ tests/go.mod:gomod
+
+MAINTAINER= kiwi@FreeBSD.org
+COMMENT= Highly-available key value store and service discovery
+WWW= https://github.com/coreos/etcd
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cpe go:1.23,modules
+USE_GITHUB= yes
+GH_ACCOUNT= etcd-io
+GO_MODULE= go.etcd.io/etcd/v3
+GO_MOD_DIST= github
+GO_TARGET= ./etcdctl ./etcdutl ./server
+
+CONFLICTS_INSTALL= coreos-etcd[0-9][0-9]
+
+PLIST_FILES= bin/etcd \
+ bin/etcdctl \
+ bin/etcdutl
+
+# This target is based on the post-extract target from Uses/go.mk
+post-extract:
+.for gt in ${GO_TARGET:T}
+ @${ECHO_MSG} "===> Tidying ${GO_MODNAME} dependencies";
+ @(cd ${GO_WRKSRC}/${gt}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} GOPROXY=${GO_MODCACHE} ${GO_CMD} mod tidy -e)
+ @${ECHO_MSG} "===> Vendoring ${GO_MODNAME} dependencies";
+ @(cd ${GO_WRKSRC}/${gt}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} GOPROXY=${GO_MODCACHE} ${GO_CMD} mod vendor -e)
+.endfor
+
+# This target is based on the do-build target from Uses/go.mk.
+do-build:
+.for gt in ${GO_TARGET:T}
+ (cd ${GO_WRKSRC}/${gt}; \
+ for t in ${gt}; do \
+ out=$$(${BASENAME} $$(${ECHO_CMD} $${t} | \
+ ${SED} -Ee 's/^[^:]*:([^:]+).*$$/\1/' -e 's/^\.$$/${PORTNAME}/')); \
+ pkg=$$(${ECHO_CMD} $${t} | \
+ ${SED} -Ee 's/^([^:]*).*$$/\1/' -e 's/^${PORTNAME}$$/./'); \
+ ${ECHO_MSG} "===> Building $${out} from $${pkg}"; \
+ ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} GOMAXPROCS=${MAKE_JOBS_NUMBER} GOPROXY=off ${GO_CMD} build ${GO_BUILDFLAGS} \
+ -o ${GO_WRKDIR_BIN}/$${out} \
+ .; \
+ done)
+.endfor
+
+post-install:
+ ${MV} ${STAGEDIR}${PREFIX}/bin/server ${STAGEDIR}${PREFIX}/bin/etcd
+
+.include <bsd.port.mk>
diff --git a/devel/etcd35/distinfo b/devel/etcd35/distinfo
new file mode 100644
index 000000000000..5412d601db01
--- /dev/null
+++ b/devel/etcd35/distinfo
@@ -0,0 +1,25 @@
+TIMESTAMP = 1746210825
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/go.mod) = 49bb45ae5a3ba5c6bc24c92734bd3a4298b6cd9e4cc0bfac976c0bcdd2efcfa2
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/go.mod) = 4196
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/api/go.mod) = de19beffd2aeb61c6025339859195286befa8f2284ec915be82a5ff56f655e26
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/api/go.mod) = 1072
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/pkg/go.mod) = 70454afe2c7c63195470c8c970dea95bd9677e1e33bcb8426d4ea76bc0522928
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/pkg/go.mod) = 1173
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/client/pkg/go.mod) = f98d36cfad740f8cdc6842de31a9267b731b26846ab495b3fbe2cfd69f29aa03
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/client/pkg/go.mod) = 437
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/client/v2/go.mod) = 56b9256ae4b934d59e91cf7cbb7414422c1e6590919454afdad320d979caac10
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/client/v2/go.mod) = 763
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/client/v3/go.mod) = 49c2c838963786507c98634b200235f7632edee57e4de48672c8f63867003bb3
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/client/v3/go.mod) = 1818
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/etcdctl/go.mod) = 720d9323de6d81fe582271c2a6d1302ec554404790c44eca5275247ad52427b0
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/etcdctl/go.mod) = 3489
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/etcdutl/go.mod) = 4780489b45bd1ca9f7e293bdc2059c2ee2b3888d5fa9fa5019f3d2750117d187
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/etcdutl/go.mod) = 3152
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/raft/go.mod) = 851637a68394671dd0bdf027acae8f5bd6e72cc693c01f680542b9dee09cec4d
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/raft/go.mod) = 645
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/server/go.mod) = 5a1c635f8b7a125609c330f1c621e3a1f458ba2d9359a518fd87839cb33669a8
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/server/go.mod) = 3783
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/tests/go.mod) = db8c5104c032364d5e32e32d04360a0340292476d45946533ce3663f23e1e2da
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/tests/go.mod) = 3941
+SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/etcd-io-etcd-v3.5.21_GH0.tar.gz) = 76d7fcafe4fcc957fcd45671226b992c16e5f5e724935dea9df0190ac2b13481
+SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.21_GH0/etcd-io-etcd-v3.5.21_GH0.tar.gz) = 4132943
diff --git a/devel/etcd35/pkg-descr b/devel/etcd35/pkg-descr
new file mode 100644
index 000000000000..ea402f1fff4c
--- /dev/null
+++ b/devel/etcd35/pkg-descr
@@ -0,0 +1,11 @@
+A highly-available key value store for shared
+configuration and service discovery. etcd is
+inspired by zookeeper and doozer, with a focus on:
+
+* Simple: curl'able user facing API (HTTP+JSON)
+* Secure: optional SSL client cert authentication
+* Fast: benchmarked 1000s of writes/s per instance
+* Reliable: Properly distributed using Raft
+
+Etcd is written in Go and uses the raft consensus
+algorithm to manage a highly-available replicated log.