aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortobik <tobik@FreeBSD.org>2019-06-29 11:51:13 +0800
committertobik <tobik@FreeBSD.org>2019-06-29 11:51:13 +0800
commit01937667a99ad7ce0fe80e148aef97dd7683f94c (patch)
tree8c7c440762c72012824110ba9cdd44c8c1765017
parent388b5eef103bfb24dd783b7f2c5dd9f7cf45e08a (diff)
downloadfreebsd-ports-gnome-01937667a99ad7ce0fe80e148aef97dd7683f94c.tar.gz
freebsd-ports-gnome-01937667a99ad7ce0fe80e148aef97dd7683f94c.tar.zst
freebsd-ports-gnome-01937667a99ad7ce0fe80e148aef97dd7683f94c.zip
Convert all Go ports to USES=go
This allows for port testing with lang/go-devel via GO_PORT, setting up the Go build environment in a single place, and is step one in simplifying Go ports that often define too complicated do-build targets themselves. USES=go gains new arguments 'run' to add lang/go to RUN_DEPENDS and 'no_targets' for ports with composite builds that call 'go' themselves and do not need the do-build/do-install targets of USES=go. PR: 238849 Submitted by: dg@syrec.org (also D20745) Reviewed by: mat, tobik Exp-run by: antoine Differential Revision: https://reviews.freebsd.org/D20746
-rw-r--r--Mk/Uses/go.mk21
-rw-r--r--databases/cayley/Makefile2
-rw-r--r--databases/cockroach/Makefile5
-rw-r--r--databases/go-carbon/Makefile2
-rw-r--r--databases/influxdb/Makefile2
-rw-r--r--databases/mongodb34-tools/Makefile4
-rw-r--r--databases/mongodb36-tools/Makefile4
-rw-r--r--databases/pgmetrics/Makefile3
-rw-r--r--databases/tile38/Makefile5
-rw-r--r--databases/usql/Makefile2
-rw-r--r--deskutils/chart/Makefile2
-rw-r--r--devel/arduino-builder/Makefile5
-rw-r--r--devel/arduinoOTA/Makefile2
-rw-r--r--devel/awless/Makefile2
-rw-r--r--devel/bloaty/Makefile5
-rw-r--r--devel/git-codereview/Makefile2
-rw-r--r--devel/git-town/Makefile3
-rw-r--r--devel/gitaly/Makefile5
-rw-r--r--devel/gitlab-runner/Makefile5
-rw-r--r--devel/gitlab-shell/Makefile5
-rw-r--r--devel/go-bindata/Makefile2
-rw-r--r--devel/go-protobuf/Makefile2
-rw-r--r--devel/go-tools/Makefile2
-rw-r--r--devel/gogs/Makefile3
-rw-r--r--devel/goprotobuf/Makefile3
-rw-r--r--devel/gpm/Makefile5
-rw-r--r--devel/grpc/Makefile6
-rw-r--r--devel/grumpy/Makefile5
-rw-r--r--devel/grv/Makefile3
-rw-r--r--devel/gvp/Makefile5
-rw-r--r--devel/jiri/Makefile7
-rw-r--r--devel/lab/Makefile2
-rw-r--r--devel/liteide/Makefile5
-rw-r--r--devel/loccount/Makefile2
-rw-r--r--devel/mage/Makefile2
-rw-r--r--devel/pprof/Makefile2
-rw-r--r--dns/amass/Makefile2
-rw-r--r--dns/knot-resolver/Makefile2
-rw-r--r--editors/micro/Makefile2
-rw-r--r--finance/fixc/Makefile2
-rw-r--r--misc/cryptoballot/Makefile2
-rw-r--r--misc/exercism/Makefile2
-rw-r--r--net-im/coyim/Makefile3
-rw-r--r--net-im/matterbridge/Makefile2
-rw-r--r--net-im/matterircd/Makefile2
-rw-r--r--net-im/slack-term/Makefile2
-rw-r--r--net-im/ssh-chat/Makefile2
-rw-r--r--net-im/xmpp-client/Makefile2
-rw-r--r--net-mgmt/carbon-relay-ng/Makefile5
-rw-r--r--net-mgmt/carbonzipper/Makefile2
-rw-r--r--net-mgmt/intel-snap/Makefile2
-rw-r--r--net-mgmt/kapacitor/Makefile2
-rw-r--r--net-mgmt/telegraf/Makefile2
-rw-r--r--net-p2p/go-ethereum/Makefile2
-rw-r--r--net/clash/Makefile2
-rw-r--r--net/geoipupdate/Makefile3
-rw-r--r--net/goreplay/Makefile2
-rw-r--r--net/grpcurl/Makefile2
-rw-r--r--net/nncp/Makefile4
-rw-r--r--net/nsq/Makefile2
-rw-r--r--net/syncthing/Makefile2
-rw-r--r--net/wireguard-go/Makefile6
-rw-r--r--print/cloud-print-connector/Makefile47
-rw-r--r--print/cloud-print-connector/distinfo6
-rw-r--r--science/molgif/Makefile2
-rw-r--r--security/2fa/Makefile2
-rw-r--r--security/acmetool/Makefile2
-rw-r--r--security/boringssl/Makefile4
-rw-r--r--security/govpn/Makefile4
-rw-r--r--security/honeybadger/Makefile2
-rw-r--r--security/meek/Makefile2
-rw-r--r--security/onionscan/Makefile2
-rw-r--r--security/teleport/Makefile5
-rw-r--r--security/vault/Makefile2
-rw-r--r--sysutils/amazon-ssm-agent/Makefile3
-rw-r--r--sysutils/circonus-agent/Makefile2
-rw-r--r--sysutils/consul-alerts/Makefile2
-rw-r--r--sysutils/consul-replicate/Makefile4
-rw-r--r--sysutils/consul/Makefile4
-rw-r--r--sysutils/consul_exporter/Makefile4
-rw-r--r--sysutils/direnv/Makefile5
-rw-r--r--sysutils/docker-freebsd/Makefile8
-rw-r--r--sysutils/envconsul/Makefile2
-rw-r--r--sysutils/epazote/Makefile4
-rw-r--r--sysutils/goawk/Makefile2
-rw-r--r--sysutils/gomplate/Makefile2
-rw-r--r--sysutils/goss/Makefile2
-rw-r--r--sysutils/gotop/Makefile2
-rw-r--r--sysutils/hfm/Makefile5
-rw-r--r--sysutils/log-courier/Makefile2
-rw-r--r--sysutils/logstash-forwarder/Makefile2
-rw-r--r--sysutils/nomad/Makefile4
-rw-r--r--sysutils/serf/Makefile2
-rw-r--r--sysutils/sockaddr/Makefile2
-rw-r--r--textproc/consul-template/Makefile2
-rw-r--r--textproc/spiff/Makefile2
-rw-r--r--www/carbonapi/Makefile4
-rw-r--r--www/gitlab-pages/Makefile2
-rw-r--r--www/gitlab-workhorse/Makefile5
-rw-r--r--www/go-appengine-sdk/Makefile3
-rw-r--r--www/gobuffalo/Makefile5
-rw-r--r--www/grafana2/Makefile4
-rw-r--r--www/grafana3/Makefile4
-rw-r--r--www/grafana4/Makefile4
-rw-r--r--www/grafana5/Makefile4
-rw-r--r--www/grafana6/Makefile4
-rw-r--r--www/kurly/Makefile2
-rw-r--r--www/mattermost-server/Makefile3
-rw-r--r--www/minio-client/Makefile5
-rw-r--r--www/minio/Makefile4
-rw-r--r--www/s/Makefile2
-rw-r--r--www/uchiwa/Makefile2
-rw-r--r--www/ytdl/Makefile2
-rw-r--r--x11/aminal/Makefile4
114 files changed, 169 insertions, 246 deletions
diff --git a/Mk/Uses/go.mk b/Mk/Uses/go.mk
index 21ef428722dc..cfe6cf4faa3b 100644
--- a/Mk/Uses/go.mk
+++ b/Mk/Uses/go.mk
@@ -5,11 +5,17 @@
#
# Feature: go
# Usage: USES=go
-# Valid ARGS: (none), modules
+# Valid ARGS: (none), modules, no_targets, run
#
# (none) Setup GOPATH and build in GOPATH mode.
# modules If the upstream uses Go modules, this can be set to build
# in modules-aware mode.
+# no_targets Indicates that Go is needed at build time as a part of
+# make/CMake build. This will setup build environment like
+# GO_ENV, GO_BUILDFLAGS but will not create post-extract, do-build
+# and do-install targets.
+# run Indicates that Go is needed at run time and adds it to
+# RUN_DEPENDS.
#
# You can set the following variables to control the process.
#
@@ -40,15 +46,15 @@
# The Go port to use. By default this is lang/go but can be set
# to lang/go-devel in make.conf for testing with future Go versions.
#
-# This variable should not be set by individual ports!
+# This variable must not be set by individual ports!
#
# MAINTAINER: jlaffaye@FreeBSD.org
.if !defined(_INCLUDE_USES_GO_MK)
_INCLUDE_USES_GO_MK= yes
-.if !empty(go_ARGS) && ${go_ARGS:Nmodules}
-IGNORE= USES=go only accepts no arguments or 'modules'
+.if !empty(go_ARGS:Nmodules:Nno_targets:Nrun)
+IGNORE= USES=go has invalid arguments: ${go_ARGS:Nmodules:Nno_targets:Nrun}
.endif
# Settable variables
@@ -91,6 +97,9 @@ GO_ENV+= GOPATH="${WRKDIR}" \
GO_PORT?= lang/go
BUILD_DEPENDS+= ${GO_CMD}:${GO_PORT}
+.if ${go_ARGS:Mrun}
+RUN_DEPENDS+= ${GO_CMD}:${GO_PORT}
+.endif
PLIST_SUB+= GO_PKGNAME=${GO_PKGNAME}
_USES_POST+= go
@@ -105,13 +114,13 @@ post-extract:
@${LN} -sf ${WRKSRC} ${GO_WRKSRC}
.endif
-.if !target(do-build)
+.if !target(do-build) && empty(go_ARGS:Mno_targets)
do-build:
(cd ${GO_WRKSRC}; \
${SETENV} ${MAKE_ENV} ${GO_ENV} ${GO_CMD} install ${GO_BUILDFLAGS} ${GO_TARGET})
.endif
-.if !target(do-install)
+.if !target(do-install) && empty(go_ARGS:Mno_targets)
do-install:
.for _TARGET in ${GO_TARGET}
${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/${_TARGET:T} ${STAGEDIR}${PREFIX}/bin
diff --git a/databases/cayley/Makefile b/databases/cayley/Makefile
index 9fb147505369..8d584801446e 100644
--- a/databases/cayley/Makefile
+++ b/databases/cayley/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_i386= gopkg.in/mgo.v2/bson/json.go:320:7: constant 9007199254740992 overflows int
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= ${PORTNAME}graph
diff --git a/databases/cockroach/Makefile b/databases/cockroach/Makefile
index 815a40b2181f..176e53b6e388 100644
--- a/databases/cockroach/Makefile
+++ b/databases/cockroach/Makefile
@@ -18,10 +18,9 @@ ONLY_FOR_ARCHS_REASON= "Only supported on amd64"
BUILD_DEPENDS= autoconf:devel/autoconf \
bash:shells/bash \
- cmake:devel/cmake \
- go:lang/go
+ cmake:devel/cmake
-USES= gmake libedit
+USES= gmake go libedit
USE_RC_SUBR= cockroach
diff --git a/databases/go-carbon/Makefile b/databases/go-carbon/Makefile
index 2499d56ca331..9fd60cbe49c1 100644
--- a/databases/go-carbon/Makefile
+++ b/databases/go-carbon/Makefile
@@ -12,8 +12,6 @@ COMMENT= Go implementation of carbon
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.md
-BUILD_DEPENDS= go>=1.8:lang/go
-
USES= go
USE_GITHUB= yes
diff --git a/databases/influxdb/Makefile b/databases/influxdb/Makefile
index b6e6a3334c4d..a1fa77ec2937 100644
--- a/databases/influxdb/Makefile
+++ b/databases/influxdb/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64 armv6 armv7 i386
ONLY_FOR_ARCHS_REASON= depends on go which is not supported in this architecture
-BUILD_DEPENDS= go>=1.10.3:lang/go
+USES= go
USE_RC_SUBR= influxd
diff --git a/databases/mongodb34-tools/Makefile b/databases/mongodb34-tools/Makefile
index 7fec857bdb29..7c2d300bf7b6 100644
--- a/databases/mongodb34-tools/Makefile
+++ b/databases/mongodb34-tools/Makefile
@@ -15,9 +15,7 @@ BROKEN_SSL_REASON_openssl111= variable has incomplete type 'BIO_METHOD' (aka 'st
BROKEN_SSL_REASON_libressl= could not determine kind of name for C.EVP_sha
BROKEN_SSL_REASON_libressl-devel= ${BROKEN_SSL_REASON_libressl}
-BUILD_DEPENDS= go>0:lang/go
-
-USES= localbase
+USES= go localbase
USE_GITHUB= yes
GH_ACCOUNT= mongodb
diff --git a/databases/mongodb36-tools/Makefile b/databases/mongodb36-tools/Makefile
index 648b876d3b8e..62d077432ef0 100644
--- a/databases/mongodb36-tools/Makefile
+++ b/databases/mongodb36-tools/Makefile
@@ -17,11 +17,9 @@ BROKEN_SSL_REASON_openssl111= variable has incomplete type 'BIO_METHOD' (aka 'st
BROKEN_SSL_REASON_libressl= could not determine kind of name for C.EVP_sha
BROKEN_SSL_REASON_libressl-devel= ${BROKEN_SSL_REASON_libressl}
-BUILD_DEPENDS= go>0:lang/go
-
CONFLICTS_INSTALL= mongodb mongodb[32-34]-tools
-USES= localbase
+USES= go localbase
USE_GITHUB= yes
GH_ACCOUNT= mongodb
diff --git a/databases/pgmetrics/Makefile b/databases/pgmetrics/Makefile
index 5f23f8853439..e7157fac704e 100644
--- a/databases/pgmetrics/Makefile
+++ b/databases/pgmetrics/Makefile
@@ -11,9 +11,10 @@ COMMENT= Collect and display info & stats from a running PostgreSQL server
LICENSE= APACHE20
+USES= go
+
USE_GITHUB= yes
-BUILD_DEPENDS= go>=1.9:lang/go
GO_PKGNAME= github.com/${GH_ACCOUNT}/${GH_PROJECT}
GH_ACCOUNT= rapidloop
GH_SUBDIR= src/github.com/${GH_ACCOUNT_DEFAULT}/${GH_PROJECT_DEFAULT}
diff --git a/databases/tile38/Makefile b/databases/tile38/Makefile
index 62e9a99795d3..a30051b33493 100644
--- a/databases/tile38/Makefile
+++ b/databases/tile38/Makefile
@@ -11,10 +11,9 @@ COMMENT= In-memory geolocation data store, spatial index, and realtime geofence
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go>=1.7:lang/go \
- bash:shells/bash
+BUILD_DEPENDS= bash:shells/bash
-USES= shebangfix
+USES= go shebangfix
SHEBANG_FILES= build.sh
USE_GITHUB= yes
GH_ACCOUNT= tidwall
diff --git a/databases/usql/Makefile b/databases/usql/Makefile
index 665b055bc016..e11bfdc473aa 100644
--- a/databases/usql/Makefile
+++ b/databases/usql/Makefile
@@ -11,7 +11,7 @@ COMMENT= Universal command-line interface for SQL databases
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= xo
diff --git a/deskutils/chart/Makefile b/deskutils/chart/Makefile
index 48e6729cbb4c..803419ebf403 100644
--- a/deskutils/chart/Makefile
+++ b/deskutils/chart/Makefile
@@ -11,7 +11,7 @@ COMMENT= CLI tool to create quick plots
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go>=1.10:lang/go
+USES= go
USE_GITHUB= yes
diff --git a/devel/arduino-builder/Makefile b/devel/arduino-builder/Makefile
index 87fd78cf3208..c0f4b763f3a0 100644
--- a/devel/arduino-builder/Makefile
+++ b/devel/arduino-builder/Makefile
@@ -11,7 +11,7 @@ COMMENT= Command line tool for building Arduino sketches
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= arduino
@@ -27,7 +27,6 @@ TOOLS_DESC= Add arduino-tools for a standalone build setup
TOOLS_RUN_DEPENDS= arduino-tools>=${_COMPAT_VER}:devel/arduino-tools
TOOLS_PLIST_FILES= arduino/arduino-builder.options
-GO_ENV+= GOPATH=${WRKSRC}
_COMPAT_VER= 1.6.12
_IDE_VER= 10612
@@ -42,7 +41,7 @@ do-patch-TOOLS-on:
${WRKSRC}/arduino-builder.options
do-build:
- @( cd ${WRKSRC} ; ${SETENV} ${MAKE_ENV} ${GO_ENV} go build arduino.cc/arduino-builder )
+ @( cd ${WRKSRC} ; ${SETENV} ${MAKE_ENV} ${GO_ENV} GOPATH=${WRKSRC} go build arduino.cc/arduino-builder )
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
diff --git a/devel/arduinoOTA/Makefile b/devel/arduinoOTA/Makefile
index 6cabc557e337..a6a7b0018ac8 100644
--- a/devel/arduinoOTA/Makefile
+++ b/devel/arduinoOTA/Makefile
@@ -9,7 +9,7 @@ COMMENT= OTA upload tool for Arduino/ESP8266
LICENSE= GPLv3
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= arduino
diff --git a/devel/awless/Makefile b/devel/awless/Makefile
index ab7c434981c8..792e5f0c9286 100644
--- a/devel/awless/Makefile
+++ b/devel/awless/Makefile
@@ -11,7 +11,7 @@ COMMENT= Fast, powerful and easy-to-use CLI for AWS
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= wallix
diff --git a/devel/bloaty/Makefile b/devel/bloaty/Makefile
index 4b671a7bcab6..cc15251100f9 100644
--- a/devel/bloaty/Makefile
+++ b/devel/bloaty/Makefile
@@ -12,14 +12,13 @@ COMMENT= Size profiler for binaries
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go \
- cmake:devel/cmake \
+BUILD_DEPENDS= cmake:devel/cmake \
ninja:devel/ninja
LIB_DEPENDS= libre2.so:devel/re2 \
libcapstone.so:devel/capstone4 \
libprotobuf.so:devel/protobuf
-USES= cmake pkgconfig
+USES= cmake go:no_targets pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= google
diff --git a/devel/git-codereview/Makefile b/devel/git-codereview/Makefile
index d19109c468da..9c6b9fc4239b 100644
--- a/devel/git-codereview/Makefile
+++ b/devel/git-codereview/Makefile
@@ -7,7 +7,7 @@ CATEGORIES= devel
MAINTAINER= swills@FreeBSD.org
COMMENT= Command-line tool for working with Gerrit
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= golang
diff --git a/devel/git-town/Makefile b/devel/git-town/Makefile
index 8b34a1958dc9..275e94372b8f 100644
--- a/devel/git-town/Makefile
+++ b/devel/git-town/Makefile
@@ -11,9 +11,10 @@ COMMENT= Git extension for generic, high-level git workflow support
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
RUN_DEPENDS= git:devel/git
+USES= go
+
USE_GITHUB= yes
GH_ACCOUNT= Originate
GH_SUBDIR= src/github.com/${GH_ACCOUNT}/${PORTNAME}
diff --git a/devel/gitaly/Makefile b/devel/gitaly/Makefile
index deaec40e4ee4..ba8f8f082010 100644
--- a/devel/gitaly/Makefile
+++ b/devel/gitaly/Makefile
@@ -28,13 +28,12 @@ MY_DEPENDS= git>=2.21:devel/git \
rubygem-rbtrace>0:devel/rubygem-rbtrace \
rubygem-licensee8>=8.9.0:devel/rubygem-licensee8 \
rubygem-google-protobuf371>=3.7.1:devel/rubygem-google-protobuf371
-BUILD_DEPENDS= go>=1.11:lang/go \
- gem:devel/ruby-gems \
+BUILD_DEPENDS= gem:devel/ruby-gems \
${MY_DEPENDS}
RUN_DEPENDS= ${MY_DEPENDS} \
gitlab-shell>=6.0.4:devel/gitlab-shell
-USES= gmake
+USES= gmake go:no_targets
USE_RUBY= yes
USE_GITLAB= yes
diff --git a/devel/gitlab-runner/Makefile b/devel/gitlab-runner/Makefile
index b2af6502db2c..e5a285bb1720 100644
--- a/devel/gitlab-runner/Makefile
+++ b/devel/gitlab-runner/Makefile
@@ -18,12 +18,13 @@ COMMENT= Official GitLab Runner written in Go
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go \
- go-bindata:devel/go-bindata
+BUILD_DEPENDS= go-bindata:devel/go-bindata
RUN_DEPENDS= ca_root_nss>=0:security/ca_root_nss \
bash:shells/bash \
git:devel/git
+USES= go
+
USE_GITLAB= yes
# Find tags here:
diff --git a/devel/gitlab-shell/Makefile b/devel/gitlab-shell/Makefile
index 0990e55f92d8..107cf6b91df1 100644
--- a/devel/gitlab-shell/Makefile
+++ b/devel/gitlab-shell/Makefile
@@ -10,8 +10,9 @@ COMMENT= GitLab Shell handles git commands for GitLab
LICENSE= MIT
-BUILD_DEPENDS= gem:devel/ruby-gems \
- go>=1.5.3:lang/go
+BUILD_DEPENDS= gem:devel/ruby-gems
+
+USES= go
USE_GITLAB= yes
GL_ACCOUNT= gitlab-org
diff --git a/devel/go-bindata/Makefile b/devel/go-bindata/Makefile
index 4e2bf641fd7a..a05a4ea5d465 100644
--- a/devel/go-bindata/Makefile
+++ b/devel/go-bindata/Makefile
@@ -8,7 +8,7 @@ CATEGORIES= devel
MAINTAINER= swills@FreeBSD.org
COMMENT= Generates Go code from any file
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= jteeuwen
diff --git a/devel/go-protobuf/Makefile b/devel/go-protobuf/Makefile
index c1621a8bff87..46ed20176425 100644
--- a/devel/go-protobuf/Makefile
+++ b/devel/go-protobuf/Makefile
@@ -14,7 +14,7 @@ COMMENT= Protocol Buffers for Go with Gadgets
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= gogo
diff --git a/devel/go-tools/Makefile b/devel/go-tools/Makefile
index f022394af0a8..e2534754c677 100644
--- a/devel/go-tools/Makefile
+++ b/devel/go-tools/Makefile
@@ -12,7 +12,7 @@ COMMENT= Go Tools
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_TUPLE= golang:tools:bfb5194:DEFAULT/src/golang.org/x/tools \
diff --git a/devel/gogs/Makefile b/devel/gogs/Makefile
index 53c8dd883436..6fa07a90e6ec 100644
--- a/devel/gogs/Makefile
+++ b/devel/gogs/Makefile
@@ -11,10 +11,11 @@ COMMENT= Painless self-hosted Git service
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
RUN_DEPENDS= git:devel/git \
bash:shells/bash
+USES= go
+
USE_GITHUB= yes
GH_ACCOUNT= gogs
GH_SUBDIR= src/github.com/${GH_ACCOUNT}/${PORTNAME}
diff --git a/devel/goprotobuf/Makefile b/devel/goprotobuf/Makefile
index e63c2f93cff5..98b19808a0e4 100644
--- a/devel/goprotobuf/Makefile
+++ b/devel/goprotobuf/Makefile
@@ -13,9 +13,10 @@ COMMENT= Go support for Google's protocol buffers
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
RUN_DEPENDS= protoc:devel/protobuf
+USES= go
+
USE_GITHUB= yes
GH_ACCOUNT= golang
GH_PROJECT= protobuf
diff --git a/devel/gpm/Makefile b/devel/gpm/Makefile
index ebc542190a75..d98cd4c3abda 100644
--- a/devel/gpm/Makefile
+++ b/devel/gpm/Makefile
@@ -12,8 +12,9 @@ COMMENT= Go Package Manager
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= bash:shells/bash \
- go:lang/go
+RUN_DEPENDS= bash:shells/bash
+
+USES= go:run
USE_GITHUB= yes
GH_ACCOUNT= pote
diff --git a/devel/grpc/Makefile b/devel/grpc/Makefile
index abe320a833a5..e710e0effd5b 100644
--- a/devel/grpc/Makefile
+++ b/devel/grpc/Makefile
@@ -13,13 +13,13 @@ COMMENT= HTTP/2-based RPC framework
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go \
- yasm:devel/yasm
+BUILD_DEPENDS= yasm:devel/yasm
LIB_DEPENDS= libgflags.so:devel/gflags \
libprotobuf.so:devel/protobuf \
libcares.so:dns/c-ares
-USES= cmake localbase:ldflags perl5 pkgconfig ssl
+USES= cmake go:no_targets localbase:ldflags perl5 pkgconfig ssl
+
USE_GITHUB= yes
GH_TUPLE= google:benchmark:v1.4.1:benchmark/third_party/benchmark
USE_LDCONFIG= yes
diff --git a/devel/grumpy/Makefile b/devel/grumpy/Makefile
index 8a28e4568505..fa538d6e8cee 100644
--- a/devel/grumpy/Makefile
+++ b/devel/grumpy/Makefile
@@ -9,14 +9,11 @@ COMMENT= Python to Go source code transcompiler and runtime
BROKEN_i386= constant 2147762812 overflows int
-BUILD_DEPENDS= go:lang/go
-RUN_DEPENDS:= ${BUILD_DEPENDS}
-
USE_GITHUB= yes
GH_ACCOUNT= google
GH_TAGNAME= 3ec8795
-USES= gmake python:2.7 shebangfix
+USES= gmake go:no_targets,run python:2.7 shebangfix
SHEBANG_FILES= tools/benchcmp tools/coverparse tools/diffrange tools/grumpc
BINARY_ALIAS= python=${PYTHON_CMD}
diff --git a/devel/grv/Makefile b/devel/grv/Makefile
index d10d3581a827..d44cfe712a6d 100644
--- a/devel/grv/Makefile
+++ b/devel/grv/Makefile
@@ -12,10 +12,9 @@ COMMENT= Terminal interface for viewing git repositories
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
LIB_DEPENDS= libgit2.so:devel/libgit2
-USES= ncurses pkgconfig readline:port
+USES= go ncurses pkgconfig readline:port
USE_GITHUB= yes
GH_ACCOUNT= rgburke
GH_SUBDIR= src/github.com/rgburke/grv
diff --git a/devel/gvp/Makefile b/devel/gvp/Makefile
index 7efd077e3ae9..7d264579e8a4 100644
--- a/devel/gvp/Makefile
+++ b/devel/gvp/Makefile
@@ -12,10 +12,9 @@ COMMENT= Go Versioning Manager
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENCE
-RUN_DEPENDS= bash:shells/bash \
- go:lang/go
+RUN_DEPENDS= bash:shells/bash
-USES= shebangfix
+USES= go:run shebangfix
SHEBANG_FILES= bin/gvp
diff --git a/devel/jiri/Makefile b/devel/jiri/Makefile
index 715c53f06fdb..f979410400f7 100644
--- a/devel/jiri/Makefile
+++ b/devel/jiri/Makefile
@@ -13,11 +13,12 @@ COMMENT= Tool for multi-repo development
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/go/src/fuchsia.googlesource.com/jiri/LICENSE
-BUILD_DEPENDS= go:lang/go \
- cmake:devel/cmake \
+BUILD_DEPENDS= cmake:devel/cmake \
ninja:devel/ninja
RUN_DEPENDS= git:devel/git
+USES= go
+
GITHASH= 56b2a541f92f3bd9d28b29e1cbcb16f96d6bc6c1
TIMESTAMP= 2019-01-03T00:00:00.000000
EXTRACT_AFTER_ARGS= -s "!^!${DISTNAME}/go/src/fuchsia.googlesource.com/jiri/!"
@@ -28,7 +29,7 @@ pre-extract:
do-build:
cd ${WRKSRC}/go/src/fuchsia.googlesource.com/jiri && \
- ${SETENV} GOPATH=${WRKSRC}/go \
+ ${SETENV} ${MAKE_ENV} ${GO_ENV} GOPATH=${WRKSRC}/go \
go build -ldflags "-s -w -X \"fuchsia.googlesource.com/jiri/version.GitCommit=${GITHASH}\" -X \"fuchsia.googlesource.com/jiri/version.BuildTime=${TIMESTAMP}\"" -a -o jiri fuchsia.googlesource.com/jiri/cmd/jiri
do-install:
diff --git a/devel/lab/Makefile b/devel/lab/Makefile
index 7a248def66b9..42165b063762 100644
--- a/devel/lab/Makefile
+++ b/devel/lab/Makefile
@@ -11,7 +11,7 @@ COMMENT= Lab makes it simple to work with repositories on GitLab
LICENSE= UNLICENSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go>=1.10,1:lang/go
+USES= go
OPTIONS_DEFINE= GIT_SUBVERSION
diff --git a/devel/liteide/Makefile b/devel/liteide/Makefile
index 13d3acae9216..df570ccd719b 100644
--- a/devel/liteide/Makefile
+++ b/devel/liteide/Makefile
@@ -11,10 +11,7 @@ COMMENT= Simple, open source, cross-platform Go IDE
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/LICENSE.LGPL
-BUILD_DEPENDS= go:lang/go
-RUN_DEPENDS= go:lang/go
-
-USES= gl qmake qt:5
+USES= gl go:no_targets,run qmake qt:5
USE_GL= gl
USE_LDCONFIG= ${PREFIX}/lib/${PORTNAME}
USE_QT= buildtools_build core gui network printsupport widgets xml
diff --git a/devel/loccount/Makefile b/devel/loccount/Makefile
index 70523b79fbb9..fb68ddfebc73 100644
--- a/devel/loccount/Makefile
+++ b/devel/loccount/Makefile
@@ -10,7 +10,7 @@ COMMENT= Count source lines of code in a project
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITLAB= yes
GL_ACCOUNT= esr
diff --git a/devel/mage/Makefile b/devel/mage/Makefile
index 4c475c53c9e7..30e9f5eeb267 100644
--- a/devel/mage/Makefile
+++ b/devel/mage/Makefile
@@ -11,7 +11,7 @@ COMMENT= Command-line make-like build tool using Go as input files
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= magefile
diff --git a/devel/pprof/Makefile b/devel/pprof/Makefile
index 99453edd6b92..3153b8c17188 100644
--- a/devel/pprof/Makefile
+++ b/devel/pprof/Makefile
@@ -10,7 +10,7 @@ COMMENT= Tool for visualization and analysis of profiling data
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= google
diff --git a/dns/amass/Makefile b/dns/amass/Makefile
index 217a9884c8c4..26191fb076d8 100644
--- a/dns/amass/Makefile
+++ b/dns/amass/Makefile
@@ -10,7 +10,7 @@ COMMENT= In-depth DNS enumeration
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${GH_PROJECT}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= nodefault # main code is in GH_TUPLE, otherwise build fails with circular dependency errors
GH_ACCOUNT= OWASP
diff --git a/dns/knot-resolver/Makefile b/dns/knot-resolver/Makefile
index e6a1ea119a18..dacb89754c2d 100644
--- a/dns/knot-resolver/Makefile
+++ b/dns/knot-resolver/Makefile
@@ -64,7 +64,7 @@ DOXYGEN_MAKE_ARGS= HAS_doxygen=yes
DOXYGEN_MAKE_ARGS_OFF= HAS_doxygen=no
GO_DESC= go
-GO_BUILD_DEPENDS= go>=1.5:lang/go
+GO_USES= go:no_targets
GO_MAKE_ARGS= HAS_go=yes
GO_MAKE_ARGS_OFF= HAS_go=no
diff --git a/editors/micro/Makefile b/editors/micro/Makefile
index e839fa38ead7..7b4f71e01f44 100644
--- a/editors/micro/Makefile
+++ b/editors/micro/Makefile
@@ -11,7 +11,7 @@ COMMENT= Modern and intuitive terminal-based text editor
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= zyedidia
diff --git a/finance/fixc/Makefile b/finance/fixc/Makefile
index 2989628ce367..496484f8d04c 100644
--- a/finance/fixc/Makefile
+++ b/finance/fixc/Makefile
@@ -8,7 +8,7 @@ CATEGORIES= finance
MAINTAINER= blttll@gmail.com
COMMENT= Simple Financial Information eXchange (FIX) protocol console client
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
+USES= go
PLIST_FILES= bin/fixc
USE_GITHUB= yes
diff --git a/misc/cryptoballot/Makefile b/misc/cryptoballot/Makefile
index 6ea459da7442..9390aa1fbb39 100644
--- a/misc/cryptoballot/Makefile
+++ b/misc/cryptoballot/Makefile
@@ -9,7 +9,7 @@ COMMENT= Cryptographically secure online voting
LICENSE= AGPLv3
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_TAGNAME= 3753e1b
diff --git a/misc/exercism/Makefile b/misc/exercism/Makefile
index f2dcc3fdd311..b24a32347f81 100644
--- a/misc/exercism/Makefile
+++ b/misc/exercism/Makefile
@@ -11,7 +11,7 @@ COMMENT= CLI client for exercism.io
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
+USES= go
USE_GITHUB= yes
diff --git a/net-im/coyim/Makefile b/net-im/coyim/Makefile
index 4e9a3576223b..56b31226619e 100644
--- a/net-im/coyim/Makefile
+++ b/net-im/coyim/Makefile
@@ -12,11 +12,10 @@ COMMENT= Safe and secure by default chat client
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
-USES= gnome pkgconfig shebangfix
+USES= gnome go pkgconfig shebangfix
USE_GNOME= atk cairo gdkpixbuf2 glib20 gtk30 pango
diff --git a/net-im/matterbridge/Makefile b/net-im/matterbridge/Makefile
index 0c736f01b248..8045b48ec021 100644
--- a/net-im/matterbridge/Makefile
+++ b/net-im/matterbridge/Makefile
@@ -11,7 +11,7 @@ COMMENT= Chat network bridge
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= 42wim
diff --git a/net-im/matterircd/Makefile b/net-im/matterircd/Makefile
index 49ea127fe582..3e6faec961f1 100644
--- a/net-im/matterircd/Makefile
+++ b/net-im/matterircd/Makefile
@@ -13,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64 armv6 armv7 i386
-BUILD_DEPENDS= go>=1.8:lang/go
+USES= go
USE_RC_SUBR= matterircd
diff --git a/net-im/slack-term/Makefile b/net-im/slack-term/Makefile
index 7e55aeeb1c08..73cb06842f72 100644
--- a/net-im/slack-term/Makefile
+++ b/net-im/slack-term/Makefile
@@ -11,7 +11,7 @@ COMMENT= Slack client for your terminal
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= erroneousboat
diff --git a/net-im/ssh-chat/Makefile b/net-im/ssh-chat/Makefile
index 63be2659dfba..735ac4bf849a 100644
--- a/net-im/ssh-chat/Makefile
+++ b/net-im/ssh-chat/Makefile
@@ -12,7 +12,7 @@ COMMENT= Chat over SSH
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${PORTNAME}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= nodefault # the main code is in GH_TUPLE
GH_ACCOUNT= shazow
diff --git a/net-im/xmpp-client/Makefile b/net-im/xmpp-client/Makefile
index 25db2dc28020..7c80834ae5f6 100644
--- a/net-im/xmpp-client/Makefile
+++ b/net-im/xmpp-client/Makefile
@@ -11,7 +11,7 @@ COMMENT= XMPP client with OTR support
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_TUPLE= agl:xmpp-client:3030ad4:DEFAULT/src/github.com/agl/xmpp-client \
diff --git a/net-mgmt/carbon-relay-ng/Makefile b/net-mgmt/carbon-relay-ng/Makefile
index c3565180f1a0..18f10b442b5c 100644
--- a/net-mgmt/carbon-relay-ng/Makefile
+++ b/net-mgmt/carbon-relay-ng/Makefile
@@ -10,10 +10,9 @@ COMMENT= Go implementation of carbonapi
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go>=1.8:lang/go \
- go-bindata:devel/go-bindata
+BUILD_DEPENDS= go-bindata:devel/go-bindata
-USES= gmake
+USES= gmake go
USE_GITHUB= yes
GH_ACCOUNT= graphite-ng
diff --git a/net-mgmt/carbonzipper/Makefile b/net-mgmt/carbonzipper/Makefile
index b07604874433..e4b6f6c2a284 100644
--- a/net-mgmt/carbonzipper/Makefile
+++ b/net-mgmt/carbonzipper/Makefile
@@ -10,8 +10,6 @@ COMMENT= Proxy between carbonapi and go-carbon
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go>=1.8:lang/go
-
USES= go
USE_GITHUB= yes
diff --git a/net-mgmt/intel-snap/Makefile b/net-mgmt/intel-snap/Makefile
index a2d2dfaa3435..0abdccdd713b 100644
--- a/net-mgmt/intel-snap/Makefile
+++ b/net-mgmt/intel-snap/Makefile
@@ -10,7 +10,7 @@ COMMENT= Intels open telemetry framework
#LICENSE= APACHE2
-BUILD_DEPENDS= go>=1.5:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= stdale
diff --git a/net-mgmt/kapacitor/Makefile b/net-mgmt/kapacitor/Makefile
index 0b52f4fe7e53..d03422ca45d7 100644
--- a/net-mgmt/kapacitor/Makefile
+++ b/net-mgmt/kapacitor/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64 armv6 armv7 i386
-BUILD_DEPENDS= go>=1.6.0:lang/go
+USES= go
USE_RC_SUBR= kapacitord
diff --git a/net-mgmt/telegraf/Makefile b/net-mgmt/telegraf/Makefile
index e67457ef4f03..64cb5c9ae25a 100644
--- a/net-mgmt/telegraf/Makefile
+++ b/net-mgmt/telegraf/Makefile
@@ -12,7 +12,7 @@ LICENSE= MIT
ONLY_FOR_ARCHS= amd64 i386 armv6 armv7
-BUILD_DEPENDS= go>=1.9:lang/go
+USES= go
USE_RC_SUBR= telegraf
diff --git a/net-p2p/go-ethereum/Makefile b/net-p2p/go-ethereum/Makefile
index ac7259afb6cb..2f744ee76a16 100644
--- a/net-p2p/go-ethereum/Makefile
+++ b/net-p2p/go-ethereum/Makefile
@@ -11,7 +11,7 @@ COMMENT= Go implementation of the Ethereum y/w paper
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= go>=1.9.2:lang/go
+USES= go:no_targets
USE_GITHUB= yes
GH_ACCOUNT= ethereum
diff --git a/net/clash/Makefile b/net/clash/Makefile
index ed01433346e9..21e842f3d160 100644
--- a/net/clash/Makefile
+++ b/net/clash/Makefile
@@ -11,7 +11,7 @@ COMMENT= Rule-based tunnel in Go
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= Dreamacro
diff --git a/net/geoipupdate/Makefile b/net/geoipupdate/Makefile
index 46df1589852a..9606aaff222d 100644
--- a/net/geoipupdate/Makefile
+++ b/net/geoipupdate/Makefile
@@ -14,10 +14,9 @@ LICENSE_COMB= dual
LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE
LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT
-BUILD_DEPENDS= go:lang/go
RUN_DEPENDS= ca_root_nss>=3:security/ca_root_nss
-USES= gmake
+USES= gmake go:no_targets
USE_GITHUB= yes
GH_ACCOUNT= maxmind
diff --git a/net/goreplay/Makefile b/net/goreplay/Makefile
index afc9a20697ae..af73aecaa7f7 100644
--- a/net/goreplay/Makefile
+++ b/net/goreplay/Makefile
@@ -11,7 +11,7 @@ COMMENT= Tool for capturing and replaying live HTTP traffic
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= buger
diff --git a/net/grpcurl/Makefile b/net/grpcurl/Makefile
index 73dbbc4f38ac..4e6da22d8f64 100644
--- a/net/grpcurl/Makefile
+++ b/net/grpcurl/Makefile
@@ -11,7 +11,7 @@ COMMENT= Command-line tool that lets you interact with gRPC servers
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= fullstorydev
diff --git a/net/nncp/Makefile b/net/nncp/Makefile
index 2820cfc59284..f02237f39518 100644
--- a/net/nncp/Makefile
+++ b/net/nncp/Makefile
@@ -11,9 +11,7 @@ COMMENT= Utilities for secure store-and-forward files, mail, command exchanging
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= go:lang/go
-
-USES= tar:xz
+USES= go:no_targets tar:xz
MAKEFILE= BSDmakefile
USE_RC_SUBR= nncp-caller nncp-daemon nncp-toss
INSTALL_TARGET= install-strip
diff --git a/net/nsq/Makefile b/net/nsq/Makefile
index 59954a5af148..32c4a969bed0 100644
--- a/net/nsq/Makefile
+++ b/net/nsq/Makefile
@@ -12,8 +12,6 @@ LICENSE= MIT
ONLY_FOR_ARCHS= amd64
-BUILD_DEPENDS= go>=1.7:lang/go
-
USES= compiler go
USE_RC_SUBR= nsqd nsqlookupd nsqadmin
diff --git a/net/syncthing/Makefile b/net/syncthing/Makefile
index d502cb645595..246f91ba71d8 100644
--- a/net/syncthing/Makefile
+++ b/net/syncthing/Makefile
@@ -13,7 +13,7 @@ COMMENT= Encrypted file sync tool
LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/${PORTNAME}/LICENSE
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
+USES= go
USE_RC_SUBR= syncthing syncthing-discosrv syncthing-relaysrv syncthing-relaypoolsrv
diff --git a/net/wireguard-go/Makefile b/net/wireguard-go/Makefile
index 7317d2ace419..76fc282edd6d 100644
--- a/net/wireguard-go/Makefile
+++ b/net/wireguard-go/Makefile
@@ -12,16 +12,14 @@ COMMENT= WireGuard implementation in Go
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= go:lang/go
-
-USES= gmake tar:xz
+USES= gmake go:modules,no_targets tar:xz
USE_GITHUB= nodefault
GH_TUPLE= golang:crypto:b7391e95e576:crypto/vendor/golang.org/x/crypto \
golang:net:1272bf9dcd53:net/vendor/golang.org/x/net \
golang:sys:f7bb7a8bee54:sys/vendor/golang.org/x/sys
-MAKE_ENV+= GOFLAGS=-mod=vendor
+MAKE_ENV+= GOFLAGS="${GO_BUILDFLAGS}"
PLIST_FILES= bin/${PORTNAME}
diff --git a/print/cloud-print-connector/Makefile b/print/cloud-print-connector/Makefile
index 51fdf13b8bdc..dd48e93e511e 100644
--- a/print/cloud-print-connector/Makefile
+++ b/print/cloud-print-connector/Makefile
@@ -2,6 +2,7 @@
PORTNAME= cloud-print-connector
PORTVERSION= 1.16
+DISTVERSIONPREFIX= v
PORTREVISION= 1
CATEGORIES= print
@@ -11,55 +12,33 @@ COMMENT= Share CUPS printers via Google Cloud Print
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
-
LIB_DEPENDS= libcups.so:print/cups \
libavahi-client.so:net/avahi-app \
libavahi-common.so:net/avahi-app
-USES= compiler pkgconfig
+USES= compiler go pkgconfig
USE_GITHUB= yes
+GH_ACCOUNT= google
+GH_SUBDIR= src/github.com/google/cloud-print-connector
+GH_TUPLE= urfave:cli:8e01ec4:cli/vendor/github.com/urfave/cli \
+ satori:go.uuid:36e9d2e:gouuid/vendor/github.com/satori/go.uuid \
+ coreos:go-systemd:88bfeed:gosystemd/vendor/github.com/coreos/go-systemd \
+ golang:oauth2:ef14785:oauth2/vendor/golang.org/x/oauth2 \
+ golang:net:039a425:net/vendor/golang.org/x/net \
+ mildred:go-xdg:96b70c9:xdg/vendor/launchpad.net/go-xdg/v0
USE_RC_SUBR= gcp-cups-connectord
-GH_TUPLE= google:cloud-print-connector:7d5f127:DEFAULT/src/github.com/google/cloud-print-connector \
- urfave:cli:8e01ec4:cli/src/github.com/urfave/cli \
- satori:go.uuid:36e9d2e:gouuid/src/github.com/satori/go.uuid \
- coreos:go-systemd:88bfeed:gosystemd/src/github.com/coreos/go-systemd \
- golang:oauth2:ef14785:oauth2/src/golang.org/x/oauth2 \
- golang:net:039a425:net/src/golang.org/x/net \
- mildred:go-xdg:96b70c9:xdg/src/launchpad.net/go-xdg/v0
-BIN_FILES= gcp-connector-util gcp-cups-connector
-PLIST_FILES= ${BIN_FILES:S/^/bin\//}
+GO_TARGET= ./gcp-connector-util ./gcp-cups-connector
+PLIST_FILES= ${GO_TARGET:S/./bin/}
OPTIONS_DEFINE= DOCS
PORTDOCS= CONTRIBUTING.md README.md
-do-build:
-.for bin in ${BIN_FILES}
- @cd ${WRKSRC}/src/github.com/google/cloud-print-connector; ${SETENV} \
- ${MAKE_ENV} ${BUILD_ENV} GOPATH=${WRKSRC} go build -o \
- ${WRKSRC}/bin/${bin} ./${bin}
-.endfor
-
-do-install:
-.for bin in ${BIN_FILES}
- ${INSTALL_PROGRAM} ${WRKSRC}/bin/${bin} \
- ${STAGEDIR}${PREFIX}/bin/${bin}
-.endfor
-
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
.for doc in ${PORTDOCS}
${CP} ${WRKSRC}/${doc} ${STAGEDIR}${DOCSDIR}
.endfor
-.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 may fail
-.if ${COMPILER_TYPE} == clang
-BUILD_ENV= CC=clang
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/print/cloud-print-connector/distinfo b/print/cloud-print-connector/distinfo
index c28f3b6de34c..5ebe00cbb60b 100644
--- a/print/cloud-print-connector/distinfo
+++ b/print/cloud-print-connector/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1531335199
-SHA256 (google-cloud-print-connector-1.16-7d5f127_GH0.tar.gz) = abd89462880284d8c8d42b6ddd7bf2517881f21ad62619124715c7b4f230ab02
-SIZE (google-cloud-print-connector-1.16-7d5f127_GH0.tar.gz) = 122101
+TIMESTAMP = 1561470998
+SHA256 (google-cloud-print-connector-v1.16_GH0.tar.gz) = e7ef1dbc9e326c59a08fea1a37b62d2e689d2a1aed8c717969be89055c4996c8
+SIZE (google-cloud-print-connector-v1.16_GH0.tar.gz) = 122106
SHA256 (urfave-cli-8e01ec4_GH0.tar.gz) = d8654573173cef6b639f00884c146bdb7f9130817e0b2d3f44d86d701428a63d
SIZE (urfave-cli-8e01ec4_GH0.tar.gz) = 64657
SHA256 (satori-go.uuid-36e9d2e_GH0.tar.gz) = aa54b317ac4122e7a4db33f84bac64fa9079637f4fd0517206c06d1aa1341b2d
diff --git a/science/molgif/Makefile b/science/molgif/Makefile
index 7ae074f06d82..7f2ac884874f 100644
--- a/science/molgif/Makefile
+++ b/science/molgif/Makefile
@@ -10,7 +10,7 @@ COMMENT= Tool to create GIF animations of molecules
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= ilyak
diff --git a/security/2fa/Makefile b/security/2fa/Makefile
index 41fe5c0976c6..f6bf6fab7213 100644
--- a/security/2fa/Makefile
+++ b/security/2fa/Makefile
@@ -11,7 +11,7 @@ COMMENT= Two-factor authentication on the command line
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= rsc
diff --git a/security/acmetool/Makefile b/security/acmetool/Makefile
index 28ff24c9fa6c..f7812562d00f 100644
--- a/security/acmetool/Makefile
+++ b/security/acmetool/Makefile
@@ -10,7 +10,7 @@ COMMENT= CLI tool for automatically acquiring certificates from ACME servers
LICENSE= MIT
-BUILD_DEPENDS= go>=1.8:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= hlandau
diff --git a/security/boringssl/Makefile b/security/boringssl/Makefile
index 2ebaa7a3e9ac..f7fe460d1847 100644
--- a/security/boringssl/Makefile
+++ b/security/boringssl/Makefile
@@ -7,12 +7,10 @@ CATEGORIES= security
MAINTAINER= swills@FreeBSD.org
COMMENT= Fork of OpenSSL
-BUILD_DEPENDS= go:lang/go
-
USE_GITHUB= yes
GH_ACCOUNT= google
GH_TAGNAME= 144d924
-USES= cmake:insource localbase perl5
+USES= cmake:insource go:no_targets localbase perl5
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1
USE_LDCONFIG= yes
LDFLAGS+= -Wl,-rpath,${PREFIX}/lib
diff --git a/security/govpn/Makefile b/security/govpn/Makefile
index 2f028502c1e9..ac685cb6d795 100644
--- a/security/govpn/Makefile
+++ b/security/govpn/Makefile
@@ -13,9 +13,7 @@ COMMENT= Simple secure, DPI-resistant VPN daemon
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= go:lang/go
-
-USES= tar:xz
+USES= go:no_targets tar:xz
MAKEFILE= BSDmakefile
PORTDOCS= AUTHORS INSTALL NEWS NEWS.RU README README.RU THANKS
diff --git a/security/honeybadger/Makefile b/security/honeybadger/Makefile
index 37054518ab78..9d01aacb7898 100644
--- a/security/honeybadger/Makefile
+++ b/security/honeybadger/Makefile
@@ -9,7 +9,7 @@ COMMENT= Quantum Insert detector and 0-day catcher
BROKEN= fails to build
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_TUPLE= david415:HoneyBadger:11dc0ca:DEFAULT/src/github.com/david415/HoneyBadger \
diff --git a/security/meek/Makefile b/security/meek/Makefile
index 67df00981de7..347f2634ec66 100644
--- a/security/meek/Makefile
+++ b/security/meek/Makefile
@@ -14,7 +14,7 @@ COMMENT= Pluggable transport proxy that relays through third-party server
LICENSE= CC0-1.0
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= nodefault
GH_TUPLE= golang:crypto:c126467:crypto/src/golang.org/x/crypto \
diff --git a/security/onionscan/Makefile b/security/onionscan/Makefile
index 8996787b319e..8fc3b2382bbd 100644
--- a/security/onionscan/Makefile
+++ b/security/onionscan/Makefile
@@ -11,8 +11,6 @@ COMMENT= Free and open source tool for investigating Onion Services
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
-
USES= go
USE_GITHUB= yes
diff --git a/security/teleport/Makefile b/security/teleport/Makefile
index e6bdd4ce2fdb..6ba534f53aa1 100644
--- a/security/teleport/Makefile
+++ b/security/teleport/Makefile
@@ -13,10 +13,9 @@ LICENSE= APACHE20
NOT_FOR_ARCHS= i386
NOT_FOR_ARCHS_REASON= Uses 64bit types
-BUILD_DEPENDS= go:lang/go \
- zip:archivers/zip
+BUILD_DEPENDS= zip:archivers/zip
-USES= compiler gmake
+USES= compiler gmake go
USE_GITHUB= yes
GH_ACCOUNT= gravitational
diff --git a/security/vault/Makefile b/security/vault/Makefile
index 20c9efae016e..d06eb840f1d5 100644
--- a/security/vault/Makefile
+++ b/security/vault/Makefile
@@ -12,7 +12,7 @@ COMMENT= Tool for securely accessing secrets
LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go>=1.9:lang/go
+USES= go
USE_GITHUB= yes
GH_TUPLE= hashicorp:${PORTNAME}:${VAULTTAG}:DEFAULT/src/github.com/hashicorp/${PORTNAME} \
diff --git a/sysutils/amazon-ssm-agent/Makefile b/sysutils/amazon-ssm-agent/Makefile
index 730cc559a971..7395eaaee04d 100644
--- a/sysutils/amazon-ssm-agent/Makefile
+++ b/sysutils/amazon-ssm-agent/Makefile
@@ -10,9 +10,10 @@ COMMENT= Amazon Simple Systems Manager Agent
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
+USES= go
+
USE_GITHUB= yes
GH_ACCOUNT= aws
GH_SUBDIR= src/github.com/aws/amazon-ssm-agent
diff --git a/sysutils/circonus-agent/Makefile b/sysutils/circonus-agent/Makefile
index effcddc9e8b8..d9d28db8aa67 100644
--- a/sysutils/circonus-agent/Makefile
+++ b/sysutils/circonus-agent/Makefile
@@ -11,7 +11,7 @@ COMMENT= Circonus host agent for metric collection
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go>=1.10:lang/go
+USES= go
USE_GITHUB= yes
diff --git a/sysutils/consul-alerts/Makefile b/sysutils/consul-alerts/Makefile
index 03a6ccf04a7a..7d82e534f8bd 100644
--- a/sysutils/consul-alerts/Makefile
+++ b/sysutils/consul-alerts/Makefile
@@ -10,8 +10,6 @@ COMMENT= Simple daemon to send notifications based on Consul health checks
LICENSE= GPLv2+
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
-
USES= compiler go
USE_GITHUB= yes
diff --git a/sysutils/consul-replicate/Makefile b/sysutils/consul-replicate/Makefile
index 3cd17457c76f..e8a7e549c2b1 100644
--- a/sysutils/consul-replicate/Makefile
+++ b/sysutils/consul-replicate/Makefile
@@ -11,9 +11,7 @@ COMMENT= Consul cross-DC KV replication daemon
LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
-
-USES= compiler
+USES= compiler go
USE_GITHUB= yes
GH_ACCOUNT= hashicorp
diff --git a/sysutils/consul/Makefile b/sysutils/consul/Makefile
index ba3d3b6e85be..4b014e40bc43 100644
--- a/sysutils/consul/Makefile
+++ b/sysutils/consul/Makefile
@@ -10,9 +10,7 @@ COMMENT= Service discovery and configuration made easy
LICENSE= MPL20
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
-
-USES= compiler
+USES= compiler go
USE_GITHUB= yes
GH_ACCOUNT= hashicorp
diff --git a/sysutils/consul_exporter/Makefile b/sysutils/consul_exporter/Makefile
index 72f75bf23276..fdc9c6ba6c35 100644
--- a/sysutils/consul_exporter/Makefile
+++ b/sysutils/consul_exporter/Makefile
@@ -10,9 +10,7 @@ COMMENT= Exporter for Consul metrics
LICENSE= APACHE20
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
-
-USES= compiler
+USES= compiler go
USE_GITHUB= yes
GH_ACCOUNT= prometheus
diff --git a/sysutils/direnv/Makefile b/sysutils/direnv/Makefile
index 1da884c526e8..ae87834e3897 100644
--- a/sysutils/direnv/Makefile
+++ b/sysutils/direnv/Makefile
@@ -11,10 +11,9 @@ COMMENT= Environment variable manager for your shell
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.md
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go \
- bash:shells/bash
+BUILD_DEPENDS= bash:shells/bash
-USES= gmake
+USES= gmake go:no_targets
USE_GITHUB= yes
GH_ACCOUNT= direnv
diff --git a/sysutils/docker-freebsd/Makefile b/sysutils/docker-freebsd/Makefile
index a0a35da9ad2b..931776c75f22 100644
--- a/sysutils/docker-freebsd/Makefile
+++ b/sysutils/docker-freebsd/Makefile
@@ -14,13 +14,13 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN= fails to build
-BUILD_DEPENDS= go>=1.4:lang/go \
- bash:shells/bash \
+BUILD_DEPENDS= bash:shells/bash \
sqlite3:databases/sqlite3
-RUN_DEPENDS= go>=1.4:lang/go \
- bash:shells/bash \
+RUN_DEPENDS= bash:shells/bash \
sqlite3:databases/sqlite3
+USES= go:run
+
USE_GITHUB= yes
GH_ACCOUNT= kvasdopil
GH_PROJECT= docker
diff --git a/sysutils/envconsul/Makefile b/sysutils/envconsul/Makefile
index 44174b604ed6..e8c5b59acbdc 100644
--- a/sysutils/envconsul/Makefile
+++ b/sysutils/envconsul/Makefile
@@ -11,7 +11,7 @@ COMMENT= Populate values from Consul into a process environment
LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= hashicorp
diff --git a/sysutils/epazote/Makefile b/sysutils/epazote/Makefile
index 92fbe45be234..c2a6cfa10258 100644
--- a/sysutils/epazote/Makefile
+++ b/sysutils/epazote/Makefile
@@ -10,9 +10,7 @@ COMMENT= Automated HTTP (microservices) supervisor
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go>=1.7:lang/go
-
-USES= compiler
+USES= compiler go
USE_GITHUB= yes
GH_TUPLE= epazote:scheduler:0.1.0:scheduler/src/github.com/epazote/scheduler \
diff --git a/sysutils/goawk/Makefile b/sysutils/goawk/Makefile
index fbce447aa123..214348535ab5 100644
--- a/sysutils/goawk/Makefile
+++ b/sysutils/goawk/Makefile
@@ -11,7 +11,7 @@ COMMENT= AWK interpreter written in Go
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${PORTNAME}/LICENSE.txt
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= nodefault # the main code is in GH_TUPLE
GH_ACCOUNT= benhoyt
diff --git a/sysutils/gomplate/Makefile b/sysutils/gomplate/Makefile
index 4278f1b3279c..014534f3546b 100644
--- a/sysutils/gomplate/Makefile
+++ b/sysutils/gomplate/Makefile
@@ -11,7 +11,7 @@ COMMENT= Command-line tool for rendering templates before executing binaries
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= hairyhenderson
diff --git a/sysutils/goss/Makefile b/sysutils/goss/Makefile
index 776e8cb1f1d4..64beb041c974 100644
--- a/sysutils/goss/Makefile
+++ b/sysutils/goss/Makefile
@@ -12,7 +12,7 @@ COMMENT= Quick and Easy server validation
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= go-ps only supports amd64
diff --git a/sysutils/gotop/Makefile b/sysutils/gotop/Makefile
index 55a0abaef996..5712f9765473 100644
--- a/sysutils/gotop/Makefile
+++ b/sysutils/gotop/Makefile
@@ -10,8 +10,6 @@ COMMENT= Terminal based graphical activity monitor inspired by gtop and vtop
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
-
USES= go
USE_GITHUB= yes
GH_ACCOUNT= cjbassi
diff --git a/sysutils/hfm/Makefile b/sysutils/hfm/Makefile
index c9aed005cf05..6c3e2ce0c370 100644
--- a/sysutils/hfm/Makefile
+++ b/sysutils/hfm/Makefile
@@ -13,11 +13,10 @@ LICENSE= BSD2CLAUSE
# gb 0.4 includes FreeBSD-specific fixes that this port requires
# https://github.com/constabulary/gb/issues/506
-BUILD_DEPENDS= go>=1.5:lang/go \
- gb>=0.4:devel/gb \
+BUILD_DEPENDS= gb>=0.4:devel/gb \
${LOCALBASE}/lib/libucl.a:textproc/libucl
-USES= compiler:c++11-lang
+USES= compiler:c++11-lang go:no_targets
USE_GITHUB= yes
GH_ACCOUNT= derekmarcotte
diff --git a/sysutils/log-courier/Makefile b/sysutils/log-courier/Makefile
index cf67f206b102..b3595f3e7b71 100644
--- a/sysutils/log-courier/Makefile
+++ b/sysutils/log-courier/Makefile
@@ -12,8 +12,6 @@ LICENSE= APACHE20
BROKEN= fails to build
-BUILD_DEPENDS= go:lang/go
-
USES= go gmake
USE_GITHUB= yes
GH_ACCOUNT= driskell
diff --git a/sysutils/logstash-forwarder/Makefile b/sysutils/logstash-forwarder/Makefile
index b941fae74439..6e69cdb07c6f 100644
--- a/sysutils/logstash-forwarder/Makefile
+++ b/sysutils/logstash-forwarder/Makefile
@@ -12,8 +12,6 @@ LICENSE= APACHE20
DEPRECATED= Migrate to sysutils/beats
-BUILD_DEPENDS= go:lang/go
-
USES= go
USE_GITHUB= yes
GH_ACCOUNT= elasticsearch
diff --git a/sysutils/nomad/Makefile b/sysutils/nomad/Makefile
index 5d742219675b..8dcb8e8f7c31 100644
--- a/sysutils/nomad/Makefile
+++ b/sysutils/nomad/Makefile
@@ -14,9 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= On i386: go compiler crashes: https://github.com/golang/go/issues/23763
-BUILD_DEPENDS= go:lang/go
-
-USES= compiler
+USES= compiler go
USE_GITHUB= yes
GH_ACCOUNT= hashicorp
GH_SUBDIR= src/github.com/hashicorp/nomad
diff --git a/sysutils/serf/Makefile b/sysutils/serf/Makefile
index b3f1e80b7e1c..85d37433251f 100644
--- a/sysutils/serf/Makefile
+++ b/sysutils/serf/Makefile
@@ -11,7 +11,7 @@ COMMENT= Service discovery and configuration made easy
LICENSE= MPL20
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
diff --git a/sysutils/sockaddr/Makefile b/sysutils/sockaddr/Makefile
index af3ec71b8b34..9e909d3a0ac9 100644
--- a/sysutils/sockaddr/Makefile
+++ b/sysutils/sockaddr/Makefile
@@ -10,7 +10,7 @@ COMMENT= Command line utility for querying IP information
LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_SUBDIR= src/github.com/hashicorp/go-sockaddr
diff --git a/textproc/consul-template/Makefile b/textproc/consul-template/Makefile
index 76ffebf5a482..7b23b155d6c7 100644
--- a/textproc/consul-template/Makefile
+++ b/textproc/consul-template/Makefile
@@ -11,7 +11,7 @@ COMMENT= Generic template rendering and notifications with Consul
LICENSE= MPL20
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= hashicorp
diff --git a/textproc/spiff/Makefile b/textproc/spiff/Makefile
index 6270ed1db370..019ec2512fa2 100644
--- a/textproc/spiff/Makefile
+++ b/textproc/spiff/Makefile
@@ -8,7 +8,7 @@ CATEGORIES= textproc
MAINTAINER= swills@FreeBSD.org
COMMENT= Declarative YAML templating system tuned for BOSH deployment manifests
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= cloudfoundry-incubator
diff --git a/www/carbonapi/Makefile b/www/carbonapi/Makefile
index 26b90d12ff98..12a51687467e 100644
--- a/www/carbonapi/Makefile
+++ b/www/carbonapi/Makefile
@@ -10,9 +10,7 @@ COMMENT= Go implementation of carbonapi
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go>=1.8:lang/go
-
-USES= gmake
+USES= gmake go
USE_GITHUB= yes
GH_ACCOUNT= go-graphite
diff --git a/www/gitlab-pages/Makefile b/www/gitlab-pages/Makefile
index f6c3294f1dc1..1492eb1f9285 100644
--- a/www/gitlab-pages/Makefile
+++ b/www/gitlab-pages/Makefile
@@ -10,7 +10,7 @@ COMMENT= Official GitLab Pages daemon
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITLAB= yes
GL_ACCOUNT= gitlab-org
diff --git a/www/gitlab-workhorse/Makefile b/www/gitlab-workhorse/Makefile
index 102b0ea12d5b..ace1667e5604 100644
--- a/www/gitlab-workhorse/Makefile
+++ b/www/gitlab-workhorse/Makefile
@@ -11,11 +11,10 @@ COMMENT= Smart reverse proxy for GitLab
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go>=1.8.0:lang/go \
- git>=2.16.2:devel/git
+BUILD_DEPENDS= git>=2.16.2:devel/git
RUN_DEPENDS= p5-Image-ExifTool>=0:graphics/p5-Image-ExifTool
-USES= gmake
+USES= gmake go:no_targets
USE_GITLAB= yes
GL_ACCOUNT= gitlab-org
diff --git a/www/go-appengine-sdk/Makefile b/www/go-appengine-sdk/Makefile
index c56b48800e0a..020c55fd3589 100644
--- a/www/go-appengine-sdk/Makefile
+++ b/www/go-appengine-sdk/Makefile
@@ -17,12 +17,11 @@ LICENSE_FILE_MIT= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64 i386
-BUILD_DEPENDS= go:lang/go
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>=${PYTHON_VER}:databases/py-sqlite3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pycrypto>=2.6:security/py-pycrypto@${PY_FLAVOR}
-USES= gettext python:2.7 shebangfix zip
+USES= gettext go python:2.7 shebangfix zip
SHEBANG_GLOB= *.py *.bash *.sh *.pl *.cgi goapp
WRKSRC= ${WRKDIR}/go_appengine
diff --git a/www/gobuffalo/Makefile b/www/gobuffalo/Makefile
index 012980e3dd7f..e86ee04fc71f 100644
--- a/www/gobuffalo/Makefile
+++ b/www/gobuffalo/Makefile
@@ -11,10 +11,9 @@ COMMENT= Go web development eco-system, designed to make the life easier
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= go:lang/go \
- git:devel/git
+RUN_DEPENDS= git:devel/git
-USES= go:modules
+USES= go:modules,run
GO_PKGNAME= github.com/gobuffalo/buffalo
GO_TARGET= ./buffalo
diff --git a/www/grafana2/Makefile b/www/grafana2/Makefile
index 6d01bcf8676f..3ab7a4e278e5 100644
--- a/www/grafana2/Makefile
+++ b/www/grafana2/Makefile
@@ -14,13 +14,11 @@ COMMENT= Dashboard and graph editor for Graphite, InfluxDB & OpenTSDB
LICENSE= APACHE20
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
-
ONLY_FOR_ARCHS= i386 amd64
USE_RC_SUBR= grafana2
-USES= compiler
+USES= compiler go
USE_GITHUB= yes
GH_SUBDIR= src/github.com/${PORTNAME}/${PORTNAME}
diff --git a/www/grafana3/Makefile b/www/grafana3/Makefile
index 10a688de3fdc..3c478158e5cc 100644
--- a/www/grafana3/Makefile
+++ b/www/grafana3/Makefile
@@ -12,8 +12,6 @@ COMMENT= Dashboard and graph editor for Graphite, InfluxDB & OpenTSDB
LICENSE= APACHE20
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
-
RUN_DEPENDS= ${LOCALBASE}/bin/phantomjs:lang/phantomjs \
webfonts>=0:x11-fonts/webfonts
@@ -21,7 +19,7 @@ ONLY_FOR_ARCHS= i386 amd64
USE_RC_SUBR= grafana3
-USES= compiler
+USES= compiler go
USE_GITHUB= yes
diff --git a/www/grafana4/Makefile b/www/grafana4/Makefile
index 9fc812b84e34..6abaf0238108 100644
--- a/www/grafana4/Makefile
+++ b/www/grafana4/Makefile
@@ -14,13 +14,11 @@ COMMENT= Dashboard and graph editor for Graphite, InfluxDB & OpenTSDB
LICENSE= APACHE20
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
-
ONLY_FOR_ARCHS= i386 amd64
USE_RC_SUBR= grafana
-USES= compiler
+USES= compiler go
USE_GITHUB= yes
GH_SUBDIR= src/github.com/${PORTNAME}/${PORTNAME}
diff --git a/www/grafana5/Makefile b/www/grafana5/Makefile
index 20f06d3a6ea3..073028aa4372 100644
--- a/www/grafana5/Makefile
+++ b/www/grafana5/Makefile
@@ -17,9 +17,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md
ONLY_FOR_ARCHS= amd64 i386
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
-
-USES= compiler
+USES= compiler go
USE_RC_SUBR= grafana
USE_GITHUB= yes
diff --git a/www/grafana6/Makefile b/www/grafana6/Makefile
index 7573b4b9bd42..4df0c2a0554c 100644
--- a/www/grafana6/Makefile
+++ b/www/grafana6/Makefile
@@ -17,9 +17,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64 i386
-BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
-
-USES= compiler
+USES= compiler go
USE_RC_SUBR= grafana
USE_GITHUB= yes
diff --git a/www/kurly/Makefile b/www/kurly/Makefile
index 7a6f03b9f986..eb64587951fc 100644
--- a/www/kurly/Makefile
+++ b/www/kurly/Makefile
@@ -11,7 +11,7 @@ COMMENT= Alternative implementation of curl written in Golang
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC_kurly}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITLAB= nodefault
GL_TUPLE= davidjpeacock:kurly:369c1998dfbfca7043f8c995c8ef8714496530ea:kurly/src/gitlab.com/davidjpeacock/kurly
diff --git a/www/mattermost-server/Makefile b/www/mattermost-server/Makefile
index 76e34cb47fb3..d0e96fb35513 100644
--- a/www/mattermost-server/Makefile
+++ b/www/mattermost-server/Makefile
@@ -13,10 +13,11 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
ONLY_FOR_ARCHS= amd64 armv6 armv7 i386
-BUILD_DEPENDS= go>=1.8.1:lang/go
RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss \
mattermost-webapp>=${PORTVERSION}:www/mattermost-webapp
+USES= go
+
GO_LDFLAGS= -X github.com/mattermost/mattermost-server/model.BuildNumber=${PORTVERSION}
USE_RC_SUBR= mattermostd
diff --git a/www/minio-client/Makefile b/www/minio-client/Makefile
index 8a464026b402..d37568896626 100644
--- a/www/minio-client/Makefile
+++ b/www/minio-client/Makefile
@@ -9,8 +9,9 @@ COMMENT= Replacement for ls, cp, mkdir, diff and rsync commands for filesystems
LICENSE= APACHE20
-BUILD_DEPENDS= go>=1.9.4:lang/go \
- bash:shells/bash
+BUILD_DEPENDS= bash:shells/bash
+
+USES= go
OPTIONS_DEFINE= MC
diff --git a/www/minio/Makefile b/www/minio/Makefile
index 442c08302b33..4826e65ac836 100644
--- a/www/minio/Makefile
+++ b/www/minio/Makefile
@@ -9,9 +9,7 @@ COMMENT= Amazon S3 compatible object storage server
LICENSE= APACHE20
-BUILD_DEPENDS= go>=1.9.4:lang/go
-
-USES= compiler
+USES= compiler go
USE_GITHUB= yes
GHTAG= RELEASE.2019-06-15T23-07-18Z
diff --git a/www/s/Makefile b/www/s/Makefile
index 694d1305c8bc..ed54f1042dc9 100644
--- a/www/s/Makefile
+++ b/www/s/Makefile
@@ -11,7 +11,7 @@ COMMENT= Web search in a terminal
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= zquestz
diff --git a/www/uchiwa/Makefile b/www/uchiwa/Makefile
index e36b0488c629..495bdaed82e2 100644
--- a/www/uchiwa/Makefile
+++ b/www/uchiwa/Makefile
@@ -10,7 +10,7 @@ COMMENT= Simple dashboard for Sensu
LICENSE= MIT
-BUILD_DEPENDS= go>=1.6.0:lang/go
+USES= go
UCHIWA_LOGDIR= /var/log/uchiwa
UCHIWA_CONFDIR= ${PREFIX}/etc/uchiwa
diff --git a/www/ytdl/Makefile b/www/ytdl/Makefile
index 73fbb7a319fa..3faf0da07c0a 100644
--- a/www/ytdl/Makefile
+++ b/www/ytdl/Makefile
@@ -11,7 +11,7 @@ COMMENT= YouTube downloader written in Go
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go:lang/go
+USES= go
USE_GITHUB= yes
GH_ACCOUNT= rylio
diff --git a/x11/aminal/Makefile b/x11/aminal/Makefile
index 626821305629..9f7353819766 100644
--- a/x11/aminal/Makefile
+++ b/x11/aminal/Makefile
@@ -11,9 +11,7 @@ COMMENT= Golang terminal emulator from scratch
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${PORTNAME}/LICENSE
-BUILD_DEPENDS= go:lang/go
-
-USES= gl
+USES= gl go
USE_GITHUB= nodefault # the main code is in GH_TUPLE
GH_ACCOUNT= liamg
GH_TUPLE= liamg:aminal:${DISTVERSIONFULL}:main/src/github.com/liamg/aminal \