Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
faster than the old mode when fsyncs are enabled, because it only
performs an fsync() when doing a checkpoint, rather than at every
commit. Some timings for doing a "nix-instantiate /etc/nixos/nixos
-A system" after modifying the stdenv setup script:
42.5s - SQLite 3.6.23 with truncate mode and fsync
3.4s - SQLite 3.6.23 with truncate mode and no fsync
32.1s - SQLite 3.7.0 with truncate mode and fsync
16.8s - SQLite 3.7.0 with WAL mode and fsync, auto-checkpoint
every 1000 pages
8.3s - SQLite 3.7.0 with WAL mode and fsync, auto-checkpoint
every 8192 pages
1.7s - SQLite 3.7.0 with WAL mode and no fsync
The default is now to use WAL mode with fsyncs. Because WAL doesn't
work on remote filesystems such as NFS (as it uses shared memory),
truncate mode can be re-enabled by setting the "use-sqlite-wal"
option to false.
|
|
build-cores and --cores. They're superfluous and just complicate
the parsing.
|
|
using the build hook mechanism, by setting the derivation attribute
"preferLocalBuild" to true. This has a few use cases:
- The user environment builder. Since it just creates a bunch of
symlinks without much computation, there is no reason to do it
remotely. In fact, doing it remotely requires the entire closure
of the user environment to be copied to the remote machine, which
is extremely wasteful.
- `fetchurl'. Performing the download on a remote machine and then
copying it to the local machine involves twice as much network
traffic as performing the download locally, and doesn't save any
CPU cycles on the local machine.
|
|
instance) "nix-env -i wine" works on x86_64-linux, even though Wine
is built on i686-linux. In the event that there are multiple
matching derivations, prefer those built for the current system.
|
|
the other set.
|
|
than the first set. (That's usually the case with callPackage.)
|
|
distribution tarballs
|
|
|
|
|
|
An "using namespace std" was added locally in those functions that refer to
names from <cstring>. That is not pretty, but it's a very portable solution,
because strcpy() and friends will be found in both the 'std' and in the global
namespace.
|
|
expressions.
This patch adds the configuration file variable "build-cores" and the
command line argument "--cores". These settings specify the number of
CPU cores to utilize for parallel building within a job, i.e. by passing
an appropriate "-j" flag to GNU Make. The default value is 1, which
means that parallel building is *disabled*. If the number of build cores
is specified as 0 (synonymously: "guess" or "auto"), then the actual
value is supposed to be auto-detected by builders at run-time, i.e by
calling the nproc(1) utility from coreutils.
The environment variable $NIX_BUILD_CORES is available to builders, but
the contents of that variable does *not* influence the hash that goes
into the $out store path, i.e. the number of build cores to be utilized
can be changed at will without requiring any re-builds.
|
|
doesn't work because the garbage collector doesn't actually look at
locks. So r22253 was stupid. Use addTempRoot() instead. Also,
locking the temporary directory in exportPath() was silly because it
isn't even in the store.
|
|
|
|
prevent it from being deleted by the garbage collector.
|
|
from the old ATerm-based evaluator.
|
|
violation of the Refs table. So don't do that.
|
|
from failing on rename() on BtrFS.
|
|
|
|
|
|
attribute "__noChroot = true" (requested by Rob).
|
|
* src/nix-store/Makefile.am (nix_store_SOURCES): Add `xmlgraph.cc' and
`xmlgraph.hh'.
* src/nix-store/help.txt (Operations): Document `--xml'.
* src/nix-store/nix-store.cc (opQuery): Handle `--xml'.
* src/nix-store/xmlgraph.cc, src/nix-store/xmlgraph.hh: New files.
|
|
* src/nix-store/dotgraph.cc (pathLabel): Move within #if 0 section.
|
|
|
|
|
|
|
|
|
|
fast-eval branch.
|
|
|
|
|
|
branch. Also added a test for tryEval.
|
|
|
|
|
|
|
|
|
|
|
|
errors with position info.
* For all positions, use the position of the first character of the
first token, rather than the last character of the first token plus
one.
|
|
to have been fixed now.
|
|
`nix-store --query-failed-paths'.
|
|
|
|
|
|
the "failed" status of the given store paths. The special value `*'
clears all failed paths.
|
|
failed paths (when using the `build-cache-failure' option).
|
|
|
|
evaluating the NixOS system configuration.
|
|
check' now succeeds :-)
* An attribute set such as `{ foo = { enable = true; };
foo.port = 23; }' now parses. It was previously rejected, but I'm
too lazy to implement the check. (The only reason to reject it is
that the reverse, `{ foo.port = 23; foo = { enable = true; }; }', is
rejected, which is kind of ugly.)
|
|
evaluation test cases now succeed.
|
|
slow. A `nix-env -qa --drv-path \*' on Nixpkgs was spending 40% of
its time in unparseDerivation() because of this (now 11%).
|
|
|
|
|