Manual Page Result
0
Command: go-module | Section: 5 | Source: OpenBSD | File: go-module.5
GO-MODULE(5) FreeBSD File Formats Manual GO-MODULE(5)
NAME
go-module - lang/go port module
DESCRIPTION
This manual page documents the behavior of setting MODULES=lang/go in the
ports(7) tree.
Adds Go toolchain support. Requires ALL_TARGET to be set to canonical Go
import path of port. (Module sets it automatically for ports that use
GH_ACCOUNT and GH_PROJECT macros.)
During execution of pre-configure target module moves source code from
${MODGO_SUBDIR} to ${WRKSRC}, subdirectory of ${MODGO_WORKSPACE} -
specially-crafted Go workspace located at ${WRKDIR}/go. During do-build
module calls "go install" with GOPATH set to ${MODGO_WORKSPACE}, runs its
output through sed to prevent writes outside WRKDIR sandbox and sends
output to sh(1). During do-install it copies executables from
${MODGO_WORKSPACE}/bin to ${PREFIX}/bin, and/or directories
${MODGO_WORKSPACE}/pkg and ${MODGO_WORKSPACE}/src to ${PREFIX}/go,
depending on MODGO_TYPE contents.
Sets BUILD_DEPENDS, RUN_DEPENDS, ALL_TARGET, TEST_TARGET, ONLY_FOR_ARCHS,
SEPARATE_BUILD, and WRKSRC.
Appends to CATEGORIES.
Defines:
MODGO_TYPE Type of port. May be any combination of:
bin ordinary binary, which should be installed to
${PREFIX}/bin,
lib library, which should come with source code.
Defaults to bin.
MODGO_WORKSPACE Path to Go workspace set up for port build process.
Defaults to ${WRKDIR}/go. See Go documentation for
details.
MODGO_SUBDIR Path to Go source code within port's sources tarball.
Defaults to ${WRKDIST}.
MODGO_SETUP_WORKSPACE
Commands setting up Go workspace for building ports. By
default, happens during execution of pre-configure
target.
MODGO_BUILDDEP Controls whether contents of MODGO_BUILD_DEPENDS are
appended to port's BUILD_DEPENDS. Defaults to Yes.
MODGO_MODNAME Name of Go module as defined in the go.mod file
contained in a project. If this is set, MODGO_MODULES,
MODGO_MODFILES and MODGO_VERSION need to be defined as
well. Setting this will also set ALL_TARGET. When
MODGO_MODFILES is set, and a "cmd" directory is found in
WRKSRC, "./cmd/..." is also built by do-build
automatically.
MODGO_VERSION Sets the specific version of a Go module to use. For
example: v0.1.3.
MODGO_MODULES List of modules and their specific versions that an
application depends on.
MODGO_MODFILES List of go.mod files and their versions that are
required for dependency resolution. These are required
by Go to determine the full dependency graph.
Additionally defines MODGO_ARCH (application architecture name used by
Go), MODGO_PACKAGES, MODGO_SOURCES and MODGO_TOOLS (paths for installed
Go packages, sources and tools respectively), MODGO_CMD and MODGO_FLAGS
(source code build command and flags passed as its arguments),
MODGO_LDFLAGS, MODGO_BUILD_CMD and MODGO_TEST_CMD (commands for building
and testing go packages; normally called with canonical Go package names
as arguments), MODGO_{BUILD,INSTALL,TEST}_TARGET and
MODGO_{BUILD,RUN}_DEPENDS.
This module adds one make(1) target:
modgo-gen-modules Generate the MODGO_MODULES and the MODGO_MODFILES
lists. If MODGO_VERSION is set to "latest", the
latest known-to-Go version of a package will be used
to build the list of modules. Similarly, if
MODGO_VERSION is empty, the latest version will be
fetched.
SEE ALSO
port-modules(5)
FreeBSD 14.1-RELEASE-p8 February 7, 2025 FreeBSD 14.1-RELEASE-p8