From 8058dab26e90db54708d4c698db843dd703ecbb2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 May 2012 12:04:07 -0400 Subject: [PATCH] Clean up the installation section; document the generic binary tarballs --- doc/manual/installation.xml | 244 ++++++++++++++++++++++-------------- 1 file changed, 148 insertions(+), 96 deletions(-) diff --git a/doc/manual/installation.xml b/doc/manual/installation.xml index 959a950ea..88f76752e 100644 --- a/doc/manual/installation.xml +++ b/doc/manual/installation.xml @@ -40,11 +40,155 @@ platforms as well. -
Obtaining Nix +
Installing a binary distribution -The easiest way to obtain Nix is to download a source distribution. RPMs -for Red Hat, SuSE, and Fedora Core are also available. +The easiest way to install Nix is to use a binary package. +Binary packages of the latest stable release are available for Fedora, +Debian, Ubuntu, Mac OS X and various other systems from the Nix homepage. +You can also get builds of the latest development release from our +continuous +build system. + +For Fedora, RPM packages are available. These can be installed +or upgraded using rpm -U. For example, + + +$ rpm -U nix-1.0-1.i386.rpm + + + +For Debian and Ubuntu, you can download a Deb package and +install it like this: + + +$ dpkg -i nix_1.0-1_amd64.deb + + + +For other platforms, including Mac OS X (Darwin), FreeBSD and +other Linux distributions, you can download a binary tarball. It +contains Nix and all its dependencies. You should unpack it in the +root directory, then run nix-finish-install: + + +$ cd / +$ tar xfj nix-1.1-x86_64-darwin.tar.bz2 +$ nix-finish-install + + +After this you can delete +/usr/bin/nix-finish-install. + +If you plan to use Nix from a single non-root user account, it’s +probably convenient to change the ownership of the entire Nix store +and database to that user account. In that case, install as follows: + + +alice$ cd / +alice$ sudo tar xfj nix-1.1-x86_64-darwin.tar.bz2 +alice$ sudo chown -R alice /nix +alice$ nix-finish-install + + + + +Nix can be uninstalled using rpm -e nix or +dpkg -r nix on RPM- and Dpkg-based systems, +respectively. After this you should manually remove the Nix store and +other auxiliary data, if desired: + + +$ rm -rf /nix + + + +
+ + +
Installing Nix from source + +If no binary package is available, you can download and compile +a source distribution. + +
Prerequisites + + + + A fairly recent version of GCC/G++. Version 2.95 + and higher should work. Clang will also work. + + Perl 5.8 or higher. + + pkg-config to locate + dependencies. If your distribution does not provide it, you can get + it from . + + The bzip2 compressor program and the + libbz2 library. Thus you must have bzip2 + installed, including development headers and libraries. If your + distribution does not provide these, you can obtain bzip2 from . + + The SQLite embedded database library, version 3.6.19 + or higher. If your distribution does not provide it, please install + it from . + + The Perl DBI and DBD::SQLite libraries, which are + available from CPAN if your + distribution does not provide them. + + The Boehm + garbage collector to reduce the evaluator’s memory + consumption (optional). To enable it, install + pkgconfig and the Boehm garbage collector, and + pass the flag to + configure. + + The xmllint and + xsltproc programs to build this manual and the + man-pages. These are part of the libxml2 and + libxslt packages, respectively. You also need + the DocBook + XSL stylesheets and optionally the DocBook 5.0 RELAX NG + schemas. Note that these are only required if you modify the + manual sources or when you are building from the Git + repository. + + Recent versions of Bison and Flex to build the + parser. (This is because Nix needs GLR support in Bison and + reentrancy support in Flex.) For Bison, you need version 2.3 or + higher (1.875 does not work), which can be + obtained from the GNU FTP + server. For Flex, you need version 2.5.33, which is + available on SourceForge. + Slightly older versions may also work, but ancient versions like the + ubiquitous 2.5.4a won't. Note that these are only required if you + modify the parser or when you are building from the Git + repository. + + + +
+ + +
Obtaining a source distribution + +The source tarball of the most recent stable release can be +downloaded from the Nix homepage. +You can also grab the most +recent development release. Alternatively, the most recent sources of Nix can be obtained from its
-
Prerequisites - -The following prerequisites only apply when you build -from source. Binary releases (e.g., RPMs) have no -prerequisites. - -A fairly recent version of GCC/G++ is required. Version 2.95 -and higher should work. Clang will also work. - -Nix requires Perl, version 5.8 or higher. - -Nix requires pkg-config to locate its -dependencies. If your distribution does not provide it, you can get -it from . - -Nix requires the bzip2 compressor program and the -libbz2 library. Thus you must have bzip2 -installed, including development headers and libraries. If your -distribution does not provide these, you can obtain bzip2 from . - -Nix requires the SQLite embedded database library, version -3.6.19 or higher. If your distribution does not provide it, please -install it from . - -Nix requires the Perl DBI and DBD::SQLite libraries, which are -available from CPAN -if your distribution does not provide them. - -Nix can optionally use the Boehm -garbage collector to reduce the evaluator’s memory consumption. -To enable it, install pkgconfig and the Boehm -garbage collector, and pass the flag to -configure. - -To build this manual and the man-pages you need the -xmllint and xsltproc programs, -which are part of the libxml2 and -libxslt packages, respectively. You also need the -DocBook XSL -stylesheets and optionally the DocBook 5.0 RELAX NG -schemas. Note that these are only required if you modify the -manual sources or when you are building from the Git -repository. - -To build the parser, very recent versions -of Bison and Flex are required. (This is because Nix needs GLR -support in Bison and reentrancy support in Flex.) For Bison, you need -version 2.3 or higher (1.875 does not work), -which can be obtained from the GNU FTP server. -For Flex, you need version 2.5.33, which is available on SourceForge. Slightly -older versions may also work, but ancient versions like the ubiquitous -2.5.4a won't. Note that these are only required if you modify the -parser or when you are building from the Git repository. - -
- -
Building Nix from source After unpacking or checking out the Nix sources, issue the @@ -180,33 +259,6 @@ options.
-
Installing a binary distribution - -RPM and Deb packages of Nix for a number of different versions -of Fedora, openSUSE, Debian and Ubuntu can be downloaded from . Once downloaded, the RPMs can be -installed or upgraded using rpm -U. For example, - - -$ rpm -U nix-0.13pre18104-1.i386.rpm - -Likewise, for a Deb package: - - -$ dpkg -i nix_0.13pre18104-1_amd64.deb - - - -Nix can be uninstalled using rpm -e nix or -dpkg -r nix. After this you should manually remove -the Nix store and other auxiliary data, if desired: - - -$ rm -rf /nix/store -$ rm -rf /nix/var - - -