Date: Thu, 4 Mar 2021 16:33:46 GMT From: Dmitri Goutnik <dmgk@FreeBSD.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org Subject: git: 9a1d65ec41 - main - porters-handbook: update Go porting notes for D28184 Message-ID: <202103041633.124GXka5063919@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by dmgk (ports committer): URL: https://cgit.FreeBSD.org/doc/commit/?id=9a1d65ec41392a53d2b87c930a46a006153fdd1d commit 9a1d65ec41392a53d2b87c930a46a006153fdd1d Author: Dmitri Goutnik <dmgk@FreeBSD.org> AuthorDate: 2021-03-04 16:32:05 +0000 Commit: Dmitri Goutnik <dmgk@FreeBSD.org> CommitDate: 2021-03-04 16:32:05 +0000 porters-handbook: update Go porting notes for D28184 Approved by: crees (doc) Differential Revision: https://reviews.freebsd.org/D28789 --- .../en/books/porters-handbook/special/chapter.adoc | 25 ++++++++++++++++++++++ .../en/books/porters-handbook/uses/chapter.adoc | 3 +++ 2 files changed, 28 insertions(+) diff --git a/documentation/content/en/books/porters-handbook/special/chapter.adoc b/documentation/content/en/books/porters-handbook/special/chapter.adoc index 696cf509a0..62400a9a8e 100644 --- a/documentation/content/en/books/porters-handbook/special/chapter.adoc +++ b/documentation/content/en/books/porters-handbook/special/chapter.adoc @@ -713,6 +713,31 @@ For ports that use Go, define `USES=go`. Refer to <<uses-go,`go`>> for a list of .Creating a Port for a Go Modules Based Application [example] ==== +In most cases, it is sufficient to set `GO_MODULE` variable to the value specified by `module` directive in `go.mod`: + +[.programlisting] +.... +PORTNAME= hey +PORTVERSION= 0.1.4 +DISTVERSIONPREFIX= v +CATEGORIES= benchmarks + +MAINTAINER= dmgk@FreeBSD.org +COMMENT= Tiny program that sends some load to a web application + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= go:modules +GO_MODULE= github.com/rakyll/hey + +PLIST_FILES= bin/hey + +.include <bsd.port.mk> +.... + +If the "easy" way is not adequate or more control over dependencies is needed, the full porting process is described below. + Creating a Go based port is a five stage process. First we need to provide a ports template that fetches the application distribution file: [.programlisting] diff --git a/documentation/content/en/books/porters-handbook/uses/chapter.adoc b/documentation/content/en/books/porters-handbook/uses/chapter.adoc index 3dafe3c57c..91d71fbf04 100644 --- a/documentation/content/en/books/porters-handbook/uses/chapter.adoc +++ b/documentation/content/en/books/porters-handbook/uses/chapter.adoc @@ -519,6 +519,9 @@ Sets default values and targets used to build Go software. A build dependency on The build process is controlled by several variables: +`GO_MODULE`:: +The name of the application module as specified by `module` directive in `go.mod`. In most cases, this is the only requred variable for ports that use Go modules. + `GO_PKGNAME`:: The name of the Go package when building in GOPATH mode. This is the directory that will be created in `${GOPATH}/src`. If not set explicitly and `GH_SUBDIR` or `GL_SUBDIR` is present, `GO_PKGNAME` will be inferred from it. It is not needed when building in modules-aware mode.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202103041633.124GXka5063919>