diff options
Diffstat (limited to 'doc/manual')
-rw-r--r-- | doc/manual/conf-file.xml | 19 | ||||
-rw-r--r-- | doc/manual/manual.xml | 3 | ||||
-rw-r--r-- | doc/manual/nix-push.xml | 2 | ||||
-rw-r--r-- | doc/manual/opt-common-syn.xml | 4 | ||||
-rw-r--r-- | doc/manual/opt-common.xml | 20 | ||||
-rw-r--r-- | doc/manual/release-notes.xml | 53 |
6 files changed, 98 insertions, 3 deletions
diff --git a/doc/manual/conf-file.xml b/doc/manual/conf-file.xml index 19e86808ec3a..cb47b99418b6 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 df926841aa4a..090a92ce6b3e 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 1435c559496f..d2a7e063e583 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 0412fcb6abba..da60288b2a19 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 3be9f5dd5fc3..2d67162d7cad 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 e79563440416..5b1c30bf8292 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 |