Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2012-02-15 | Fix a broken guard around utime() | Eelco Dolstra | 1 | -2/+5 | |
Because of an outdated check for a timestamp of 0, we were calling utime() even when it wasn't necessary. | |||||
2012-02-15 | Don't use deletePath() to delete a single file | Eelco Dolstra | 1 | -1/+1 | |
2012-02-09 | Fix error message | Eelco Dolstra | 1 | -3/+4 | |
This fixes the error message error: file `' was not found in the Nix search path (add it using $NIX_PATH or -I) | |||||
2012-02-09 | Use data() instead of c_str() where appropriate | Eelco Dolstra | 9 | -18/+18 | |
2012-02-04 | * Inline some functions and get rid of the indirection through | Eelco Dolstra | 7 | -116/+94 | |
EvalState::eval(). This gives a 12% speedup on ‘nix-instantiate /etc/nixos/nixos/ -A system --readonly-mode’ (from 1.01s to 0.89s). | |||||
2012-02-04 | * Print elapsed evaluation time. | Eelco Dolstra | 1 | -1/+9 | |
2012-01-26 | * Fix importing a derivation. This gave a segfault. | Eelco Dolstra | 1 | -8/+23 | |
2012-01-19 | * Allow comparisons between derivations by comparing the outPath | Eelco Dolstra | 1 | -2/+14 | |
attributes. | |||||
2012-01-19 | * Add some debug output to print the derivation name once it's known. | Eelco Dolstra | 1 | -1/+4 | |
This makes it easier to pinpoint the source of a crash. | |||||
2012-01-17 | * Added a command ‘nix-store --print-env $drvpath’ that prints out the | Eelco Dolstra | 1 | -0/+35 | |
environment of the given derivation in a format that can be sourced by the shell, e.g. $ eval "$(nix-store --print-env $(nix-instantiate /etc/nixos/nixpkgs -A pkg))" $ NIX_BUILD_TOP=/tmp $ source $stdenv/setup This is especially useful to reproduce the environment used to build a package outside of its builder for development purposes. TODO: add a nix-build option to do the above and fetch the dependencies of the derivation as well. | |||||
2012-01-07 | * Don't create thunks for simple constants (integers, strings, paths) | Eelco Dolstra | 5 | -133/+193 | |
and allocate them only once. * Move Value and related functions into value.hh. | |||||
2012-01-04 | * Remove dead code. | Eelco Dolstra | 2 | -4/+0 | |
2012-01-04 | * Don't use dynamic_cast, it's very slow. "nix-instantiate | Eelco Dolstra | 3 | -24/+23 | |
/etc/nixos/nixos -A system" spent about 10% of its time in dynamic_cast. | |||||
2012-01-03 | * Drop the inefficient "Path" suffix in output attribute names. | Eelco Dolstra | 1 | -3/+1 | |
2012-01-03 | * Move the implementation of the ‘derivation’ primop into a separate | Eelco Dolstra | 2 | -25/+3 | |
file. | |||||
2012-01-03 | * Sync with the trunk. | Eelco Dolstra | 1 | -1/+1 | |
2012-01-03 | * Refactoring: Get rid of a few subdirectories in corepkgs/, and some | Eelco Dolstra | 1 | -1/+1 | |
other simplifications. * Use <nix/...> to locate the corepkgs. This allows them to be overriden through $NIX_PATH. * Use bash's pipefail option in the NAR builder so that we don't need to create a temporary file. | |||||
2011-12-30 | * Support multiple outputs in nix-store (specifically the ‘--query’ | Eelco Dolstra | 1 | -43/+63 | |
and ‘--realise’ actions). | |||||
2011-12-30 | * Oops. | Eelco Dolstra | 1 | -1/+1 | |
2011-12-30 | * Move topoSortPaths() out of gc.cc. | Eelco Dolstra | 2 | -36/+36 | |
2011-12-30 | * Reject a build if there is a cycle among the outputs. This is | Eelco Dolstra | 4 | -9/+24 | |
necessary because existing code assumes that the references graph is acyclic. | |||||
2011-12-30 | * Sync with the trunk. | Eelco Dolstra | 5 | -21/+54 | |
2011-12-25 | * Make sure that lock files are cleaned up properly when building | Eelco Dolstra | 1 | -7/+7 | |
through the build hook. | |||||
2011-12-22 | * Oops. | Eelco Dolstra | 1 | -1/+1 | |
2011-12-22 | * In the garbage collector, delete invalid paths before deleting | Eelco Dolstra | 3 | -12/+45 | |
unreachable paths. This matters when using --max-freed etc.: unreachable paths could become reachable again, so it's nicer to keep them if there is "real" garbage to be deleted. Also, don't use readDirectory() but read the Nix store and delete invalid paths in parallel. This reduces GC latency on very large Nix stores. | |||||
2011-12-22 | * Drop unnecessary call to canonPath() (nixStore is already canonical). | Eelco Dolstra | 1 | -1/+1 | |
2011-12-21 | * Another case of lock file permissions being too liberal. | Eelco Dolstra | 1 | -1/+1 | |
2011-12-21 | * The ‘foo.drvPath’ feature was already broken in read-only mode. | Eelco Dolstra | 1 | -1/+2 | |
Since it's rarely used and fixing it is too much work right now, just document it. | |||||
2011-12-21 | Revert previous commit | Shea Levy | 1 | -9/+0 | |
It doesn't detect indirect references | |||||
2011-12-21 | Detect and reject mutually-referential outputs | Shea Levy | 1 | -0/+9 | |
There is probably a more efficient way to do this. | |||||
2011-12-21 | * Simplify the context handling logic. | Eelco Dolstra | 1 | -24/+13 | |
2011-12-20 | * Fix the build. | Eelco Dolstra | 2 | -2/+2 | |
2011-12-16 | * Sync with the trunk. | Eelco Dolstra | 26 | -275/+461 | |
2011-12-16 | * importPath() -> importPaths(). Because of buffering of the input | Eelco Dolstra | 10 | -57/+75 | |
stream it's now necessary for the daemon to process the entire sequence of exported paths, rather than letting the client do it. | |||||
2011-12-16 | * Avoid expensive conversions from char arrays to STL strings. | Eelco Dolstra | 3 | -13/+25 | |
2011-12-16 | * Make the import operation through the daemon much more efficient | Eelco Dolstra | 6 | -44/+68 | |
(way fewer roundtrips) by allowing the client to send data in bigger chunks. * Some refactoring. | |||||
2011-12-16 | * Clean up exception handling. | Eelco Dolstra | 2 | -3/+10 | |
2011-12-15 | * Refactoring: move sink/source buffering into separate classes. | Eelco Dolstra | 8 | -90/+125 | |
* Buffer the HashSink. This speeds up hashing a bit because it prevents lots of calls to the hash update functions (e.g. nix-hash went from 9.3s to 8.7s of user time on the closure of my /var/run/current-system). | |||||
2011-12-15 | * Buffer reads in FdSource. Together with write buffering, this | Eelco Dolstra | 2 | -10/+32 | |
significantly cuts down the number of syscalls (e.g., for "nix-store -qR /var/run/current-system" via the daemon, it reduced the number of syscalls in the client from 29134 to 4766 and in the daemon from 44266 to 20666). | |||||
2011-12-14 | * Buffer writes in FdSink. This significantly reduces the number of | Eelco Dolstra | 4 | -14/+50 | |
system calls / context switches when dumping a NAR and in the worker protocol. | |||||
2011-12-14 | * Remove the terminate handler, which was only really needed because | Eelco Dolstra | 1 | -23/+0 | |
of Berkeley DB (see r8632). | |||||
2011-12-05 | * Remove unnecessary quotes. showPaths() already adds quotes. | Eelco Dolstra | 1 | -1/+1 | |
2011-12-02 | * In ‘nix-store --verify --check-contents’, repair missing hashes | Eelco Dolstra | 1 | -4/+20 | |
rather than complain about them. | |||||
2011-12-02 | * Move parseHash16or32 into libutil, and use in nix-hash. | Eelco Dolstra | 5 | -22/+23 | |
2011-12-01 | * Allow '<nixexpr>' syntax to be used in nix-instantiate, nix-build | Eelco Dolstra | 4 | -3/+15 | |
and nix-env, e.g., $ nix-env -f '<nixpkgs>' -i patchelf or $ nix-build '<nixos/tests>' -A login.test | |||||
2011-12-01 | * Slight improvement. | Eelco Dolstra | 1 | -3/+2 | |
2011-12-01 | * When doing "nix-store --add-fixed" without "--recursive" via the Nix | Eelco Dolstra | 3 | -6/+16 | |
daemon (which is an error), print a nicer error message than "Connection reset by peer" or "broken pipe". * In the daemon, log errors that occur during request parameter processing. | |||||
2011-11-29 | * Get rid of some superfluous error messages if a substituter fails. | Eelco Dolstra | 2 | -16/+7 | |
* Say "fetch" instead of "substitute". | |||||
2011-11-23 | * Add an API function exportPaths() that provides the functionality of | Eelco Dolstra | 4 | -6/+19 | |
‘nix-store --export’. * Add a Perl module that provides the functionality of ‘nix-copy-closure --to’. This is used by build-remote.pl so it no longer needs to start a separate nix-copy-closure process. Also, it uses the Perl API to do the export, so it doesn't need to start a separate nix-store process either. As a result, nix-copy-closure and build-remote.pl should no longer fail on very large closures due to an "Argument list too long" error. (Note that having very many dependencies in a single derivation can still fail because the environment can become too large. Can't be helped though.) | |||||
2011-11-22 | * Move initialisation of variables like nixConfDir from libmain to | Eelco Dolstra | 5 | -33/+45 | |
libstore so that the Perl bindings can use it as well. It's vital that the Perl bindings use the configuration file, because otherwise nix-copy-closure will fail with a ‘database locked’ message if the value of ‘use-sqlite-wal’ is changed from the default. |