diff options
| author | Dmitri Goutnik <dmgk@FreeBSD.org> | 2021-03-04 16:32:05 +0000 | 
|---|---|---|
| committer | Dmitri Goutnik <dmgk@FreeBSD.org> | 2021-03-04 16:32:05 +0000 | 
| commit | 9a1d65ec41392a53d2b87c930a46a006153fdd1d (patch) | |
| tree | 4a9f844667a2eb1f01b540315cdc070ca97bcbca /documentation | |
| parent | 4d8cfb575f4fab3131a14cc229b8909411ab7901 (diff) | |
Diffstat (limited to 'documentation')
| -rw-r--r-- | documentation/content/en/books/porters-handbook/special/chapter.adoc | 25 | ||||
| -rw-r--r-- | documentation/content/en/books/porters-handbook/uses/chapter.adoc | 3 | 
2 files changed, 28 insertions, 0 deletions
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.  | 
