diff --git a/devel/etcd37/Makefile b/devel/etcd37/Makefile new file mode 100644 index 000000000000..113f3f8ad1e9 --- /dev/null +++ b/devel/etcd37/Makefile @@ -0,0 +1,66 @@ +PORTNAME= etcd +DISTVERSIONPREFIX= v +DISTVERSION= 3.6.14 +CATEGORIES= devel +MASTER_SITES= https://raw.githubusercontent.com/etcd-io/${PORTNAME}/${DISTVERSIONFULL}/:gomod +PKGNAMEPREFIX= coreos- +PKGNAMESUFFIX= 36 +DISTFILES= go.mod:gomod \ + api/go.mod:gomod \ + pkg/go.mod:gomod \ + client/pkg/go.mod:gomod \ + client/v3/go.mod:gomod \ + etcdctl/go.mod:gomod \ + etcdutl/go.mod:gomod \ + server/go.mod:gomod \ + tests/go.mod:gomod + +MAINTAINER= 0mp@FreeBSD.org +COMMENT= Highly-available key value store and service discovery +WWW= https://etcd.io/ + +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/etcd37/distinfo b/devel/etcd37/distinfo new file mode 100644 index 000000000000..c1e8e0aab728 --- /dev/null +++ b/devel/etcd37/distinfo @@ -0,0 +1,21 @@ +TIMESTAMP = 1789554736 +SHA256 (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/go.mod) = e39df4759aa170788fd6abe91e3c9b1f513b508e82c1903cda95faf33b472eff +SIZE (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/go.mod) = 4383 +SHA256 (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/api/go.mod) = bf2c7b59b87dd8ace27d413867116c82c6b044014e426be400526316d5448fae +SIZE (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/api/go.mod) = 1216 +SHA256 (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/pkg/go.mod) = ca4d126aa05891c4a059f37aa74b35147a153f572b56dc052e467866fbc9b42c +SIZE (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/pkg/go.mod) = 1367 +SHA256 (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/client/pkg/go.mod) = 9c152efa1d5c604f78e5153af1948ada067b63d0f0748a96a033c5d07f4974cc +SIZE (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/client/pkg/go.mod) = 561 +SHA256 (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/client/v3/go.mod) = ed7914b00e7853ae1ee568d364e4e5e4184c05a9013b914dd4015766f01a6c82 +SIZE (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/client/v3/go.mod) = 2041 +SHA256 (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/etcdctl/go.mod) = bd271ed25421ae27148ef419c2746c5eaeea72d33835cdcda0cc7c5c16eccaca +SIZE (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/etcdctl/go.mod) = 2109 +SHA256 (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/etcdutl/go.mod) = 0922cd79adb1b1d442ec807994c0b778adb0da14988341f5bfc638e06fe8aec5 +SIZE (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/etcdutl/go.mod) = 4006 +SHA256 (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/server/go.mod) = d4620a77c231c52d09f3d1114e0d50d68d42ba2652691d69e2ca2748895025de +SIZE (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/server/go.mod) = 3595 +SHA256 (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/tests/go.mod) = df01899075cbfab341a4f4fe4c29163a6a766cf8979de58c39a5bf0ed6ed05e5 +SIZE (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/tests/go.mod) = 4509 +SHA256 (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/etcd-io-etcd-v3.6.14_GH0.tar.gz) = a7ac1ed4192c6e53e4716df3e08bc75e4f929fcb186a9d9e5b0aaf11c96b067a +SIZE (go/devel_etcd36/etcd-io-etcd-v3.6.14_GH0/etcd-io-etcd-v3.6.14_GH0.tar.gz) = 7389983 diff --git a/devel/etcd37/pkg-descr b/devel/etcd37/pkg-descr new file mode 100644 index 000000000000..ea402f1fff4c --- /dev/null +++ b/devel/etcd37/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.