about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2010-08-04 * Use SQLite 3.7.0's write-ahead logging (WAL mode). This is a lotEelco Dolstra1-2/+12
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.
2010-08-04 * Allow derivations to hint that they should not be built remotelyEelco Dolstra1-23/+39
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.
2010-06-21 * Okay, putting a lock on the temporary directory used by importPath()Eelco Dolstra2-6/+20
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.
2010-06-21 * Sync with the trunk.Eelco Dolstra16-16/+140
2010-06-14 * In importPath() and exportPath(), lock the temporary directory toEelco Dolstra1-0/+4
prevent it from being deleted by the garbage collector.
2010-06-10 * builtins.toXML: propagate the string context. This is a regressionEelco Dolstra3-5/+12
from the old ATerm-based evaluator.
2010-06-08 * Replacing ValidPath rows doesn't work because it causes a constraintEelco Dolstra1-2/+5
violation of the Refs table. So don't do that.
2010-06-04 * Applied a patch from David Brown to prevent `nix-store --optimise'Eelco Dolstra1-1/+15
from failing on rename() on BtrFS.
2010-06-02 (no commit message)Eelco Dolstra1-0/+1
2010-06-01 * Turn build errors during evaluation into EvalErrors.Eelco Dolstra4-4/+7
2010-06-01 * Hack to allow derivations to disable chroot builds by setting theEelco Dolstra1-0/+3
attribute "__noChroot = true" (requested by Rob).
2010-05-31 Add XML output to `nix-store'.Ludovic Courtès5-3/+100
* 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.
2010-05-31 Comment out dead code in `nix-store'.Ludovic Courtès1-1/+1
* src/nix-store/dotgraph.cc (pathLabel): Move within #if 0 section.
2010-05-30 * Remove an accidentally committed debug statement.Eelco Dolstra1-2/+0
2010-05-20 * Sync with the trunk.Eelco Dolstra3-3/+3
2010-05-18 * The << operator on values should be const.Eelco Dolstra3-3/+3
2010-05-16 * Sync with trunk.Eelco Dolstra2-3/+21
2010-05-15 * Restore the __overrides feature that was lost somewhere in theEelco Dolstra2-3/+21
fast-eval branch.
2010-05-12 * Sync with the trunk.Eelco Dolstra46-3560/+3084
2010-05-12 * Print attributes in sorted order.Eelco Dolstra1-2/+7
2010-05-12 * Implemented tryEval, the last missing primop in the fast-evalEelco Dolstra1-12/+6
branch. Also added a test for tryEval.
2010-05-07 (no commit message)Eelco Dolstra1-0/+2
2010-05-07 * Sync with the trunk.Eelco Dolstra6-25/+55
2010-05-07 * Store position info for inherited attributes.Eelco Dolstra4-25/+29
2010-05-07 * Updated addErrorContext.Eelco Dolstra1-6/+7
2010-05-07 * Keep track of the source positions of attributes.Eelco Dolstra8-86/+117
2010-05-06 * Store attribute positions in the AST and report duplicate attributeEelco Dolstra6-56/+56
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.
2010-05-04 * Revert r15436. This was a workaround for a bug in btrfs which seemsEelco Dolstra2-9/+0
to have been fixed now.
2010-05-04 * Allow unprivileged users to do `nix-store --clear-failed-paths' andEelco Dolstra7-5/+51
`nix-store --query-failed-paths'.
2010-04-27 (no commit message)Eelco Dolstra1-1/+1
2010-04-26 (no commit message)Eelco Dolstra1-0/+3
2010-04-26 * Added a command `nix-store --clear-failed-paths <PATHS>' to clearEelco Dolstra3-1/+33
the "failed" status of the given store paths. The special value `*' clears all failed paths.
2010-04-26 * Add an command `nix-store --query-failed-paths' to list the cachedEelco Dolstra3-3/+39
failed paths (when using the `build-cache-failure' option).
2010-04-23 * Don't need the test program anymore.Eelco Dolstra2-135/+0
2010-04-22 * Simplify the implementation of `with'. This gives a 7% speedup inEelco Dolstra4-30/+15
evaluating the NixOS system configuration.
2010-04-22 * Check for duplicate attribute names / function arguments. `makeEelco Dolstra2-44/+48
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.)
2010-04-22 * String equality tests should take the context into account. All theEelco Dolstra2-4/+12
evaluation test cases now succeed.
2010-04-21 * Don't use an ostringstream in unparseDerivation(), because it'sEelco Dolstra1-38/+39
slow. A `nix-env -qa --drv-path \*' on Nixpkgs was spending 40% of its time in unparseDerivation() because of this (now 11%).
2010-04-21 * Fix the interpretation of ''\<character> in indented strings.Eelco Dolstra1-1/+1
2010-04-21 * Fixed builtins.genericClosure.Eelco Dolstra3-26/+62
2010-04-21 * Store user environment manifests as a Nix expression inEelco Dolstra10-182/+204
$out/manifest.nix rather than as an ATerm. (Hm, I thought I committed this two days ago...)
2010-04-20 * Sync with the trunk.Eelco Dolstra7-29/+70
2010-04-19 * Drop the dependency on the ATerm library.Eelco Dolstra12-200/+14
2010-04-19 * Don't use the ATerm library for parsing/printing .drv files.Eelco Dolstra14-330/+174
2010-04-19 * Added parsing of manifests in ATerm format.Eelco Dolstra3-13/+165
2010-04-19 * Refactoring: move the user environment stuff into its own module.Eelco Dolstra4-20/+47
2010-04-16 * Updated some more primops.Eelco Dolstra3-58/+37
2010-04-16 * _combineChannels shouldn't be an integer.Eelco Dolstra1-1/+1
2010-04-16 * Improve sharing a bit.Eelco Dolstra2-5/+8
2010-04-16 * Remove some redundant tests.Eelco Dolstra1-3/+3