# $FreeBSD$
PORTNAME= consul
PORTVERSION= 0.6.3
DISTVERSIONPREFIX= v
CATEGORIES= sysutils
MASTER_SITES= https://releases.hashicorp.com/consul/${PORTVERSION}/:web_ui
DISTFILES= consul_${PORTVERSION}_web_ui.zip:web_ui
MAINTAINER= swills@FreeBSD.org
COMMENT= Service discovery and configuration made easy
LICENSE= MPL
BUILD_DEPENDS= ${LOCALBASE}/bin/go:${PORTSDIR}/lang/go
USES= compiler
USE_GITHUB= yes
GH_ACCOUNT= hashicorp:DEFAULT,go_checkpoint,go_msgpack,go_multierror,go_syslog \
hashicorp:golang_lru,hcl,logutils,memberlist,raft,raft_mdb,serf \
hashicorp:scada,yamux,migrate,msgpackrpc,boltdb,reap,memdb \
hashicorp:iradix,chttp,errwrap \
armon:circbuf,go_metrics,go_radix,gomdb golang:protobuf,crypto,sys \
boltdb:bolt inconshreveable:muxado matttproud:protobuf_ext \
miekg:dns mitchellh:cli mitchellh:mapstructure \
prometheus:client_golang,client_model,procfs \
ryanuber:columnize ugorji:go mattn:isatty \
fsouza:dclient elazarl:assetfs bgentry:speakeasy DataDog:datadog
GH_PROJECT= circbuf:circbuf protobuf:protobuf go-metrics:go_metrics \
go-radix:go_radix gomdb:gomdb go-checkpoint:go_checkpoint \
go-msgpack:go_msgpack go-multierror:go_multierror \
go-syslog:go_syslog golang-lru:golang_lru hcl:hcl \
logutils:logutils memberlist:memberlist raft:raft \
raft-mdb:raft_mdb serf:serf scada-client:scada yamux:yamux \
consul-migrate:migrate net-rpc-msgpackrpc:msgpackrpc \
raft-boltdb:boltdb crypto:crypto bolt:bolt muxado:muxado \
golang_protobuf_extensions:protobuf_ext dns:dns cli:cli \
mapstructure:mapstructure client_golang:client_golang \
client_model:client_model procfs:procfs columnize:columnize \
go:go go-isatty:isatty go-reap:reap sys:sys go-memdb:memdb \
go-immutable-radix:iradix go-cleanhttp:chttp errwrap:errwrap \
go-dockerclient:dclient go-bindata-assetfs:assetfs \
speakeasy:speakeasy datadog-go:datadog
GH_TAGNAME= bbbad09:circbuf 2402d76:protobuf 345426c:go_metrics \
4239b77:go_radix 151f2e0:gomdb e4b2dc3:go_checkpoint \
fa3f638:go_msgpack d30f099:go_multierror 42a2b57:go_syslog \
bf88e0d:golang_lru aee8c49:hcl 0dc08b1:logutils \
9888dc5:memberlist 8023e5e:raft 55f2947:raft_mdb b60fe33:serf \
84989fd:scada df94978:yamux 678fb10:migrate \
a14192a:msgpackrpc d1e82c1:boltdb 3760e01:crypto 109049b:bolt \
f693c7e:muxado d0c3fe8:protobuf_ext 297a77c:dns cb6853d:cli \
281073e:mapstructure 67994f1:client_golang \
fa8ad6f:client_model 406e5b7:procfs 983d3a5:columnize \
646ae4a:go 56b76bd:isatty 2d85522:reap 442cd60:sys 31949d5:memdb \
12e9005:iradix ce617e7:chttp 7554cd9:errwrap 2fb7694:dclient \
57eb5e1:assetfs 36e9cfd:speakeasy bc97e07:datadog
USE_RC_SUBR= consul
USERS= consul
GROUPS= consul
STRIP= # stripping can break go binaries
post-patch:
@${MKDIR} ${WRKSRC}/src/github.com/hashicorp/consul
.for src in .gitignore .travis.yml CHANGELOG.md LICENSE Makefile README.md \
Vagrantfile acl api bench command commands.go consul contrib demo deps \
main.go main_test.go make.bat scripts terraform test testutil \
tlsutil ui version.go watch website
@${MV} ${WRKSRC}/${src} \
${WRKSRC}/src/github.com/hashicorp/consul
.endfor
@${MKDIR} ${WRKSRC}/src/github.com/armon
@${MKDIR} ${WRKSRC}/src/github.com/boltdb
@${MKDIR} ${WRKSRC}/src/github.com/inconshreveable
@${MKDIR} ${WRKSRC}/src/github.com/miekg
@${MKDIR} ${WRKSRC}/src/github.com/mitchellh
@${MKDIR} ${WRKSRC}/src/github.com/ryanuber
@${MKDIR} ${WRKSRC}/src/github.com/ugorji
@${MKDIR} ${WRKSRC}/src/github.com/golang
@${MKDIR} ${WRKSRC}/src/github.com/matttproud
@${MKDIR} ${WRKSRC}/src/github.com/prometheus
@${MKDIR} ${WRKSRC}/src/github.com/mattn
@${MKDIR} ${WRKSRC}/src/github.com/fsouza
@${MKDIR} ${WRKSRC}/src/github.com/elazarl
@${MKDIR} ${WRKSRC}/src/github.com/bgentry
@${MKDIR} ${WRKSRC}/src/github.com/DataDog
@${MKDIR} ${WRKSRC}/src/golang.org/x
@${MV} ${WRKSRC_circbuf} \
${WRKSRC}/src/github.com/armon/circbuf
@${MV} ${WRKSRC_go_metrics} \
${WRKSRC}/src/github.com/armon/go-metrics
@${MV} ${WRKSRC_go_radix} \
${WRKSRC}/src/github.com/armon/go-radix
@${MV} ${WRKSRC_gomdb} \
${WRKSRC}/src/github.com/armon/gomdb
@${MV} ${WRKSRC_protobuf} \
${WRKSRC}/src/github.com/golang/protobuf
@${MV} ${WRKSRC_go_msgpack} \
${WRKSRC}/src/github.com/hashicorp/go-msgpack
@${MV} ${WRKSRC_go_multierror} \
${WRKSRC}/src/github.com/hashicorp/go-multierror
@${MV} ${WRKSRC_go_checkpoint} \
${WRKSRC}/src/github.com/hashicorp/go-checkpoint
@${MV} ${WRKSRC_go_syslog} \
${WRKSRC}/src/github.com/hashicorp/go-syslog
@${MV} ${WRKSRC_golang_lru} \
${WRKSRC}/src/github.com/hashicorp/golang-lru
@${MV} ${WRKSRC_hcl} \
${WRKSRC}/src/github.com/hashicorp/hcl
@${MV} ${WRKSRC_logutils} \
${WRKSRC}/src/github.com/hashicorp/logutils
@${MV} ${WRKSRC_memberlist} \
${WRKSRC}/src/github.com/hashicorp/memberlist
@${MV} ${WRKSRC_raft} \
${WRKSRC}/src/github.com/hashicorp/raft
@${MV} ${WRKSRC_raft_mdb} \
${WRKSRC}/src/github.com/hashicorp/raft-mdb
@${MV} ${WRKSRC_serf} \
${WRKSRC}/src/github.com/hashicorp/serf
@${MV} ${WRKSRC_scada} \
${WRKSRC}/src/github.com/hashicorp/scada-client
@${MV} ${WRKSRC_yamux} \
${WRKSRC}/src/github.com/hashicorp/yamux
@${MV} ${WRKSRC_muxado} \
${WRKSRC}/src/github.com/inconshreveable/muxado
@${MV} ${WRKSRC_dns} \
${WRKSRC}/src/github.com/miekg/dns
@${MV} ${WRKSRC_cli} \
${WRKSRC}/src/github.com/mitchellh/cli
@${MV} ${WRKSRC_mapstructure} \
${WRKSRC}/src/github.com/mitchellh/mapstructure
@${MV} ${WRKSRC_columnize} \
${WRKSRC}/src/github.com/ryanuber/columnize
@${MV} ${WRKSRC_msgpackrpc} \
${WRKSRC}/src/github.com/hashicorp/net-rpc-msgpackrpc
@${MV} ${WRKSRC_protobuf_ext} \
${WRKSRC}/src/github.com/matttproud/golang_protobuf_extensions
@${MV} ${WRKSRC_client_golang} \
${WRKSRC}/src/github.com/prometheus/client_golang
@${MV} ${WRKSRC_client_model} \
${WRKSRC}/src/github.com/prometheus/client_model
@${MV} ${WRKSRC_procfs} \
${WRKSRC}/src/github.com/prometheus/procfs
@${MV} ${WRKSRC_boltdb} \
${WRKSRC}/src/github.com/hashicorp/raft-boltdb
@${MV} ${WRKSRC_bolt} \
${WRKSRC}/src/github.com/boltdb/bolt
@${MV} ${WRKSRC_migrate} \
${WRKSRC}/src/github.com/hashicorp/consul-migrate
@${MV} ${WRKSRC_isatty} \
${WRKSRC}/src/github.com/mattn/go-isatty
@${MV} ${WRKSRC_reap} \
${WRKSRC}/src/github.com/hashicorp/go-reap
@${MV} ${WRKSRC_memdb} \
${WRKSRC}/src/github.com/hashicorp/go-memdb
@${MV} ${WRKSRC_iradix} \
${WRKSRC}/src/github.com/hashicorp/go-immutable-radix
@${MV} ${WRKSRC_chttp} \
${WRKSRC}/src/github.com/hashicorp/go-cleanhttp
@${MV} ${WRKSRC_errwrap} \
${WRKSRC}/src/github.com/hashicorp/errwrap
@${MV} ${WRKSRC_dclient} \
${WRKSRC}/src/github.com/fsouza/go-dockerclient
@${MV} ${WRKSRC_assetfs} \
${WRKSRC}/src/github.com/elazarl/go-bindata-assetfs
@${MV} ${WRKSRC_speakeasy} \
${WRKSRC}/src/github.com/bgentry/speakeasy
@${MV} ${WRKSRC_datadog} \
${WRKSRC}/src/github.com/DataDog/datadog-go
@${MV} ${WRKSRC_sys} \
${WRKSRC}/src/golang.org/x/sys
@${MV} ${WRKSRC_crypto} \
${WRKSRC}/src/golang.org/x/crypto
do-build:
@cd ${WRKSRC}/src/github.com/hashicorp/consul; ${SETENV} ${BUILD_ENV} GOPATH=${WRKSRC} go build -o bin/consul
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/src/github.com/hashicorp/consul/bin/consul ${STAGEDIR}${PREFIX}/bin/consul
${MKDIR} ${STAGEDIR}${DATADIR}
${MKDIR} ${WRKDIR}/dist
${MV} ${WRKDIR}/index.html ${WRKDIR}/static ${WRKDIR}/dist
cd ${WRKDIR}/dist && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}
.include <bsd.port.pre.mk>
# golang assumes that if clang is in use, it is called "clang" and not "cc". If
# it's called "cc", go fails.
.if ${COMPILER_TYPE} == clang
BUILD_ENV= CC=clang
.endif
.include <bsd.port.post.mk>