The guix-build command builds packages or derivations and their dependencies, and prints the resulting store paths. It is mainly useful for distribution developers. The general syntax is:
guix-build options package-or-derivation...
package-or-derivation may be either the name of a package found in
the software distribution such as
coreutils, or a derivation such
as /nix/store/xxx-coreutils-8.19.drv. Alternatively, the
--expression option may be used to specify a Scheme expression
that evaluates to a package; this is useful when disambiguation among
several same-named packages or package variants is needed.
The options may be zero or more of the following:
For example, expr may be
(@ (distro packages guile)
guile-1.8), which unambiguously designates this specific variant of
version 1.8 of Guile.
guix-build -S gcc returns something like
/nix/store/xxx-gcc-4.7.2.tar.bz2, which is GCC's source tarball.
i686-linux—instead of the host's system type.
An example use of this is on Linux-based systems, which can emulate
different personalities. For instance, passing
--system=i686-linux on an
x86_64-linux system allows users
to build packages in a complete 32-bit environment.
0means to use as many CPU cores as available.
Behind the scenes, guix-build is essentially an interface to
package-derivation procedure of the
module, and to the
build-derivations procedure of the