diff --git a/documentation/content/en/books/porters-handbook/special/chapter.adoc b/documentation/content/en/books/porters-handbook/special/chapter.adoc --- a/documentation/content/en/books/porters-handbook/special/chapter.adoc +++ b/documentation/content/en/books/porters-handbook/special/chapter.adoc @@ -713,6 +713,31 @@ .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 +.... + +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 --- a/documentation/content/en/books/porters-handbook/uses/chapter.adoc +++ b/documentation/content/en/books/porters-handbook/uses/chapter.adoc @@ -519,6 +519,9 @@ 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.