From 300868ba57e3786dae399f3cac4fff39ad6c316f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 24 Sep 2014 11:26:30 +0200 Subject: guix build: Add -L/--load-path as a common option. * guix/scripts/build.scm (show-build-options-help): Document -L. (%standard-build-options): Add -L/--load-path. * tests/guix-package.sh: Test it. --- doc/guix.texi | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index a63602162d..bdba88e2e2 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2492,6 +2492,14 @@ following: @table @code +@item --load-path=@var{directory} +@itemx -L @var{directory} +Add @var{directory} to the front of the package module search path +(@pxref{Package Modules}). + +This allows users to define their own packages and make them visible to +the command-line tools. + @item --keep-failed @itemx -K Keep the build tree of failed builds. Thus, if a build fail, its build @@ -3951,17 +3959,22 @@ Reference Manual}). For instance, the @code{(gnu packages emacs)} module exports a variable named @code{emacs}, which is bound to a @code{} object (@pxref{Defining Packages}). -The @code{(gnu packages @dots{})} module name space is special: it is +The @code{(gnu packages @dots{})} module name space is automatically scanned for packages by the command-line tools. For instance, when running @code{guix package -i emacs}, all the @code{(gnu packages @dots{})} modules are scanned until one that exports a package object whose name is @code{emacs} is found. This package search facility is implemented in the @code{(gnu packages)} module. +@cindex customization, of packages Users can store package definitions in modules with different -names---e.g., @code{(my-packages emacs)}. In that case, commands such -as @command{guix package} and @command{guix build} have to be used with -the @code{-e} option so that they know where to find the package. +names---e.g., @code{(my-packages emacs)}. These package definitions +will not be visible by default. Thus, users can invoke commands such as +@command{guix package} and @command{guix build} have to be used with the +@code{-e} option so that they know where to find the package, or use the +@code{-L} option of these commands to make those modules visible +(@pxref{Invoking guix build, @code{--load-path}}). The latter makes it +easy to customize the distribution. The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}: each package is built based solely on other packages in the -- cgit 1.4.1