summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-09-19 21:08:42 -0400
committerLeo Famulari <leo@famulari.name>2017-10-12 21:22:40 -0400
commit91525b486c23d2b3d5755a88d3b51f37ecba0597 (patch)
tree5164ccab1735da7cf3a6726bf6f7482a1c96803b /doc
parentb3936f35aeae5ccc3abba65c2264178eadb04d79 (diff)
downloadguix-91525b486c23d2b3d5755a88d3b51f37ecba0597.tar.gz
build: Add the Go build system.
* guix/build-system/go.scm,
guix/build/go-build-system.scm: New files.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document the go-build-system.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi18
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 0940ea4e71..6018198567 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3576,6 +3576,24 @@ debugging information''), which roughly means that code is compiled with
 @code{-O2 -g}, as is the case for Autoconf-based packages by default.
 @end defvr
 
+@defvr {Scheme Variable} go-build-system
+This variable is exported by @code{(guix build-system go)}.  It
+implements a build procedure for Go packages using the standard
+@url{https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies,
+Go build mechanisms}.
+
+The user is expected to provide a value for the key @code{#:import-path}
+and, in some cases, @code{#:unpack-path}.  The
+@url{https://golang.org/doc/code.html#ImportPaths, import path}
+corresponds to the filesystem path expected by the package's build
+scripts and any referring packages, and provides a unique way to
+refer to a Go package.  It is typically based on a combination of the
+package source code's remote URI and filesystem hierarchy structure.  In
+some cases, you will need to unpack the package's source code to a
+different directory structure than the one indicated by the import path,
+and @code{#:unpack-path} should be used in such cases.
+@end defvr
+
 @defvr {Scheme Variable} glib-or-gtk-build-system
 This variable is exported by @code{(guix build-system glib-or-gtk)}.  It
 is intended for use with packages making use of GLib or GTK+.