GNU Guix currently depends on the following packages:
- - [[http://gnu.org/software/guile/][GNU Guile 2.0.x]], version 2.0.5 or later
+ - [[http://gnu.org/software/guile/][GNU Guile 2.0.x]], version 2.0.7 or later
- [[http://gnupg.org/][GNU libgcrypt]]
+ - [[http://www.gnu.org/software/make/][GNU Make]]
+ - optionally [[http://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
+ - optionally [[http://www.gnutls.org][GnuTLS]] compiled with guile support enabled, for HTTPS support
+ in the 'guix download' command. Note that 'guix import pypi' requires
+ this functionality.
Unless `--disable-daemon' was passed, the following packages are needed:
or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]].
-For information on installation from a Git checkout, please see the ‘HACKING’
-file.
+For information on installation from a Git checkout, please see the section
+"Building from Git" in the manual.
* Installing Guix from Guix
You can re-build and re-install Guix using a system that already runs Guix.
To do so:
- - Install the dependencies (see 'Requirements' above) and build tools using
- Guix:
+ - Start a shell with the development environment for Guix:
- guix package --install={autoconf,automake,bzip2,gcc,binutils,ld-wrapper,glibc,gettext,guile,libgcrypt,pkg-config,sqlite}
+ guix environment guix
- - set the environment variables that Guix recommends you to set during the
- package installation process:
- ACLOCAL_PATH, CPATH, LIBRARY_PATH, PKG_CONFIG_PATH
+ - Re-run the 'configure' script passing it the option
+ '--localstatedir=/somewhere', where '/somewhere' is the 'localstatedir'
+ value of the currently installed Guix (failing to do that would lead the
+ new Guix to consider the store to be empty!).
- - set the PATH environment variable to refer to the profile:
- PATH=$HOME/.guix-profile/bin:$PATH
-
- - re-run the configure script passing it the option
- `--with-libgcrypt-prefix=$HOME/.guix-profile/'
-
- - run "make" and "make install"
+ - Run "make", "make check", and "make install".
* How It Works
Guix does the high-level preparation of a /derivation/. A derivation is
the promise of a build; it is stored as a text file under
-=/nix/store/xxx.drv=. The (guix derivations) module provides the
+=/gnu/store/xxx.drv=. The (guix derivations) module provides the
`derivation' primitive, as well as higher-level wrappers such as
`build-expression->derivation'.