Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jan 2019 10:10:50 +0000 (UTC)
From:      Tobias Kortkamp <tobik@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r491614 - in head/devel: . bingo bingo/files
Message-ID:  <201901301010.x0UAAont026906@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tobik
Date: Wed Jan 30 10:10:50 2019
New Revision: 491614
URL: https://svnweb.freebsd.org/changeset/ports/491614

Log:
  New port: devel/bingo
  
  Bingo is a Go language server that speaks the Language Server
  Protocol.  It supports editor features such as go-to-definition,
  hover, and find-references for Go projects.
  
  This project was largely inspired by go-langserver, but bingo is
  simpler, faster, and smarter.
  
  WWW: https://github.com/saibing/bingo

Added:
  head/devel/bingo/
  head/devel/bingo/Makefile   (contents, props changed)
  head/devel/bingo/distinfo   (contents, props changed)
  head/devel/bingo/files/
  head/devel/bingo/files/gomod.awk   (contents, props changed)
  head/devel/bingo/pkg-descr   (contents, props changed)
Modified:
  head/devel/Makefile

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Wed Jan 30 09:30:37 2019	(r491613)
+++ head/devel/Makefile	Wed Jan 30 10:10:50 2019	(r491614)
@@ -211,6 +211,7 @@
     SUBDIR += bicyclerepair
     SUBDIR += bin86
     SUBDIR += binaryen
+    SUBDIR += bingo
     SUBDIR += bingrep
     SUBDIR += binutils
     SUBDIR += bison

Added: head/devel/bingo/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/bingo/Makefile	Wed Jan 30 10:10:50 2019	(r491614)
@@ -0,0 +1,74 @@
+# $FreeBSD$
+
+PORTNAME=	bingo
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.1.0-128
+DISTVERSIONSUFFIX=	-gac95a38
+CATEGORIES=	devel
+
+MAINTAINER=	tobik@FreeBSD.org
+COMMENT=	Go language server
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	go>=1.11:lang/go
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	saibing
+
+# generated with gomod-deps below
+GH_TUPLE=	apache:thrift:v0.12.0:thrift/vendor/git.apache.org/thrift.git \
+		coreos:go-systemd:9002847aa142:go_systemd/vendor/github.com/coreos/go-systemd \
+		dominikh:go-tools:c2f93a96b099:go_tools/vendor/honnef.co/go/tools \
+		fsnotify:fsnotify:v1.4.7:fsnotify/vendor/github.com/fsnotify/fsnotify \
+		go-check:check:788fd7840127:check/vendor/gopkg.in/check.v1 \
+		go-stack:stack:v1.8.0:stack/vendor/github.com/go-stack/stack \
+		go-yaml:yaml:v2.2.2:yaml/vendor/gopkg.in/yaml.v2 \
+		go4org:go4:00e24f1b2599:go4/vendor/go4.org \
+		gogo:protobuf:v1.2.0:protobuf/vendor/github.com/gogo/protobuf \
+		golang:mock:v1.2.0:mock/vendor/github.com/golang/mock \
+		golang:net:915654e7eabc:net/vendor/golang.org/x/net \
+		golang:oauth2:5dab4167f31c:oauth2/vendor/golang.org/x/oauth2 \
+		golang:sys:a457fd036447:sys/vendor/golang.org/x/sys \
+		golang:time:85acf8d2951c:time/vendor/golang.org/x/time \
+		google:go-genproto:bd9b4fb69e2f:go_genproto/vendor/google.golang.org/genproto \
+		google:google-api-go-client:v0.1.0:google_api_go_client/vendor/google.golang.org/api \
+		googleapis:gax-go:v2.0.2:gax_go/vendor/github.com/googleapis/gax-go \
+		gopherjs:gopherjs:d547d1d9531e:gopherjs/vendor/github.com/gopherjs/gopherjs \
+		gorilla:websocket:v1.4.0:websocket/vendor/github.com/gorilla/websocket \
+		gregjones:httpcache:c63ab54fda8f:httpcache/vendor/github.com/gregjones/httpcache \
+		grpc-ecosystem:grpc-gateway:v1.6.4:grpc_gateway/vendor/github.com/grpc-ecosystem/grpc-gateway \
+		grpc:grpc-go:v1.18.0:grpc_go/vendor/google.golang.org/grpc \
+		inconshreveable:log15:67afb5ed74ec:log15/vendor/gopkg.in/inconshreveable/log15.v2 \
+		mattn:go-colorable:v0.0.9:go_colorable/vendor/github.com/mattn/go-colorable \
+		mattn:go-isatty:v0.0.4:go_isatty/vendor/github.com/mattn/go-isatty \
+		microcosm-cc:bluemonday:v1.0.2:bluemonday/vendor/github.com/microcosm-cc/bluemonday \
+		openzipkin:zipkin-go:v0.1.5:zipkin_go/vendor/github.com/openzipkin/zipkin-go \
+		pierrec:lz4:v2.0.7:lz4/vendor/github.com/pierrec/lz4 \
+		pmezard:go-difflib:v1.0.0:go_difflib/vendor/github.com/pmezard/go-difflib \
+		prometheus:client_golang:v0.9.2:client_golang/vendor/github.com/prometheus/client_golang \
+		prometheus:common:67670fe90761:common/vendor/github.com/prometheus/common \
+		russross:blackfriday:v2.0.0:blackfriday/vendor/github.com/russross/blackfriday \
+		saibing:tools:v1.7.3:tools/vendor/golang.org/x/tools \
+		Shopify:sarama:v1.20.1:sarama/vendor/github.com/Shopify/sarama \
+		shurcooL:sanitized_anchor_name:v1.0.0:sanitized_anchor_name/vendor/github.com/shurcooL/sanitized_anchor_name \
+		slimsag:godocmd:a1005ad29fe3:godocmd/vendor/github.com/slimsag/godocmd \
+		sourcegraph:jsonrpc2:549eb959f029:jsonrpc2/vendor/github.com/sourcegraph/jsonrpc2 \
+		sqs:pbtypes:v1.0.0:pbtypes/vendor/sourcegraph.com/sqs/pbtypes \
+		stretchr:objx:v0.1.1:objx/vendor/github.com/stretchr/objx \
+		stretchr:testify:v1.3.0:testify/vendor/github.com/stretchr/testify
+
+PLIST_FILES=	bin/bingo
+
+do-build:
+	@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} go build -mod=vendor
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/bingo ${STAGEDIR}${PREFIX}/bin
+
+# XXX: Check if useful for other ports and maybe put it in a USES=gomod
+gomod-deps: patch
+	@${AWK} -f ${FILESDIR}/gomod.awk ${WRKSRC}/go.mod
+
+.include <bsd.port.mk>

Added: head/devel/bingo/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/bingo/distinfo	Wed Jan 30 10:10:50 2019	(r491614)
@@ -0,0 +1,83 @@
+TIMESTAMP = 1548838719
+SHA256 (saibing-bingo-v1.1.0-128-gac95a38_GH0.tar.gz) = 0e756a3a926ad47a9045ce217d7656feae63d563e4846518eb63ded025e53989
+SIZE (saibing-bingo-v1.1.0-128-gac95a38_GH0.tar.gz) = 91494
+SHA256 (apache-thrift-v0.12.0_GH0.tar.gz) = b7452d1873c6c43a580d2b4ae38cfaf8fa098ee6dc2925bae98dce0c010b1366
+SIZE (apache-thrift-v0.12.0_GH0.tar.gz) = 2960476
+SHA256 (coreos-go-systemd-9002847aa142_GH0.tar.gz) = e9d71463378837b4cae3265fc2537cbf0a41ba29e3a5fa98ffecc71ff451bc5a
+SIZE (coreos-go-systemd-9002847aa142_GH0.tar.gz) = 63572
+SHA256 (dominikh-go-tools-c2f93a96b099_GH0.tar.gz) = a85163825588ef6fcc91723338d84d23b29327cff9b53c97ea64495d42084ea7
+SIZE (dominikh-go-tools-c2f93a96b099_GH0.tar.gz) = 274184
+SHA256 (fsnotify-fsnotify-v1.4.7_GH0.tar.gz) = b7530d973d0ab0e58ad8ce1b9a4b963d6f57b3d72f2f9e13d49846976361b1cd
+SIZE (fsnotify-fsnotify-v1.4.7_GH0.tar.gz) = 31139
+SHA256 (go-check-check-788fd7840127_GH0.tar.gz) = b7c9de01f3ca7111d889f30f2bbcc36eda4d07c09f032aaba83e34a324146bae
+SIZE (go-check-check-788fd7840127_GH0.tar.gz) = 31597
+SHA256 (go-stack-stack-v1.8.0_GH0.tar.gz) = 3b8987e137d76f4f35db1e8005ec7fb766b68eed8cac0ca0b795ac43cd72b319
+SIZE (go-stack-stack-v1.8.0_GH0.tar.gz) = 8039
+SHA256 (go-yaml-yaml-v2.2.2_GH0.tar.gz) = 42c3e4ef9eca2860d22b3c6c5582c6c13fb4b417e5ebc1acc56ee5e2c4ddcaff
+SIZE (go-yaml-yaml-v2.2.2_GH0.tar.gz) = 70656
+SHA256 (go4org-go4-00e24f1b2599_GH0.tar.gz) = 6464910bab8da430f7fe33972554617cbad8d5a3ab54ea668484e8c01e59de52
+SIZE (go4org-go4-00e24f1b2599_GH0.tar.gz) = 139212
+SHA256 (gogo-protobuf-v1.2.0_GH0.tar.gz) = 957c8f03cf595525d2a667035d9865a0930b3d446be0ab6eb76972934f925b00
+SIZE (gogo-protobuf-v1.2.0_GH0.tar.gz) = 2011389
+SHA256 (golang-mock-v1.2.0_GH0.tar.gz) = b7278e2d81b4ea2b849da7a20aedafd627748e188b2118bb536b8a2e3b95a821
+SIZE (golang-mock-v1.2.0_GH0.tar.gz) = 46488
+SHA256 (golang-net-915654e7eabc_GH0.tar.gz) = e1842fd852a11b277f1b2e77cfaaa12e5502739ae911532cd5a81f62e87ae383
+SIZE (golang-net-915654e7eabc_GH0.tar.gz) = 966819
+SHA256 (golang-oauth2-5dab4167f31c_GH0.tar.gz) = 157e8e943d5cdcc2720414d11e406692b530750f420228a2a64d8550b4ae4304
+SIZE (golang-oauth2-5dab4167f31c_GH0.tar.gz) = 44122
+SHA256 (golang-sys-a457fd036447_GH0.tar.gz) = c0e562f1f7791143359c077ebf598a76e0038a51115947bd3e1032aa1c7d875c
+SIZE (golang-sys-a457fd036447_GH0.tar.gz) = 1220216
+SHA256 (golang-time-85acf8d2951c_GH0.tar.gz) = 96c2a33d1f1409b7db0a71ca73748e7cbac8b8878430de82c76e408a08f76fd1
+SIZE (golang-time-85acf8d2951c_GH0.tar.gz) = 9266
+SHA256 (google-go-genproto-bd9b4fb69e2f_GH0.tar.gz) = 565ba2bac7b64aa19e5577dda6ccfe8bdc0b48973644cc8ab96e7d83ae3e5a4e
+SIZE (google-go-genproto-bd9b4fb69e2f_GH0.tar.gz) = 3078124
+SHA256 (google-google-api-go-client-v0.1.0_GH0.tar.gz) = cd8c631d7de097c9f0549e0c6acc7c4184226b6cf03cf562718947a36440b6e7
+SIZE (google-google-api-go-client-v0.1.0_GH0.tar.gz) = 10093077
+SHA256 (googleapis-gax-go-v2.0.2_GH0.tar.gz) = 624786968d59eb032cfe049f139ddc14be1be5d508c34ebf520edc3946bae2ac
+SIZE (googleapis-gax-go-v2.0.2_GH0.tar.gz) = 8942
+SHA256 (gopherjs-gopherjs-d547d1d9531e_GH0.tar.gz) = 9f24adce5539b96eaeae86b6b6b34c3b5d4b54b5552779f1919d583ef2045378
+SIZE (gopherjs-gopherjs-d547d1d9531e_GH0.tar.gz) = 217297
+SHA256 (gorilla-websocket-v1.4.0_GH0.tar.gz) = 2b5743c72bd0930c5a80e49c0138b5b7d27fa7c085efd0c86805cccfa7220c9d
+SIZE (gorilla-websocket-v1.4.0_GH0.tar.gz) = 50228
+SHA256 (gregjones-httpcache-c63ab54fda8f_GH0.tar.gz) = 3a4016cd2810f0ad820441e0bcc97719ab60f7959c0f9d873025ceb735f29656
+SIZE (gregjones-httpcache-c63ab54fda8f_GH0.tar.gz) = 13946
+SHA256 (grpc-ecosystem-grpc-gateway-v1.6.4_GH0.tar.gz) = f8cec7295e4ff002a9c3bf3aef623dff7c0cee74a93520c78dfdaed3a82543a7
+SIZE (grpc-ecosystem-grpc-gateway-v1.6.4_GH0.tar.gz) = 273121
+SHA256 (grpc-grpc-go-v1.18.0_GH0.tar.gz) = 078b44a673860ffda7a366f9e6a05415eb5126b54bd6cde921f2403283f95a1f
+SIZE (grpc-grpc-go-v1.18.0_GH0.tar.gz) = 589845
+SHA256 (inconshreveable-log15-67afb5ed74ec_GH0.tar.gz) = e4c837cfd154a0696c84605595c84459a2d1b2fb33b1abcf284a415d2ca9ab55
+SIZE (inconshreveable-log15-67afb5ed74ec_GH0.tar.gz) = 23261
+SHA256 (mattn-go-colorable-v0.0.9_GH0.tar.gz) = 703db7bd13f84446bb06a7f075cf6b21d65b828cd6831dc9069e28b564bdfb87
+SIZE (mattn-go-colorable-v0.0.9_GH0.tar.gz) = 7593
+SHA256 (mattn-go-isatty-v0.0.4_GH0.tar.gz) = a6228abe42ccfcad4b17c176117ccf2822d06bde51dc437852854056d8737f12
+SIZE (mattn-go-isatty-v0.0.4_GH0.tar.gz) = 3377
+SHA256 (microcosm-cc-bluemonday-v1.0.2_GH0.tar.gz) = 63b0b5c2378fded0acb8b719b13a698cb897b52b3fb0cdf7d3ce576eba0c3160
+SIZE (microcosm-cc-bluemonday-v1.0.2_GH0.tar.gz) = 137669
+SHA256 (openzipkin-zipkin-go-v0.1.5_GH0.tar.gz) = c28d2a2badd20ca48ecfd9320191872fa1220e8a915c5cb18666426901990487
+SIZE (openzipkin-zipkin-go-v0.1.5_GH0.tar.gz) = 59416
+SHA256 (pierrec-lz4-v2.0.7_GH0.tar.gz) = a3e93a97911bb1a7a6a6db58cbc567eae03f7e74c3e1d7709701e3c8f6b6bfe7
+SIZE (pierrec-lz4-v2.0.7_GH0.tar.gz) = 7460343
+SHA256 (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 28f3dc1b5c0efd61203ab07233f774740d3bf08da4d8153fb5310db6cea0ebda
+SIZE (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 11398
+SHA256 (prometheus-client_golang-v0.9.2_GH0.tar.gz) = 5f6ca8740a08622ae0a19c32b1026b8233bfd943a1f4af34963d326ab5fa94e5
+SIZE (prometheus-client_golang-v0.9.2_GH0.tar.gz) = 130109
+SHA256 (prometheus-common-67670fe90761_GH0.tar.gz) = a1995cca3d2c231f29a9f1ae6c84209bbbe2ce4be5cd1bae5443ef81c0c8d5de
+SIZE (prometheus-common-67670fe90761_GH0.tar.gz) = 81099
+SHA256 (russross-blackfriday-v2.0.0_GH0.tar.gz) = da9c7e713b2c97300cab6c1545726950d05ea2093afe13c94c1d3f2a7844e3f5
+SIZE (russross-blackfriday-v2.0.0_GH0.tar.gz) = 77677
+SHA256 (saibing-tools-v1.7.3_GH0.tar.gz) = f3ad53fcc48a6089cf96db3170f74b9d8f7cb2ef61c4b483b3897a0a0e5e6370
+SIZE (saibing-tools-v1.7.3_GH0.tar.gz) = 2860505
+SHA256 (Shopify-sarama-v1.20.1_GH0.tar.gz) = 4bdf0d28be937d3e54f8f98318e1daf10aa86229bf6478ad08a097ccf2710ef2
+SIZE (Shopify-sarama-v1.20.1_GH0.tar.gz) = 188580
+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 (slimsag-godocmd-a1005ad29fe3_GH0.tar.gz) = 51508fc02aa43587441853fbf44ce5e41b33aff40d78923fb832866225d4196b
+SIZE (slimsag-godocmd-a1005ad29fe3_GH0.tar.gz) = 39310
+SHA256 (sourcegraph-jsonrpc2-549eb959f029_GH0.tar.gz) = 7f26c32b8d7efa5c4e1a6bf3687ca0532c18088e2d07044cc815efee785566bf
+SIZE (sourcegraph-jsonrpc2-549eb959f029_GH0.tar.gz) = 13133
+SHA256 (sqs-pbtypes-v1.0.0_GH0.tar.gz) = 64c42ffbc8ce815319a53f4e849988389e20c4633a6eadbe0d6ed225a949baf3
+SIZE (sqs-pbtypes-v1.0.0_GH0.tar.gz) = 9153
+SHA256 (stretchr-objx-v0.1.1_GH0.tar.gz) = 3bb0a581651f4c040435a70167ab60b723c5af04a5b0326af3c8b01ccc6fdcf0
+SIZE (stretchr-objx-v0.1.1_GH0.tar.gz) = 75768
+SHA256 (stretchr-testify-v1.3.0_GH0.tar.gz) = 0cd9c199a72b8d80621624b37c0ed5ac724352d458506a31dfa86710551e7fc5
+SIZE (stretchr-testify-v1.3.0_GH0.tar.gz) = 102859

Added: head/devel/bingo/files/gomod.awk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/bingo/files/gomod.awk	Wed Jan 30 10:10:50 2019	(r491614)
@@ -0,0 +1,126 @@
+# Case-insensitive bubble sort
+function sort_array(arr, arrlen,	i, j, temp) {
+	for (i = 1; i < arrlen; i++) {
+		for (j = i + 1; j < arrlen; j++) {
+			if (tolower(arr[i]) > tolower(arr[j])) {
+				temp = arr[j]
+				arr[j] = arr[i]
+				arr[i] = temp
+			}
+		}
+	}
+}
+
+function print_array(start, arr, arrlen,	end, i) {
+	end = " \\\n"
+	for (i = 1; i < arrlen; i++) {
+		if (i == arrlen - 1) {
+			end = "\n"
+		}
+		printf "%s\t%s%s", start, arr[i], end
+		start = "\t"
+	}
+}
+
+function distgroup(name,	retval) {
+	gsub(/[-\.]/, "_", name)
+	if (_distgroup[name] == 0) {
+		_distgroup[name] = 1
+		return name
+	}
+
+	retval = sprintf("%s%i", name, _distgroup[name]++)
+	return retval
+}
+
+BEGIN {
+	module = "<<<unknown>>>"
+
+	# Map some modules to GitHub manually
+	# XXX: This could be done automatically via looking it up with curl
+	# https://google.golang.org/grpc?go-get=1
+	# or via go get -v honnef.co/go/tools
+	github_map["google.golang.org/api"] = "google/google-api-go-client"
+	github_map["google.golang.org/grpc"] = "grpc/grpc-go"
+	github_map["google.golang.org/genproto"] = "google/go-genproto"
+	github_map["go4.org"] = "go4org/go4"
+	github_map["honnef.co/go/tools"] = "dominikh/go-tools"
+}
+
+$1 ~ /module/ {
+	module = $2
+}
+
+/^require \($/, /^\)$/ {
+	if ($1 != "require" && $1 != ")") {
+		require()
+	}
+} function require(	dep, version) {
+	dep = $1
+	version = $2
+	_require[dep] = version
+}
+
+/^replace / {
+	replace()
+} function replace(	old_dep, new_dep, version) {
+	old_dep = $2
+	new_dep = $4
+	version = $5
+	delete _require[old_dep]
+	_require[new_dep] = version
+	_replace[new_dep] = old_dep
+}
+
+function to_gh_tuple(tuples,	tmp, path, account, project, tag, tokens) {
+	tuples_len = 1
+	for (path in _require) {
+		split(path, tokens, "/")
+		account = "<<<unknown>>>"
+		project = "<<<unknown>>>"
+		tag = _require[path]
+		if (path ~ "^golang.org/x/") {
+			account = "golang"
+			project = tokens[3]
+		} else if (path ~ "^(github|sourcegraph).com/") {
+			account = tokens[2]
+			project = tokens[3]
+		} else if (path ~ "^gopkg.in/") {
+			if (length(tokens) >= 3) {
+				gsub(/\.v[0-9]+$/, "", tokens[3])
+				account = tokens[2]
+				project = tokens[3]
+			} else if (length(tokens) >= 2) {
+				gsub(/\.v[0-9]+$/, "", tokens[2])
+				account = sprintf("go-%s", tokens[2])
+				project = tokens[2]
+			}
+		} else if (path ~ "^git.apache.org/") {
+			account = "apache"
+			project = tokens[2]
+		} else {
+			if (split(github_map[path], tmp, "/") == 2) {
+				account = tmp[1]
+				project = tmp[2]
+			}
+		}
+		gsub(/\+.*$/, "", tag)
+		gsub(/^v[0-9\.]+-..............-/, "", tag)
+		gsub(/\.git$/, "", project)
+		if (_replace[path] != "") {
+			path = _replace[path]
+		}
+		tuples[tuples_len++] = sprintf("%s:%s:%s:%s/vendor/%s", account, project, tag, distgroup(project), path)
+	}
+	return tuples_len
+}
+
+function print_gh_tuple(	tuples_len, tuples) {
+	tuples_len = to_gh_tuple(tuples)
+	sort_array(tuples, tuples_len)
+	print_array("GH_TUPLE=", tuples, tuples_len)
+}
+
+END {
+	print_gh_tuple()
+}

Added: head/devel/bingo/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/bingo/pkg-descr	Wed Jan 30 10:10:50 2019	(r491614)
@@ -0,0 +1,8 @@
+Bingo is a Go language server that speaks the Language Server
+Protocol.  It supports editor features such as go-to-definition,
+hover, and find-references for Go projects.
+
+This project was largely inspired by go-langserver, but bingo is
+simpler, faster, and smarter.
+
+WWW: https://github.com/saibing/bingo



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201901301010.x0UAAont026906>