diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2013-01-18 01:27:09 +0100 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2013-01-18 01:29:24 +0100 |
| commit | a1ba8475a610fd491be4e512e599515f36d8b109 (patch) | |
| tree | 0c31c3717cac8cc4b77c9a3f5ceb9b51eae51d57 /doc | |
| parent | 59a43334a98babd6c776648967e48d7c44723639 (diff) | |
doc: Add a "GNU Distribution" node.v0.1
* doc/guix.texi (Introduction): Add cross-reference to "GNU
Distribution".
(Features): Mention reproducibility.
(Invoking guix-package): Add cross-reference to "GNU Distribution".
(GNU Distribution): New node.
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/guix.texi | 55 |
1 files changed, 51 insertions, 4 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 3b1c72460df..28bdfb2152a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi | |||
| @@ -80,6 +80,7 @@ Documentation License.'' | |||
| 80 | * Package Management:: Package installation, upgrade, etc. | 80 | * Package Management:: Package installation, upgrade, etc. |
| 81 | * Programming Interface:: Using Guix in Scheme. | 81 | * Programming Interface:: Using Guix in Scheme. |
| 82 | * Utilities:: Package management commands. | 82 | * Utilities:: Package management commands. |
| 83 | * GNU Distribution:: Software for your friendly GNU system. | ||
| 83 | 84 | ||
| 84 | * Acknowledgments:: Thanks! | 85 | * Acknowledgments:: Thanks! |
| 85 | * GNU Free Documentation License:: The license of this manual. | 86 | * GNU Free Documentation License:: The license of this manual. |
| @@ -131,6 +132,10 @@ Guix has a command-line interface allowing users to build, install, | |||
| 131 | upgrade, and remove packages, as well as a Scheme programming interface. | 132 | upgrade, and remove packages, as well as a Scheme programming interface. |
| 132 | The remainder of this manual describes them. | 133 | The remainder of this manual describes them. |
| 133 | 134 | ||
| 135 | Last but not least, Guix is used to build a distribution of the GNU | ||
| 136 | system, with many GNU and non-GNU free software packages. @xref{GNU | ||
| 137 | Distribution}. | ||
| 138 | |||
| 134 | @c ********************************************************************* | 139 | @c ********************************************************************* |
| 135 | @node Installation | 140 | @node Installation |
| 136 | @chapter Installation | 141 | @chapter Installation |
| @@ -427,7 +432,7 @@ Each @file{/nix/store} package directory name contains a hash of all the | |||
| 427 | inputs that were used to build that package---compiler, libraries, build | 432 | inputs that were used to build that package---compiler, libraries, build |
| 428 | scripts, etc. This direct correspondence allows users to make sure a | 433 | scripts, etc. This direct correspondence allows users to make sure a |
| 429 | given package installation matches the current state of their | 434 | given package installation matches the current state of their |
| 430 | distribution. | 435 | distribution, and helps maximize @dfn{reproducibility}. |
| 431 | 436 | ||
| 432 | @c FIXME: Remove footnote when it's implemented. | 437 | @c FIXME: Remove footnote when it's implemented. |
| 433 | This foundation allows Guix to support @dfn{transparent binary/source | 438 | This foundation allows Guix to support @dfn{transparent binary/source |
| @@ -538,9 +543,9 @@ the store. | |||
| 538 | 543 | ||
| 539 | @item --list-available[=@var{regexp}] | 544 | @item --list-available[=@var{regexp}] |
| 540 | @itemx -A [@var{regexp}] | 545 | @itemx -A [@var{regexp}] |
| 541 | List packages currently available in the software distribution. When | 546 | List packages currently available in the software distribution |
| 542 | @var{regexp} is specified, list only installed packages whose name | 547 | (@pxref{GNU Distribution}). When @var{regexp} is specified, list only |
| 543 | matches @var{regexp}. | 548 | installed packages whose name matches @var{regexp}. |
| 544 | 549 | ||
| 545 | For each package, print the following items separated by tabs: its name, | 550 | For each package, print the following items separated by tabs: its name, |
| 546 | its version string, the parts of the package (@code{out} for the main | 551 | its version string, the parts of the package (@code{out} for the main |
| @@ -1058,6 +1063,48 @@ the @code{package-derivation} procedure of the @code{(guix packages)} | |||
| 1058 | module, and to the @code{build-derivations} procedure of the @code{(guix | 1063 | module, and to the @code{build-derivations} procedure of the @code{(guix |
| 1059 | store)} module. | 1064 | store)} module. |
| 1060 | 1065 | ||
| 1066 | @c ********************************************************************* | ||
| 1067 | @node GNU Distribution | ||
| 1068 | @chapter GNU Distribution | ||
| 1069 | |||
| 1070 | Guix comes with a distribution of free software@footnote{The term | ||
| 1071 | ``free'' here refers to the | ||
| 1072 | @url{http://www.gnu.org/philosophy/free-sw.html,freedom provided to | ||
| 1073 | users of that software}.} that form the basis of the GNU system. This | ||
| 1074 | includes core GNU packages such as GNU libc, GCC, and Binutils, as well | ||
| 1075 | as many GNU and non-GNU applications. The complete list of available | ||
| 1076 | packages can be seen by running @command{guix-package} (@pxref{Invoking | ||
| 1077 | guix-package}): | ||
| 1078 | |||
| 1079 | @example | ||
| 1080 | guix-package --list-available | ||
| 1081 | @end example | ||
| 1082 | |||
| 1083 | The package definitions of the distribution may are provided by Guile | ||
| 1084 | modules in the @code{(gnu packages ...)} name space---for instance, the | ||
| 1085 | @code{(gnu packages emacs)} module exports a variable named | ||
| 1086 | @code{emacs}, which is bound to a @code{<package>} object | ||
| 1087 | (@pxref{Defining Packages}). The @code{(gnu packages)} module provides | ||
| 1088 | facilities for searching for packages. | ||
| 1089 | |||
| 1090 | The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}: | ||
| 1091 | each package is built based solely on other packages in the | ||
| 1092 | distribution. The root of this dependency graph is a small set of | ||
| 1093 | @dfn{bootstrap binaries}, provided by the @code{(gnu packages | ||
| 1094 | bootstrap)} module. These are statically-linked binaries of the core | ||
| 1095 | tools without which building anything at all would be impossible. | ||
| 1096 | |||
| 1097 | |||
| 1098 | Our goal is to build a practical 100% free software distribution of | ||
| 1099 | Linux-based and other variants of GNU, with a focus on the promotion and | ||
| 1100 | tight integration of GNU components, and an emphasis on programs and | ||
| 1101 | tools that help users exert that freedom. | ||
| 1102 | |||
| 1103 | Building this distribution is a cooperative effort, and you are invited | ||
| 1104 | to join! Please get in touch with us on @email{bug-guix@@gnu.org}. We | ||
| 1105 | welcome ideas, bug reports, patches, and anything that may be helpful to | ||
| 1106 | the project. | ||
| 1107 | |||
| 1061 | 1108 | ||
| 1062 | @c ********************************************************************* | 1109 | @c ********************************************************************* |
| 1063 | @node Acknowledgments | 1110 | @node Acknowledgments |
