git: 4fe8371090c9 - main - devel/buildkite-agent: NEW PORT

From: Dave Cottlehuber <dch_at_FreeBSD.org>
Date: Tue, 17 May 2022 14:07:56 UTC
The branch main has been updated by dch:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4fe8371090c97017d3d1dfb6f0e0f94000e853c2

commit 4fe8371090c97017d3d1dfb6f0e0f94000e853c2
Author:     Dave Cottlehuber <dch@FreeBSD.org>
AuthorDate: 2022-05-17 14:07:50 +0000
Commit:     Dave Cottlehuber <dch@FreeBSD.org>
CommitDate: 2022-05-17 14:07:50 +0000

    devel/buildkite-agent: NEW PORT
    
    The Buildkite agent is a small, reliable and cross-platform build runner
    that makes it easy to run automated builds on your own infrastructure,
    using the proprietary BuildKite application and infrastructure.
    
    Its main responsibilities are polling buildkite.com for work, running
    build jobs, reporting back the status code and output log of the job,
    and uploading the job's artifacts.
    
    Sponsored by:   SkunkWerks, GmbH
    Differential Revision: https://reviews.freebsd.org/D35043
---
 devel/buildkite-agent/Makefile             |  47 +++++++++++++
 devel/buildkite-agent/Makefile.deps        |  52 ++++++++++++++
 devel/buildkite-agent/distinfo             | 105 +++++++++++++++++++++++++++++
 devel/buildkite-agent/files/buildkite.in   |  49 ++++++++++++++
 devel/buildkite-agent/files/pkg-message.in |  28 ++++++++
 devel/buildkite-agent/pkg-descr            |   7 ++
 devel/buildkite-agent/pkg-plist            |  14 ++++
 7 files changed, 302 insertions(+)

diff --git a/devel/buildkite-agent/Makefile b/devel/buildkite-agent/Makefile
new file mode 100644
index 000000000000..ba5e05c08384
--- /dev/null
+++ b/devel/buildkite-agent/Makefile
@@ -0,0 +1,47 @@
+PORTNAME=	buildkite-agent
+DISTVERSIONPREFIX=	v
+DISTVERSION=	3.35.2
+CATEGORIES=	devel sysutils
+
+MAINTAINER=	dch@FreeBSD.org
+COMMENT=	Cross-platform build runner to run your own build tasks
+
+LICENSE=	APACHE20 BSD2CLAUSE BSD3CLAUSE LGPL3 MIT
+LICENSE_COMB=	multi
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+RUN_DEPENDS=	bash:shells/bash
+
+USES=		go:modules
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	buildkite
+GH_PROJECT=	agent
+
+.include "${.CURDIR}/Makefile.deps"
+
+USE_RC_SUBR=	buildkite
+
+ETCDIR=		${PREFIX}/etc/buildkite
+
+SUB_FILES=	pkg-message
+
+post-patch:
+	@${REINPLACE_CMD} -I '' -e 's|/bin/bash|${LOCALBASE}/bin/bash|g' \
+			`${FIND} ${WRKSRC}/packaging/linux -type f`
+	@${REINPLACE_CMD} -I '' -e 's|/bin/bash|${LOCALBASE}/bin/bash|g' \
+			`${FIND} ${WRKSRC}/bootstrap -type f -name *.go`
+
+do-install:
+	${INSTALL_PROGRAM} \
+		${WRKDIR}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+	${MKDIR} ${STAGEDIR}${ETCDIR}/hooks ${STAGEDIR}${ETCDIR}/plugins
+	${INSTALL_DATA} \
+		${WRKSRC}/packaging/github/linux/${PORTNAME}.cfg \
+		${STAGEDIR}${ETCDIR}/${PORTNAME}.cfg.sample
+
+post-install:
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+	(cd ${WRKSRC}/packaging/linux/root/usr/share/${PORTNAME} && ${COPYTREE_SHARE} hooks ${STAGEDIR}${EXAMPLESDIR})
+
+.include <bsd.port.mk>
diff --git a/devel/buildkite-agent/Makefile.deps b/devel/buildkite-agent/Makefile.deps
new file mode 100644
index 000000000000..0bbc88a11ee9
--- /dev/null
+++ b/devel/buildkite-agent/Makefile.deps
@@ -0,0 +1,52 @@
+GH_TUPLE=	\
+		DataDog:datadog-go:v3.7.2:datadog_datadog_go/vendor/github.com/DataDog/datadog-go \
+		DataDog:dd-trace-go:v1.28.0:datadog_dd_trace_go/vendor/gopkg.in/DataDog/dd-trace-go.v1 \
+		aws:aws-sdk-go:v1.43.18:aws_aws_sdk_go/vendor/github.com/aws/aws-sdk-go \
+		buildkite:bintest:v3.1.0:buildkite_bintest_v3/vendor/github.com/buildkite/bintest/v3 \
+		buildkite:interpolate:07f35b4ae251:buildkite_interpolate/vendor/github.com/buildkite/interpolate \
+		buildkite:shellwords:c3f497d1e000:buildkite_shellwords/vendor/github.com/buildkite/shellwords \
+		buildkite:yaml:4a3f40911396:buildkite_yaml/vendor/github.com/buildkite/yaml \
+		cpuguy83:go-md2man:f79a8a8ca69d:cpuguy83_go_md2man_v2/vendor/github.com/cpuguy83/go-md2man/v2 \
+		creack:pty:v1.1.12:creack_pty/vendor/github.com/creack/pty \
+		davecgh:go-spew:v1.1.1:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
+		denisbrodbeck:machineid:v1.0.0:denisbrodbeck_machineid/vendor/github.com/denisbrodbeck/machineid \
+		go-check:check:788fd7840127:go_check_check/vendor/gopkg.in/check.v1 \
+		go-yaml:yaml:9f266ea9e77c:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \
+		golang:appengine:v1.2.0:golang_appengine/vendor/google.golang.org/appengine \
+		golang:crypto:78000ba7a073:golang_crypto/vendor/golang.org/x/crypto \
+		golang:net:cd36cc0744dd:golang_net/vendor/golang.org/x/net \
+		golang:oauth2:c57b0facaced:golang_oauth2/vendor/golang.org/x/oauth2 \
+		golang:protobuf:v1.2.0:golang_protobuf/vendor/github.com/golang/protobuf \
+		golang:sys:1d35b9e2eb4e:golang_sys/vendor/golang.org/x/sys \
+		golang:text:v0.3.7:golang_text/vendor/golang.org/x/text \
+		golang:time:3af7569d3a1e:golang_time/vendor/golang.org/x/time \
+		golang:tools:23463209683d:golang_tools/vendor/golang.org/x/tools \
+		golang:xerrors:a985d3407aa7:golang_xerrors/vendor/golang.org/x/xerrors \
+		google:go-querystring:53e6ce116135:google_go_querystring/vendor/github.com/google/go-querystring \
+		google:uuid:v1.1.2:google_uuid/vendor/github.com/google/uuid \
+		googleapis:gax-go:da06d194a00e:googleapis_gax_go/vendor/github.com/googleapis/gax-go \
+		googleapis:google-api-go-client:cc9bd73d51b4:googleapis_google_api_go_client/vendor/google.golang.org/api \
+		googleapis:google-cloud-go:65216237311a:googleapis_google_cloud_go/vendor/cloud.google.com/go \
+		grpc:grpc-go:d0c32ee6a441:grpc_grpc_go/vendor/google.golang.org/grpc \
+		jmespath:go-jmespath:v0.4.0:jmespath_go_jmespath/vendor/github.com/jmespath/go-jmespath \
+		kr:pretty:v0.1.0:kr_pretty/vendor/github.com/kr/pretty \
+		mattn:go-zglob:2ea3427bfa53:mattn_go_zglob/vendor/github.com/mattn/go-zglob \
+		mitchellh:go-homedir:v1.1.0:mitchellh_go_homedir/vendor/github.com/mitchellh/go-homedir \
+		nightlyone:lockfile:0ad87eef1443:nightlyone_lockfile/vendor/github.com/nightlyone/lockfile \
+		oleiade:reflections:0e86b3c98b2f:oleiade_reflections/vendor/github.com/oleiade/reflections \
+		opentracing:opentracing-go:v1.2.0:opentracing_opentracing_go/vendor/github.com/opentracing/opentracing-go \
+		pborman:uuid:1b00554d8222:pborman_uuid/vendor/github.com/pborman/uuid \
+		petermattis:goid:b0b1615b78e5:petermattis_goid/vendor/github.com/petermattis/goid \
+		philhofer:fwd:v1.0.0:philhofer_fwd/vendor/github.com/philhofer/fwd \
+		pkg:errors:v0.9.1:pkg_errors/vendor/github.com/pkg/errors \
+		pmezard:go-difflib:v1.0.0:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
+		qri-io:jsonpointer:168dd9e45cf2:qri_io_jsonpointer/vendor/github.com/qri-io/jsonpointer \
+		qri-io:jsonschema:d0d3b10ec792:qri_io_jsonschema/vendor/github.com/qri-io/jsonschema \
+		rjeczalik:interfaces:v0.1.1:rjeczalik_interfaces/vendor/github.com/rjeczalik/interfaces \
+		russross:blackfriday:v2.0.1:russross_blackfriday_v2/vendor/github.com/russross/blackfriday/v2 \
+		sasha-s:go-deadlock:237a9547c8a5:sasha_s_go_deadlock/vendor/github.com/sasha-s/go-deadlock \
+		sergi:go-diff:v1.0.0:sergi_go_diff/vendor/github.com/sergi/go-diff \
+		shurcooL:sanitized_anchor_name:v1.0.0:shurcool_sanitized_anchor_name/vendor/github.com/shurcooL/sanitized_anchor_name \
+		stretchr:testify:v1.7.1:stretchr_testify/vendor/github.com/stretchr/testify \
+		tinylib:msgp:v1.1.2:tinylib_msgp/vendor/github.com/tinylib/msgp \
+		urfave:cli:v1.22.4:urfave_cli/vendor/github.com/urfave/cli
diff --git a/devel/buildkite-agent/distinfo b/devel/buildkite-agent/distinfo
new file mode 100644
index 000000000000..8e23b566275c
--- /dev/null
+++ b/devel/buildkite-agent/distinfo
@@ -0,0 +1,105 @@
+TIMESTAMP = 1652779711
+SHA256 (buildkite-agent-v3.35.2_GH0.tar.gz) = 33b729f4a5234ec1b05045dd857c59a311f58da56271861f09ab13b397739c7b
+SIZE (buildkite-agent-v3.35.2_GH0.tar.gz) = 3122617
+SHA256 (DataDog-datadog-go-v3.7.2_GH0.tar.gz) = 6df937473bddd78e8522e05f7ff2d4689ff80cbf22ad9f48f4b3f87e9d6ea00f
+SIZE (DataDog-datadog-go-v3.7.2_GH0.tar.gz) = 33296
+SHA256 (DataDog-dd-trace-go-v1.28.0_GH0.tar.gz) = fc7c680330738b849bc566bf40bf930fc3d7efb6133544d5d79bbfd69e0bd701
+SIZE (DataDog-dd-trace-go-v1.28.0_GH0.tar.gz) = 570282
+SHA256 (aws-aws-sdk-go-v1.43.18_GH0.tar.gz) = 44889a86d138834dbe9d1e05caef0785dd9f5b6e6a19cace106fdd259c4e486e
+SIZE (aws-aws-sdk-go-v1.43.18_GH0.tar.gz) = 22865882
+SHA256 (buildkite-bintest-v3.1.0_GH0.tar.gz) = 087a5a7f4cda76301339e1a0896d4e9c50218590e7f68735d6f5f2557cd9acca
+SIZE (buildkite-bintest-v3.1.0_GH0.tar.gz) = 21393
+SHA256 (buildkite-interpolate-07f35b4ae251_GH0.tar.gz) = d80d9de2d2c24acf882e542e54a1c46008baffb73df4a7f9bacc6925d48bf5ed
+SIZE (buildkite-interpolate-07f35b4ae251_GH0.tar.gz) = 7835
+SHA256 (buildkite-shellwords-c3f497d1e000_GH0.tar.gz) = 8603cc04d172be4eaaa9b2ca5131da4a2d1a70993c60275e603b968cb641c662
+SIZE (buildkite-shellwords-c3f497d1e000_GH0.tar.gz) = 3936
+SHA256 (buildkite-yaml-4a3f40911396_GH0.tar.gz) = 73e3b358651ef763f641231a06d59f28b65e47f38d581eb25a405b9a87c41c03
+SIZE (buildkite-yaml-4a3f40911396_GH0.tar.gz) = 73880
+SHA256 (cpuguy83-go-md2man-f79a8a8ca69d_GH0.tar.gz) = c117a3e3741ea39016b678b24db19b1f766277bac7c1c6d721237bb159610178
+SIZE (cpuguy83-go-md2man-f79a8a8ca69d_GH0.tar.gz) = 52020
+SHA256 (creack-pty-v1.1.12_GH0.tar.gz) = 641db750298b026ff3e79588a6b86891e2804310d01855474bae5c4e56b7ec74
+SIZE (creack-pty-v1.1.12_GH0.tar.gz) = 9470
+SHA256 (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 7d82b9bb7291adbe7498fe946920ab3e7fc9e6cbfc3b2294693fad00bf0dd17e
+SIZE (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 42152
+SHA256 (denisbrodbeck-machineid-v1.0.0_GH0.tar.gz) = a48b54a6caba6a2acd7a936dfed40aa4105a7d1854574cee0e4324346c73040e
+SIZE (denisbrodbeck-machineid-v1.0.0_GH0.tar.gz) = 27795
+SHA256 (go-check-check-788fd7840127_GH0.tar.gz) = b7c9de01f3ca7111d889f30f2bbcc36eda4d07c09f032aaba83e34a324146bae
+SIZE (go-check-check-788fd7840127_GH0.tar.gz) = 31597
+SHA256 (go-yaml-yaml-9f266ea9e77c_GH0.tar.gz) = 63efc9aabcbb56b2c9469927784fd67ecb3a79720c4fa754c511335a04156d04
+SIZE (go-yaml-yaml-9f266ea9e77c_GH0.tar.gz) = 86898
+SHA256 (golang-appengine-v1.2.0_GH0.tar.gz) = 80a5c651ba6e27c11bfe634f13702bcc46821c59b92c734e0f494d7c4dd18ba4
+SIZE (golang-appengine-v1.2.0_GH0.tar.gz) = 323273
+SHA256 (golang-crypto-78000ba7a073_GH0.tar.gz) = bb0b23f5a138f10f16dda21aa34784503d86920b922b59554ffa5ef60fdb4c39
+SIZE (golang-crypto-78000ba7a073_GH0.tar.gz) = 1727038
+SHA256 (golang-net-cd36cc0744dd_GH0.tar.gz) = ec4567caa40e6a703e0881443623d13a812136dc2fc13935e129835fb5336076
+SIZE (golang-net-cd36cc0744dd_GH0.tar.gz) = 1228759
+SHA256 (golang-oauth2-c57b0facaced_GH0.tar.gz) = a73db06cfd7f25c75ff90ae362cd1db985627b1f700b4de60854f546ff803ae4
+SIZE (golang-oauth2-c57b0facaced_GH0.tar.gz) = 43184
+SHA256 (golang-protobuf-v1.2.0_GH0.tar.gz) = 157a148ae4e132eb169ec794b6cb43f1002780eeacaea8b0694811d1948fb1ec
+SIZE (golang-protobuf-v1.2.0_GH0.tar.gz) = 332565
+SHA256 (golang-sys-1d35b9e2eb4e_GH0.tar.gz) = cb599b1befb8f0b8550a528272ac5ebdba968676702bc4adbc8f5122243ede5f
+SIZE (golang-sys-1d35b9e2eb4e_GH0.tar.gz) = 1255687
+SHA256 (golang-text-v0.3.7_GH0.tar.gz) = 7cab2f6c3133ac1d422edd952b0dd2082fa55a73c2663fb2defd9bf83d649b26
+SIZE (golang-text-v0.3.7_GH0.tar.gz) = 8354718
+SHA256 (golang-time-3af7569d3a1e_GH0.tar.gz) = 93c79ee7ad72641dc5ebd47e6ecffa66e878e367ddbbef48208ff82a0b6fc7e0
+SIZE (golang-time-3af7569d3a1e_GH0.tar.gz) = 9619
+SHA256 (golang-tools-23463209683d_GH0.tar.gz) = cbb47ee7d7cd3d9d7e38d67ab754f7455876058e213a5e5e28b43e19aa5ffaee
+SIZE (golang-tools-23463209683d_GH0.tar.gz) = 2094652
+SHA256 (golang-xerrors-a985d3407aa7_GH0.tar.gz) = cbceb1aab297e932cee5a54775f655e1885f5a6a850a27a6d566cab11e0c0401
+SIZE (golang-xerrors-a985d3407aa7_GH0.tar.gz) = 12270
+SHA256 (google-go-querystring-53e6ce116135_GH0.tar.gz) = 2e93ee8f301a4e5fbe1a68feea3a0a9ca9cd91f8f5ba91418f7fc4244e816899
+SIZE (google-go-querystring-53e6ce116135_GH0.tar.gz) = 7490
+SHA256 (google-uuid-v1.1.2_GH0.tar.gz) = e650558e314307cf33391d0a9ef575b418188206d61cb9751e9f11bceb0874d0
+SIZE (google-uuid-v1.1.2_GH0.tar.gz) = 13871
+SHA256 (googleapis-gax-go-da06d194a00e_GH0.tar.gz) = 8329bd050efea510ae68a605460f7855dbbee041d89e80b08c268fdc70ec9443
+SIZE (googleapis-gax-go-da06d194a00e_GH0.tar.gz) = 9556
+SHA256 (googleapis-google-api-go-client-cc9bd73d51b4_GH0.tar.gz) = 87686e5edfcf29946bded02029a02d340a68a7b15837aaf74caa0262b4bd6fdc
+SIZE (googleapis-google-api-go-client-cc9bd73d51b4_GH0.tar.gz) = 9919814
+SHA256 (googleapis-google-cloud-go-65216237311a_GH0.tar.gz) = 11adfceda898e0d90860ab82bdb333d8e136f206eaa0cac5f408a17e44273aaf
+SIZE (googleapis-google-cloud-go-65216237311a_GH0.tar.gz) = 952738
+SHA256 (grpc-grpc-go-d0c32ee6a441_GH0.tar.gz) = 360359892150502f5fd528b16d51ac51e99565cd8642171cd284851f8fead37e
+SIZE (grpc-grpc-go-d0c32ee6a441_GH0.tar.gz) = 248489
+SHA256 (jmespath-go-jmespath-v0.4.0_GH0.tar.gz) = aa86d00b6836345eee196c13df2df084a18e0b1159935de9289f2ef6a7fe375d
+SIZE (jmespath-go-jmespath-v0.4.0_GH0.tar.gz) = 128861
+SHA256 (kr-pretty-v0.1.0_GH0.tar.gz) = 3aeb5d90b719765781befb9f156d0d0b8e5a7aafbcf15321e9eabbd35df31358
+SIZE (kr-pretty-v0.1.0_GH0.tar.gz) = 8550
+SHA256 (mattn-go-zglob-2ea3427bfa53_GH0.tar.gz) = 3619544f77c87f1f66e564228819cb72b336e6f9f35ca48128c0b52e31fd38bd
+SIZE (mattn-go-zglob-2ea3427bfa53_GH0.tar.gz) = 7709
+SHA256 (mitchellh-go-homedir-v1.1.0_GH0.tar.gz) = 646671c73a84a8dfb4a5a76b80c7b63549ffefa906524d45077301bc7da76600
+SIZE (mitchellh-go-homedir-v1.1.0_GH0.tar.gz) = 3362
+SHA256 (nightlyone-lockfile-0ad87eef1443_GH0.tar.gz) = 3431bcd0990e4653a139887029c88829e706ef016707715ef6a905dda8712858
+SIZE (nightlyone-lockfile-0ad87eef1443_GH0.tar.gz) = 5948
+SHA256 (oleiade-reflections-0e86b3c98b2f_GH0.tar.gz) = 7555f68c949dfc18f2cd7e08d99b0bec23d93a29fa91922b0d5fa8cf203cb879
+SIZE (oleiade-reflections-0e86b3c98b2f_GH0.tar.gz) = 6855
+SHA256 (opentracing-opentracing-go-v1.2.0_GH0.tar.gz) = cb32b383422a9aae11d260657d52a3789bd799802881b9ced3ee82c370be6f76
+SIZE (opentracing-opentracing-go-v1.2.0_GH0.tar.gz) = 35914
+SHA256 (pborman-uuid-1b00554d8222_GH0.tar.gz) = 7514b5ec1652bd23cd32302c4b44521236133fd8df27f2dffc8e80cd031dc84c
+SIZE (pborman-uuid-1b00554d8222_GH0.tar.gz) = 12801
+SHA256 (petermattis-goid-b0b1615b78e5_GH0.tar.gz) = 6eb93a6342c9289445892b9667b0a7ada5066a4fcf785a030672339076997a26
+SIZE (petermattis-goid-b0b1615b78e5_GH0.tar.gz) = 6807
+SHA256 (philhofer-fwd-v1.0.0_GH0.tar.gz) = 55736f48940198a11b7aeb4faba258459451994a8889ec003ce8d8d26ceca9ff
+SIZE (philhofer-fwd-v1.0.0_GH0.tar.gz) = 9221
+SHA256 (pkg-errors-v0.9.1_GH0.tar.gz) = 56bfd893023daa498508bfe161de1be83299fcf15376035e7df79cbd7d6fa608
+SIZE (pkg-errors-v0.9.1_GH0.tar.gz) = 13415
+SHA256 (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 28f3dc1b5c0efd61203ab07233f774740d3bf08da4d8153fb5310db6cea0ebda
+SIZE (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 11398
+SHA256 (qri-io-jsonpointer-168dd9e45cf2_GH0.tar.gz) = 20577f0bdbffd74c289c7a1384e967cf943369cff86fb925e464255d7abf4223
+SIZE (qri-io-jsonpointer-168dd9e45cf2_GH0.tar.gz) = 6506
+SHA256 (qri-io-jsonschema-d0d3b10ec792_GH0.tar.gz) = f1a8d553fba85f20e2f8d6659e42846411e62c0819a685b9fa8ebe35eb1566e1
+SIZE (qri-io-jsonschema-d0d3b10ec792_GH0.tar.gz) = 69435
+SHA256 (rjeczalik-interfaces-v0.1.1_GH0.tar.gz) = bc79e5acad685821a8cad2c48dd3fae8afcff95649ca760efda217bcaa1869f5
+SIZE (rjeczalik-interfaces-v0.1.1_GH0.tar.gz) = 13360
+SHA256 (russross-blackfriday-v2.0.1_GH0.tar.gz) = 5a0f38a36b6f3b2d59b72d713451a895a4d3a4406b3533882483782e37797cff
+SIZE (russross-blackfriday-v2.0.1_GH0.tar.gz) = 79613
+SHA256 (sasha-s-go-deadlock-237a9547c8a5_GH0.tar.gz) = 428605b1f753d887ce314854769705f77fc7d510b5eec96ea6615a77811a0ee4
+SIZE (sasha-s-go-deadlock-237a9547c8a5_GH0.tar.gz) = 10224
+SHA256 (sergi-go-diff-v1.0.0_GH0.tar.gz) = 5a07596dcdee6e089b49309162c8e63bc02400652897a1f529d37f0602868dea
+SIZE (sergi-go-diff-v1.0.0_GH0.tar.gz) = 41609
+SHA256 (shurcooL-sanitized_anchor_name-v1.0.0_GH0.tar.gz) = 7e11964980f9b8595c17bc8970f0174621afe464920e38df7f8d77e45058388f
+SIZE (shurcooL-sanitized_anchor_name-v1.0.0_GH0.tar.gz) = 2143
+SHA256 (stretchr-testify-v1.7.1_GH0.tar.gz) = 5a53303e8ae54d0d581895f5bf8aae82f64f53c04c1c0f9e27a0ebeffa579a92
+SIZE (stretchr-testify-v1.7.1_GH0.tar.gz) = 93989
+SHA256 (tinylib-msgp-v1.1.2_GH0.tar.gz) = 9759dc9f45160ff1161d670d019f509d55e12b22dfc8a8e1ed71f4c358ee1a01
+SIZE (tinylib-msgp-v1.1.2_GH0.tar.gz) = 83078
+SHA256 (urfave-cli-v1.22.4_GH0.tar.gz) = 83d628fdd261accd4dc0b232bfc8ff06e734ec5137e134a8cee916693a8bb117
+SIZE (urfave-cli-v1.22.4_GH0.tar.gz) = 78034
diff --git a/devel/buildkite-agent/files/buildkite.in b/devel/buildkite-agent/files/buildkite.in
new file mode 100644
index 000000000000..832b354957ad
--- /dev/null
+++ b/devel/buildkite-agent/files/buildkite.in
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+# PROVIDE: buildkite
+# REQUIRE: LOGIN NETWORKING SERVERS
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# buildkite_enable  (bool):   Set to NO by default.
+# Set it to YES to enable buildkite.
+#
+# buildkite_config  (string): Optional full path for buildkite config file
+# buildkite_token   (args):   Optional buildkite token
+# buildkite_account (user):   Set to nobody by default.
+# buildkite_vars    (env):    Pass in environment variables, "" by default
+# buildkite_options (string): Pass in additional flags to agent
+# buildkite_flags   (string): Pass in additional flags to daemon(8)
+
+. /etc/rc.subr
+
+name=buildkite
+rcvar=buildkite_enable
+
+load_rc_config $name
+
+: ${buildkite_enable:=NO}
+: ${buildkite_logfile:=/var/log/buildkite.log}
+: ${buildkite_account:=nobody}
+: ${buildkite_config:="%%ETCDIR%%/buildkite-agent.cfg"}
+: ${buildkite_flags:=""}
+: ${buildkite_options:=""}
+: ${buildkite_vars:=""}
+
+pidfile=/var/run/buildkite.pid
+command=/usr/sbin/daemon
+command_args="-t ${name} \
+    -u ${buildkite_account} \
+    -r -P ${pidfile} \
+    /usr/bin/env ${buildkite_vars} \
+      HOME=`pw usershow ${buildkite_account} | cut -d: -f9` \
+      BUILDKITE_AGENT_TOKEN=${buildkite_token} \
+    %%PREFIX%%/bin/buildkite-agent start \
+    --config ${buildkite_config} \
+    ${buildkite_options}"
+
+required_files="${buildkite_config}"
+
+run_rc_command "$1"
diff --git a/devel/buildkite-agent/files/pkg-message.in b/devel/buildkite-agent/files/pkg-message.in
new file mode 100644
index 000000000000..cc5939daaa91
--- /dev/null
+++ b/devel/buildkite-agent/files/pkg-message.in
@@ -0,0 +1,28 @@
+[
+{ type: install
+  message: <<EOM
+buildkite-agent requires minimal configuration in rc.conf, to allow hiding the
+the agent token from casual prying eyes, and to specify the user account to run
+the agent under, as its home directory is needed for ssh keys and agents, source
+code repositories, and temporary build worksapces.
+
+The %%PREFIX%%/rc.conf.d/buildkite file should be protected via
+owner/group root:wheel and 0600 permissions, to ensure the API token is
+not left exposed to non-privileged users and to any processes the agent
+itself may launch.
+
+Note: the supplied user must have full filesystems permissions over its homedir.
+
+# %%PREFIX%%/rc.conf.d/buildkite
+# mandatory parameters
+buildkite_enable=YES
+buildkite_token=abc123456def
+buildkite_account=sudo_make_me_a_user
+# optional parameters
+buildkite_config=%%ETCDIR%%/buildkite-agent.cfg
+buildkite_vars="KEY=value MORE=values"
+
+See https://buildkite.com/docs/agent for further details.
+EOM
+}
+]
diff --git a/devel/buildkite-agent/pkg-descr b/devel/buildkite-agent/pkg-descr
new file mode 100644
index 000000000000..7bf6ac963eb5
--- /dev/null
+++ b/devel/buildkite-agent/pkg-descr
@@ -0,0 +1,7 @@
+Buildkite-agent is a small, reliable, and cross-platform build runner that
+makes it easy to run automated builds on your own infrastructure. Its main
+responsibilities are polling buildkite.com for work, running build jobs,
+reporting back the status code and output log of the job, and uploading the
+job's artifacts.
+
+WWW: https://buildkite.com/
diff --git a/devel/buildkite-agent/pkg-plist b/devel/buildkite-agent/pkg-plist
new file mode 100644
index 000000000000..8273dc50eea4
--- /dev/null
+++ b/devel/buildkite-agent/pkg-plist
@@ -0,0 +1,14 @@
+bin/buildkite-agent
+@dir %%ETCDIR%%/hooks
+@dir %%ETCDIR%%/plugins
+@sample %%ETCDIR%%/buildkite-agent.cfg.sample
+%%EXAMPLESDIR%%/hooks/checkout.sample
+%%EXAMPLESDIR%%/hooks/command.sample
+%%EXAMPLESDIR%%/hooks/environment.sample
+%%EXAMPLESDIR%%/hooks/post-artifact.sample
+%%EXAMPLESDIR%%/hooks/post-checkout.sample
+%%EXAMPLESDIR%%/hooks/post-command.sample
+%%EXAMPLESDIR%%/hooks/pre-artifact.sample
+%%EXAMPLESDIR%%/hooks/pre-checkout.sample
+%%EXAMPLESDIR%%/hooks/pre-command.sample
+%%EXAMPLESDIR%%/hooks/pre-exit.sample