summaryrefslogtreecommitdiff
path: root/doc/guix.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi59
1 files changed, 48 insertions, 11 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index c91bc2021d..e23eab0f81 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -141,8 +141,10 @@ Distribution}.
@node Installation
@chapter Installation
-This section describes the software requirements of Guix, as well as how
-to install it and get ready to use it.
+GNU Guix is available for download from its website at
+@url{http://www.gnu.org/software/guix/}. This section describes the
+software requirements of Guix, as well as how to install it and get
+ready to use it.
The build procedure for Guix is the same as for other GNU software, and
is not covered here. Please see the files @file{README} and
@@ -293,6 +295,10 @@ The following command-line options are supported:
Take users from @var{group} to run build processes (@pxref{Setting Up
the Daemon, build users}).
+@item --no-substitutes
+Do not use substitutes for build products. That is, always build things
+locally instead of allowing downloads of pre-built binaries.
+
@item --cache-failures
Cache build failures. By default, only successful builds are cached.
@@ -447,11 +453,8 @@ scripts, etc. This direct correspondence allows users to make sure a
given package installation matches the current state of their
distribution, and helps maximize @dfn{reproducibility}.
-@c FIXME: Remove footnote when it's implemented.
This foundation allows Guix to support @dfn{transparent binary/source
-deployment}@footnote{This feature is not implemented as of version
-@value{VERSION}. Please contact @email{bug-guix@@gnu.org} for more
-details.}. When a pre-built binary for a @file{/nix/store} path is
+deployment}. When a pre-built binary for a @file{/nix/store} path is
available from an external source, Guix just downloads it; otherwise, it
builds the package from source, locally.
@@ -537,9 +540,10 @@ multiple-output package.
@itemx -r @var{package}
Remove @var{package}.
-@item --upgrade=@var{regexp}
-@itemx -u @var{regexp}
-Upgrade all the installed packages matching @var{regexp}.
+@item --upgrade[=@var{regexp}]
+@itemx -u [@var{regexp}]
+Upgrade all the installed packages. When @var{regexp} is specified, upgrade
+only installed packages whose name matches @var{regexp}.
Note that this upgrades package to the latest version of packages found
in the distribution currently installed. To update your distribution,
@@ -810,8 +814,9 @@ the GNU mirrors defined in @code{(guix download)}.
The @code{sha256} field specifies the expected SHA256 hash of the file
being downloaded. It is mandatory, and allows Guix to check the
integrity of the file. The @code{(base32 @dots{})} form introduces the
-base32 representation of the hash. A convenient way to obtain this
-information is with the @code{guix download} tool.
+base32 representation of the hash. You can obtain this information with
+the @code{guix hash} (@pxref{Invoking guix hash}) and @code{guix
+download} tools.
@item
@cindex GNU Build System
@@ -1090,6 +1095,7 @@ space.
@menu
* Invoking guix build:: Building packages from the command line.
+* Invoking guix hash:: Computing the cryptographic hash of a file.
@end menu
@node Invoking guix build
@@ -1185,6 +1191,37 @@ the @code{package-derivation} procedure of the @code{(guix packages)}
module, and to the @code{build-derivations} procedure of the @code{(guix
store)} module.
+@node Invoking guix hash
+@section Invoking @command{guix hash}
+
+The @command{guix hash} command allows to check the integrity of a file.
+It is primarily a convenience tool for anyone contributing to the
+distribution: it computes the cryptographic hash of a file, which can be
+used in the definition of a package (@pxref{Defining Packages}).
+
+The general syntax is:
+
+@example
+guix hash @var{option} @var{file}
+@end example
+
+@command{guix hash} has the following option:
+
+@table @code
+
+@item --format=@var{fmt}
+@itemx -f @var{fmt}
+Write the hash in the given format.
+
+Supported formats: @code{nix-base32}, @code{base32}, @code{base16}
+(@code{hex} and @code{hexadecimal} can be used as well).
+
+If the @option{--format} option is not specified, @command{guix hash}
+will output the hash in @code{nix-base32}. This representation is used
+in the definitions of packages.
+
+@end table
+
@c *********************************************************************
@node GNU Distribution
@chapter GNU Distribution