diff options
author | Mark H Weaver <mhw@netris.org> | 2015-05-23 22:24:19 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2015-05-23 22:24:19 -0400 |
commit | 30f9cbb072755cf76fe942038420cfda2af29f3e (patch) | |
tree | 6c2c77a7a248390f1b1215840bca2cc0c90006cc /doc | |
parent | f28084285af289c4649457208c98dcc66566add2 (diff) | |
parent | 4a35a866be51361b80a5618e422d135959960c3d (diff) | |
download | patches-30f9cbb072755cf76fe942038420cfda2af29f3e.tar patches-30f9cbb072755cf76fe942038420cfda2af29f3e.tar.gz |
Merge branch 'master' into gtk-rebuild
Diffstat (limited to 'doc')
-rw-r--r-- | doc/emacs.texi | 2 | ||||
-rw-r--r-- | doc/guix.texi | 48 |
2 files changed, 48 insertions, 2 deletions
diff --git a/doc/emacs.texi b/doc/emacs.texi index 93d0c86b42..e1d14a4c4a 100644 --- a/doc/emacs.texi +++ b/doc/emacs.texi @@ -29,7 +29,7 @@ is ready to use, provided Guix is installed system-wide, which is the case by default. So if that is what you're using, you can happily skip this section and read about the fun stuff. -If you're not yet a happy user of GSD, a little bit of setup is needed. +If you're not yet a happy user of GuixSD, a little bit of setup is needed. To be able to use ``guix.el'', you need to install the following packages: diff --git a/doc/guix.texi b/doc/guix.texi index 9bd9c581ce..cfb626c705 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -88,6 +88,7 @@ Installation * Running the Test Suite:: Testing Guix. * Setting Up the Daemon:: Preparing the build daemon's environment. * Invoking guix-daemon:: Running the build daemon. +* Running Guix Before It Is Installed:: Hacker tricks. Setting Up the Daemon @@ -114,6 +115,11 @@ Programming Interface * The Store Monad:: Purely functional interface to the store. * G-Expressions:: Manipulating build expressions. +Defining Packages + +* package Reference:: The package data type. +* origin Reference:: The origin data type. + Utilities * Invoking guix build:: Building packages from the command line. @@ -247,6 +253,7 @@ instead, you want to install the complete GNU operating system, * Running the Test Suite:: Testing Guix. * Setting Up the Daemon:: Preparing the build daemon's environment. * Invoking guix-daemon:: Running the build daemon. +* Running Guix Before It Is Installed:: Hacker tricks. @end menu @node Binary Installation @@ -825,6 +832,44 @@ useful in exceptional circumstances, such as if you need to run several daemons on the same machine. @end table +@node Running Guix Before It Is Installed +@section Running Guix Before It Is Installed + +If you are hacking Guix itself---which is a good idea!---you will find +it useful to test the changes made in your local source tree checkout +without actually installing them. + +To that end, all the command-line tools can be used even if you have not +run @command{make install}. To do that, prefix each command with +@command{./pre-inst-env} (the @file{pre-inst-env} script lives in the +top build tree of Guix), as in: + +@example +$ sudo ./pre-inst-env guix-daemon --build-users-group=guixbuild +$ ./pre-inst-env guix build hello +@end example + +@noindent +Similarly, for a Guile session using the Guix modules: + +@example +$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))' +@end example + +The @command{pre-inst-env} script sets up all the environment variables +necessary to support this, including @code{PATH} and +@code{GUILE_LOAD_PATH}. + +If you are hacking Guix from Emacs using the wonderful Geiser +(@pxref{Introduction,,, geiser, Geiser User Manual}), make sure to +augment Guile's load path so that it finds source files from your +checkout: + +@lisp +;; Assuming the Guix checkout is in ~/src/guix. +(add-to-list 'geiser-guile-load-path "~/src/guix") +@end lisp + @c ********************************************************************* @node Package Management @@ -6210,7 +6255,8 @@ creating packages. For more information on package definitions, Once a package definition is in place, stored in a file in the Guix source tree, it can be tested using the @command{guix build} command (@pxref{Invoking guix build}). For example, assuming the new package is -called @code{gnew}, you may run this command from the Guix build tree: +called @code{gnew}, you may run this command from the Guix build tree +(@pxref{Running Guix Before It Is Installed}): @example ./pre-inst-env guix build gnew --keep-failed |