diff options
author | Florian Pelz <pelzflorian@pelzflorian.de> | 2019-07-13 08:29:26 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-07-17 15:36:04 +0200 |
commit | 0636742b774876382da99b182ee39e4ac1944f48 (patch) | |
tree | a5a6118031ff5dae0f8c6687e4c023bae20d0d8e | |
parent | aa856d02b8018eab059d5a337f613692ac5d93fc (diff) | |
download | guix-0636742b774876382da99b182ee39e4ac1944f48.tar guix-0636742b774876382da99b182ee39e4ac1944f48.tar.gz |
doc: Reorder and clarify contributing instructions.
* doc/contributing.texi (Building from Git, Running Guix Before It Is
Installed): Make instructions using Guix come first and clarify which code is
an instruction and which is merely an example.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | doc/contributing.texi | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/doc/contributing.texi b/doc/contributing.texi index 7f2301409a..59917193f1 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -38,19 +38,6 @@ version from the Git repository: git clone https://git.savannah.gnu.org/git/guix.git @end example -When building Guix from a checkout, -the following packages are required in addition to those mentioned in -the installation instructions (@pxref{Requirements}). - -@itemize -@item @url{http://gnu.org/software/autoconf/, GNU Autoconf}; -@item @url{http://gnu.org/software/automake/, GNU Automake}; -@item @url{http://gnu.org/software/gettext/, GNU Gettext}; -@item @url{http://gnu.org/software/texinfo/, GNU Texinfo}; -@item @url{http://www.graphviz.org/, Graphviz}; -@item @url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}. -@end itemize - The easiest way to set up a development environment for Guix is, of course, by using Guix! The following command starts a new shell where all the dependencies and appropriate environment variables are set up to @@ -61,7 +48,22 @@ guix environment guix --pure @end example @xref{Invoking guix environment}, for more information on that command. -Extra dependencies can be added with @option{--ad-hoc}: + +If you are unable to use Guix when building Guix from a checkout, the +following are the required packages in addition to those mentioned in the +installation instructions (@pxref{Requirements}). + +@itemize +@item @url{http://gnu.org/software/autoconf/, GNU Autoconf}; +@item @url{http://gnu.org/software/automake/, GNU Automake}; +@item @url{http://gnu.org/software/gettext/, GNU Gettext}; +@item @url{http://gnu.org/software/texinfo/, GNU Texinfo}; +@item @url{http://www.graphviz.org/, Graphviz}; +@item @url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}. +@end itemize + +On Guix, extra dependencies can be added by instead running @command{guix +environment} with @option{--ad-hoc}: @example guix environment guix --pure --ad-hoc help2man git strace @@ -113,8 +115,8 @@ run @code{make install}. To do that, you first need to have an environment with all the dependencies available (@pxref{Building from Git}), and then simply prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env} script lives in the -top build tree of Guix; it is generated by @command{./configure}), -as in@footnote{The @option{-E} flag to +top build tree of Guix; it is generated by @command{./configure}). +An example@footnote{The @option{-E} flag to @command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set such that @command{guix-daemon} and the tools it uses can find the Guile modules they need.}: @@ -125,7 +127,7 @@ $ ./pre-inst-env guix build hello @end example @noindent -Similarly, for a Guile session using the Guix modules: +Similarly, an example for a Guile session using the Guix modules: @example $ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))' |