X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/4a328f7342ade8dd8536638e19bc8a5b33bb89fe..60da9fb1100787c49ed4910eacf50e83c6462dcc:/README diff --git a/README b/README index dde402964b..f05a4b5615 100644 --- a/README +++ b/README @@ -20,8 +20,13 @@ Guix is based on the [[http://nixos.org/nix/][Nix]] package manager. 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: @@ -33,61 +38,38 @@ When `--disable-daemon' was passed, you instead need the following: - [[http://nixos.org/nix/][Nix]] -Optionally, packages from Nixpkgs may be transparently reused from Guix. -For this to work, you need to have a checkout of the Nixpkgs repository; -the `--with-nixpkgs' option allows you to let `configure' know where the -Nixpkgs checkout is. +* Installation - - [[http://nixos.org/nixpkgs/][Nixpkgs]] +See the manual for the installation instructions, either by running -When building Guix from a checkout, the following packages are also -required: + info -f doc/guix.info "(guix) Installation" - - [[http://www.gnu.org/software/autoconf/][GNU Autoconf]] - - [[http://www.gnu.org/software/automake/][GNU Automake]] - - [[http://www.gnu.org/software/gettext/][GNU Gettext]] +or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]]. -Run the "bootstrap" script to download the Nix daemon and to generate the -build system infrastructure using autoconf. It reports an error if an -inappropriate version of the above packages is being used. +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. You should have the following packages installed in your user - profile: - - - autoconf - - automake - - bzip2 - - gcc - - gettext - - glibc - - guile - - ld-wrapper - - libgcrypt - - pkg-config - - sqlite - - - set the environment variables that Guix recommends you to set during the - package installation process: - ACLOCAL, CPATH, LIBRARY_PATH, PATH, PKG_CONFIG_PATH - In addition, set - GUIX_LD_WRAPPER_ALLOW_IMPURITIES=yes - - - re-run the configure script passing it the option - `--with-libgcrypt-prefix=$HOME/.guix-profile/' - - - run "make" and "make install" + - Start a shell with the development environment for Guix: + + guix environment guix + + - 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!). + + - 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'.