diff --git a/devel/etcd35/Makefile b/devel/etcd35/Makefile new file mode 100644 index 0000000..38f9915 --- /dev/null +++ b/devel/etcd35/Makefile @@ -0,0 +1,68 @@ +PORTNAME= etcd +DISTVERSIONPREFIX= v +DISTVERSION= 3.5.26 +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: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 diff --git a/devel/etcd35/distinfo b/devel/etcd35/distinfo new file mode 100644 index 0000000..f8fa8bc --- /dev/null +++ b/devel/etcd35/distinfo @@ -0,0 +1,25 @@ +TIMESTAMP = 1767600087 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/go.mod) = 259b5d235087b4b196b8723d6d76f8f235244c513d2eec9160be91273171cc01 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/go.mod) = 4289 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/api/go.mod) = e08d87256f2abaa2488b224f5bd4cb135b5fc368741d9d2df89af61596fcbaa6 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/api/go.mod) = 1073 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/pkg/go.mod) = ec803edc2f0360d7fc57f72a6af2cb59428dc4b706bd81c19f56a47ae188f7c0 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/pkg/go.mod) = 1128 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/client/pkg/go.mod) = b997020331b654c1bd479cc18adf7220b0bbbd6125651c73d90d37caa8ea1c74 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/client/pkg/go.mod) = 439 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/client/v2/go.mod) = 4ad9c8f97a4fc4e0d1e1f16114ecfa88281a00c53444395b24f6c143dfc5b5d2 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/client/v2/go.mod) = 764 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/client/v3/go.mod) = 9c8b1e45fce0f317ff7cabb549e051616e3af954ecfb4b131c78a0d5b3770b20 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/client/v3/go.mod) = 1744 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/etcdctl/go.mod) = d30c9795ca3023869415c9ac05b642d7bdb6754817c9498d373af40773cdd019 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/etcdctl/go.mod) = 3521 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/etcdutl/go.mod) = 5f65ab9720b8661111bad6b807a8b19b5bfe00d3ed8f54f3b9bf6318f7f68481 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/etcdutl/go.mod) = 3184 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/raft/go.mod) = 164968c9894d4e5928e14d6d8a05dd8f5d93be76793d3d094a1df75fdd969849 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/raft/go.mod) = 646 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/server/go.mod) = 9ddc91943a12c72ff38ac8fd13979cf84776856f4ea12beee52c493bab4e76b6 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/server/go.mod) = 3877 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/tests/go.mod) = bf21b04efec206912ab6983c49265c3fca9d9bfd1e7b9148974e13bb65c09ab9 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/tests/go.mod) = 4035 +SHA256 (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/etcd-io-etcd-v3.5.26_GH0.tar.gz) = 7e1d05825b52c66cb82b1f42aadb5fda5f11c6628d7411989ab67f0c91ff3935 +SIZE (go/devel_etcd35/etcd-io-etcd-v3.5.26_GH0/etcd-io-etcd-v3.5.26_GH0.tar.gz) = 4145585 diff --git a/devel/etcd35/pkg-descr b/devel/etcd35/pkg-descr new file mode 100644 index 0000000..ea402f1 --- /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.