git: 9a1d65ec41 - main - porters-handbook: update Go porting notes for D28184

Dmitri Goutnik dmgk at FreeBSD.org
Thu Mar 4 16:33:46 UTC 2021


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 at FreeBSD.org>
AuthorDate: 2021-03-04 16:32:05 +0000
Commit:     Dmitri Goutnik <dmgk at 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 at 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.
 


More information about the dev-commits-doc-all mailing list