aboutsummaryrefslogtreecommitdiff
path: root/doc/manual
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual')
-rw-r--r--doc/manual/conf-file.xml19
-rw-r--r--doc/manual/manual.xml3
-rw-r--r--doc/manual/nix-push.xml2
-rw-r--r--doc/manual/opt-common-syn.xml4
-rw-r--r--doc/manual/opt-common.xml20
-rw-r--r--doc/manual/release-notes.xml53
6 files changed, 98 insertions, 3 deletions
diff --git a/doc/manual/conf-file.xml b/doc/manual/conf-file.xml
index 19e86808e..cb47b9941 100644
--- a/doc/manual/conf-file.xml
+++ b/doc/manual/conf-file.xml
@@ -97,6 +97,25 @@ env-keep-derivations = false
</varlistentry>
+ <varlistentry xml:id="conf-build-cores"><term><literal>build-cores</literal></term>
+
+ <listitem><para>Sets the value of the
+ <envar>NIX_BUILD_CORES</envar> environment variable in the
+ invocation of builders. Builders can use this variable at their
+ discretion to control the maximum amount of parallelism. For
+ instance, in Nixpkgs, if the derivation attribute
+ <varname>enableParallelBuilding</varname> is set to
+ <literal>true</literal>, the builder passes the
+ <option>-j<replaceable>N</replaceable></option> flag to GNU Make.
+ It can be overriden using the <option
+ linkend='opt-cores'>--cores</option> command line switch and
+ defaults to <literal>1</literal>. The value <literal>0</literal>
+ means that the builder should use all available CPU cores in the
+ system.</para></listitem>
+
+ </varlistentry>
+
+
<varlistentry xml:id="conf-build-max-silent-time"><term><literal>build-max-silent-time</literal></term>
<listitem>
diff --git a/doc/manual/manual.xml b/doc/manual/manual.xml
index df926841a..090a92ce6 100644
--- a/doc/manual/manual.xml
+++ b/doc/manual/manual.xml
@@ -27,10 +27,11 @@
<year>2007</year>
<year>2008</year>
<year>2009</year>
+ <year>2010</year>
<holder>Eelco Dolstra</holder>
</copyright>
- <date>September 2009</date>
+ <date>August 2010</date>
</info>
diff --git a/doc/manual/nix-push.xml b/doc/manual/nix-push.xml
index 1435c5594..d2a7e063e 100644
--- a/doc/manual/nix-push.xml
+++ b/doc/manual/nix-push.xml
@@ -120,7 +120,7 @@ dependencies used in the build, such as compilers).</para>
dependencies, we can do:
<screen>
-$ nix-push <replaceable>urls</replaceable> $(nix-instantiate $(nix-store -r foo.nix))</screen>
+$ nix-push <replaceable>urls</replaceable> $(nix-store -r $(nix-instantiate foo.nix))</screen>
</para>
diff --git a/doc/manual/opt-common-syn.xml b/doc/manual/opt-common-syn.xml
index 0412fcb6a..da60288b2 100644
--- a/doc/manual/opt-common-syn.xml
+++ b/doc/manual/opt-common-syn.xml
@@ -14,6 +14,10 @@
<replaceable>number</replaceable>
</arg>
<arg>
+ <arg><option>--cores</option></arg>
+ <replaceable>number</replaceable>
+</arg>
+<arg>
<arg><option>--max-silent-time</option></arg>
<replaceable>number</replaceable>
</arg>
diff --git a/doc/manual/opt-common.xml b/doc/manual/opt-common.xml
index 3be9f5dd5..2d67162d7 100644
--- a/doc/manual/opt-common.xml
+++ b/doc/manual/opt-common.xml
@@ -98,7 +98,25 @@
linkend='conf-build-max-jobs'><literal>build-max-jobs</literal></link>
configuration setting, which itself defaults to
<literal>1</literal>. A higher value is useful on SMP systems or to
- exploit I/O latency. </para></listitem>
+ exploit I/O latency.</para></listitem>
+
+</varlistentry>
+
+
+<varlistentry xml:id="opt-cores"><term><option>--cores</option></term>
+
+ <listitem><para>Sets the value of the <envar>NIX_BUILD_CORES</envar>
+ environment variable in the invocation of builders. Builders can
+ use this variable at their discretion to control the maximum amount
+ of parallelism. For instance, in Nixpkgs, if the derivation
+ attribute <varname>enableParallelBuilding</varname> is set to
+ <literal>true</literal>, the builder passes the
+ <option>-j<replaceable>N</replaceable></option> flag to GNU Make.
+ It defaults to the value of the <link
+ linkend='conf-build-cores'><literal>build-cores</literal></link>
+ configuration setting, if set, or <literal>1</literal> otherwise.
+ The value <literal>0</literal> means that the builder should use all
+ available CPU cores in the system.</para></listitem>
</varlistentry>
diff --git a/doc/manual/release-notes.xml b/doc/manual/release-notes.xml
index e79563440..5b1c30bf8 100644
--- a/doc/manual/release-notes.xml
+++ b/doc/manual/release-notes.xml
@@ -8,6 +8,59 @@
<!--==================================================================-->
+<section xml:id="ssec-relnotes-0.16"><title>Release 0.16 (August 17, 2010)</title>
+
+<para>This release has the following improvements:</para>
+
+<itemizedlist>
+
+ <listitem>
+ <para>The Nix expression evaluator is now much faster in most
+ cases: typically, <link
+ xlink:href="http://www.mail-archive.com/nix-dev@cs.uu.nl/msg04113.html">3
+ to 8 times compared to the old implementation</link>. It also
+ uses less memory. It no longer depends on the ATerm
+ library.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Support for configurable parallelism inside builders. Build
+ scripts have always had the ability to perform multiple build
+ actions in parallel (for instance, by running <command>make -j
+ 2</command>), but this was not desirable because the number of
+ actions to be performed in parallel was not configurable. Nix
+ now has an option <option>--cores
+ <replaceable>N</replaceable></option> as well as a configuration
+ setting <varname>build-cores =
+ <replaceable>N</replaceable></varname> that causes the
+ environment variable <envar>NIX_BUILD_CORES</envar> to be set to
+ <replaceable>N</replaceable> when the builder is invoked. The
+ builder can use this at its discretion to perform a parallel
+ build, e.g., by calling <command>make -j
+ <replaceable>N</replaceable></command>. In Nixpkgs, this can be
+ enabled on a per-package basis by setting the derivation
+ attribute <varname>enableParallelBuilding</varname> to
+ <literal>true</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><command>nix-store -q</command> now supports XML output
+ through the <option>--xml</option> flag.</para>
+ </listitem>
+
+ <listitem>
+ <para>Several bug fixes.</para>
+ </listitem>
+
+</itemizedlist>
+
+</section>
+
+
+<!--==================================================================-->
+
<section xml:id="ssec-relnotes-0.15"><title>Release 0.15 (March 17, 2010)</title>
<para>This is a bug-fix release. Among other things, it fixes