forked from lix-project/lix
* Sync with the trunk.
This commit is contained in:
commit
955d11aae7
|
@ -97,6 +97,25 @@ env-keep-derivations = false
|
||||||
</varlistentry>
|
</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>
|
<varlistentry xml:id="conf-build-max-silent-time"><term><literal>build-max-silent-time</literal></term>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
|
|
@ -27,10 +27,11 @@
|
||||||
<year>2007</year>
|
<year>2007</year>
|
||||||
<year>2008</year>
|
<year>2008</year>
|
||||||
<year>2009</year>
|
<year>2009</year>
|
||||||
|
<year>2010</year>
|
||||||
<holder>Eelco Dolstra</holder>
|
<holder>Eelco Dolstra</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
|
|
||||||
<date>September 2009</date>
|
<date>August 2010</date>
|
||||||
|
|
||||||
</info>
|
</info>
|
||||||
|
|
||||||
|
|
|
@ -120,7 +120,7 @@ dependencies used in the build, such as compilers).</para>
|
||||||
dependencies, we can do:
|
dependencies, we can do:
|
||||||
|
|
||||||
<screen>
|
<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>
|
</para>
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,10 @@
|
||||||
</group>
|
</group>
|
||||||
<replaceable>number</replaceable>
|
<replaceable>number</replaceable>
|
||||||
</arg>
|
</arg>
|
||||||
|
<arg>
|
||||||
|
<arg><option>--cores</option></arg>
|
||||||
|
<replaceable>number</replaceable>
|
||||||
|
</arg>
|
||||||
<arg>
|
<arg>
|
||||||
<arg><option>--max-silent-time</option></arg>
|
<arg><option>--max-silent-time</option></arg>
|
||||||
<replaceable>number</replaceable>
|
<replaceable>number</replaceable>
|
||||||
|
|
|
@ -98,7 +98,25 @@
|
||||||
linkend='conf-build-max-jobs'><literal>build-max-jobs</literal></link>
|
linkend='conf-build-max-jobs'><literal>build-max-jobs</literal></link>
|
||||||
configuration setting, which itself defaults to
|
configuration setting, which itself defaults to
|
||||||
<literal>1</literal>. A higher value is useful on SMP systems or 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>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,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>
|
<section xml:id="ssec-relnotes-0.15"><title>Release 0.15 (March 17, 2010)</title>
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
#
|
#
|
||||||
# This option defines the number of CPU cores to utilize in parallel
|
# This option defines the number of CPU cores to utilize in parallel
|
||||||
# within a build job, i.e. by passing an appropriate `-jN' flag to GNU
|
# within a build job, i.e. by passing an appropriate `-jN' flag to GNU
|
||||||
# make. The default is 1, meaning that parallel building within jobs
|
# Make. The default is 1, meaning that parallel building within jobs
|
||||||
# is disabled. Passing the special value `0' causes Nix to try and
|
# is disabled. Passing the special value `0' causes Nix to try and
|
||||||
# auto-detect the number of available cores on the local host. This
|
# auto-detect the number of available cores on the local host. This
|
||||||
# setting can be overridden using the `--cores' command line switch.
|
# setting can be overridden using the `--cores' command line switch.
|
||||||
|
|
14
release.nix
14
release.nix
|
@ -1,5 +1,5 @@
|
||||||
{ nix ? {outPath = ./.; rev = 1234;}
|
{ nixpkgs ? ../nixpkgs
|
||||||
, nixpkgs ? ../nixpkgs
|
, nix ? { outPath = ./.; rev = 1234; }
|
||||||
, officialRelease ? false
|
, officialRelease ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ let
|
||||||
build =
|
build =
|
||||||
{ system ? "i686-linux" }:
|
{ system ? "i686-linux" }:
|
||||||
|
|
||||||
with import nixpkgs {inherit system;};
|
with import nixpkgs { inherit system; };
|
||||||
|
|
||||||
releaseTools.nixBuild {
|
releaseTools.nixBuild {
|
||||||
name = "nix";
|
name = "nix";
|
||||||
|
@ -80,7 +80,7 @@ let
|
||||||
|
|
||||||
|
|
||||||
coverage =
|
coverage =
|
||||||
with import nixpkgs {};
|
with import nixpkgs { system = "x86_64-linux"; };
|
||||||
|
|
||||||
releaseTools.coverageAnalysis {
|
releaseTools.coverageAnalysis {
|
||||||
name = "nix-build";
|
name = "nix-build";
|
||||||
|
@ -143,7 +143,7 @@ let
|
||||||
makeRPM =
|
makeRPM =
|
||||||
system: diskImageFun: prio:
|
system: diskImageFun: prio:
|
||||||
|
|
||||||
with import nixpkgs {inherit system;};
|
with import nixpkgs { inherit system; };
|
||||||
|
|
||||||
releaseTools.rpmBuild rec {
|
releaseTools.rpmBuild rec {
|
||||||
name = "nix-rpm-${diskImage.name}";
|
name = "nix-rpm-${diskImage.name}";
|
||||||
|
@ -160,7 +160,7 @@ let
|
||||||
makeDeb =
|
makeDeb =
|
||||||
system: diskImageFun: prio:
|
system: diskImageFun: prio:
|
||||||
|
|
||||||
with import nixpkgs {inherit system;};
|
with import nixpkgs { inherit system; };
|
||||||
|
|
||||||
releaseTools.debBuild {
|
releaseTools.debBuild {
|
||||||
name = "nix-deb";
|
name = "nix-deb";
|
||||||
|
@ -169,7 +169,7 @@ let
|
||||||
memSize = 1024;
|
memSize = 1024;
|
||||||
meta.schedulingPriority = prio;
|
meta.schedulingPriority = prio;
|
||||||
configureFlags = "--sysconfdir=/etc";
|
configureFlags = "--sysconfdir=/etc";
|
||||||
debRequires = ["curl"];
|
debRequires = [ "curl" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -198,6 +198,9 @@ void RemoteStore::setOptions()
|
||||||
writeInt(logType, to);
|
writeInt(logType, to);
|
||||||
writeInt(printBuildTrace, to);
|
writeInt(printBuildTrace, to);
|
||||||
}
|
}
|
||||||
|
if (GET_PROTOCOL_MINOR(daemonVersion) >= 6) {
|
||||||
|
writeInt(buildCores, to);
|
||||||
|
}
|
||||||
processStderr();
|
processStderr();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ namespace nix {
|
||||||
#define WORKER_MAGIC_1 0x6e697863
|
#define WORKER_MAGIC_1 0x6e697863
|
||||||
#define WORKER_MAGIC_2 0x6478696f
|
#define WORKER_MAGIC_2 0x6478696f
|
||||||
|
|
||||||
#define PROTOCOL_VERSION 0x105
|
#define PROTOCOL_VERSION 0x106
|
||||||
#define GET_PROTOCOL_MAJOR(x) ((x) & 0xff00)
|
#define GET_PROTOCOL_MAJOR(x) ((x) & 0xff00)
|
||||||
#define GET_PROTOCOL_MINOR(x) ((x) & 0x00ff)
|
#define GET_PROTOCOL_MINOR(x) ((x) & 0x00ff)
|
||||||
|
|
||||||
|
|
|
@ -502,6 +502,9 @@ static void performOp(unsigned int clientVersion,
|
||||||
logType = (LogType) readInt(from);
|
logType = (LogType) readInt(from);
|
||||||
printBuildTrace = readInt(from) != 0;
|
printBuildTrace = readInt(from) != 0;
|
||||||
}
|
}
|
||||||
|
if (GET_PROTOCOL_MINOR(clientVersion) >= 6) {
|
||||||
|
buildCores = readInt(from);
|
||||||
|
}
|
||||||
startWork();
|
startWork();
|
||||||
stopWork();
|
stopWork();
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue