[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch nix created (now 0a75126)

From: Ludovic Courts
Subject: branch nix created (now 0a75126)
Date: Fri, 19 Dec 2014 21:45:08 +0000

civodul pushed a change to branch nix
in repository guix.

        at  0a75126   nix: Adjust code for Guix.

This branch includes the following new commits:

       new  841fcbd   * And a trunk to go along with that.
       new  75d788b   * Initial version of nix.
       new  18ebf51   * Converted to C++.
       new  8999f92   * Improved Nix.  Resources (package descriptors and other 
source   files) are now referenced using their cryptographic hashes.
       new  b3594e9   * A script to instantiate package descriptors from 
       new  f7a98e0   * Various updates.
       new  cadc385   * nix-instantiate now instantiantes the closure of the 
set of   descriptor templates under the import relation.  I.e., we can now   
       new  4c43711   * Descriptor templates for the Pan newsreader and all its 
       new  88d257b   * Renamed dist -> build.
       new  e582ee6   * Fetch sources from the network.
       new  fa51d6f   * Forgot to commit this one.
       new  2e59698   * Added a command to verify the consistency of the 
       new  800d8e9   * Added a command to list installed packages.
       new  20d165c   * A command to run programs in Nix packages, that is, to 
execute a run   action.  Run actions are described by uniquely hashed 
descriptors,   just like build actions.  Therefore run actions can have   
dependencies, but these need not be the same as the build time   dependencies 
(e.g., at runtime we can link against a different   version of a dynamic 
library).  Example:
       new  8d682ba   * A descriptor for running the Pan newsreader. * Added 
descriptors for gtkspell and its support package pspell.   Gtkspell is an 
optional dependency of Pan, so we should add the   ability to nix-instantiate 
to instantiate variants of a package   based on a selection of features.
       new  9d2f128   * Refactoring.
       new  2dc84e5   * Descriptors now have a "system" field specifying the 
platform that   the build or run action should be perfomed on.  This ensures 
that   descriptors have different hashes on different platforms.
       new  eeab86e   * Typo fix.
       new  73c5393   * For efficiency: md5 integrated into nix. * Command `nix 
ensure' which is like `nix getpkg' except that if the   has refers to a run 
action it will just ensure that the imports are   there. * Command `nix 
closure' to print out the closure of the set of   descriptors under the import 
relation, starting at a set of roots.   This can be used for garbage collection 
(e.g., given a list of   `activated' packages, we can delete all packages not 
reachable from   those). * C [...]
       new  3f1a145   * Integrate hash into instantiated descriptor file names. 
* Use MD5::Digest.
       new  0f40a56   * Added a script nix-activate which builds a list of 
"activated"   packages (i.e., the packages that should appear in the user's 
$PATH,   and so on).  Based on this list, the script nix-populate creates a   
hierarchy of symlinks to the relevant files in those packages (e.g.,   for 
pkg/bin and pkg/lib).
       new  f915f77   * Allow arguments to be passed to programs in `nix run'.
       new  278ea40   * Don't fork in `nix run'.
       new  31f177e   * Check for collissions.
       new  ced20f1   * Nix descriptor for Subversion.
       new  383f9bb   * Use ATerms for Nix descriptors.
       new  5bc26fb   * Importing and exporting of pre-built packages.
       new  c68dca5   * Script to register pre-built packages.
       new  ab723e3   * Minor refactoring: use iterators to process arguments.
       new  136c00e   * Autoconf / Automake configuration and building.
       new  1447cf3   * Delete source after building.
       new  2eea883   * The latest version of Pan.
       new  814b256   * Better installation: make directories, create database. 
* Fixed the register script.
       new  0d2b24c   * `Fix' is a high-level descriptor instantiator for Nix.  
It replaces   nix-instantiate.
       new  f7ef88d   * Added some installation instructions to the readme.
       new  cc6eafb   * FreeBSD / gcc 2.95 compatibility fixes. * A script to 
generate prebuilt registration scripts.
       new  f56b731   * Descriptor importing in Fix.
       new  aa8fda4   * We no longer use nix-populate standalone, rather we use 
it as a   build action for `system' packages (like system.fix) that have   
dependencies on all packages we want to activate.
       new  b762f4d   * In `fix --instantiate', only print out the hashes of 
the Nix   descriptors generated out of Fix descriptors specified on the   
command line.  This allows us to say:
       new  30a6122   * When we activate a descriptor in nix-switch, remember 
its hash.   This allows us to find out all `live' packages on the system by   
       new  f7526fe   * A garbage collector for installed packages.  
nix-collect-garbage   doesn't actually delete any packages, it just prints 
their   descriptor hashes.  So we can do
       new  e59c324   * Redirect stdout to stderr when executing the build 
       new  6faa154   * Add "... || exit 1" to every command to catch failure.
       new  f546e0c   * Fix descriptor for Subversion 0.21.0.
       new  49e0d74   * Fix descriptors for Pan and its dependencies.
       new  9713e85   * getpkg, delpkg, and so on now accept multiple arguments.
       new  24b3d07   * File removed.
       new  243370b   * nix-switch now removes the link to the previously 
activated system   package as a root of the garbage collector, unless `--keep' 
is   specified.
       new  76205df   * Removed old Nix descriptors.
       new  fcc5ae1   * Remove build directory from a package directory after 
building it.
       new  d6d930a   * Bug fix: deleting the old links didn't work properly.
       new  0ef4b6d   * Cleaned up the semantics of Fix expressions.
       new  7dd91d3   * Prebuilt package sharing.  We allow transparent binary 
deployment by   sharing package directories (i.e., the result of building a Nix 
       new  13176d7   * Updated Fix descriptors to reflect the new Fix abstract 
       new  f8d91f2   * Nix can now fetch prebuilts (and other files) from the 
network, iff   a mapping from the hash to a url has been registered through 
`nix   regurl'.
       new  8b930a0   * Some refactoring.
       new  a9f2928   * Moved the package descriptors and build scripts out of 
the Nix tree.
       new  d8bdf5b   * Removed some debug code that prevented packages from 
       new  9efad76   * FreeBSD / ISO C++ compatibility fixes.
       new  4d21cda   * Fix for big-endian platforms: check for endianness in 
MD5 computations.   This is done at runtime, which is inefficient, but I can't 
be bothered   to write an Autoconf test right now.
       new  5e01b22   * Fix the rsync destination.
       new  84e235e   * Set MANPATH and PKG_CONFIG_PATH.
       new  383297e   * Don't set MANPATH.  It's not necessary.
       new  64582f5   * Open the database read-only when enumerating tables.
       new  d1f5fd7   * Log the output of builders to $prefix/var/log/nix.
       new  5908663   * Send log output to stderr.
       new  f66055f   * Set umask to 0022 on startup.
       new  21fe717   * Refactoring: hash class.
       new  b9f09b3   * AST for Nix expressions.
       new  8227940   * Started implementing the new evaluation model. * Lots 
of refactorings. * Unit tests.
       new  a09e66d   * Description of path hashing algorithm.
       new  2f04e71   * Path hashing.
       new  727beb7   * Canonicalization: when hashing directories, sort the 
directory   entries by name.
       new  c739e20   * Argument processing.
       new  a7ab242   * Simplify the evaluator.
       new  6656993   * Derefencing of hashed expressions.
       new  7a96da3   * Test for expression dereferencing.
       new  34fcf5f   * Started integrating the new evaluation model into Nix. 
* Cleaned up command-line syntax.
       new  fab7b12   * Automake sucks.
       new  bc57eb3   * Set CPLUS_INCLUDE_PATH as well as C_INCLUDE_PATH.  
Otherwise g++   won't see header files under Nix control.
       new  94cf1f8   * Lambdas, applications, substitutions.
       new  aeaffec   * Dump symlinks.
       new  38e12df   * `nix --dump' command.
       new  1849aa2   * Refactoring: move dump function into
       new  5079ccb   * Move most of Nix into a library (libnix.a). * Run 
`test' on `make check'.
       new  85effed   * Flags to indicate how values are specified on the 
command line   (--hash, --file, --name).
       new  5f5cab0   * A function to restore from a Nix archive. * addValue() 
can now import any dumpable FS object.
       new  c0cbaef   * `nix --restore' command.
       new  692b562   * `nix --delete' command.
       new  2b07b0e   * Minor cleanups.
       new  3ec5252   * Improved syntax and semantics for Nix expressions.
       new  d4c3edf   * Normalisation.
       new  bb03c45   * Added the Boost format library which provides a safe 
printf   replacement.
       new  3da9687   * Realisation of File(...) expressions.
       new  40b5936   * Realisation of Derive(...) expressions.
       new  207ff2c   * Caching of expression successors.
       new  01b34fe   * Cleanup.
       new  f826e43   * Refactoring: move initialisation and argument parsing 
into a shared   file.
       new  82e3d8f   * Got Fix working again.
       new  bfa5d77   * Bug fix: properly check result of open().
       new  7952a80   * A utility `nix-hash' to compute Nix path hashes.
       new  224c585   * Refactoring on the file names.
       new  609a224   * Fixed `make check' as well.
       new  5895c16   * Make dbRefs a mapping from Hash to [Path].
       new  be96c21   * `--realise' -> `--install'.
       new  a5a90f5   * Get rid of the `netsources' database. * Rename the 
`refs' database to `hash2paths'.
       new  ab644ad   * BaseName() primitive for the generation of more 
sensible names   (especially in fetchurl.fix).
       new  0b38b43   * deletePath() now removes the path from the hash2paths 
       new  85a913a   * Renamed `id' -> `name' to remove the implication of 
       new  a279137   * Get `--dump' and `--delete' to work again.
       new  40274c1   * A command to query the paths referenced by an fstate 
expression. * Use a temporary directory for build actions.
       new  333f496   * The output of a Derive() node is not a referenced path.
       new  cab3f49   * A path canonicaliser that doesn't depend on the 
existence of paths   (i.e., it doesn't use realpath(3), which is broken in any 
case).   Therefore it doesn't resolve symlinks.
       new  9a99dc7   * Canonicalise paths so that Fix produces identical Nix   
expressions for identical inputs.
       new  2b95a9d   * When computing the set of paths referenced by an 
expression, also   include the paths of the subterms.
       new  6011bd0   * Outline of the new scheme for derivate distribution.
       new  9ebd781   * Added a directory for standard Fix descriptors.
       new  b96239c   * Moved the fetchutl package to corepkgs.
       new  089b436   * Deleted the sys directory.
       new  5d4b90b   * Actually go through the search directories when looking 
for files.
       new  d072485   * Get `nix-push' working again.  It now uses Nix/Fix to 
create Nix   archives (using the package in corepkgs/nar). * queryPathByHash -> 
expandHash, and it takes an argument specifying   the target path (which may be 
empty). * Install the core Fix packages in $prefix/share/fix.  TODO: bootstrap  
 Nix and install Nix as a Fix package.
       new  1d1c369   * The policy-free derivate sharing now *almost* works. 
:-)  For any   hash for which no local expansion is available, Nix can execute 
a   `substitute' which should produce a path with such a hash.
       new  8511571   * Performance enhancement.
       new  e5fbf58   * A command to register successor fstate expressions.
       new  81304a6   * Convert tabs to spaces.
       new  9bcc31c   * Working derivate sharing.
       new  822c072   * Compress Nix archives when pushing them.
       new  c834a5c   * Fix handling of pipes (read(2) may not return the 
required   number of bytes in one call).
       new  73b163c   * Fix a bug that caused Fix not to be deterministic (due 
to addToStore   returning different paths if the hash of the path to be added 
was   already available in the store under a different name).
       new  5304a1e   * Fetchurl: check md5 checksum.
       new  9c620e4   * Generate the scripts so that we can substitute the 
prefix   etc. correctly. * Fixed nix-switch.
       new  e6363b0   * Pass $(prefix) and other variables through -D..., not   
through config.h, to prevent silly Autoconf problems.
       new  135b7d5   * Don't check for staleness by default.
       new  3509299   * After building, scan for actual file system references 
as   opposed to declared references.  This prunes the reference   graph, thus 
allowing better garbage collection and more   efficient derivate distribution.
       new  8898e86   * Get the garbage collector to work again.
       new  f5b6fa5   * Basic work on allowing derive expressions to build 
multiple paths.   This is not entirely trivial since this introduces the 
possibility   of mutual recursion. * Made normal forms self-contained. * Use 
unique ids, not content hashes, for content referencing.
       new  7b3f44e   * The new normaliser now passes the unit tests.
       new  d41d085   * Get Fix and Nix to work again.
       new  c11bbcf   * Fix self-referential outputs. * Fix -qp query.
       new  b9ecade   * Fix the -qr query.
       new  9d56ca2   * Substitute fixes.
       new  6822fd7   * Bug fix: slices are transitive, so if we detect that an 
  input path is referenced in an output paths, we also have to   add all ids 
referenced by that input path. * Better debug assertions to catch these sorts 
of errors.
       new  335aa1c   * Doh!
       new  54664b6   * The write() system call can write less than the 
requested   number of bytes, e.g., in case of a signal like SIGSTOP.   This 
caused `nix --dump' to fail sometimes.
       new  71cc3ce   * Preserve the executable bit.
       new  b3fc38b   * For debugging: `nix --verify' to check the consistency 
of the   database and store.
       new  ab350ea   * Generate,
       new  6f1a0f9   * Refactorings.
       new  667a6af   * Remove accidentally added file.
       new  7984cfc   * Argh, another short-write problem.  Added wrappers 
around   read()/write() to fix this once and for all.
       new  401452e   * Memoize the evaluation of Fix expressions to speed up 
       new  49231fb   * Changes to the command line syntax of Nix. * A function 
to find all Nix expressions whose output ids are   completely contained in some 
set.  Useful for uploading relevant Nix   expressions to a shared cache.
       new  249988a   * Allow the output/expression id to be forced to a 
certain   value; this potentially dangerous feature enables better   sharing 
for those paths for which the content is known in   advance (e.g., because a 
content hash is given). * Fast builds: if we can expand all output paths of a 
derive   expression, we don't have to build.
       new  9f4ad99   * Canonicalise path.
       new  2616e6a   * Check for errors.
       new  d5ee6f8   * In `--query --generators', print out paths, not ids.   
(There should really be a switch for this).
       new  c7bdb76   * Syntax fixes. * When pushing, put the hash in the file 
name so that the   client can verify (proof-carrying file names?).
       new  d84931e   * Changed nix-pull to match nix-push.
       new  df648c4   * `nix --query --expansion' (`-qe') to get any path with 
content   corresponding to the given id.
       new  e877c69   * Substitutes now should produce a path with the same id 
as they are   substituting for (obvious, really).
       new  9202570   * libdb_cxx-4 -> libdb_cxx
       new  39ce700   * Incorporated Berkeley DB and ATerm into the source 
tree. * `make dist'.
       new  b75719b   * Don't sync the database on close.  This was killing 
performance.   (Of course, the real problem is that we open the database for   
*every* operation; we should only open it once.  And we should use   
       new  1a7468a   * Debug levels.  Use `--verbose / -v LEVEL' to display 
only messages   up to the given verbosity levels.  These currently are:
       new  3b521bb   * Do sync the database, since not doing so caused 
database changes not   to reach the disk at all.  Looks like a bug.
       new  0a0c1fc   * The `-v' flag no longer takes an argument; it should be 
repeated   instead (e.g., `-vvvv' for lots of output).  Default is to only   
print error messages.
       new  5d7a20d   * Prevent spurious rebuilds of db/aterm.
       new  f21b341   * Fix message.
       new  949c4fa   * `nix --help'. * `nix --query --graph' to print a dot 
dependency graph of derive   expressions.
       new  dec8fbc   * Check for the pthread library (db4 needs it on some 
       new  ce5fd1c   * Do not set LD_LIBRARY_PATH; it breaks many things.  
E.g., SuSE's ssh   dynamically links against libdb4 (?!), due to 
LD_LIBRARY_PATH it picks   up our libdb4 instead of SuSE's libdb4, but our 
libdb4 uses another   glibc so loading barfs.
       new  5acb454   * Let `nix --install' print out the id of the normal 
form. * Some minor refactoring.
       new  79ba043   * `fstateRefs' now works on derive expressions as well.  
TODO: make   this more efficient. * A flag `-n' in 'nix --query' to normalise 
the argument.  Default is   not to normalise.
       new  dc14a3d   * Nicer dot graphs.
       new  8846465   * Get garbage collection and cache population to work 
*properly*.   Renamed `fstateRefs' to `fstateRequisites'.  The semantics of 
this   function is that it returns a list of all paths necessary to realise   a 
given expression.  For a derive expression, this is the union of   requisites 
of the inputs; for a slice expression, it is the path of   each element in the 
slice.  Also included are the paths of the   expressions themselves.  
Optionally, one can also include t [...]
       new  40f32ae   * Typo: if -> elsif.
       new  a016298   * Use `--query --requisites' and include successors when 
pushing.  Don't   use `--query --generators' anymore.
       new  1cb0307   * Bug: Fix does not allow empty names, so don't generate 
       new  8307530   * Don't make the builder executable.
       new  aaee69c   * INSTALL_DATA -> INSTALL_PROGRAM to ensure that the 
execute bit   remains set.
       new  2ac0244   * Test cases for races.
       new  64c617e   * Directories for the manual.
       new  26ff1cd   * A better test case for Nix race conditions.
       new  9f4c192   * Basic makefile.
       new  758bd46   * Set execute bit.
       new  4a01396   * Started using Berkeley DB environments.  This is 
necessary for   transaction support (but we don't actually use transactions 
       new  177a778   * Use a more reasonable log file size (256 KB instead of 
10 MB). * Checkpoint on exit.
       new  06d3d73   * Enclose most operations that update the database in 
       new  0643407   * Put the database verifier in a transaction.
       new  9df93f3   * Don't use substitutes in addToStore().
       new  545145c   * normaliseFState() now locks all output paths prior to 
building, thus   ensuring that simultaneous invocations of Nix don't clobber   
each other's  builds.
       new  d99d04e   * Defensive programming against POSIX locking idiocy. * 
Simplified realiseSlice().
       new  c95b4ad   * In normaliseFState(), wrap registration of the output 
paths and the   normal form in a single transaction to ensure that if we crash, 
  either everything is registered or nothing is.  This is for   recoverability: 
unregistered paths in the store can be deleted   arbitrarily, while registered 
paths can only be deleted by running   the garbage collector.
       new  d2e963f   * Path locking in addToStore() and expandPath().
       new  d6b6b2d   * Delete obstructed paths prior to building.
       new  17f05db   * Allow the top-level expression to be a list of 
expressions that   normalise to Nix expression.
       new  fd30f52   * Made nix-pull much faster by performing all Fix 
instantiations at   the same time.
       new  4ce6526   * Cache result of fstatePaths().  TODO: do this in
       new  b9c9b46   * Made nix-push much faster.
       new  d34b4d4   * Conditionals.
       new  3748367   * App -> Call. * Allow booleans in package environment 
bindings (True maps to "1",   False maps to "").
       new  720f06e   * A flag `--flat' to just compute the MD5 checksum of the 
contents of   a regular file.  I.e., `nix-hash --flat' is equivalent to the   
coreutils `md5sum' command (which doesn't exist on all systems).
       new  236eb59   * Allow locks on paths to be acquired recursively (that 
is, if the   process is already holding a lock on a path, it may acquire the 
lock   again without blocking or failing).  (This might be dangerous, not   
sure).  Necessary for fast builds to work.
       new  d551062   * Scan for wget and use the full path in * 
Use nix-hash (not md5sum) in
       new  9ad39df   * `==' is not a valid operator.
       new  f8035d0   * Allow a name to be given to a system configuration 
through `--name   NAME'.  E.g., on the losser Subversion server, I do 
`nix-switch --name   svn $(fix ...)' to atomically upgrade the server (the SVN 
server   uses the Apache and Subversion installations in 
       new  74867e7   * Start of manual; installation instructions.
       new  4b7b0bd   * Started on the introduction.
       new  c602930   * deletePath(): some operating systems (e.g., Mac OS X) 
don't like it   when we delete entries from a directory while we are reading 
it.   So read the directory into memory, then delete its contents.
       new  e405ca5   * Generate man pages from the manual.
       new  469f1eb   * Documented some Nix operations.
       new  b4f88d0   * Split the book.xml into several xml files.
       new  c34a153   * Documented the `--query' operation.
       new  6802255   * Put the pre-built manual and man pages in the tar 
       new  95b49f8   * Manual updates.
       new  0a2de7f   * Lam -> Function. Doh!
       new  5cde23f   * Function() takes a list of formals.
       new  2e16ff2   * Fix man page.
       new  dc0ef2c   * Detect infinite loops using blackholing.
       new  9ee3b7a   * Function application test cases.
       new  a24cb19   * Use xmllint instead of nsgmls to validate the manual.
       new  161aab5   * Use a catalog when calling xsltproc.
       new  163db73   * Fix can now read expressions from stdin (by saying `fix 
       new  01e3036   * Don't use a temporary file.
       new  e374dbf   * A script `nix-prefetch-url' to fetch a URL, place it in 
the Nix   store, and print its hash.
       new  5553477   * Derivation expressions now can specify arguments to be 
passed to the   builder.  Note that this unfortunately causes all Fix-computed  
 hashes to change.
       new  96c7b98   * Argument support in Fix.  Arguments can be passed 
through the   builder using the `args' binding:
       new  08f9cfe   * No longer automatically download Berkeley DB / ATerm.
       new  c32e01e   * Revision 300! * Put `@' in front of echo's in the 
       new  ebbb6ce   * Most shells initialise PATH to some default 
(/bin:/usr/bin:...)   when PATH is not set.  We don't want this, so fill it in 
with   some dummy value.
       new  31e4aa6   * Allow lists in package bindings, e.g.,
       new  2de8504   * Delete the temporary directories of failed builds by 
default, and an   option `--keep-failed' to override this behaviour.
       new  1472cc4   * Pipe /dev/null into stdin.
       new  ed0db2e   * Fixed a serious bug in the computation of slices.  
Sometimes the slices   would not be properly closed under the path reference 
       new  710175e   * Bumped the version number to 0.3.
       new  624c482   * Change the abstract syntax of slices.  It used to be 
that ids were used as   keys to reference slice elements, e.g.,
       new  956801f   * Use maps and sets in the FState data type.  This 
ensures normalisation of   slices and derivations w.r.t. order of paths, slice 
elements, etc.
       new  56b98c3   * Some work on the introduction.
       new  a881442   * Remove write permission from output paths after they 
have been built. * Point $HOME to a non-existing path when building to prevent 
certain tools (such as   wget) from falling back on /etc/passwd to locate the 
home directory (which we   don't want them to look at since it's not declared 
as an input).
       new  920193b   * Don't continue when the call to nix fails.
       new  31be53c   * Fix the atrocious (exponential? factorial?) time 
complexity in   `nix --query --requisites'.
       new  c4f1f49   * nix-push generated invalid (old-style) slices. * 
needs a path.
       new  b018517   * Do not try to remove write permission from symlinks, 
since chmod()   follows symlinks.  (Note that the permissions on symlinks are   
ignored anyway.)
       new  25304af   * Set a path.
       new  0d2bc68   * Do not show the output of the builder unless the 
verbosity is at   least at debug level (-vvv).  The output is still appended to 
the   build log in /nix/var/log/nix.
       new  c0bbed0   * Factored out dot graph generation into a separate file.
       new  803a924   * Make nicer dot graphs.  Also show the inner structure 
of slices.
       new  d930a9b   * Added some missing #includes.
       new  1c7d6bf   * Removed references to char_traits so that boost/format 
also works on   GCC 2.95.
       new  41730f5   * Put the SVN revision number in the version string.
       new  9ba2397   * Added missing files to `make dist'.
       new  9fb94f4   * Forgot a file.
       new  6d47859   * Argggg...
       new  4193d62   * Nix now respects $TMPDIR for the creation of temporary 
build directories. * Retry creation of a temporary directory (with a different 
name) in the   case of EEXIST.
       new  e78f753   * Include the right files in a distribution.
       new  563afb7   * Use passive FTP in wget.
       new  5d4171f   * Synchronise terminology with the ICSE paper (e.g., 
slice -> closure,   fstate -> Nix expression). * Fix src/
       new  b9f4942   * string -> Path.
       new  6baa2c4   * Get rid of identifiers since they are redundant now.  
This greatly   simplifies stuff.
       new  6409c21   * Fixed nix-switch.
       new  08b7319   * Follow successors by default (use `--no-successors' to 
       new  1eb4da1   * Performance improvement: don't register already 
registered terms,   thus greatly reducing the number of db transactions.
       new  d3d5e77   * Reverse mappings for the successor and substitute 
       new  0abe185   * `nix --verify': check and repair reverse mapping for 
       new  1d61e47   * New query `nix --query --predecessors' to print the 
predecessors of   a Nix expression.
       new  c190f05   * Automatically recover the database in case of a crash.
       new  5fc7127   * Keep sources (derivation expression) by default, 
`--no-source' to   override.
       new  ebff822   * Refactoring: move all database manipulation into * Removed `--query --generators'.
       new  181aa3d   * Don't sort the result of `--query --list'.
       new  f7c7aad   * Upgraded to Berkeley DB 4.1.25 and do not synchronously 
flush the   log on commit.  This means that there is a small change that some   
transactions may be rolled back in case of a system crash, but this   should 
not be a problem (it merely might cause some expression   realisations to be 
rolled back), and it vastly improves performance.
       new  c78bf11   * Enable buffering of stderr in C++.
       new  ab5e876   * Get nix-push to work again. * Fixed svn:ignore on 
       new  0791282   * Substitutes and nix-pull now work again. * Fixed a 
segfault caused by the buffering of stderr. * Fix now allows the specification 
of the full output path.  This   should be used with great care, since it 
by-passes the normal hash   generation. * Incremented the version number to 0.4 
       new  a0a7a4e   * Remove some debug output.
       new  0eab306   * NarPath -> NarName.
       new  53e376d   * Refactored the source tree.
       new  c624337   * Finished refactoring the tree.
       new  4a8948b   * Some wrapper classes to ensure that file descriptors / 
directory   handles are closed when they go out of scope.
       new  143427f   * Dead code removal.
       new  9d95aaf   * Ad hoc per-package logging.  When Nix performs a 
derivation, it now   writes stdout/stderr of the builder to 
${prefix}/var/log/nix/x,   where x is the file name of the derivation 
expression, e.g.,
       new  c4e7d32   * Use writeFull().
       new  92eea8f   * Fix a race condition in addTextToStore().
       new  7102455   * Don't cache the manifest.
       new  f31661a   * Add sdf2-bundle to externals.
       new  4d728f6   * Forked new version of Fix.
       new  b95a3dc   * Basic grammar and parser for the Fix language.  We use 
libsglr and   friends to do the parsing.  The parse table is embedded in the 
Fix   executable using bin2c, which converts an arbitrary file into a C   
character array.
       new  933b3f6   * Attribute selection operator.
       new  442b09e   * Don't use a search path.
       new  e537844   * Bottomup rewrite function.
       new  9f8f39a   * Clean up the imploded parse tree.  Quotes around 
strings are   removed, paths are absolutised relative to the path containing 
the   expression we just parsed, and integer literals are converted to   actual 
       new  403cb93   * Factor out evaluation into a separate file.
       new  7db08cc   * Use SGparseString() instead of SGparseFile() because 
the latter is   buggy.  It fails to clear an internal variable (SG_textIndex)   
between invocations, so it can be called only once during a program   execution.
       new  f1c1a3c   * Allow empty attribute (argument) sets.
       new  9210d4d   * Working evaluator. * Mutually recursive attribute sets. 
* Print evaluator efficiency statistics.
       new  449411e   * Typo fix.
       new  a2a9bac   * Filter the substitution list when descending into a 
recursive   attribute set.
       new  1b4184c   * Let syntax.
       new  1610444   * Conditions, string equality.
       new  7de1b2a   * Print the exit code of the builder.
       new  c8268ca   * Fast builds.
       new  adf9a45   * Primops: baseNameOf, toString.
       new  4098631   * Boolean constants.
       new  ad0976f   * Grammar changes.  Attributes in attribute sets are now 
delimited with   semicolons instead of comma's.  Final semicolon in the set is 
       new  e2655aa   * Shorter list syntax ([a b c] instead of [a, b, c]).
       new  ff31324   * Ignore options passed to the aterm library.
       new  0690c1c   * Work around problems with the ATerm library.
       new  80bb477   * Default function arguments.
       new  e17e95a   * Print a shared textual ATerm if the term if very large. 
 Due to   substitutions, Fix terms are very large when printed as trees (in   
memory, they are quite compact due to sharing).
       new  fa18f1f   * Assertions. * Logical operators (!, &&, ||, ->).
       new  569e794   * Allow `+' in path names.
       new  cfaea07   * `null' is a nullary primop.
       new  90e26d3   * Allow null in derivation bindings.
       new  d2e3a13   * Pass CFLAGS to the subpackages.
       new  15801c8   * Turned the msg() and debug() functions into macros, 
since they   turned out to be a huge performance bottleneck (the text to 
printed   would always be evaluated, even when it was above the verbosity   
level).  This reduces fix-ng execution time by over 50%.
       new  06ae269   * Do not filter when parsing.  This is much faster. * Add 
some rejections and lexical restrictions to the grammar to make   this work.
       new  3e5a019   * Some utility functions for working with ATerms.
       new  45610ae   * An forward non-random access input iterator class for 
       new  8798fae   * Source tree refactoring.
       new  9f0f020   * libnix -> libstore.
       new  ce92d1b   * "Nix expression" -> "store expression". * More 
       new  b1117ef   * nix -> nix-store, fix -> nix-instantiate.
       new  dfc9c64   * "Fix expression" -> "Nix expression". * More 
       new  38946e1   * Forgot this one.
       new  2be8b59   * Use `sdftable -s' to get warnings about the grammar. * 
Several bug fixes in the grammar. * Allow one-line comments (#... and //...) to 
end in EOF.
       new  ac68840   * Refactoring: put the Nix expression evaluator in its 
own library so   that it can be used by multiple programs.
       new  fd7ac09   * Refactoring (step 2).
       new  9898746   * nix-env: a tool to manage user environments. * Replace 
all directory reading code by a generic readDirectory()   function.
       new  e0b5a49   * Installation: add the previously installed packages.  
Switch to the new   configuration. * Status queries.
       new  2e9042b   * Uninstall command (doesn't work yet).
       new  06208d1   * Uninstallation.
       new  7a02d95   * Remove lock files after building.
       new  40d9eb1   * Fix the garbage collector.
       new  ab0bc49   * Maintain integrity of the substitute and successor 
mappings when   deleting a path in the store. * Allow absolute paths in Nix 
expressions. * Get nix-prefetch-url to work again. * Various other fixes.
       new  9486dda   * Fix nix-push.
       new  af7e6fe   * Don't use a hard-coded path.
       new  60e86b1   * Get rid of tab characters.
       new  c9cb1fa   * Bug fix in path invalidation. * More consistency checks.
       new  496934a   * Fix nix-pull.
       new  b857267   * Allow the top-level expression to be a derivation. * 
Hack: `nix-env -i *' installs all available derivations.
       new  e7ea52d   * One-click installation :-)
       new  604c45e   * Autoconf sucks.
       new  d1d87ba   * Bug fix.  Hmm, I thought I'd fixed this before :-|
       new  6e8c197   * Allow integer bindings in derivations.
       new  c3ee8c9   * `make dist' fix.
       new  66c115e   * More `make dist' fixes.
       new  ba73f94   * Another fix.
       new  12e805c   * Don't hardcode the path to the DocBook DTD/stylesheets.
       new  6d5877e   * Use --nonet flag to prevent fetching of DTD.
       new  4da9316   * Use svn-revision to construct package version.
       new  c38ba18   * Configure flags to specify the location of the DocBook 
DTD / stylesheets.
       new  80f8c38   * Typo fix.
       new  bd0ce1a   * Minor fix.
       new  2a4bac5   * Refactoring. * Convert tabs to spaces.
       new  f6a30ab   * Updates.
       new  62d9b31   * Updates.
       new  7b0e29b   * Overview of nix-env.  Recommended reading. :-)
       new  dc05f29   * Manual updates.
       new  5d2b424   * Use a system name that does not include the OS 
manufacturer (i.e.,   "i686-linux" instead of "i686-suse-linux").
       new  83ffd4f   * Fix `make check'.
       new  905d5b9   * Manual fixes (thanks to Merijn).
       new  078e208   * Help text for all (non-script) programs, so no more:
       new  a3ca74a   * Bug fix in nix-push.
       new  0c804c6   * Regression fix: query flags (e.g., "-qsf") were broken.
       new  0d3a1a8   * Add missing files to `make dist'.
       new  16d971b   * A nice stylesheet for the manual.
       new  31fd72e   * Epigraph ;-)
       new  00d4f90   * Get rid of the icons in warnings etc.
       new  feaab52   * Fix for too long command lines when calling `nix-store  
       new  cff6fd2   * Allow successors that don't exist but have a 
substitute. * Integrity: check in successor / substitute registration whether   
the target path exists or has a substitute.
       new  06c5a70   * Refactoring: put the manifest-reading code in a 
separate file.
       new  528f1d1   * Bug fix: parallel builds of the same derivation failed 
due to lock file removal.
       new  397c8ba   * Missing semicolons.
       new  df7a718   * Man pages in sections.
       new  0a753e1   * Oops.
       new  a81b621   * `-u' -> `-e'. * `--link' / `-l' flag to specify the 
switch symlink to use (by default,   /nix/var/nix/links/current).
       new  f3c9783   * Version numbers can be omitted in install/uninstall.  
       new  cf0287c   * Upgrade operation in `nix-env'.  For instance, you can 
       new  833f2fc   * GCC 2.95 compatibility.
       new  392b7e0   * Fixed a bug in the upgrade operation.
       new  68f2fad   * nix-pull requires libexecdir to be substituted.
       new  94175e9   * RPM spec file. * Respect DESTDIR variable.
       new  0e09cc1   * Add $prefix/store to the RPM. * Allow extra flags to be 
passed to RPM.
       new  9ff3657   * Generate RPM spec file.
       new  0e68af0   * RPM sucks.
       new  f83c5e3   * Implemented Eelco V.'s `-p' command to switch profiles. 
 It switches   the symlink ~/.nix-userenv to the given argument (which defaults 
to   .../links/current).  /etc/profile.d/nix-profile creates this symlink   if 
it doesn't exist yet.  Example use:
       new  4a373a3   * Implemented Eelco V.'s `nix-env -I' command to specify 
the default   path of the Nix expression to be used with the import, upgrade, 
and   query commands.  For instance,
       new  2f0b939   * Install images.
       new  1ff986d   * book -> manual
       new  abe8c8c   * Include images/ in distribution.
       new  7959354   * Upgraded to Berkeley DB 4.2.52.  The main advantage of 
4.2 is that   it automatically removes log files when they are no longer needed.
       new  5346536   * Include version number in manual.
       new  b594215   * Manual updates.
       new  30b31a8   * Start of nix-env reference. * Some CSS tweaks.
       new  46a71c8   * Option `--force-realise' in `nix-store --query'.
       new  4c4fe7a   * Changed the extension for store expressions from ".nix" 
to ".store"   (following the Usenix paper).
       new  23fbc72   * Print error messages, not debug messages.
       new  698e880   * Tricky: make sure that the accessor count is not reset 
to 0 if   recovery fails.
       new  3495d15   * Periodically checkpoint the log.
       new  ff9af10   * Option `-B' to always show the output of builders, 
regardless of   verbosity level.
       new  16f9b13   * Improved `nix-push': it now uses HTTP PUT (instead of 
rsync) to copy   files.  Target location is no longer hard-coded; it accepts a 
number   of URLs on the command line.
       new  9a404e4   * Synchronous `nix-pull' with `nix-push'. * Use curl 
instead of wget.
       new  55e11bc   * In `nix-env --query --status', determine the `I' bit by 
looking at   the output path of a derivation, not the path of its store   
expression.  This ensures that changes that affect the path of the   store 
expression but not the output path, do not affect the   `installed' state of a 
       new  08719c6   * Obsolete.
       new  447089a   * Catch SIGINT to terminate cleanly when the user tries 
to interrupt   Nix.  This is to prevent Berkeley DB from becoming wedged.
       new  291030b   * Remove debug message.
       new  b1c5f3c   * Doh!  Edited `' instead of 
       new  f899e8c   * Test whether the symlink, not its target, exists.
       new  3a4a4aa   * Strip binaries in RPMs.
       new  699989b   * Ignore exit code from strip.
       new  8baf50f   * Manual updates. * Updated the README.  Now it just 
refers to the manual.
       new  3778586   * Nix Quick Start guide.
       new  4db7ef3   * Fixed URL.
       new  47f19b6   * Absolutise the specified path in `--import' and 
       new  1109ea0   * Fixed a subtle uninitialised variable bug in ATermMaps 
copied from   ATermMaps.  Found thanks to Valgrind!
       new  840551e   * Extra bit `S' in `--query --status' output: show 
whether there are   any substitutes for the derivation.
       new  4f72b40   Typos and url losser -> catamaran
       new  3c4bc72   * Added a note about adding /nix/etc/profile.d/ to 
the profile.
       new  cdb5088   * Typos.
       new  3648d1c   * Explicitly compute the release name.
       new  abd1878   * Optimised the SDF grammar.
       new  c5baaaf   * Replaced the SDF parser by a substantially faster 
Bison/Flex   parser (roughly 80x faster).
       new  c625718   * Detect flex and bison; updated the manual.
       new  619f207   * Parser numbers again. * Include missing files in 
       new  47c003c   * Doh!
       new  d9f30fe   * Sort `nix-env -q' output by derivation name. * 
`--version' flag for all commands. * Manual updates.
       new  1c9c0a5   * Added syntactic sugar to the construction of attribute 
sets to   `inherit' variables from the surrounding lexical scope.
       new  c4f7ae4   * Verify that all variables in a Nix expression are 
       new  9b44480   * Use a map to lookup primops. * Various performance 
improvements in the evaluator. * Do not link against unused (and missing!) 
libraries (-lsglr, etc.).
       new  6d46e64   * Fixed the old envpkgs filename.
       new  9d25466   * An attribute set update operator (//).  E.g.,
       new  d445da7   * Extended the `inherit' syntax to optionally select 
attributes from   other attribute sets, rather than the current scope.  E.g.,
       new  66e94d3   * Improvements to profiles.  Generations are now 
per-profile, e.g.,
       new  49bafe1   * Use the profile pointed to by ~/.nix-profile if no 
--profile   argument is specified.
       new  7abf991   * Refactoring.
       new  7c0fa44   * More refactoring.
       new  73ab2ed   * A command `--list-generations' to show all generations 
for a   profile.
       new  b8675ae   * In `--list-generations', show what the current 
generation is.
       new  06a75a7   * A command `--switch-generation' to switch to a specific 
generation   of the current profile, e.g.,
       new  618aa69   * In `--upgrade': added flags `--lt', `--leq', `--always' 
to specify   whether we want to upgrade if the current version is less than the 
  available version (default), when it is less or equal, or always.
       new  0616b7f   * Documented the most important nix-env flags.
       new  6551b36   * Print what generation we are switching to; honour 
--dry-run flag.
       new  92e8323   * Lots of manual stuff.  Reference pages for most Nix 
commands. * nix-pull now requires the full url to the manifest, i.e.,   
`/MANIFEST/' is no longer automatically appended. * nix-prefetch-url works 
       new  00fe1a5   * When creating a new generation, also make the normal 
form of the   derivation (i.e., the closure store expression) a root of the   
garbage collector.  This ensures that running `nix-collect-garbage   
--no-successors' is safe.
       new  1ad9d11   * Only include predecessors that are themselves being 
pushed.   Otherwise the substitute mechanism can break in subtle ways.
       new  6f5a5ea   * Regression fix: realise substitutes and detect cycles.
       new  76c0e85   * The environment variable NIX_ROOT can now be set to 
execute Nix in a   chroot() environment. * A operation `--validpath' to 
register path validity.  Useful for   bootstrapping in a pure Nix environment. 
* Safety checks: ensure that files involved in store operations are in   the 
       new  fbc48a4   * Inherited attributes in recursive attribute sets are in 
scope of the   non-inherited attributes.
       new  f34de12   * Allow the location of the store to be specified 
(--with-store-dir). * Do not create stuff in localstatedir when doing `make 
install'   (since we may not have write access).  In general, installation of   
constant code/data should be separate from the initialisation of   mutable 
       new  0dfdafd   * Allow linking against an external Berkeley DB / ATerm 
       new  86b7efb   * Don't build ATerm library if we don't need to.
       new  dbf5476   * Resolve an ambiguity between ifs and attribute 
selection, e.g., `if   b then x else y.z'.
       new  7f0ed37   * Use $(storedir) instead of $(prefix)/store.
       new  a5619f1   * Set the NIX_STORE and NIX_BUILD_TOP environment 
variables in   builders to point to the store and the temporary build 
directory,   respectively.  Useful for purity checking. * Also set TEMPDIR, 
TMPDIR, TEMP, and TEMP to NIX_BUILD_TOP to make   sure that tools in the 
builder store temporary files in the right   location.
       new  beda10f   * Make perl a dependency of Nix.
       new  9d2669d   * Added a utility that can be used to produce nice HTML 
pages from Nix   build logs.  The program `log2xml' converts a Nix build log 
(read   from standard input) into XML file that can then be converted to   
XHTML by the `log2html.xsl' stylesheet.  The CSS stylesheet   `logfile.css' is 
necessary to make it look good.
       new  b5539e7   * Store paths are now abbreviated in the generated HTML 
file.   Hovering over the abbreviated path will reveal the full path.  This   
probably only works in Mozilla.
       new  8330c82   * A simpler way of implementing the store reference 
popups, thanks to   Martin and CSS guru Martijn Vermaat.
       new  8ce3dd4   * Display the popup directly over the abbreviation.
       new  a784fd5   * Don't use tables.  Konqueror likes this much better.
       new  c2fc2c1   * Use unordered lists, which is more sensible 
semantically for   representing tree structures.
       new  84c6179   * Collapsable trees.
       new  3f3c4cc   * Added an extra escape code to signal "unimportant" 
messages.  If a tree only has   unimportant messages, it is collapsed by the 
default. * Also added an optional integer argument to the escape code for 
opening a nesting   level to indicate lack of importance.  If set, the tree is 
collapsed by default.
       new  e6253b5   * Escape codes to force line breaks to be ignored.
       new  79bb000   * `null' is a normal form.
       new  777e13b   * Nix now has three different formats for the log 
information it   writes to stderr:
       new  7823db2   * Some more nesting.
       new  f0f7a9f   * Do not close a nesting level twice after close() has 
been   called explicitly on a Nest object.
       new  f8cd904   * Disallow the Nix store or any of its parents from being 
symlinks.   This is because the contents of these symlinks are not incorporated 
  into the hashes of derivations, and could therefore cause a mismatch   
between the build system and the target system.  E.g., if   `/nix/store' is a 
symlink to `/data/nix/store', then a builder could   expand this path and store 
the result.  If on the target system   `/nix/store' is not a symlink, or is a 
symlink that points some [...]
       new  db3e644   * Added plain lambdas, e.g., `let { id = x: x; const = x: 
y: x; }'.   `bla:' is now no longer parsed as a URL.
       new  f958bcd   * Added an operator `~' to select paths within a 
derivation.  E.g.,
       new  ac4d39f   * Added an operator `?' to test for attribute existence, 
e.g.,   `attrs ? x' yields true iff `attrs' has an attribute named `x'.
       new  df101d6   * Specify Perl as a dependency for the RPM.
       new  c4ac2a1   * The recent change in nixpkgs of calling 
`stdenv.mkDerivation'   instead of `derivation' triggered a huge slowdown in 
the Nix   expression evaluator.  Total execution time of `nix-env -qa' went up  
 by a factor of 60 or so.
       new  a520b1c   * Print a more useful error message in case of an invalid 
derivation   binding.
       new  59b94ee   * When something goes wrong in the evaluation of a Nix 
expression,   print a nice backtrace of the stack, rather than vomiting a 
gigantic   (and useless) aterm on the screen.  Example:
       new  03f1d1e   * Switched from wget to curl. * Made the dependencies on 
bzip2 and the shell explicit.
       new  bf3863b   * Fail if prerequisites are missing.
       new  2be8ac4   * Make the creation of user environments much faster and 
more storage   efficient by creating only a single symlink to entire directory  
 trees unless a collission occurs.
       new  1534295   * Distributed the wrong file.
       new  b0c9baf   * EBNF grammar for the Nix expression language.
       new  87bf541   * Documented the primops.
       new  a4d2b22   * Be stricter in verifying store paths.
       new  b275f2e   * `*.gcroot' files can now containing multiple roots.
       new  2c5a8bf   * Use @storedir@, not @prefix@/store.
       new  7cce0c3   * Allow extra parameters to be passed to Curl through the 
`CURL_FLAGS'   environment variable.  This is useful for passing authentication 
  information (it won't show up in `ps').  Hacky - nix-push should   abstract 
over the use of Curl.
       new  8e459d9   * Recurse into attribute sets and lists when getting 
derivations from   an expression.
       new  f79e9c2   * Do initialise state (the DB etc.) when doing a `make 
install',   unless `--disable-init-state' is passed to configure.
       new  21655a7   * Channels.  These allow you to stay current with an 
evolving set of   Nix expressions.
       new  b6df68c   * Dist error.
       new  d7238bc   * Don't create $(localstatedir)/nix/profiles if 
--disable-init-state   is specified.
       new  759c953   * Look for GC roots in @localstatedir@/nix/gcroots.
       new  d4779ab   * Pass SYSTEM through config.h, and allow spaces.
       new  bcce9c1   * Only add `-preRELEASE' to the version if STABLE != 1. * 
Documented release procedures.
       new  22371cb   * Fixed URL.
       new  fd927c5   * Bump the version number.
       new  256eeab   * Allow the location of the store etc. to be specified 
using   environment variables. * Started adding some automatic tests. * Do a 
`make check' when building RPMs.
       new  ef093aa   * Grrr.  TESTS are not included in EXTRA_DIST.
       new  a7bbe73   * Another test.
       new  f044ccf   * 1000th revision! * A test to verify that locking of 
output paths (caused by concurrent   invocations of Nix) works correctly.
       new  a9858c9   * A test to verify that Nix executes build jobs in 
parallel, if   possible.
       new  aea4365   * Ignore interrupt signals while handling an exception. * 
Ignore EINTR in reads and writes.
       new  c8d3882   * True parallel builds.  Nix can now run as many build 
jobs in   parallel as possible (similar to GNU Make's `-j' switch).  This is   
useful on SMP systems, but it is especially useful for doing builds   on 
multiple machines.  The idea is that a large derivation is   initiated on one 
master machine, which then distributes   sub-derivations to any number of slave 
machines.  This should not   happen synchronously or in lock-step, so the 
master must be capable   of deal [...]
       new  8c0b42f   * An quick and dirty hack to support distributed builds.
       new  aa5a508   * Pass to the build hook all sorts of information useful 
for   distributing a build action to another machine.  In particular, the   
paths in the input closures, the output paths, and successor mapping   for 
       new  1f48aa0   * Broken test.
       new  efa5fa1   * A switch `-j NUMBER' to set the maximum number of 
parallel jobs (0 =   no limit). * Add missing file to distribution.
       new  5087c8f   * Use `-j0'.
       new  a8306cb   * The build hooks used to implement distributed builds 
can now be run   in parallel.  Hooks are more efficient: locks on output paths 
are   only acquired when the hook says that it is willing to accept a   build 
job.  Hooks now work in two phases.  First, they should first   tell Nix 
whether they are willing to accept a job.  Nix guarantuees   that no two hooks 
will ever be in the first phase at the same time   (this simplifies the 
implementation of hooks, since they [...]
       new  3426d19   * Perform all tests.
       new  25db622   * Load balancing.  `' will only execute up 
to a   per-machine maximum number of parallel jobs on a remote machine.
       new  2fa3304   * Set the executable bit.
       new  4fc00cb   * Distributed builds and load balancing now seem to work 
pretty well.   (Though the `' script has a gigantic race 
       new  ace8872   * execl() requires a terminating 0. * When a fast build 
wakes up a goal, try to start that goal in the   same iteration of the 
startBuild() loop of run().  Otherwise no job   might be started until the next 
job terminates.
       new  8e9fd57   * setpgrp() is not POSIX (and on Mac OS X it's different 
than on   Linux), so use setpgid().
       new  1d08093   * Go back to the old way of generating the system name, 
and allow it   to be specified in configure (using `--with-system=SYSTEM').
       new  1947989   * Don't set the rpath here --- it's not portable.
       new  5e4a227   * Drain the output of the build hook to show error 
messages.  Ugly   hack.
       new  e841194   * A Nix mode for Emacs.
       new  1bc6afe   * Cleanup.
       new  0b70231   * Refactoring.
       new  6ba26f2   * Shared (garbage collecting) pointers.  Copied from 
       new  3454c68   * This is also useful.
       new  41ec982   * Big refactoring.  Move to a much more explicitly state 
machine based   approach.  This makes it much easier to add extra complexity in 
the   normaliser / realiser (e.g., build hooks, substitutes).
       new  23bb902   * Re-enable build hooks.
       new  85ae781   * Refactoring.
       new  bafb235   * README for the Emacs mode (written a while ago, but 
forgot to commit).
       new  112ee89   * Re-enable support for substitutes in the normaliser.
       new  15c60ca   * Disable calls to fsync() since Berkeley DB's 
DB_TXN_WRITE_NOSYNC   flag doesn't seem to work as advertised.
       new  daf0a92   * Wrap calls to registerSubstitute() in a single 
transaction to   improve throughput. * Don't build the `substitute-rev' table 
for now, since it caused   Theta(N^2) time and log file consumption when adding 
N substitutes.   Maybe we can do without it.
       new  be1a917   * Remove obstructing invalid store paths 
       new  72c857f   * Ugh, nasty Heisenbug due to an uninitialiased variable. 
 The bug   only caused a crash if the program was *not* invoked with a high   
verbosity level.
       new  3f3a3ae   * Acquire a lock on the output path when running a 
substitute.  Also   delete obstructing invalid paths.
       new  37ee6ce   * Adapted nix-pull to use the new substitute mechanism.
       new  2db9748   * Remove debug output.
       new  88fb4f6   * Missing files added to `make dist'.
       new  c4cb6ea   * Refactoring.
       new  155d7c8   * Substitutes should occupy a build slot.
       new  c9fbd2d   * Wrapper class around pids.
       new  84007a0   * Reduce gratuitous cut & pasting.
       new  5e2cf44   * Put WEXITSTATUS stuff somewhere else.
       new  72bc9a5   * Started making Nix's diagnostic messages a bit more 
       new  83ae172   * Well, it's better than printf.
       new  b302e5f   * We don't really need this here.
       new  3093af5   * A utility script `nix-build' that builds Nix 
expressions and prints   their output paths (and only that) on standard output.
       new  d051cd4   * Nix-instantiate can return multiple store expressions.
       new  05a5362   * Some more diagnostics changes.
       new  66c7f34   * Arghhhhhh
       new  8052aef   * A test for multiple and/or failing substitutes.
       new  ec32627   * Multiple and/or failing substitutes now work.
       new  a29c8ac   * Add a test to check that when we cannot realise a 
closure   expression, we should invalidate it and go back to the derivation   
for which it is a successor.
       new  795d9f8   * Obsolete.
       new  e488321   * Don't throw an exception when a build fails.  Just 
terminate the   goal and allow the problem to be handled elsewhere (e.g., at   
       new  b113ede   * A flag `--keep-going / -k' to keep building goals if 
one fails, as   much as possible.  (This is similar to GNU Make's `-k' flag.)
       new  91dc023   * Added a switch `--fallback'.  From the manual:
       new  2746a87   * Typo.
       new  24286e1   * `nix-env -u' now allows a specific version to be 
specified when   upgrading.
       new  4d2946c   * In a realisation goal, check the result of the 
corresponding   normalisation goal.
       new  151e61f   * By default, `nix-env -i' now deletes previously 
installed   derivations with names matching the derivations being installed.   
The option `--preserve-installed / -P' overrides this behaviour.
       new  00aadf4   * Use ATerm 2.1.
       new  f5d5ffe   * Write build logs to disk again.
       new  b584253   * Include some missing headers.
       new  593bc23   * Allow the system attribute of derivations to be queried 
in   `nix-env -q'. * Queries can now be combined, e.g., `nix-env -q --status 
       new  8f6254e   * Align the columns in the output of `nix-env -q'.
       new  292d646   * Nix-env operations now by default filter out any 
derivations for   system types other than the current system.  I.e., `nix-env 
-i'   won't install derivations for other system types, and `nix-env -q'   
won't show them.  The flag `--system-filter SYSTEM' can be used to   override 
the system type used for filtering (but not for   building!).  The value `*' 
can be used not to filter anything.
       new  638ce33   * Nix-instantiate now accepts sets of derivations (just 
like nix-env).
       new  056cd1d   * Don't go into a (sometimes infinite) loop calling the 
build hook.
       new  c1a18f5   * Fixed format string error.
       new  064a36c   * Hardcode the system id to be `i686-linux'.
       new  39eaecb   * Slightly better heuristic for picking the canonical 
system type.   Now SuSE and Red Hat should yield the same type (`i686-linux').  
Mac   OS X should now give `powerpc-darwin' (i.e., the version number is   
       new  9bf7a5f   * Don't pass `--with-system'.
       new  e8a9510   * Nix-build places a symlink `result' in the current 
directory to the   store object just built.
       new  16c8b4c   * A script to generate the Auto* stuff.
       new  5373aed   * Use ATerm 2.2. * Include in dist.
       new  18ebd7b   * Doh!
       new  e3a50f7   * Creating a file nix-support/no-scan in the output path 
of a   derivation disables scanning for dependencies.  Use at your own   risk.  
This is a quick hack to speed up UML image generation (image   are very big, 
say 1 GB).
       new  bbfdd64   * Allow primops with more that 1 arguments.
       new  d8989b1   * Every real language has a `map' function.
       new  ae1a1ef   * Clean up the temporary directory for hook communication 
(and don't   print out incorrect "build failed" messages).
       new  62fe5c4   * The predecessor of a successor need not be present.  
This in   particular happens on distributed builds or when using push/pull.
       new  966bd9d   * WTF?  More canonical system name problems 
("athlon-linux" instead of   "i686-linux").
       new  937ce0c   * Flag `--no-link' suppresses symlinking to the output 
path. * Handle multiple derivations correctly.
       new  1eddee5   * The default verbosity level of all Nix commands is now 
lvlInfo. * Builder output is written to standard error by default.   * The 
option `-B' is gone.   * The option `-Q' suppresses builder output.
       new  8f1dcdf   * Make sure that no build hook is set by default in the 
tests. * Don't use `seq' - some primitive, obsolete operating systems   
(Darwin) don't have it.
       new  2d35116   * Setuid support for sharing a Nix installation between 
multiple   users.
       new  e77fbe0   * On systems that have the setresuid() and setresgid() 
system calls to   set the real uid and gid to the effective uid and gid, the 
Nix   binaries can be installed as owned by the Nix user and group instead   of 
root, so no root involvement of any kind is necessary.
       new  1c90fab   * Unbreak programs that are not setuid (such as nix-hash).
       new  8f58733   * The gid should also match.
       new  9994c1d   * Validate derivation names.  In particular don't allow 
spaces. * Drop support for the outPath attribute in derivations.
       new  8180478   * Put the garbage collector in nix-store: operation 
`--gc',   suboperations `--print-live', `--print-dead', and `--delete'.  The   
roots are not determined by nix-store; they are read from standard   input.  
This is to make it easy to customise what the roots are.
       new  fdec72c   * `nix-collect-garbage' now actually performs a garbage 
collection, it   doesn't just print the set of paths that should be deleted.  
So   there is no more need to pipe the result into `nix-store --delete'   
(which doesn't even exist anymore).
       new  eb233e7   * `--min-age' flag in nix-store and nix-collect-garbage 
to only delete   unreachable paths that haven't been used for N hours.  For 
instance,   `nix-collect-garbage --min-age 168' only deletes paths that haven't 
  been accessed in the last week.
       new  fe122c5   * Removed nrWaitees field.  It was redundant with 
waitees.size() and   could get out of sync if multiple input derivations mapped 
to the   same closure expression (since waitees is a set).
       new  c25f288   * Quadruple the Berkeley DB locking limits to get rid of 
out of memory   errors while running `nix-store --verify'.
       new  5c443b6   * Main the `substitutes-rev' table again, but now in a 
way that   doesn't take \Theta(n^2) space/time complexity.
       new  fb28cfc   * Add some variability to RPM spec files: allow setuid 
options to be   set on the rpmbuild command line.
       new  17c8252   * Spec file options to create the Nix user and group in 
the RPM   pre-install script.  By default this is turned off; you should edit   
the spec file to enable it.
       new  550d960   * Hack for perl(readmanifest) dependency.
       new  e043fc7   * Set the umask to known value (0022).  This is important 
in a   setuid installation, since the calling user may have a more fascist   
umask (say, 0077), which would cause the store objects built by Nix   to be 
unreadable to anyone other than the Nix user.
       new  5396304   * Use setre[ug]id() instead of setres[ug]id(), since the 
former is   more common than the latter (which exists only on Linux and   
FreeBSD).  We don't really care about dropping the saved IDs since   there 
apparently is no way to quiry them in any case, so it can't   influence the 
build (unlike the effective IDs which are checked by   Perl for instance).
       new  47f8707   * A very dirty hack to make setuid installations a bit 
nicer to use.   Previously there was the problem that all files read by nix-env 
  etc. should be reachable and readable by the Nix user.  So for   instance 
building a Nix expression in your home directory meant that   the home 
directory should have at least g+x or o+x permission so   that the Nix user 
could reach the Nix expression.  Now we just   switch back to the original user 
just prior to reading sources and [...]
       new  c16be6a   * Remove write permission from store objects after they 
have been   added to the store.  Bug reported by Martin.
       new  dcc433d   * Operation `--delete-generations' to delete generations 
of a   profile.  Arguments are either generation number, or `old' to delete   
all non-current generations.  Typical use:
       new  b357284   * Fallback didn't work for subderivations of an 
unnormalised the main   derivation, since NormalisationGoal would first run a   
NormalisationGoal on the subderivation (a no-op, since in a   situation where 
we need fallback the successor is known), and then   runs a RealisationGoal on 
the normal form, which then cannot do a   fallback because it doesn't know the 
derivation expression for which   it is a normal form.
       new  995d082   * prevent collision on log directory
       new  1317242   * Make store objects created by substitutes read-only.
       new  2b20701   * Better introduction. * Set notes in a different color 
than warnings.
       new  371c57d   * Updated the quick start section.  Use channels instead 
of   downloading Nix expressions and calling nix-pull.  This is so   
user-friendly that even a Mac user can do it! :-)
       new  98c69e5   * Unindent.
       new  febd8be   * Split overview chapter into a chapter on package 
management and a   chapter on writing Nix expressions.
       new  d830b2c   * In `nix-env -q', sort derivations by name *without* 
case   sensitivity.
       new  692204e   * Rewrite of package management stuff.
       new  2cd590d   * Instead of — use the actual Unicode character.  
By the way, to   edit the manual, you should have something like
       new  99da51d   * Show error messages from curl.
       new  8888816   * Fix nix-prefetch-url in setuid Nix installations.
       new  2155c0a   * Register channels as roots of the garbage collector (in 
  $(localstatedir)/nix/gcroots/channels). * In setuid installations, create 
gcroots/tmp and gcroots/channels   group-writable.
       new  50b9caa   * Updated NEWS for the upcoming 0.6 release.
       new  2248bec   * Make sure that the prerelease version is included in 
       new  3ade3e7   * Revert r1594 - it didn't solve the problem.  Instead 
add   svn-revision to distributions, which should fix it.
       new  f4d44a0   * Allow certain operations to succeed even if we don't 
have write   permission to the Nix store or database.  E.g., `nix-env -qa' will 
  work, but `nix-env -qas' won't (the latter needs DB access).  The   option 
`--readonly-mode' forces this mode; otherwise, it's only   activated when the 
database cannot be opened.
       new  37d7abd   * New language feature: with expressions.
       new  ee401af   * Mode `--parse-only' to parse the input (on stdin, `-'), 
and print   out the AST as an ATerm. * Mode `--eval-only' to parse and evaluate 
the input, and print the   resulting normal form as an ATerm.
       new  9fa07b3   * String/path concatenation operator (`+').
       new  033d7c6   * Doh!
       new  eb8284d   * Evaluate argument to `import'.
       new  5fe9222   * Don't use ATmake / ATmatch anymore, nor the ATMatcher 
class.   Instead we generate data bindings (build and match functions) for   
the constructors specified in `constructors.def'.  In particular   this removes 
the conversions between AFuns and strings, and Nix   expression evaluation now 
seems 3 to 4 times faster.
       new  c52dda9   * Bug: check that term is an application.
       new  210ab02   * Add file to `make dist'.
       new  c7bea94   * Oops, I did it again.
       new  f09618b   * Turn on read-only mode in queries.  This prevents 
redundant store I/O.
       new  463e281   * Remove ancient Fix tests. * Add automated Nix 
expression language tests.
       new  3277c94   * Bug fix in parsing of /* ... */ comments; due to 
longest match   regexp there could be only one such comment per file.
       new  ed09821   * Use `atdiff' instead of `cmp' for checking test output. 
* Don't use local file names in tests since they will produce   different parse 
trees depending on the current directory.
       new  a69534f   * Drop ATmake / ATMatcher also in handling store 
       new  f8ac8d1   * Began adding build farm docs.
       new  2aa1f47   * Fix `File exists' errors if the `result' symlink exists 
but is   dangling.
       new  0d80d23   * Add figures to `make install' / `make dist'.
       new  b05a596   * Document setuid Nix installs.
       new  cbe8de5   * Profiles section.
       new  ee5dcfa   * Section about garbage collection.
       new  0913f5a   * Section about channels.
       new  5f2c5a3   * chapter -> appendix.
       new  4cbd845   * Don't propagate our CFLAGS to the ATerm library since 
it breaks at   -O2.
       new  cb7ccb5   * string2ATerm -> overloaded toATerm.
       new  feb3cea   * Better error messages.
       new  8b93469   * Manual: writing Nix expressions.
       new  6ca9c7f   * Finished GNU Hello walkthrough.
       new  3e9d203   * Start of language reference.
       new  5f0300d   * Generic builders.
       new  0b1ee48   * Typo fix.
       new  55b35d6   * Lets, inheritance, assertions.
       new  1bac7a1   * Operators, comments.
       new  09e7f06   * Put something in here.
       new  ea6581b   * Drop the grammar appendix.
       new  2c3b29c   * Everything you always wanted to know about functions 
and derivations   but were afraid to ask.
       new  b8aaef5   * Documented the standard environment, including the 
generic builder.
       new  d6db574   * Check exit status of pipe elements.
       new  92ee003   * Fix broken format string.
       new  32c7326   * Typos.
       new  c2b0d6b   * Document --eval-only and --parse-only options in 
       new  54c7a87   * Document --delete-generations and other nix-env options.
       new  0b79a12   * Manual fixes.
       new  9f8964a   * More manual fixes.
       new  5d5318c   * Bump version number to 0.7.
       new  4115d8d   * Canonicalise metadata of all files in store paths (set 
the mtime to   0, set the mode to either 444 or 555, set the group to the 
       new  f17553a   * Remove debug statement.
       new  eee6fe4   * Proof-of-concept for binary patch deployment.
       new  13f7727   * utime() follows symlinks, so don't change the mtime if 
the file is a   symlink.
       new  71926ee   * Print out statistics comparing our performance to bzip2.
       new  dca48ae   * Allow an optional hash to be provided.  This prevents 
redundant   fetches.
       new  862f4c1   * Patch deployment.  `' (intended to be used 
in the   substitute mechanism) creates a store path by downloading full NAR   
archives and/or patches specified in the available manifests.
       new  e3b051a   * Include the size of the bzipped archive (necessary for 
computing the   cheapest download path), as well as the hash of the contents of 
the   path (necessary for checking patch applicability).
       new  77970f8   * Remove `prebuilts.conf' file, it's not like anybody was 
using it. * Add /nix/var/nix/manifests directory.
       new  f4041cc   * Commit old changed to - but is 
       new  4d25b0b   * Fix nix-pull.
       new  015beb7   * Typo: genericBuilder -> genericBuild.
       new  fa9259f   * Simplify the substitute mechanism:   - Drop the store 
expression.  So now a substitute is just a     command-line invocation (a 
program name + arguments).  If you     register a substitute you are 
responsible for registering the     expression that built it (if any) as a root 
of the garbage     collector.   - Drop the substitutes-rev DB table.
       new  8b9697e   * An operation `nix-store --clear-substitutes' to remove 
all   registered substitute mappings.
       new  96c3d8a   * I love test sets.
       new  7eed57e   * Sync with changed substitute mechanism. * Accept the 
NarHash line. * Clear substitutes in `nix-channel --update'.
       new  3d1b210   * Place manifests in /nix/var/nix/manifests. * Use the 
new patch downloader.
       new  4bf58d5   * Added a function to write manifests.
       new  9022cf9   * A small utility to add the Size and NarHash fields to 
old manifests.
       new  77fc1c6   * Use aterm 2.3.1.
       new  e1e9c03   * A utility to generate patches between releases based on 
their   manifests.
       new  2fdb27e   * Atomic file replacement is good.
       new  54d8f08   * Reject patches larger than the full archives they 
       new  4f07ebc   * Integrated bsdiff/bspatch 4.2 (from into the source   tree.  
The license is a bit peculiar, but it does allow verbatim   copying, which is 
what we do here (i.e., so don't make any changes   to the sources).
       new  6270aa7   * Propagate patches from the source distribution to the 
destination   distribution insofar they are applicable.
       new  581bcb9   * Some logging for evaluation.
       new  3745cec   * Fix handling of chained patches: don't skip patches if 
intermediate   paths are missing, etc.
       new  35b76a8   * More instrumentation (statistics go to 
       new  c53898c   * If a patch already exists, it must still be included in 
the manifest.
       new  f28ea27   * Remove old stuff.
       new  a03397b   * Cygwin compatibility.
       new  6af4a5a   * Prototype store optimiser.  It searched the Nix store 
for identical   files and hard-links them to each other to save disk space.
       new  7d75616   * NEWS and manual update for release 0.7.
       new  0bc41f6   * Print out less garbage.
       new  b17e7cf   * Script to remove patches from manifests.
       new  d46b426   * Bump version number to 0.8.
       new  7399237   * Refactoring to support SHA-1.
       new  7e8961f   * Added SHA-1 support.  `nix-hash' now has an option 
`--type sha1' to   select SHA-1 hashing.
       new  37b51a9   * Removed some dead code.
       new  63791eb   * Add SHA-256. * Tests for the various hashes.
       new  9ee88bb   * Use absolute paths.
       new  a7b94e8   * Missing file.
       new  9530cc3   * Start move towards SHA-256 hashes instead of MD5. * 
Start cleaning up unique store path generation (they weren't always   unique; 
in particular the suffix ("-aterm-2.2", "") was   not part of the 
hash, therefore changes to the suffix would cause   multiple store objects with 
the same hash).
       new  d58a11e   * Shorten SHA-256 hashes used in store path name 
generation to 160   bits, then encode them in a radix-32 representation (using 
digits   and letters except e, o, u, and t).  This produces store paths like   
/nix/store/4i0zb0z7f88mwghjirkz702a71dcfivn-aterm-2.3.1.  The nice   thing 
about this is that the hash part of the file name is still 32   characters, as 
before with MD5.
       new  f3dc231   * Removed the `id' attribute hack.
       new  32aac87   * Actually check that the result of fixed-output 
derivations matches   the specified hash.
       new  6d49375   * Get --readonly-mode to work again.
       new  e9762e2   * Support arities > 6.
       new  863dcff   * Started removing closure store expressions, i.e., the 
explicit   representation of closures as ATerms in the Nix store.  Instead, the 
  file system pointer graph is now stored in the Nix database.  This   has many 
       new  06c77bf   * Change extension `.store' to `.drv'. * Re-enable 
`nix-store --query --requisites'.
       new  ef5f254   * `nix-store --build' now builds its arguments in 
parallel instead of   sequentially (within the limits set by `--jobs').  This 
should   greatly improve the utilisation of the build farm when doing Nixpkgs   
       new  96de272   * Renamed `' -> `', `' 
->   `', etc. * Store the SHA-256 content hash of store paths in 
the database after   they have been built/added.  This is so that we can check 
whether   the store has been messed with (a la `rpm --verify'). * When 
registering path validity, verify that the closure property   holds.
       new  e0f4e58   * Nix-store queries `--references' and `referers' to 
query the pointer   graph.  That is, `nix-store --query --references PATH' 
shows the set   of paths referenced by PATH, and `nix-store --query --referers 
PATH'   shows the set of paths referencing PATH.
       new  6ff48e7   * Set the Perl search path properly (reported by Roy van 
den Broek).
       new  05f0430   * Another change to low-level derivations.  The last one 
this year, I   promise :-) This allows derivations to specify on *what* output  
 paths of input derivations they are dependent.  This helps to   prevent 
unnecessary downloads.  For instance, a build might be   dependent on the 
`devel' and `lib' outputs of some library   component, but not the `docs' 
       new  6bb5efa   * Ensure that derivation names and sources don't end in 
       new  6a0a2d5   * Terminology fixes.
       new  80faa2f   * In nix-store: change `--build' back to `--realise'.  
Also brought   back the query flag `--force-realise'. * Fixed some of the tests.
       new  52bf9b8   * In nix-store: added query `--referers-closure' that 
returns the   closure of the referers relation rather than the references   
relation, i.e., the set of all paths that directly or indirectly   refer to the 
given path.  Note that contrary to the references   closure this set is not 
fixed; it can change as paths are added to   or removed from the store.
       new  581fc47   * Fix the build hook mechanism; pass the pointer graph to 
the hook.
       new  c6290e4   * Fix the `--fallback' switch. * Fix the substitutes 
       new  066da4a   * Really fix the substitute mechanism, i.e., ensure the 
closure   invariant by registering references through the manifest. * Added a 
test for nix-pull.
       new  498f491   * Re-enable all tests.
       new  a9340fa   * Remove removed files from EXTRA_DIST.
       new  2a2756b   * Simplification: registerSubstitutes -> 
registerSubstitute.  We no   longer need the former since there we no longer 
have the   substitutes-rev table (which triggered a O(n^2) cost in updating   
       new  a24b78e   * Maintain the references/referers relation also for 
derivations.   This simplifies garbage collection and `nix-store --query   
--requisites' since we no longer need to treat derivations   specially.
       new  59682e6   * Make lock removal safe by signalling to blocked 
processes that the   lock they are waiting on has become stale (we do this by 
writing a   meaningless token to the unlinked file).
       new  c505702   * Fix and simplify the garbage collector (it's still not 
concurrent,   though).  In particular it's now much easier to register a GC 
root.   Just place a symlink to whatever store path it is that you want to   
keep in /nix/var/nix/gcroots.
       new  4e37548   * Remove deleted files from EXTRA_DIST (again).
       new  c60a494   * Update referers mappings when updating/clearing the 
references   mapping. * Do things in the right order in invalidatePath().
       new  8a3eef2   * Fix deadlock.
       new  e5c16c9   * Add missing substitutes files to dist. * Add a garbage 
collector test.
       new  a85d184   * Missing dependency; only a problem when building from 
       new  ac2f665   * Set execute permission.
       new  0ea8b69   * Only invalidate paths when they are in fact valid.
       new  9ab0bc9   * Another horrible `make check' hack.
       new  22cfdfa   * Use NIX_STORE environment variable to locate the store 
(in addition   to NIX_STORE_DIR) so that Nix invocations in builders in `make   
check' work correctly if the store doesn't exist.
       new  a766841   * Add a test to check whether concurrent garbage 
collection (i.e.,   running the collector while builds are in progress) works   
correctly.  The test currently fails.
       new  1328aa3   * Start of concurrent garbage collection.  Processes 
write temporary   roots to a per-process temporary file in 
/nix/var/nix/temproots   while holding a write lock on that file.  The garbage 
collector   acquires read locks on all those files, thus blocking further   
progress in other Nix processes, and reads the sets of temporary   roots.
       new  33c5d23   * Don't delete active lock files.
       new  252c9c9   * Topologically sort paths under the references relation 
to ensure   that they are deleted in an order that maintains the closure   
invariant. * Presence of a path in a temporary roots file does not imply that 
all   paths in its closure are also present, so add the closure.
       new  207bdcb   * Automatically remove temporary root files.
       new  89c9bc1   * Add a test for a more subtle race: a process starting 
after the   temporary root files have been read but creating outputs before the 
  store directory has been read.
       new  32fa82a   * Acquire a global GC lock to prevent new temporary root 
files from   being created after the garbage collector has read the temproots   
directory.  This blocks the creation of new processes, but the   garbage 
collector could periodically release the GC lock to allow   them to run.
       new  06b4424   * Add missing files to dist. * Fix GC and substitute bugs 
related to self-references.  Add a   regression test.
       new  a6b65fd   * Get rid of hardcoded paths.
       new  dcc37c2   * nix-store, nix-instantiate: added an option 
`--add-root' to   immediately add the result as a permanent GC root.  This is 
the only   way to prevent a race with the garbage collector.  For instance, the 
  old style
       new  630ae0c   * nix-build: use an indirection scheme to make it easier 
for users to   get rid of GC roots.  Nix-build places a symlink `result' in the 
  current directory.  Previously, removing that symlink would not   remove the 
store path being linked to as a GC root.  Now, the GC   root created by 
nix-build is actually a symlink in   `/nix/var/nix/gcroots/auto' to `result'.  
So if that symlink is   removed the GC root automatically becomes invalid 
(since it can no   longer be r [...]
       new  65b6c8a   * Move root finding from `nix-collect-garbage' to 
`nix-store --gc'.   This was necessary becase root finding must be done after   
acquisition of the global GC lock.
       new  c3981d8   * Make check fixes.
       new  9f6835c   * Remove debug code.
       new  2e6bf72   * Added a global configuration file 
(/nix/etc/nix/nix.conf).  It   contains options for the garbage collector right 
now, but other   stuff can be added here later.
       new  a373388   * A GC setting `gc-keep-outputs' to specify whether 
output paths of   derivations should be kept.
       new  450c358   * Maintain a database table (`derivers') that maps output 
paths to the   derivation that produced them. * `nix-store -qd PATH' prints out 
the derivation that produced a path.
       new  fbc434e   * `nix-store -qb' to query derivation environment 
bindings.  Useful   for finding build-time dependencies (possibly after a 
build).  E.g.,
       new  48ebe45   * Better error reporting in readmanifest. * Use force 
flag in `mv' to prevent silly interactive questions (this   happens with shared 
Nix stores).
       new  60feff8   * Set umask to prevent permission problems.
       new  3d74274   * Updated `nix-store --verify' to the new schema.
       new  c547439   * Subflag in `--verify': `nix-store --verify 
--check-contents' checks   that the contents of store paths has not changed by 
comparing hashes   of their current contents to the hashes stored in the 
       new  582e01c   * Automatically upgrade <= 0.7 Nix stores to the new 
schema (so that   existing user environments continue to work). * `nix-store 
--verify': detect incomplete closures.
       new  98df735   * Propagate the deriver of a path through the substitute 
mechanism. * Removed some dead code (successor stuff) from nix-push. * Updated 
terminology in the tests (store expr -> drv path). * Check that the deriver is 
set properly in the tests.
       new  3a99616   * Commit more often to prevent out-of-memory errors.
       new  80870d9   * Input sources should be in the set of all referenceable 
paths too.
       new  20ce264   * Refactoring to support different installation sources 
in nix-env. * Set the references for the user environment manifest properly. * 
Don't copy the manifest (this was accidental). * Don't store derivation paths 
in the manifest (maybe this should be   made optional).  This cleans up the 
semantics of nix-env, which were   weird. * Hash on the output paths of 
activated components, not on derivation   paths.  This is because we don't know 
the derivation path of already [...]
       new  3242914   * Type error in constructor call (caught by GCC 3.3, but 
not 3.4!).
       new  b0aba6e   * Don't keep the derivation symlink when creating profile 
       new  6a8ef36   * Global configuration option `env-keep-derivations' to 
store pointer   to derivations in user environments.  Nice for developers 
(since it   prevents build-time-only dependencies from being GC'ed, in   
conjunction with `gc-keep-outputs').  Turned off by default.
       new  a04a5de   * Implement the `gc-keep-derivations' global 
configuretion flag.
       new  0cb016c   * Refactoring.  Hope this doesn't break the semantics of 
`-u' ;-)
       new  e446d34   * Added an installation source `--from-expression' (or 
`-E') to   install derivations from a Nix expression specified on the command   
line.  This is particularly useful for disambiguation if there are   multiple 
derivations with the same name.  For instance, in Nixpkgs,   to install the 
Firefox wrapper rather than the plain Firefox   component:
       new  8992fce   * It is now possible to add store derivations or paths 
directly to a   user environment, e.g.,
       new  0083562   * Fix broken GC test.
       new  e17910c   * And yet another installation source: the ability to 
copy user   environment elements from one user environment to another, e.g.,
       new  202d5bb   * Compatibility with older GCCs.
       new  fb5dae8   * Fix nix-channel. * Add `--help' flag; fixes NIX-5. * 
Add `--remove' flag; fixes NIX-6. * Add `--list' flag.
       new  88273f9   * Put build logs in $prefix/var/nix/log/drvs/.
       new  8a3a96d   * Switch to the calling user context for some more 
operations in a   setuid installation.
       new  74ab069   * Compatibility hack with older user environments.
       new  e0181f5   * `nix-store -q --tree' shows a tree representing the 
dependency graph   of the given derivation.  Useful for getting a quick 
overview of how   something was built.  E.g., to find out how the `baffle' 
program in   your user environment was built, you can do
       new  398463a   * `make check' fix.
       new  3c16301   * Subtle bug in the builder: if a subgoal that is 
instantiated   multiple times is also a top-level goal, then the second and 
later   instantiations would never be created because there would be a   stable 
pointer to the first one that would keep it alive in the   WeakGoalMap. * Some 
tracing code for debugging this kind of problem.
       new  eda2c3c   * Compatibility hack so that Nixpkgs can continue to do 
hash checking   in `fetchurl' in Nix <= 0.7, but doesn't in Nix 0.8.
       new  3a2c3f0   * Support for fixed-output hashes over directory trees 
(i.e., over the   NAR dump of the path).
       new  bfaf83a   * When multiple derivations are specified in `nix-store 
-r', don't   continue building when one fails unless `--keep-going' is   
specified. * When `--keep-going' is specified, print out the set of failing   
derivations at the end (otherwise it can be hard to find out which   failed).
       new  95e870a   * (Unnecessary) refactoring.
       new  3259ae5   * Properly specify the hash algorithm in the manifests, 
and read it   too. * Change the default hash for nix-prefetch-url back to md5, 
since   that's what we use in Nixpkgs (for now; a birthday attack is rather   
unlikely there).
       new  6bafeaf   * nix-install-package: Use the new (trivial) package 
format generated   by the build farm.  See e.g.,;   the user 
can click on packages, and they will be installed (assuming   the 
`application/nix-package' MIME type has been associated with   
       new  8d3c346   * Pause if errors occur.
       new  8376fff   * Add a version number to manifests.
       new  2c4302d   * Added a disambiguation heuristic: if two components 
have the same   name but differ to much in sice (by more than a factor of 3), 
then   never generate a patch.
       new  db322a4   * Use a weighted use heuristic to disambiguate between 
multiple   occurances of a component.  If the shortest path distance between a  
 component P and Q in the referers graph is D, then the contribution   of Q to 
the use of P is 1 / R^D, where R >= 1, typically 2.  This   expresses that 
distant indirect uses are less important than nearby   uses.
       new  8d364e5   * Add missing file to dist.
       new  9e50e64   * Doh!
       new  07b4399   * `nix-store -q --hash' to quickly query the hash of the 
contents of a   store path (which is stored in the database).
       new  0107fba   * Concept for a simple blacklist.
       new  86cb3cc   * Increase Berkeley DB limits a bit more. * Maintain the 
cleanup invariant in clearSubstitutes().
       new  9e6bca8   * Channel fix.
       new  4bbdcfb   * Don't use fork() in copyPath(), but a string buffer.
       new  9a7f958   * Basic blacklist checker.  Each element in a user 
environment is   checked against every item in a blacklist.
       new  543d7a4   * Automatically add propagated build inputs to user 
environments.   Maybe this is a bad idea.
       new  bfbc55c   * Use XML::LibXML.
       new  97c9352   * In the checker, do traversals of the dependency graph 
explicitly.  A   conditional expression in the blacklist can specify when to   
continue/stop a traversal.  For example, in
       new  08df443   * Check for duplicate attributes and formal parameters in 
Nix   expressions.
       new  536f324   * nix-install-package: install outPath, not drvPath, for 
now. * nix-prefecth-url: print out in base-16.
       new  012b812   * Preliminary NEWS for 0.8.
       new  1562dfe   * Script to garbage collect nix-push directories.  It 
prints out all   file names in the directory not included in any of the 
manifests   specified on the command line.
       new  8eff18c   * Set NAR name to content hash; previous nix-push names 
were not   unique. * Drop `hashAlgo' attribute in manifests; prefix hashes with 
the hash   algorithm instead.
       new  bd333b9   * Prefix hash algorithm in patch generator too.
       new  5863f24   * Print SHA-1 hashes in base-32 by default.
       new  bb2e536   * Parse new hash format properly.
       new  c757d16   * Bug in clearSubstitutes().
       new  6fb5f7e   * Pass `--base32' unless using MD5.
       new  5675d5f   * Idem.
       new  155c91b   * Upgrade information.
       new  e52ae1c   * Use SHA-256 for nix-push.
       new  bacd3a6   * Purify all corepkgs builders.
       new  b376565   * Manual updates.
       new  e301334   * XInclude all the way.
       new  62dbfbc   * Remove Docbook EBNF dependency.
       new  693ff4f   * Some more updates.
       new  afc3a7b   * Automake 1.9 compatibility.
       new  f982df3   * Update the user environments figure to show multiple 
profiles and   users. * Change to base-32 hashes.
       new  ad3121a   * Documented common environment variables.
       new  67eff20   * Manual updates.
       new  7272c3f   * Ignore hash conflicts in
       new  ab75a50   * Fink compatibility.
       new  a1e00bf   * Remove non-POSIX flag.
       new  f20f081   * nix-store: `--isvalid' -> `--check-validity', 
`--validpath' ->   `--register-validity'. * `nix-store --register-validity': 
read arguments from stdin, and   allow the references and deriver to be set.
       new  a04c62e   * Canonicalise path meta-data in `nix-store 
       new  3f236f0   * `nix-store --register-validity': allow a path to refer 
to a path   listed later in the list of new valid paths.
       new  0df9f08   * Export the references graph to the build hook.
       new  590e5a0   * Add a test for base-32 encoding of hashes since it 
seems to be   broken on Mac OS X.
       new  cff6bc0   * Fix endianness bug.
       new  009752c   * Blacklist Firefox 1.0.1.
       new  d1487d9   * This is a better location to keep the blacklist, since 
it can evolve   separately from Nix or Nixpkgs.
       new  c6178f0   * Create missing log and temproots directories 
automatically (reported   by Rob).
       new  7eaf038   * `nix-store --verify': repair bad referer mappings.
       new  ebe342c   * Better error checking.
       new  298dd48   * When finding live paths, the deriver need not be valid.
       new  6f78888   * Re-enable dot graph generation.
       new  4a83c12   * Added a glossary to the manual.
       new  31e140d   * I said it couldn't be done.  I was wrong.
       new  6c8cf56   * Use `--nonet' flag.
       new  2292529   * Some GC documentation.
       new  128c174   * Manual updates.
       new  806b91f   * GC docs.
       new  f1ae10b   * Build hook documentation. * nix-store options.
       new  57d023a   * More manual updates.
       new  c815aff   * `nix-store --add-fixed' to preload the outputs of 
fixed-output   derivations.  This is mostly to simplify the implementation of   
nix-prefetch-{url, svn}, which now work properly in setuid   installations.
       new  f9848d4   * Support base-32 hash representations.
       new  10c429c   * If store paths are specified as sources in Nix 
expressions, don't   copy them, but use them directly.
       new  7d876f8   * Get rid of fetchurl, we don't need it anymore.
       new  b9d8ecb   * More doc updates.
       new  9090563   * Doh.
       new  4271385   * Make `nix-store --query --tree' work on non-derivations 
(i.e., on   any store path).
       new  8b70f13   * Lots of manual updates, in particular the new 
`nix-store --query'   options were documented, as well as the Nix configuration 
       new  c702dfc   * nix-store: `--substitute' -> `--register-substitutes'.
       new  fb45b0f   * Document nix-channel.
       new  b4b51c9   * NEWS.
       new  c9c58db   * Primop `__currentSystem' to return the current platform 
       new  82d771f   * Manual updates.
       new  cab7816   * Slightly nicer message.
       new  bc5e26d   * Mark date.
       new  1d86790   * Bump the version number to 0.9.
       new  d5219a3   * Damn.  Disable the USE heuristic for now, since the 
deriver in the   database isn't always in the manifest (so the reference graph 
cannot   be reconstructed fully).
       new  f3660b1   * Garbage collector fix: allow deletion of paths that 
have invalid   (but substitutable) referers.
       new  9f3601a   * Argh!  The patch downloader was broken due to the 
renaming of the   `--isvalid' flag in nix-store.
       new  f913283   * Remove redundant message.
       new  6842bc9   * Be quiet when untarring a channel file.
       new  02f2da0   * Merging from nix-make branch:   - Add __currentTime 
primitive (dangerous!).   - Allow imports of derivations.
       new  36fb29f   * Merge remaining stuff from the nix-make branch. * Add 
support for the creation of shared libraries to `compileC',   `link', and 
`makeLibrary'. * Enable the ATerm library to be made into a shared library.
       new  d8a31da   * Use `$(MAKE)' instead of `make' for systems where 
`make' isn't GNU   make (such as FreeBSD).
       new  ae6d903   * The eof() state isn't guaranteed to be set non-lazily.  
GCC 2.95   compatibility fix.
       new  d7b3cdb   * GCC 2.95 compatibility.  Prevents internal compiler 
error in member   template friends.
       new  4a266e3   * GCC 2.95 compatibility fix in constness; strangely, I 
think this   should not have worked at all.
       new  5dea062   * Idem (constness fix). * `compare' in GCC 2.95 is broken.
       new  26fd284   * FreeBSD 4.x doesn't have stdint.h, use inttypes.h 
instead (which is   also part of ISO C).
       new  52a2f41   * Include some required header files.
       new  d8cda7c   * Mac OS X (and POSIX) doesn't have readlink.
       new  6c88d67   * Build .tar.bz2 files in `make dist'.
       new  6057b51   * Don't try to register GC roots in read-only mode.
       new  77557a6   Commit 3000!
       new  4265931   * ATermMap needs an assignment operator, otherwise we are 
       new  edd145d   * Lazily compute the derivation and output paths of 
derivations.  This   makes most query and installation operations much faster 
(e.g.,   `nix-env -qa' on the current Nixpkgs is about 10 times faster).
       new  88dea78   * Crazy: don't use real hashes of real components in 
examples, since   they cause Nix builds to have unnecessary retained 
dependences   (e.g., on Subversion).
       new  8f57634   * Automatically upgrade the Berkeley DB environment if 
       new  bfe4875   * Use Berkeley DB 4.3.38.
       new  9ec7e58   * Handle store path arguments in `nix-env -i' correctly 
       new  456f325   * Typo.
       new  cbc8d08   * Make unpacking of patch sequences much faster by not 
doing redundant   unpacking and repacking of intermediate paths.
       new  8be1db8   * Another typo.
       new  c09e47c   * Some svn:ignores.
       new  109cde6   * Ignore (with a warning) invalid garbage collector roots.
       new  040140d   * Added a primop `removeAttrs' to remove attributes from 
a set, e.g.,   `removeAttrs attrs ["x", "y"]' returns the set `attrs' with the  
 attributes named `x' and `y' removed.  It is not an error for the   named 
attributes to be missing from the input set.
       new  928a7c0   * Don't create patches for archives >= 150 MB because 
bsdiff can't   handle it.  It crashed on the 234 MB tetex archive.  Probably we 
  will never be able to handle archives of that size on 32-bit   machines 
(because bsdiff does everything in memory requiring   max(17*n,9*n+m)+O(1) 
bytes, so the address space simply isn't   there).
       new  22d3587   * In nix-instantiate, at top-level, call functions that 
have arguments   with default values automatically.  I.e., e -> e {}.
       new  d4879b4   * Add curl to the RPM dependencies.  Should fix NIX-11.
       new  a5ceb5b   * nix-build: default to `./default.nix' if no paths are 
specified.   So when using Nix as a build tool, you can just say `nix-build' 
and   it will build the top-level derivation defined in `default.nix'.
       new  f797cb5   * Revive and update the SDF grammar for Nix expressions.
       new  9590009   * Fix ambiguity.
       new  6f91f02   * Make the rejects a bit more compact. * Add lexical 
restrictions for keywords.
       new  6f82a78   * Define paths using regexps, as is done in the Flex 
       new  2135e7c   * Wat cleanups.
       new  0f827cc   * Prevent repeated wrapping of closed terms   
(closed(closed(closed(...)))) since this reduces performance by   producing 
bigger terms and killing caching (which incidentally also   prevents useful 
infinite recursion detection).
       new  1a67154   * Release notes.
       new  4c20a08   * Build dynamic libraries.
       new  3fae65d   * Adhockery.
       new  33efb52   * Hack to get around the libtool wrapper script around 
nix-store not   working when PATH is unset.
       new  e689979   * Add $prefix/lib to the RPM.
       new  991a130   * Added a list concatenation operator:     [1 2 3] ++ [4 
5 6] => [1 2 3 4 5 6]
       new  78c72bf   * channels -> channels-v3, catamaran ->
       new  800a6ff   * Mark error lines in red, and expand subtrees containing 
errors   automatically.
       new  f450c8e   * Oops.  XSL stylesheet to mark errors.
       new  c680f83   * Escape ASCII characters < 32 to Unicode FFFD 
(REPLACEMENT CHARACTER)   so that we don't produce un-wellformed XML.
       new  2fd22c6   * Add .libs to svn:ignore.  Commit 3500 ;-)
       new  0399365   * nix-hash: option `--truncate' to truncate the hash to 
160 bits.  Hmm,   kind of ad hoc ;-)
       new  714b725   * Cleanup; sync with thesis.
       new  08c5392   * A primitive operation `dependencyClosure' to do 
automatic dependency   determination (e.g., finding the header files 
dependencies of a C   file) in Nix low-level builds automatically.
       new  e1a6fb7   * `dependencyClosure' now allows a search path, e.g.,
       new  2bcd65e   * `nix-env -e' corrupts memory due to incorrect use of 
iterators.   Reported by Rob Vermaas.
       new  cb44aa0   * Use aterm 2.4.
       new  699073c   * Release notes.
       new  cf2bb91   * Missing #include.
       new  55b8435   * Debugging.
       new  116e939   * More debugging.
       new  deb75bb   * Remove debugging code.
       new  ed1db42   * List concatenation must be right-associative for 
       new  025086e   * Release notes in Docbook; ASCII release notes (i.e., 
the `NEWS'   file) is now generated from that using `w3m' and some XSL hackery.
       new  5818e8e   * Remove dead code.
       new  896c0b9   * This is not a GNU project :-P
       new  7f384d9   * Use a proper temporary directory.
       new  d1d0271   * Check for w3m.
       new  1b62c2e   * Force release notes in ASCII, not UTF-8.
       new  5c0770a   * Include the release notes in the manual.
       new  846b53b   * Set the current directory to something well-defined.  
Might help in   setuid installations.
       new  d34fa9a   * Remove dead file.
       new  6f044ab   * svn:ignore.
       new  c28b8eb   * svn:ignores. * Add missing file to dist.
       new  db1a422   * Updated release notes.
       new  f4fe3bd   * Bump the version number to 0.10.
       new  25d2176   * Use a statically linked ATerm library and build it at 
-O1, since   higher optimisation levels cause statically linked libraries to   
       new  ef9e2c8   * Typo.
       new  89cd0f5   * Use -all_load on Mac OS X.
       new  8d06842   * Configuration options for trusted local builds.
       new  a864aca   * This doesn't parse for now.
       new  9530417   * Don't use IPC::Open2, it has a subtle race bug on Mac 
OS X 10.4.  If   the parent runs before the child, it closes some pipe file   
descriptors which causes the child to fail due to a bad file   descriptor.  So 
we just use the normal open() function instead.
       new  607a2f0   * Remove other uses of IPC::Open2.
       new  fbedf60   * Merge release notes.
       new  4578a49   * Parse multi-valued options.
       new  ebfe571   * Lets not go wild with templates.
       new  ed4de22   * Use "source" instead of ".".
       new  d47e03f   * Install the XSL stylesheets for log to html conversion.
       new  0e38578   * log2xml -> nix-log2xml.
       new  0e0041b   * Update NEWS in the root directory properly.
       new  b87b9c0   * New query option: `--compare-versions' or `-c' to 
compare installed   versions to available versions, or vice versa.
       new  cec2be6   * Only colorise if we are attached to a terminal.
       new  62412c5   * Document `nix-env --compare-versions'.
       new  dfbf520   * Swap the system and version comparion columns.
       new  0f133ae   * Use ATerm 2.4.2.
       new  15ff877   add @coreutils@ to correctly use coreutils to create a 
profile. This is needed for NixOS, where we might not know our PATH in advance.
       new  32282ab   * Beginning of secure multi-user Nix stores.  If Nix is 
started as   root (or setuid root), then builds will be performed under one of  
 the users listed in the `build-users' configuration variables.  This   is to 
make it impossible to influence build results externally,   allowing locally 
built derivations to be shared safely between   users (see ASE-2005 paper).
       new  7ef574e   * Don't use FIFOs to make Nix create the output path on 
behalf of the   builder.  Instead, require that the Nix store has sticky 
permission   (S_ISVTX); everyone can created files in the Nix store, but they   
cannot delete, rename or modify files created by others.
       new  439823a   * Check that the build result is owned by the build user, 
and that   nobody else has write permission to the build result.  This catches  
 most hack attempts.
       new  f1b3a41   * Before starting a build under some uid, kill all 
current processes   running under that uid.
       new  13b089c   * Also kill all processes of the build user after the 
build.  This is   critical to prevent certain kinds of 0wnage.
       new  1b43fbd   * Oops, that should be Berkeley DB 4.3.  Reported by 
Gerco Ballintijn.
       new  e932c40   * Oops.  Fixed-output derivations were broken.
       new  92d599c   * Prevent uids from being used for more than one build   
simultaneously.  We do this using exclusive locks on uid files in   
/nix/var/nix/userpool, e.g., /nix/var/nix/userpool/123 for uid 123.
       new  f0856fd   * Repair the referers table from the references table.
       new  221c790   * Turn off build hooks in nix-push because of an impurity 
       new  1f285cf   * Scoping bug in `with'.
       new  5bf9398   * Memoise checkVarDefs since internally produced terms 
(i.e., not the   result of parsing) can have very heavy sharing, causing 
exponential   complexity if we naively recurse into them.  ATerms are graphs, 
not   trees!
       new  9311ab7   * Install signal handlers for SIGTERM and SIGHUP.  This 
ensures that   Nix is properly shut down when it receives those signals.  In   
particular this ensures that killing the garbage collector doesn't   cause a 
subsequent database recovery.
       new  b7f008f   * Did something useful while waiting at IAD: reference 
scanning is now   much faster.
       new  44409f5   * "Fix" the test, since we cannot feasibly support the 
intended semantics.
       new  dc52812   * FreeBSD compatibility fix.
       new  760264b   * Require Berkeley DB 4.4. * Checkpoint after an upgrade.
       new  dfffd92   * A patch to make the DB_REGISTER feature work when debug 
info is not on.
       new  eb268a7   * Apply the patch.
       new  a33b561   * Use Berkeley DB 4.4's process registry feature to 
recover from   crashed Nix instances, and toss out our own recovery code.
       new  18bbcb1   * Add a test to demonstrate the quadratic complexity of 
referrer   (de)registration, in particular garbage collection (NIX-23).
       new  8463f27   * Fix NIX-23: quadratic complexity in maintaining the 
referers   mapping.  The referer table is replaced by a referrer table (note   
spelling fix) that stores each referrer separately.  That is,   instead of 
       new  d87549c   * Automatically delete the old referers table.
       new  ab5c6bb   * Change `referer' to `referrer' throughout.  In 
particular, the   nix-store query options `--referer' and `--referer-closure' 
have   been changed to `--referrer' and `--referrer-closure' (but the old   
ones are still accepted for compatibility).
       new  11a8dc7   * Doh!
       new  b1eed6b   * Split the database upgrade into multiple transactions 
to prevent   Berkeley DB from running out of locks.
       new  5144f75   * Typo.
       new  530b27d   * `nix-store --gc' prints out the number of bytes freed 
on stdout   (even when it is interrupted by a signal).
       new  3c5619c   * Begin release notes.
       new  4b9e7f5   * Revived the old "nix-store --delete" operation that 
deletes the   specified paths from the Nix store.  However, this operation is   
safe: it refuses to delete anything that the garbage collector   wouldn't 
       new  f96d2de   * Added a flag `--ignore-liveness' to `nix-store 
--delete'.  It   deletes a path even if it is reachable from a root.  However, 
it   won't delete a path that still has referrers (since that would   violate 
store invariants).
       new  1d2460e   * Documentation fixes.
       new  1440419   * GCC 2.95 compatibility.
       new  52d20ef   * Hack around a GCC 2.95 bug.
       new  0f8d3c8   * More GCC 2.95 compatibility.
       new  04be397   * Resolve all symlink components in the location of the 
temporary   build directory (TMPDIR, i.e., /tmp).  Fixes NIX-26.
       new  5b52790   * dirOf: return "/", not "", for paths in the root 
directory.  Fixes NIX-26.
       new  e4d4969   * New tools nix-pack-closure and nix-unpack-closure.  
These provide a   useful way to transfer the closure of a store path to another 
       new  1029716   * Don't show cycles, they're not very useful.
       new  db2275c   * Oops, the "I" bit in "nix-env -qas" was broken.  
Reported by Nicolae Vintila.
       new  83424eb   * Don't force a build of derivations.
       new  151f10d   * Add @address@hidden
       new  3eba483   * Use Berkeley DB 4.4.20.
       new  9e4ffc4   * The "S" bit should be based on the output path, not the 
derivation path.
       new  8291f6d   * bsdiff updated to 4.3.  This makes Nix depend on libbz2.
       new  d9d6ff9   * Doh.
       new  6e2eaae   * Print a better error message when writing the patched 
file (e.g.,   "No space left on device" instead of "Success").  Reported by 
Karina   Olmos.
       new  b90daaa   * When killing a build hook, kill the entire process 
group (as   intended).  This ensures that any ssh child processes to remote   
machines are also killed, and thus the Nix process on the remote   machine also 
exits.  Without this, the remote Nix process will   continue until it exists or 
until its stdout buffer gets full and it   locks up.  (Partially fixes NIX-35.)
       new  81de538   * Use setsid instead of setpgrp in child processes.  This 
not only   creates a new process group but also a new session.  New sessions   
have no controlling tty, so child processes like ssh cannot open   /dev/tty 
(which is bad).
       new  4db4b61   * Don't install nix.conf (so it won't be overriden when 
you upgrade an RPM).
       new  39f50db   * Refactoring: move derivation evaluation to libexpr.
       new  e771e59   * Tests for nix-env, finally!
       new  287d0ef   * Oops, fix breakage.
       new  f8aadf1   * Test-driven development, woohoo!  nix-env should work 
on functions,   provided that all arguments have defaults.
       new  8688e83   * When evaluating, automatically call functions with 
default arguments.
       new  4eb637c   * When querying all derivations, filter out syntactically 
equal derivations.
       new  f848a45   * Cleanup: use the code shared with nix-env.
       new  9e51abc   * Make --parse-only work when *not* reading from stdin.
       new  b505f9e   * Document that nix-instantiate can read from stdin.
       new  c612035   * In nix-instantiate, allow us to specify a "path" to the 
  derivation(s) we're interested, e.g.,
       new  982399b   * Enable the --attr in nix-build as well (and add -A as 
an alias).   Example:
       new  da0a6b6   * Doh.
       new  0ca0a4d   * Valgrind suppressions for the ATerm library.  The ATerm 
library uses   a conservative garbage collector that scans the stack and parts 
of   the heap for pointers to ATerms.  This scan can touch uninitialised   
memory, which is harmless.  Use:
       new  2d2e28d   * Override YYMALLOC and YYFREE so that we can call 
AT[un]protectMemory   on the Bison parse stack.  Otherwise, a garbage collect 
during   parsing could lead to a crash.
       new  e8475bb   * Use a union.
       new  d6f586d   * Optional switch "--with-openssl=<PATH>" to use 
OpenSSL's   implementations of MD5, SHA-1 and SHA-256.  The main benefit is 
that   we get assembler-optimised implementations of MD5 and SHA-1 (though   
not SHA-256 (at least on x86), unfortunately).  OpenSSL's SHA-1   
implementation on Intel is twice as fast as ours.
       new  651ab43   * A simple hack to fix NIX-18: the garbage collector 
cannot run when   the disk is full (because to delete something from the Nix 
store, we   need a Berkeley DB transaction, which takes up disk space).  Under  
 normal operation, we make sure that there exists a file   
/nix/var/nix/db/reserved of 1 MB.  When running the garbage   collector, we 
delete that file before we open the Berkeley DB   environment.
       new  345a95a   * Allow the size of the GC reserved file to be specified 
in nix.conf   through the new `gc-reserved-space' option.
       new  889ef56   * Fix the infamous NIX-17: nix-env -i prints misleading 
messages   ("installing `foo'" followed by "uninstalling `foo'").
       new  4ddd5ff   * Regression test for NIX-31.
       new  58fc420   * And another test.
       new  7a3e715   * Fix for NIX-31: "nix-env -i foo" installing all 
derivations named   foo.  Now it will only install the one with the highest 
version   number.
       new  46f0cb0   * In "nix-env -i", print a warning if there are multiple 
derivations   with the same name *and* version number, and pick the first one   
(this means that the order in which channels appear in   ~/.nix-channels 
matters).  E.g.:
       new  ddb78df   * Check whether "nix-store -q --graph" generates a valid 
dot graph. * Test "nix-store -q --tree" as well.
       new  f0d6318   * More tests.
       new  fcec32a   * Use right directories for NAR files and patches. * 
Print errors to STDERR.
       new  928cce5   * Directory for manifest / cache maintenance 
       new  43fa1c2   * Separate the cache reading code.
       new  17f3904   * WTF?
       new  9d3bee5   * Aha!
       new  5168f9b   * Canonicalise manifests a bit by sorting them.
       new  e2f16b9   * A script to remove from a manifest those patches whose 
base or   target no longer applies to any available release.  This is a   
partial fix for NIX-34 (when producing linear patch sequences   between 
releases, the number of patches grows without bound).
       new  85793fa   * Remove debug statement.
       new  a4c63c6   * Make it easy to run individual tests from the command 
       new  84c4631   * Simplification.
       new  6b8bb8d   * Remove dead code.
       new  458820d   * Generate valid HTML.
       new  e48bd8c   * Add a test for nix-log2xml.
       new  8cd646b   * Clear the substitutes prior to running the test.
       new  5cb6c42   * Test nix-build.  This also tests indirect roots.
       new  ca0b23c   * Test the nix-store --gc subflags.
       new  089c41a   * Oops!
       new  b907872   * TDD! Woohoo!
       new  b602d2d   * Wrong delete.  Thanks valgrind.
       new  b6780b9   * Uninitialised variable.  Fixes the --delete test.
       new  30d051f   * New suppressions.
       new  ea9c35d   * Test `nix-store --add' and `nix-store -q --hash'.
       new  e3daee9   * Test `nix-store -q --binding'.
       new  80b5c71   * Doh!
       new  fa95f4b   * More test coverage.
       new  d822bf3   * Close the database before the destructor runs.
       new  1bdceb4   * Doh!
       new  74166f2   * db.hh shouldn't depend on the Berkeley DB headers.
       new  e136532   * Ouch, parseHash32 was completely broken.  All digits >= 
4 were   parsed as 4.
       new  70dee0f   * Flags `--to-base32' and `--to-base16' to convert 
between hex and   base-32 hashes.
       new  2167bf6   * Tests to prevent a repeat of the parseHash32 debacle.
       new  78d84f5   * Tests for fixed-output derivations (and attribute 
selection, incidentally).
       new  2d54312   * Rewrote nix-build in Perl, since sh is just too limited 
(turns out   that arrays are a bash extension, so it didn't work on FreeBSD).   
Also fixes NIX-8 (readlink(1) dependency).
       new  120f00c   * More online help.
       new  7ba1fd2   * Regularise help text a bit.
       new  c8bfb11   * `nix-env (-i|-u) --dry-run' now shows exactly which 
missing paths   will be built or substituted.
       new  fa72ae1   * GCC 4.1 compatibility.
       new  9088dee   * Some refactoring of the exception handling code so that 
we can catch   Nix expression assertion failures.
       new  6dca5c9   * When obtaining derivations from Nix expressions, ignore 
all   expressions that cause an assertion failure (like `assert system ==   
"i686-linux"').  This allows all-packages.nix in Nixpkgs to be used   on all 
platforms, even if some Nix expressions don't work on all   platforms.
       new  922697c   * Big speedup (factor > 2.5) in all nix-env operations 
that do actual   instantiation, e.g. "nix-env -i" and "nix-env -qas" (but not   
"nix-env -qa").  It turns out that many redundant calls to   addToStore(path) 
were made, which reads and hashes the entire path.   For instance, the bash 
bootstrap binary in Nixpkgs would be read and   hashed many times.  As a result 
nix-env would spend around 92% of   its time in the function sha256_block 
(according to callgrind).    [...]
       new  b90c00e   * Regression: semantics of the result of getDerivation() 
       new  18c3213   * Ugh, printHash() was very inefficient because it used   
ostringstreams.  Around 11% of execution time was spent here (now   it's 0.5%).
       new  9811815   * Write messages to stderr, not stdout.
       new  4ada6db   * `nix-env -q' now accepts arguments that allow specific 
derivations   to be queried, e.g., `nix-env -qa firefox'.  This does require 
the   argument '*' to be passed if one wants information about all   
derivations, so the old `nix-env -qa' now is `nix-env -qa "*"'.
       new  2b3b6c9   * In theory, this should reduce the number of ATermMap   
       new  a33fb2d   * Oops.
       new  37d1b1c   * `nix-env -qa --description' shows human-readable 
descriptions of   packages (provided that they have a `meta.description' 
attribute).   E.g.,
       new  fdea084   * Allow `make check' to work in directories that have 
symlink   components.
       new  05bb644   * Allow the resulting symlink of nix-build to be named, 
       new  20675fe   * Update copyright.
       new  49ce8b5   * Hm.
       new  b69e469   * In `nix-env', look for derivations inside attribute 
sets that have   the `recurseForDerivations' attribute set to `true'.
       new  ef2d4a2   * Print a more useful stack trace when an error occurs 
deep in the   derivation dependency graph.
       new  03162f8   * Unless --with-bzip2 is specified, use a copy of bzip2 
in the   externals directory.  This is in particular useful because though   
most systems have bzip2/bunzip2, they don't always have libbz2,   which we need 
for bsdiff/bspatch.
       new  0748331   * Typo.
       new  e18c931   * Create libexec.
       new  de8f2d0   * Install only the header file and libraries from 
Berkeley DB.
       new  6fca1b8   * Change this to LGPL to keep the government happy.
       new  cce31b7   * svn:ignore
       new  6cecad2   * Allow string concatenations involving derivations, e.g.,
       new  0064599   * String interpolation.  Expressions like
       new  7276e19   * Disallow unescaped $ in string literals.
       new  dca43ef   * Tests for NIX-45.
       new  ae55e79   * More tests.
       new  dc719e6   * Some preliminaries towards NIX-45.
       new  11ae2d1   * Memory reduction: replaced expensive calls to 
ATmakeApplList by   ATmakeApplArray, and got rid of ATreverse in substitute().
       new  b52e711   * Huge reduction in memory use (2/3 or so on large 
nix-env -qas   operations): share ATermMaps between DrvInfos.
       new  c791e94   * Removed a bunch of ATreverses.
       new  68174bd   * Use a linked list of substitutions.  This reduces the 
amount of   copying.
       new  d300b43   * Optimise null-ary term builders.  Also declare all term 
builder   functions as pure, which might improve performance a bit.
       new  052cefe   * Started hacking on a ATermTable replacement, since 
ATermTable uses   gigantic amounts of memory --- 65536 bytes per table at least 
---   which makes it unsuitable for representing short-lived substitution   
tables and attribute sets.
       new  db0d865   * New ATermMap, seems more-or-less finished.
       new  b803fb9   * Maintain the count field properly.
       new  6980544   * Keep some statistics about memory allocation.
       new  9840368   * Iterators.
       new  0832956   * Use the new ATermMap.
       new  310e605   * Show evaluation stats when NIX_SHOW_STATS=1.
       new  5cabd47   * Allow function argument default values to refer to 
other arguments   of the function.  Implements NIX-45.
       new  8b5aa91   
       new  c54287e   * GCC 2.95 compatibility.
       new  e3c0778   * Remove old manifests in `nix-channel --update'.
       new  9d72bf8   * 64-bit compatibility fixes (for problems revealed by 
building on an Athlon   64 running 64-bit SUSE).  A patched ATerm library is 
required to run Nix   succesfully.
       new  b598800   * Support for srcdir != builddir (NIX-41).
       new  d764409   * Some Cygwin fixes.
       new  58b4198   * Disable the concurrent garbage collector on Cygwin for 
       new  c7d9397   * Handle $PATHs with spaces.
       new  b1c63dc   * Don't use badTerm, it gives awful error messages.
       new  1390ce4   * Not all platforms have sys/select.h.
       new  04cf722   * This may be useful in the future.
       new  50fe85f   * For fixed-output derivations, pass the environment 
variables listed   in the attribute variable `impureEnvVars' from the caller to 
the   builder.
       new  bb84984   * svn:ignore.
       new  2d456fc   * On Cygwin, set the system type to i686-cygwin, and 
disable dynamic   linking.
       new  23960e9   * Minor cleanup.
       new  370af25   * Fix for a locking bug in Berkeley DB on Cygwin.
       new  3a68622   * Oops.
       new  b454977   * Fix for a problem with BSD's group ownership semantics 
when the user   is not in the "wheel" group.
       new  48e4a32   
       new  49de871   * Removed.
       new  588cb0e   * In `nix-env -i|-u|-e', lock the profile to prevent 
races between   concurrent nix-env operations on the same profile.  Fixes NIX-7.
       new  c937b73   * Show when we're blocked waiting for a lock.
       new  d7f4035   * Skip this test on Cygwin, too slow (and doesn't test 
anything Cygwin-specific).
       new  0e783e5   * Write messages to stderr in a slightly more atomic way. 
 Useful when   there are several parallel processes.
       new  b35735d   * On Windows we cannot delete open (lock) files, so we 
delete lock   files after we've closed them.  Since this only succeeds if the 
lock   is no longer opened by any process, the token trick used on Unix is   
not necessary.
       new  5bb3444   * _exit() doesn't seem to work right on Cygwin.
       new  cc51f9c   * Oops.
       new  dbf6d7e   * Concurrent GC on Cygwin.
       new  f4a3a28   * Apply the ATerm aliasing patch so that Nix works 
correctly with gcc 4.1.x.
       new  a945fb7   * `nix-env --upgrade --eq': only upgrade if the old 
version is equal   to the new version.  This is actually useful.
       new  d51aede   * Allow the canonical system name to be specified at 
runtime in the   Nix config file.
       new  2b4b065   * This expression has an undefined variable which isn't 
detected, so   evaluation fails:
       new  e10b830   * Doh!  Of couse we cannot memoize across scopes.
       new  4f3725b   * Better error messages (especially wrt types).
       new  88e5415   * Add a precise test for hashDerivatioModulo.
       new  ebcccbd   * Added a tool to find additional roots for the garbage 
collector,   such as open files, current directories, mmaped files, etc.  This 
is   inherently unportable, but it's easy to adapt this script to other   
platforms.  Currently we call `lsof' and try to read various bits in   
       new  c15f544   * Call from the garbage collector 
to prevent   running applications etc. from being garbage collected.
       new  eca30e1   * svn:ignore.
       new  ee2cf45   * Use debug().
       new  410760c   * Doh.
       new  a427315   * Use $(libexecdir) to find
       new  dcded7d   * Don't try to do DNS lookups.
       new  7adaa6d   * Test for runtime root finding.
       new  9c3099d   * Purify `make check'.
       new  57751fd   * Refactoring to support domain checks.
       new  b545c66   * Tests for domain checks.
       new  88acffa   * `touch' might not be in $PATH.
       new  f4c5531   * New language feature: domain checks, which check 
whether a function   argument has a valid value, i.e., is in a certain domain.  
       new  7a3a5d1   * When there is a domain check, we have to evaluate the 
argument.   Can't be lazy!
       new  5744dd5   * Support the --attr / -A flag in nix-env as well.  So 
now we can do,   e.g.,
       new  b11aeb2   * Doh.
       new  0e6dc72   * Applied rbroek's patch from the branch at,   with 
some modifications.  This allows `nix-env -qa' to show the   attribute path 
that can be used to unambiguously install a package   using `nix-env -i -A'.  
       new  2317d8f   * `nix-instantiate --print-args' prints out the arguments 
of a   top-level function.
       new  ca2238c   * Refactoring: get the selection path stuff out of 
getDerivations()   and put it into a separate function findAlongAttrPath().
       new  c11839d   * `nix-instantiate --print-args': print out the valid 
values for   functions arguments that have a domain.
       new  4661282   * `nix-instantiate ... --arg NAME VALUE': allow arguments 
to be passed   to functions from the command line. * nix-build: started 
removing backticks.
       new  6ac237e   * Show some progress.
       new  601a8ea   * Ugh.  Darwin's chmod insists that flags come before the 
mode   specification.
       new  4fde308   add a flag --target, so we can override the URL in the 
MANIFEST file. This is only for local copies (so file:///)
       new  a29b64a   * Better error checking.
       new  fcb7840   urgh...for some weird reason this one-liner was not in 
svn. PEBKAC!
       new  4750f6c   * Simple class for writing XML files.
       new  0e267e2   * `nix-instantiate --print-args': produce XML output so 
that the   result can be used more easily by scripts.
       new  339e6f0   * `nix-env -q --xml': show query result in XML format for 
easier   automated processing.
       new  981eff0   * Remove the dependency on `date', use strftime instead.
       new  f4a502a   * Use old-school pipe opens; the new style is Perl >= 
       new  dcff8cd   * Weird issue on Cygwin with the include file order.
       new  1854f84   * Fix a few warnings.
       new  f1947cc   prevent doing recursive chroots, by unsetting NIX_ROOT in 
the scripts.
       new  a61129c   add coreutils to the default PATH for this scripts, so we 
know for sure we have tools like rm, mkdir, and so on
       new  5a6b45e   * In nar.nix, path -> storePath, otherwise we get a 
collision between   environment variable names on Cygwin (where they are case   
       new  a0607be   * Workaround for a bug (?) in GCC 2.95.
       new  c0bfcbd   rework the --target flag. If this flag is used, a URI 
should be given. Default values are not changed.
       new  a18d02e   * Print a warning that the subpath operator (~) is 
       new  f1aa71a   * Fix the help message wrt --attr.
       new  3e239a3   * file:/ -> file://
       new  d19b652   * New configuration setting `build-max-jobs' which sets 
the default   for the `-j' flag (i.e., the maximum number of jobs to execute in 
  parallel).  Useful on multi-processor machines.
       new  92f7dfa   * Don't assume that paths returned by the runtime root 
finder are   valid.
       new  4250b64   * `nix-store --gc --print-dead': print the total size of 
the store   objects that would be freed.
       new  7455fd8   * Put the value in an attribute.
       new  3e5b680   On cygwin, disable the check that the output is not group 
or world writable. File permissions on Cygwin are rather complex, and in this 
case this check introduced a problem with build jobs invoke from outside of 
Cygwin (MSYS). It seemed almost impossible to fix the permissions of the 
directory, so for now this safety check is disabled on Cygwin.
       new  bfe19b3   * A test for NIX-53.
       new  2670642   * Handle carriage returns.  Fixes NIX-53.
       new  fe101fa   * Meh.
       new  18e4ac0   * `nix-instantiate --{eval|parse}-only --xml': print an 
XML   representation instead of an ATerm. * Indent XML output.
       new  22ba63d   * More XML output.  `--strict' to strictly evaluate 
attribute sets and   so on. * Removed `--print-args', it's subsumed by 
`--eval-only --xml'.
       new  24e234a   * Print attributes in sorted order, rather than the 
arbitrary order   produced by ATermMap.  Necessary for testing. * `--strict' 
should also work on stdin.
       new  4874fd2   * Test for `nix-instantiate --eval-only --xml'.
       new  cc0505f   * Distribute *.exp.xml.
       new  1a9a1f2   * Convert to DocBook 5. * Use Jing for RelaxNG 
validation, xmllint seems buggy.
       new  93d9797   * Urgh (see NIX-56).
       new  561a07f   * Revert unintentional commit.
       new  68515b5   * Release notes.
       new  4a053bf   * A new primop `builtins', which returns an attribute set 
containing   all the primops.  This allows Nix expressions to test for new   
primops and take appropriate action if they're not available.  For   instance, 
rather than calling a primop `foo' directly, they could   say `if builtins ? 
foo then ... else ...'.
       new  38f18aa   * New primop: abort "error message".
       new  b19cebc   * Quotes.
       new  9638f3f   * Pass the autoArgs to findAlongAttrPath so that 
"nix-instantiate   foo.nix -A attr --arg name value" will work if (name, value) 
is   needed in the evaluation leading up to "attr".
       new  f41297f   * Allow --arg in nix-env as well, example:
       new  943ab38   * Refactoring: move strictEval to libexpr.
       new  da25d80   * Strict evaluation and XML printing of lists.
       new  f793caf   * Refactoring.
       new  215ec2d   * New primop __toXML (or builtins.toXML) to convert an 
expression to   an XML representation stored in a string.  This should be 
useful to   pass structured information to builders.
       new  3e8dccf   * Escape newlines in XML attributes to prevent them from 
being   normalised away.
       new  bf738f0   * Honour DESTDIR so that bzip2/bunzip2 get installed in 
the right   location when building RPMs (fixes NIX-58).
       new  e64c4f5   * Doh! (NIX-58)
       new  e5678b3   * Map "ppc" to "powerpc" so that Linux on PowerPC will be 
reported as   "powerpc-linux".
       new  4b66ceb   * Remove those storePath attribute sets, we don't need 
       new  8a6080e   * Refactoring.
       new  1fca768   * Removed processBinding, instead we now apply toString 
to all   derivation attributes to flatten them into strings.  This is   
possible since string can nowadays be wrapped in contexts that   describe the 
derivations/sources referenced by the evaluation of the   string.
       new  1ec9f55   * In toString, deal with nested lists properly (i.e., 
flatten them).
       new  1f6616d   * Backwards compatibility test for ~.
       new  2132d9d   * Fix the ~ operator.
       new  547b119   * Support singleton values and nested lists again in 
`args', but print   a warning.
       new  3151bde   * Uninitialised variable.
       new  dce1afd   * TDD: == should do a deep equality test, i.e., it should 
strictly   evaluate its arguments.
       new  f93f7b7   * Okay, that's a bit harder than expected.
       new  354d58b   * Better error checking.
       new  c25f688   * Doh! Doh! Doh!
       new  c9586b6   * Fix race condition in the test.
       new  de90fdf   * Allow "$" in strings as long as they are not followed 
by "{".  (Too   bad flex doesn't have lexical restrictions, the current 
solution   isn't quite right...)
       new  7974aae   * New primop: builtins.toFile, which writes a string into 
the store   and returns its path.  This can be used to (for instance) write   
builders inside a Nix expression, e.g.,
       new  aab8812   * Store the Nix libraries in ${libdir}/nix instead of 
       new  75068e7   * Use a proper namespace. * Optimise header file usage a 
bit. * Compile the parser as C++.
       new  e3ce954   * Compile the lexer as C++ code.  Remove all the 
redundant C/C++   marshalling code.
       new  2382a72   * Don't need extern "C".
       new  4be5443   * Remove unnecessary inclusions of aterm2.h.
       new  e5a6c09   * Install header files in /nix/include/nix.
       new  bafc169   * Move setuid stuff to libutil. * Install libexpr header 
       new  fc19551   * Sone missing #includes.
       new  a89a201   * Missing #include.
       new  89ac8db   * Package the include directory.
       new  2e210b2   * Convenience option `nix-collect-garbage -d' 
(--delete-old): removes   old generations of *all* profiles in 
/nix/var/nix/profiles, then   runs the garbage collector.  Quick way to get rid 
of all old stuff.   Of course, one cannot roll back to earlier points in time 
after   this.
       new  a04a65d   * Release notes.
       new  feb63da   * Remove debug message.
       new  01d169f   * Support `++'. * More follow restrictions on layout.
       new  f00bc4c   * "Too many links" error.
       new  5c38c86   * Fix a huge gaping hole in nix-env w.r.t. the garbage 
collector.   Nix-env failed to call addPermRoot(), which is necessary to safely 
  add a new root.  So if nix-env started after and finished before the   
garbage collector, the user environment (plus all other new stuff)   it built 
might be garbage collected, leading to a dangling symlink   chain in 
       new  86cbd93   * nix-env --switch-generation / --list-generations /   
--delete-generations: lock the profile to prevent (extremely   unlikely) race 
       new  e0afaf1   * Wow, that bug has been there since r764.
       new  9488ae7   * `', a small utility that shows the 
amount of   package duplication present in (e.g.) a profile.  It shows the   
number of instances of each package in a closure, along with the   size in 
bytes of each instance as well as the "waste" (the   difference between the sum 
of the sizes of all instances and the   average size).
       new  07cec27   * Cleanups.
       new  6dbed1b   * `' reduces disk space consumption by 
hard-linking   all identitical files in the Nix store to each other.  
(Previously   it only computed the size that would be saved by doing so.)
       new  ee6cf99   * Doh!  Of course we have to take execute permission into 
account. * Restore the mtime on modified directories.
       new  7dd342e   * Doh.
       new  a060adf   * Use paths, not strings, when calling the function that 
generates   NARs.  Fixes the impurity of nix-push (NIX-21). * Better help.
       new  947e645   * Hide warnings about a missing "lsof" (NIX-54).
       new  22d13d6   * Check for patch (NIX-59).
       new  0623359   * Print a better error message for wrong hashes (NIX-49).
       new  1b804f8   * Absolute path to rm (NIX-51). * Don't hardcore /nix/bin 
and /nix/store.
       new  1bdc152   * Shut up a warning.
       new  ee50404   * Try konsole and gnome-terminal in addition to xterm.
       new  4e91d86   * Fix comment.
       new  0bd5eb7   * `nix-install-package --url': install from a URL 
(NIX-12). * `nix-install-package --help' (NIX-9). * `nix-install-package 
--non-interactive': don't prompt or pause. * Tests for nix-install-package. * 
Security fixes: filter the values obtained from the nixpkg.
       new  25df501   * GC options in nix-store --help (NIX-15).
       new  4cab35d   * Build with -D_FILE_OFFSET_BITS=64 to support files >= 
2^31 bytes   (NIX-22).
       new  b43aead   * Don't allocate more than SIZE_MAX bytes.
       new  d22d756   * Don't allocate the buffer twice.
       new  385c6f8   * Supply the 64-bit ATerm patch, but don't apply it 
(since that   requires rerunning Autoconf/Automake).  Interested users should 
do   that themselves.
       new  666babb   * Use a bounded amount of memory in scanForReferences() 
by not reading   regular files into memory all at once.
       new  8a1ab70   * New builtin functions builtins.{hasAttr, getAttr} to 
check for   attribute existence and to return an attribute from an attribute   
set, respectively.  Example: `hasAttr "foo" {foo = 1;}'.  They   differ from 
the `?' and `.' operators in that the attribute name is   an arbitrary 
expression.  (NIX-61)
       new  c02a441   * Builtin functions `head' and `tail' to return the head 
and tail of   list.  Useful for lots of things, such as implementing a fold   
function (see NIX-30, example is in tests/lang/eval-okay-list.nix).
       new  d315210   * Added a builtin function `isList' to test whether a 
value is a list.   With this primitive, a list-flattening function can be 
implemented   (NIX-55, example is in tests/lang/eval-okay-flatten.nix).
       new  2ab4bc4   * Builtin function `add' to add integers. * Put common 
test functions in tests/lang/lib.nix.
       new  df8873e   * lessThan primitive for integer comparison.
       new  e47e0c2   * Builtin function `getEnv' for getting environment 
       new  0e70539   * Primop `toPath' to convert a string to a path. * Primop 
`pathExists' to check for path existence.
       new  e347033   * The result of a concatenation with a derivation on the 
left-hand   side should be a path, I guess. * Handle paths that are in the 
store but not direct children of the   store directory. * Ugh, hack to prevent 
double context wrapping.
       new  76c9710   * Use builtins.toPath.
       new  68ae953   * Clean up calls to system().
       new  d43565c   * In `nix-channel --update', skip manifests that assume a 
Nix store at   a different location than the user's.  This makes channels 
usable as   a source deployment mechanism for people who install Nix under   
non-standard prefixes.  (NIX-57)
       new  3632019   * Quick hack to let nix-install-package set the package 
name properly   (e.g., "java-front-0.9pre15899" instead of "java-front";   
particularly important when doing upgrades later on).
       new  02f2335   * Propagated packages now have lower priority; they are 
symlinked   *after* the packages that have been explicitly installed, and   
collisions are ignored.
       new  5ca45d0   * Use "propagated-user-env-packages", not 
"propagated-build-inputs"   for packages that should be propagated to the user 
       new  e47d425   * Release notes.
       new  a9a6356   * Release notes.
       new  015ac7c   * Release notes.
       new  4ad6fb7   * Fix setuid builds.
       new  e2eed05   * Manual updates. * Documented nix-{pack,unpack}-closure.
       new  30c7db8   * Manual updates, some style improvements.
       new  070e07e   * Manual.
       new  0212fee   * Document nix-install-package and the nixpkg file format.
       new  88d4225   * One-click installs.
       new  91a01e6   * Manual.
       new  f316b6c   * Manual updates (especially how nix-build makes testing 
packages much   easier; no longer need a helper expression).
       new  7581cfd   * Hack for Bison 2.3 compatability.
       new  ac19b33   * Finally, a real "let" syntax: `let x = ...; ... z = 
...; in ...'.
       new  853252a   * Document the new let.
       new  cfe35ca   * Manual.
       new  84e6c43   * Documented nix-hash.
       new  d20c301   * toFile: added an additional argument to specify the 
store path   suffix, e.g., `builtins.toFile "" "..."'. * toFile: 
handle references to other files correctly.
       new  3837fb2   * Document the built-in functions.
       new  5fd4465   * toXML: propagate the context to allow derivations to be 
used in the   argument.
       new  96fa456   * An example of using toXML to pass structured 
information to a   builder and generate a Jetty configuration file with XSLT.
       new  bd4f1b4   * Style tweaks.
       new  4a7ece6   
       new  0ef3bd3   * Use GIF callouts instead of PNG since the GIFs have 
       new  407c9fd   * Explanation of toXML example.
       new  59ef0aa   * Strings.
       new  a3fd53b   * Style tweak.
       new  34427a7   * Weird.
       new  d98f750   * tmpnam() -> File::Temp::tempdir().
       new  6f2bfd9   * Manual.
       new  5d769de   * Document --arg.
       new  8396b59   * Documented --attr / -A.
       new  99ef620   * Documented nix-instantiate --xml, --strict. * Added an 
example to the nix-build section.
       new  8791ffb   * Documented new nix-env options.
       new  9e08f5e   * Documented nix-store --dump / --restore.
       new  eff573f   * Work around a weird bug in the manpage generation.
       new  beee18d   * Document nix-store --delete.
       new  3815d2d   * Typos etc. * Set the release date.
       new  b3fc016   * Translate Unicode quote characters to ASCII equivalents 
when   generating NEWS.txt.
       new  e1cc842   * Too lazy to document nix-push --copy.
       new  7bada48   * Bumped the version number to 0.11.
       new  bd0c40e   * `import': unwrap the context.  Necessary to make 
`import (x + y)'   work, where x is a store path.
       new  0c4c5c2   * Quick hack to fix NIX-67: evaluation result differing 
if the Nix   expression resides in the store.
       new  b4e012a   * Merge 0.10.1 release notes.
       new  7d4567f   * Removed URIs from the evaluator (NIX-66).  They are now 
just another   kind of notation for strings.
       new  2a53568   * Reduce the maximum archive size for patch generation to 
100 MB to   prevent trashing on
       new  e4af398   * Don't crash when upgrading the Berkeley DB environment.
       new  37c8a66   * A helpful message.
       new  142863a   * Use Berkeley DB 4.5.
       new  4c9aa82   * Fix version.
       new  d7efd76   * Big cleanup of the semantics of paths, strings, 
contexts, string   concatenation and string coercion.  This was a big mess (see 
  e.g. NIX-67).  Contexts are now folded into strings, so that they   don't 
cause evaluation errors when they're not expected.  The   semantics of paths 
has been clarified (see nixexpr-ast.def).   toString() and coerceToString() 
have been merged.
       new  46b631b   * Don't generate an empty drvPath attribute in the 
       new  7de5fe2   * Do the path check on the normal form.
       new  cf705ea   * toString: don't copy paths.  So toString can be used to 
pass   non-store paths to a builder.
       new  cba913c   * dirOf: return a path if the argument is a path.
       new  be1961c   * toPath: should be the identity on paths.
       new  9e30694   * Fix the tests wrt the AST changes, i.e., Str(s) -> 
Str(s, []), and   the semantic changes.
       new  dfc042a   * Another test.
       new  822dba2   * Maintain the references for the user environment 
       new  3059df0   * baseNameOf: paths don't have to be absolute.
       new  58ff693   * An awful backwards compatibility hack.
       new  4bd5cdb   * Print out the offending path.
       new  24737f2   * Backwards compatibility with old user environment 
       new  daa8f85   * Backwards compatibility hack for user environments made 
by Nix <= 0.10.
       new  6a67556   * Special derivation attribute `allowedReferences' that 
causes Nix to   check that the references of the output of a derivation are in 
the   specified set.  For instance,
       new  b3d3700   * nix-build: check the exit status of `nix-store -r'.
       new  9bd93f7   * toFile: maintain the references.
       new  17f4883   * Better message.
       new  7a4497d   * Checks for allowedReferences and some other features. * 
Use nix-build in a test.
       new  1d694ee   * Require Perl 5.8.0 or newer.  I mean, it *is* more than 
four years   old...
       new  dd300fb   * Some better error messages.
       new  99b0ea7   * Typo reported by Arie Middelkoop. * Left out 
close-quote in example.
       new  ae6fb27   * `nix-store --read-log / -l PATH' shows the build log of 
PATH, if   available.  For instance,
       new  8d17265   * Don't use EPSV.
       new  8478cd2   * readFile: don't overflow the stack on large files.
       new  005eecf   * Release notes.
       new  b3f9169   * Oops, `nix-build --no-out-link' was broken.
       new  7e85a2a   * Fix importing of derivation outputs.
       new  983c5e3   * Fix the locking patch for Berkeley DB 4.5.
       new  e790404   * Don't use the result of `uname -p' on x86_64 as it 
gives wacky   results on some machines. (NIX-69)
       new  e40d4a5   * Option `--reregister' in `nix-store 
--register-validity'.  We need   this in the NixOS installer (or in the 
buildfarm) to ensure that the   cryptographic hash of the path contents still 
matches the actual   contents.
       new  e2a70b7   * Magic attribute `exportReferencesGraph' that allows the 
references   graph to be passed to a builder.  This attribute should be a list 
of   pairs [name1 path1 name2 path2 ...].  The references graph of each   
`pathN' will be stored in a text file `nameN' in the temporary build   
directory.  The text files have the format used by `nix-store   
--register-validity'.  However, the deriver fields are left empty.
       new  f459a5b   * Remove the undocumented `noscan' feature.  It's no 
longer necessary   now that reference scanning is sufficiently streamy.
       new  745e354   * Push.
       new  bce9ff7   * Use the patched ATerm library.
       new  0ddaee7   * Doh.
       new  17d18b1   * Doh!
       new  471749c   * Grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...
       new  0541ddc   * Turn off synchronisation between C and C++ I/O 
functions.  This   gives a huge speedup in operations that read or write from 
standard   input/output.  (So libstdc++'s I/O isn't that bad, you just have to  
 call std::ios::sync_with_stdio(false).)  For instance, `nix-store   
--register-substitutes' went from 1.4 seconds to 0.1 seconds on a   certain 
input.  Another victory for Valgrind.
       new  d941186   * Show more progress.
       new  a76efae   * Dead files.
       new  c6a97e3   * Doh!  Path sizes need to be computed recursively of 
course.   (NIX-70)
       new  71e867c   * Remove --enable-setuid, --with-nix-user and 
--with-nix-group.   Rather, setuid support is now always compiled in (at least 
on   platforms that have the setresuid system call, e.g., Linux and   FreeBSD), 
but it must enabled by chowning/chmodding the Nix   binaries.
       new  9241760   * Example script to set permissions for setuid operation.
       new  80b742d   * Don't spam.
       new  fe15f99   * Troubleshooting information on fixing a b0rked Berkeley 
DB database.
       new  5f0b9de   * Benchmarking Unix domain sockets.
       new  e2ef5e0   * Refactoring.  There is now an abstract interface class 
StoreAPI   containing functions that operate on the Nix store.  One   
implementation is LocalStore, which operates on the Nix store   directly.  The 
next step, to enable secure multi-user Nix, is to   create a different 
implementation RemoteStore that talks to a   privileged daemon process that 
uses LocalStore to perform the actual   operations.
       new  6ecb840   * Put building in the store API.
       new  9cf1948   * Skeleton of remote store implementation.
       new  9adc074   * Oops.
       new  40b3f64   * Skeleton of the privileged worker program. * Some 
refactoring: put the NAR archive integer/string serialisation   code in a 
separate file so it can be reused by the worker protocol   implementation.
       new  765bdfe   * When NIX_REMOTE is set to "slave", fork off nix-worker 
in slave   mode.  Presumably nix-worker would be setuid to the Nix store user.  
 The worker performs all operations on the Nix store and database, so   the 
caller can be completely unprivileged.
       new  a711689   * First remote operation: isValidPath().
       new  0263279   * More operations.
       new  aac547a   * Doh.
       new  0565b5f   * More remote operations. * Added new operation 
hasSubstitutes(), which is more efficient than   querySubstitutes().size() > 0.
       new  b0d8e05   * More operations. * addToStore() and friends: don't do a 
round-trip to the worker if   we're only interested in the path (i.e., in 
read-only mode).
       new  ceb982a   * Right name.
       new  a824d58   * Merge addToStore and addToStoreFixed. * addToStore now 
adds unconditionally, it doesn't use readOnlyMode.   Read-only operation is up 
to the caller (who can call   computeStorePathForPath).
       new  fcd9900   * Replace read-only calls to addTextToStore.
       new  8ba5d32   * Remove queryPathHash(). * Help for nix-worker.
       new  626f8ee   * Clear NIX_REMOTE in the tests.
       new  9c9cdb0   * Remove SwitchToOriginalUser, we're not going to need it 
       new  536595b   * Remove most of the old setuid code. * Much simpler 
setuid code for the worker in slave mode.
       new  30bf547   * Doh.
       new  e25fad6   * Move addTempRoot() to the store API, and add another 
function   syncWithGC() to allow clients to register GC roots without needing   
write access to the global roots directory or the GC lock.
       new  714fa24   * Run the worker in a separate session to prevent 
terminal signals   from interfering.
       new  7951c3c   * Some hackery to propagate the worker's stderr and 
exceptions to the   client.
       new  363f400   * Pid::kill() should be interruptable.
       new  8c76df9   * Better error message if the worker doesn't start.
       new  4251f94   * Use a Unix domain socket instead of pipes.
       new  3ed9e4a   * Some hardcore magic to handle asynchronous client 
disconnects.   The problem is that when we kill the client while the worker is  
 building, and the builder is not writing anything to stderr, then   the worker 
never notice that the socket is closed on the other side,   so it just 
continues indefinitely.  The solution is to catch SIGIO,   which is sent when 
the far side of the socket closes, and simulate   an normal interruption.  Of 
course, SIGIO is also sent every [...]
       new  a9f9241   * Handle a subtle race condition: the client closing the 
socket   between the last worker read/write and the enabling of the signal   
       new  84d6459   * Use setreuid if setresuid is not available.
       new  35247c4   * Removed `build-allow-root'. * Added 
`build-users-group', the group under which builds are to be   performed. * 
Check that /nix/store has 1775 permission and is owner by the   
       new  f4279bc   * Don't run setuid root when build-users is empty. * Send 
startup errors to the client.
       new  9322b39   * Doh.
       new  1e16d20   * Install the worker in bindir, not libexecdir. * Allow 
the worker path to be overriden through the NIX_WORKER   environment variable.
       new  052b6fb   * Pass the verbosity level to the worker.
       new  f5f0cf4   * Refactoring.
       new  4740baf   * When NIX_REMOTE=daemon, connect to 
/nix/var/nix/daemon.socket   instead of forking a worker.
       new  0130ef8   * Daemon mode (`nix-worker --daemon').  Clients connect 
to the server   via the Unix domain socket in /nix/var/nix/daemon.socket.  The  
 server forks a worker process per connection. * readString(): use the heap, 
not the stack. * Some protocol fixes.
       new  40c3529   * Handle exceptions and stderr for all protocol 
functions. * SIGIO -> SIGPOLL (POSIX calls it that). * Use sigaction instead of 
signal to register the SIGPOLL handler.   Sigaction is better defined, and a 
handler registered with signal   appears not to interrupt fcntl(..., F_SETLKW, 
...), which is bad.
       new  7751160   * Don't redirect stderr.
       new  0d40f6d   * Not every OS knows about SIGPOLL.
       new  74033a8   * Add indirect root registration to the protocol so that 
unprivileged   processes can register indirect roots.  Of course, there is 
still   the problem that the garbage collector can only read the targets of   
the indirect roots when it's running as root...
       new  d27a73b   * In addPermRoot, check that the root that we just 
registered can be   found by the garbage collector.  This addresses NIX-71 and 
is a   particular concern in multi-user stores.
       new  8623256   * findRoots: return a map from the symlink (outside of 
the store) to   the store path (inside the store).
       new  29cf434   * The determination of the root set should be made by the 
privileged   process, so forward the operation. * Spam the user about GC 
misconfigurations (NIX-71). * findRoots: skip all roots that are unreadable - 
the warnings with   which we spam the user should be enough.
       new  a9c4f66   * Allow unprivileged users to run the garbage collector 
and to do   `nix-store --delete'.  But unprivileged users are not allowed to   
ignore liveness. * `nix-store --delete --ignore-liveness': ignore the runtime 
roots as   well.
       new  fc1c20d   * Redundant.
       new  fd4a9db   * Some renaming.
       new  c808e62   * Ugly hack to handle spurious SIGPOLLs.
       new  62b0497   * Better message.
       new  9965524   * Use an explicit handler for SIGCHLD, since SIG_IGN 
doesn't do the   right thing on FreeBSD 4 (it leaves zombies).
       new  8d1854c   * Oops!  In daemon mode, we can't run as root either if 
build-users is empty.
       new  4c1c37d   * FreeBSD returns ESRCH when there are no processes to 
       new  6f0d050   * Tricky: child processes should not send data to the 
client since   that might mess up the protocol.  And besides, the socket file   
descriptor is probably closed.
       new  44cad96   * Urgh.  Do setgid() before setuid(), because the 
semantics of setgid()   changes completely depending on whether you're root...
       new  2b55884   * Be less chatty.
       new  9f0efa6   * Start of the setuid helper (the program that performs 
the operations   that have to be done as root: running builders under different 
uids,   changing ownership of build results, and deleting paths in the store   
with the wrong ownership).
       new  751f6d2   * nix-setuid-helper: allow running programs under a 
different uid.
       new  6e5ec10   * Get rid of `build-users'.  We'll just take all the 
members of   `build-users-group'.  This makes configuration easier: you can 
just   add users in /etc/group.
       new  a14d491   * Oops.
       new  ef281b9   * Fix the safety check.
       new  173d328   * Urgh.
       new  f07ac41   * Check that the caller is allowed to call the setuid 
helper.  The   allowed uid is specified in a configuration file in   
       new  62ab131   * Verify that the desired target user is in the build 
users group (as   specified in the setuid config file).
       new  79875c5   * Change the ownership of the current directory to the 
build user.
       new  6a8e609   * Move killUser() to libutil so that the setuid helper 
can use it.
       new  813a7c6   * Sanity check.
       new  a45c498   * If Nix is not running as root, call the setuid helper 
to start the   builder under the desired build user.
       new  7d8cf31   * Pass the actual build user to the setuid helper.
       new  6a07ff1   * Change the ownership of store paths to the Nix account 
before   deleting them using the setuid helper.
       new  a0a43c3   * When not running as root, call the setuid helper to 
change the   ownership of the build result after the build.
       new  ec23ecc   * In the garbage collector, if deleting a path fails, try 
to fix its   ownership, then try again.
       new  f76fdb6   * If not running as root, let the setuid helper kill the 
build user's   processes before and after the build.
       new  a82d80d   * Move setuidCleanup() to libutil.
       new  c3286ec   * Don't count on the Pid deconstructor to kill the child 
process,   since if we're running a build user in non-root mode, we can't.  Let 
  the setuid helper do it.
       new  d03f0d4   * Check for lchown.
       new  4ca0106   * Rename all those files.
       new  2819eb3   * Be less verbose.
       new  e24d020   * Doh!
       new  6833e8b   * When keeping the temporary build directory (-K), change 
the owner   back to the Nix account.
       new  096194a   * Remove ancient terminology.
       new  d3fe6ab   * Also for convenience, change the ownership of the build 
output even   in case of failure.
       new  9dbfe24   * Kill a build if it has gone for more than a certain 
number of   seconds without producing output on stdout or stderr (NIX-65).  
This   timeout can be specified using the `--max-silent-time' option or the   
`build-max-silent-time' configuration setting.  The default is   infinity (0).
       new  06c4929   * Some refactoring. * Throw more exceptions as 
BuildErrors instead of Errors.  This   matters when --keep-going is turned on.  
(A BuildError is caught   and terminates the goal in question, an Error 
terminates the   program.)
       new  fa33303   * Goal cancellation inside the waitForInput() loop needs 
to be handled   very carefully, since it can invalidate iterators into the   
`children' map.
       new  5f68198   * Use deletePathWrapped() in more places.
       new  b176774   * Use lchown() instead of chown() in 
canonicalisePathMetaData().  This   matters when running as root, since then we 
don't use the setuid   helper (which already used lchown()).
       new  5e66991   
       new  1a7e88b   * New built-in function `builtins.attrNames' that returns 
the   names of the attributes in an attribute set.
       new  7ace29d   * New operation `nix-env --set' which sets a user 
environment to a   single derivation specified by the argument.  This is useful 
when we   want to have a profile for a single derivation, such as a server   
configuration.  Then we can just say (e.g.)
       new  3130f1f   * Push.
       new  b438d37   * In dumpPath(): pass a function object that allows files 
to be   selectively in/excluded from the dump.
       new  a3e6415   * New primop builtins.filterSource, which can be used to 
filter files   from a source directory.  All files for which a predicate 
function   returns true are copied to the store.  Typical example is to leave   
out the .svn directory:
       new  1073b17   * Remove debug message.
       new  cafaceb   * Handle weird cases when the server redirects us while 
setting a cookie.
       new  57969b9   * Testing 1 2 3.
       new  4c63f9f   * Another great success.
       new  50bdec4   * Huge speedup in patch propagation (20 minutes or so to 
3 seconds).
       new  1f3722b   * Reject patches that are larger than a certain fraction 
of the full archive   (currently 60%).  Large patches aren't very economical.
       new  69c8b5b   * Install generate-patches into libexec.
       new  1b7840b   
       new  1115802   * Cleanup.
       new  792878a   * Make printing an expression as XML interruptible.
       new  5011588   * printTermAsXML: treat derivations specially; emit an 
element   <derivation outPath=... drvPath=...> attrs </derivation>.  Only emit  
 the attributes of any specific derivation only.  This prevents   
exponententially large XML output due to the absense of sharing.
       new  05879db   * Memoize strict evaluation.
       new  f23dcdd   * Canonicalise ASTs in `nix-instantiate --eval': remove 
position   info, sort attribute sets.
       new  215505b   * Removed chroot support.
       new  f25f900   * Allow multiple --attr / -A arguments in nix-build / 
nix-instantiate   (NIX-74).
       new  afe23b5   * nix-pack-closure: store the top-level store paths in 
the closure. * nix-unpack-closure: extract the top-level paths from the closure 
and   print them on stdout.  This allows them to be installed, e.g.,   "nix-env 
-i $(nix-unpack-closure)".  (NIX-64)
       new  4e329f1   * Doh.
       new  e418976   * Option --argstr for passing string arguments easily. 
       new  8659edc   * Don't forget the .flags files.
       new  8f67b35   * Make the garbage collector more resilient to certain 
consistency   errors: in-use paths now cause a warning, not a fatal error.
       new  63f3ce6   * `nix-store --verify': revive checking the referrers 
table.  This is   important to get garbage collection to work if there is any   
inconsistency in the database (because the referrer table is used to   
determine whether it is safe to delete a path). * `nix-store --verify': show 
some progress.
       new  e4b0666   * builtins.filterSource: pass the type of the file 
("regular",   "directory", "symlink") as the second argument to the filter   
       new  71ceb1c   * Handle multiple indirect symlinks when loading a Nix 
       new  7bc30e1   * nix-prefetch-url: change the default hash to SHA-256 
(in base-32).
       new  36d9258   * Successors have been gone for ages.
       new  bae75ca   * New kind of manifest object: "localPath", which denotes 
that a store   path can be created by copying it from another location in the 
file   system.  This is useful in the NixOS installation.
       new  fac63d6   * exportReferencesGraph: work on paths within store paths 
as well.
       new  84a84af   * Nasty: Glibc clears the TMPDIR environment variable in 
setuid   programs, so if a builder uses TMPDIR, then it will fail when   
executed through nix-setuid-helper.  In fact Glibc clears a whole   bunch of 
variables (see sysdeps/generic/unsecvars.h in the Glibc   sources), but only 
TMPDIR should matter in practice.  As a   workaround, we reinitialise TMPDIR 
       new  7dedbd8   * filterSource: pass strings to the predicate function 
instead of   paths.  Paths can have unexpected semantics.
       new  7349bd0   New primitives: * `sub' to subtract two numbers. * 
`stringLength' to get the length of a string. * `substring' to get a substring 
of a string.  These should be enough   to allow most string operations to be 
       new  18e6096   * Organise a bit better.
       new  c558b15   * Don't capitalise the primop functions.
       new  b618fa6   * computeStorePathForText: take the references into 
account when   computing the store path (NIX-77).  This is an important 
security   property in multi-user Nix stores.
       new  f52de52   * Doh!
       new  451dbf6   * nix-env now maintains meta info (from the `meta' 
derivation   attribute) about installed packages in user environments.  Thus, 
an   operation like `nix-env -q --description' shows useful information   not 
only on available packages but also on installed packages.
       new  52d0327   * Compatibility with docbook5-xsl.
       new  46605fb   * Fix 64-bit compiler warnings.
       new  8181a1c   * Close the file - just in case.
       new  3390c1b   * Temporary notes on how we're going to use OpenSSL.
       new  b824a1d   * Start of `nix-store --export' operation for serialising 
a store   path.  This is like `nix-store --dump', only it also dumps the   
meta-information of the store path (references, deriver).  Will add   a 
`--sign' flag later to add a cryptographic signature, which we   will use for 
exchanging store paths between build farm machines in a   secure manner.
       new  6c9fdb1   * Don't use $SHELL.
       new  46e0919   * `nix-store --export --sign': sign the Nix archive using 
the RSA key   in /nix/etc/nix/signing-key.sec
       new  43c4d18   * `nix-store --import': import an archive created by 
`nix-store   --export' into the Nix store, and optionally check the 
cryptographic   signatures against /nix/etc/nix/  (TODO: verify 
  against a set of public keys.)
       new  dc7d594   * importPath(): set the deriver. * exportPath(): lock the 
path, use a transaction.
       new  0f5da8a   * Support exportPath() in remote mode.
       new  bdadb98   * `nix-store --import' now also works in remote mode.  
The worker   always requires a signature on the archive.  This is to ensure 
that   unprivileged users cannot add Trojan horses to the Nix store.
       new  65f195f   * Check that the file containing the secret key is secret.
       new  881feb9   * Flag `--print-invalid' in `nix-store --check-validity' 
to print out   which paths specified on the command line are invalid (i.e., 
don't   barf when encountering an invalid path, just print it).  This is   
useful for to figure out which paths need to be   copied to a 
remote machine.  (Currently we use rsync, but that's   rather inefficient.)
       new  9da367b   * `nix-store -qR' and friends: print the paths sorted 
topologically   under the references relation.  This is useful for commands 
that   want to copy paths to another Nix store in the right order.
       new  0db4500   * Export/import many paths in one go.
       new  7f6161a   * Flush cout to show progress.
       new  024a8ed   * New command `nix-copy-closure' to copy a closure to a 
Nix store on   another machine through ssh.  E.g.,
       new  4c5e6d1   * nix-copy-closure: option --sign. * nix-copy-closure: 
set SSH options through NIX_SSHOPTS..
       new  fa2be32   * nix-copy-closure: force a login shell on the remote 
machine to make   sure that nix-store is in the PATH. * nix-copy-closure: 
option --gzip to compress data.
       new  27bb0ac   * /man -> /share/man
       new  ddde8e2   * Handle EINTR in select().
       new  363e307   * Error message to stdout.
       new  adce01a   * When NIX_SHOW_STATS=1, show the amount of stack space 
consumed by   the Nix expression evaluator.
       new  044b648   * Greatly reduced the amount of stack space used by the 
Nix expression   evaluator.  This was important because the NixOS expressions 
started   to hit 2 MB default stack size on Linux.
       new  2ea3beb   * Doh!  The deriver can be empty.
       new  b4a040e   * Don't check the signature unless we have to.
       new  db1973d   * Look for the openssl program at compile time.  If not 
found, call   openssl through $PATH at runtime.
       new  30394a4   * sh -> bash.
       new  df0283a   * Get rid of those stupid --login tricks, it's the 
responsibility of   the remote system to make sure that Nix is in the $PATH.
       new  917e06b   * Delete the output paths before invoking the build hook.
       new  eb2dd48   * Remove old generations in all directories under   
/nix/var/nix/profiles, not just in that directory itself.  (NixOS   puts 
profiles in /nix/var/nix/profiles/per-user.)
       new  b2b6cf3   * Undocumented option `gc-check-reachability' to allow 
reachability   checking to be turned off on machines with way too many roots.
       new  8ab229d   * Terminate build hooks and substitutes with a TERM 
signal, not a KILL   signal.  This is necessary because those processes may 
have joined   the BDB environment, so they have to be given a chance to clean 
up.   (NIX-85)
       new  a8ea4cb   * Scan /proc/sys/kernel/modprobe for roots to prevent the 
kernel   modules for the running kernel from being garbage-collected.  Idem   
for /proc/sys/kernel/fbsplash.
       new  803cb6e   * Override the setuid helper using NIX_SETUID_HELPER.
       new  f3584ff   * Fix URL/description.
       new  7edd2e2   * Refactoring.
       new  d303b38   * `nix-copy-closure --from': copy from a remote machine 
instead of to   a remote machine.
       new  efd3113   * Forgot a @address@hidden
       new  17b506c   * Handle ECONNRESET from the client.  Also, don't abort() 
if there are   unexpected conditions in the SIGPOLL handler, since that messes 
up   the Berkeley DB environment (which a client must never be able to   
       new  4caca58   * Make the maximum patch size configurable.
       new  ae7990c   * Work around a bug in Apple's GCC preprocessor.
       new  2716f9b   * It seems that svnversion prints a carriage return on 
Cygwin, so we   get a invalid #define VERSION.  Use "svnversion -n" to leave 
out the   newline.  Fix provided by Marc Weber.
       new  0a8eeea   * Remove a warning.
       new  5f2492e   * New primop "throw <string>" to throw an error.  This is 
like abort,   only thrown errors are caught by the top-level derivation 
evaluation   in nix-env -qa / -i.
       new  5dc05b7   * Updated dependency information.
       new  b7f0f65   * nix-env -q now has a flag --prebuilt-only (-b<) that 
causes nix-env   to show only those derivations whose output is already in the 
Nix   store or that can be substituted (i.e., downloaded from somewhere).   In 
other words, it shows the packages that can be installed “quickly”,   i.e., 
don’t need to be built from source.
       new  3d05166   * Allow conflicting packages to be kept in a user 
environment, and   allow switching between them (NIX-80).
       new  a46db5d   * Package conflict resolution through priority levels.  
If there is a   user environment collission between two packages due to 
overlapping   file names, then a package with a higher priority will overwrite 
the   symlinks of a package with a lower priority.  E.g.,
       new  89c1d2b   * Package flag "keep" that prevents a package from being 
removed from   a user environment by an install or upgrade action.  This is   
particularly useful if you have a version installed that you don't   want to 
upgrade (e.g., because the newer versions are broken).   Example:
       new  e20f0da   * Doh.
       new  bd1f664   * `nix-env -q --xml --meta' to show all meta attributes.
       new  644946f   * Make --verify more interruptable.
       new  cbfac2f   * Set a terminate() handler to ensure that we leave the 
BDB   environment cleanly even when an exception is thrown from a   destructor. 
 We still crash, but we don't take all other Nix   processes with us.
       new  a9d15d4   * nix-env -i: instead of breaking package ties by 
version, break them   by priority and version install.  That is, if there are 
multiple   packages with the same name, then pick the package with the highest  
 priority, and only use the version if there are multiple packages   with the 
same priority.
       new  93aefd9   * Give unpacked channels more sensible names than 0, 1, 
...  They now   get the basename of the channel URL (e.g., nixpkgs-unstable).  
The   top-level Nix expression of the channel is now an attribute set, the   
attributes of which are the individual channels (e.g.,   {nixpkgs_unstable = 
...; strategoxt_unstable = ...}).  This makes   attribute paths ("nix-env -qaA" 
and "nix-env -iA") more sensible,   e.g., "nix-env -iA 
       new  34d4c93   
       new  30beeb2   * Set the right priorities when recovering from a 
directory   collision.
       new  e5da9c8   * Create the database directory if it doesn't exist.
       new  7046c35   * Typo (reported by Marc Weber).
       new  ca00aa1   * Allow empty argument lists in function definitions 
(e.g., `{}:   bla').  Also allow trailing commas (`{x, y,}: ...') as a 
unintented   consequence.  Hopefully the reduce/reduce conflict won't cause any 
       new  bddc83a   * New builtin function "isFunction".  You're not supposed 
to use it   ;-) * Channels: fix channels that are plain lists of derivations 
(like   strategoxt-unstable) instead  of functions (like nixpkgs-unstable).   
This fixes the error message "error: the left-hand side of the   function call 
is neither a function nor a primop (built-in   operation) but a list".
       new  b47da5e   
       new  40b6f06   change default NIX_HASH_ALGO
       new  f3ebd03   * Remove debug statement.
       new  9bff7ad   * Check against creation of GC roots in the store.  Those 
roots don't   work, because findRoots() stops when it encounters a symlink to 
the   store.  And of course the store is supposed to be read-only.
       new  9d9e1c5   * Distribute bzip2 1.0.4.
       new  6d1a119   * Support queryDeriver() in multi-user installations.
       new  6da6fbf   * Properly keep packages during upgrades.
       new  4cad125   * Optionally warn about packages that give an assertion 
       new  d71cc50   * Don't allocate input files on the stack.
       new  ef240bc   * Use the new patched version of the aterm library.
       new  f881f7a   * nix-prefetch-url: support caching.  If the environment 
variable   NIX_DOWNLOAD_CACHE is set, then nix-prefetch-url will store the hash 
  and timestamp of downloaded files in the directory   $NIX_DOWNLOAD_CACHE.  
This allows it to figure out if the file is   still in the Nix store.
       new  c5e934d   * nix-pull: using nix-prefetch-url (so that we get 
caching for free),   and store the manifests in the Nix store.  (So now   
/nix/var/nix/manifests/ just contains symlinks to the store and is   searched 
for GC roots.)
       new  5e52df1   * Don't rely on /dev/stdin.
       new  911bc01   * Enable nix-prefetch-url caching in nix-channel.
       new  4695f4e   * nix-pull: support bzipped manifests: when doing a 
nix-pull on $url,   try $url.bz2 first.
       new  9e97545   * Get rid of the substitutes database table (NIX-47).  
Instead, if we   need any info on substitutable paths, we just call the 
substituters   (such as directly.  This means that 
  it's no longer necessary for nix-pull to register substitutes or for   
nix-channel to clear them, which makes those operations much faster   (NIX-95). 
 Also, we don't have to worry about keeping nix-pull   manifests (in 
/nix/var/nix/manifests) and the database i [...]
       new  59afc1a   * Backwards compatibility.
       new  3757ee5   * Bump the Nix database schema version number; delete the 
substitutes   table.
       new  550ba9e   * Fix the tests.
       new  a7e1a51   * A test for the nix-worker.
       new  ffa1c61   * Fix the tests.
       new  5c793ad   * Hopefully this fixes the test on FreeBSD.
       new  dbc0170   * Show errors in nix-prefetch-url.
       new  2629998   primop functions listToAttrs (+test), __isAttrs, __trace 
added new configuration style proposal in lib/default-unstable.nix
       new  7d5836b   * nix-channel: supports users who don't have write 
permission to the   manifests directory.  In that case, we don't do a nix-pull, 
so the   user gets pure source deployment.
       new  455a7b9   * Test case to show that parallel builds of different 
fixed-output   derivations that produce the same output path don't work 
properly   wrt locking.  This happens a lot in the build farm when fetchurl   
derivations downloading the same file on different platforms are   executed in 
parallel and then copied back to the main machine.
       new  e0d7e47   * PathLocks::lockPaths: don't allow reacquiring a lock we 
already   hold.
       new  bc0429b   * Doh! Broken test.
       new  c970b28   * Fix a race condition with parallel builds where 
multiple   fixed-output derivations or substitutions try to build the same   
store path at the same time.  Locking generally catches this, but   not between 
multiple goals in the same process.  This happened   especially often 
(actually, only) in the build farm with fetchurl   downloads of the same file 
being executed on multiple machines and   then copied back to the main machine 
where they would clobber each   other [...]
       new  cb1c100   * When there are multiple substituters, make sure to 
release the   lock on the output path after trying each.  Otherwise the   
pathIsLockedByMe() test gets confused.
       new  0d65fc0   * Create the Nix daemon socket in a separate directory   
(/nix/var/nix/daemon-socket).  This allows access to the Nix daemon   to be 
restricted by setting the mode/ownership on that directory as   desired, e.g.
       new  7b20c0e   explanation what happens when passing true / false and 
null values to derivation builders added
       new  9441550   * nix-push / generate-patches: bzip the manifest.
       new  3339f85   * Test the impureEnvVars feature.
       new  0556082   * nix-env: allow ~/.nix-defexpr to be a directory.  If it 
is, then the   Nix expressions in that directory are combined into an attribute 
set   {file1 = import file1; file2 = import file2; ...}, i.e. each Nix   
expression is an attribute with the file name as the attribute   name.  Also 
recurses into directories.
       new  c8ea8a0   * nix-env -qa: make the "-A" flag do the expected thing, 
namely follow   the given attribute path (just as -A does with other option)   
(NIX-83).  So you can now say
       new  26f981c   * Remove garbage.
       new  f3441e6   * Pass various options to the worker so that flags like 
-K or -j work   in multi-user Nix (NIX-72). * Client/worker: exchange a 
protocol version number for future   compatibility.
       new  27f57c9   * Ignore dangling symlinks in ~/.nix-defexpr.
       new  8a9fe6c   * Manpage for nix-copy-closure.
       new  27a0662   * listToAttrs: the list now should consist of {name, 
value} attribute   sets instead of {attr, value}.  "name" is better than "attr" 
because   the *combination* of the two forms the attribute.
       new  a8629de   * New command `nix-store --optimise' to reduce Nix store 
disk space   usage by finding identical files in the store and hard-linking 
them   to each other.  It typically reduces the size of the store by   
something like 25-35%.  This is what the script   did, but 
the new command is faster and more correct (it's safe wrt   garbage collection 
and concurrent builds).
       new  315183f   * nix-store --optimise: flag "--dry-run" to just query 
what the disk   savings would be.
       new  d04291c   * Doh! Don't change the permissions on /nix/store.
       new  14e47e9   * Doh.
       new  f529a3b   Added comment telling about setup-hook and 
       new  f8ed2e6   
       new  f90d851   
       new  1db187f   
       new  35ac16e   * Move list of built-in functions to a separate file.
       new  612b3e8   * Document the new primops in Nix 0.11.
       new  d423968   * Improved introduction (actually copied mostly from the 
       new  cd08fb3   
       new  0b4ed64   * "trace" primop: write the trace to standard error.
       new  9397cd3   * Support for doing builds in a chroot under Linux.  The 
builder is   executed in a chroot that contains just the Nix store, the 
temporary   build directory, and a configurable set of additional directories   
(/dev and /proc by default).  This allows a bit more purity   enforcement: 
hidden build-time dependencies on directories such as   /usr or 
/nix/var/nix/profiles are no longer possible.  As an added   benefit, 
accidental network downloads (cf. NIXPKGS-52) are pre [...]
       new  dc6f373   * Delete the chroot directory automatically. * Removed 
some debug messages.
       new  d91cd30   * Detect whether chroot / bind-mount support is available.
       new  42d80d1   * On FreeBSD, sys/mount.h needs sys/param.h.
       new  0b95603   * Depend on bash instead of sh (since we use a few 
       new  bfea7b1   * Make the `--prebuilt-only' / `-b' option work not just 
for queries   but installations/upgrades as well.  So `nix-env -ub \*' will   
upgrade only those packages for which a substitute is available (or   to be 
precise, it will upgrade each package to the highest version   for which a 
substitute is available).
       new  e007b50   
       new  fa44e40   * Documented multi-user Nix.
       new  1511aa1   * Documented some of the more obscure derivation 
attributes (including   fixed-output derivations).
       new  5f8a203   * A rule to make a PDF version of the manual.
       new  5b74a59   * nix-prefetch-url: don't fail if 
/tmp/nix-prefetch-url-<pid> exists,   instead use a counter just like we do for 
temporary build   directories.
       new  6fc60e2   Added possibility to specify garbage collection levels 
for store paths; so packages can share intermediate results of compilation and 
GC will collect it automatically while never touching tarballs, for example.
       new  bfec245   * Add to the Nix distribution.
       new  149e273   * Don't need gc.hh.
       new  ca210d2   * Doh!
       new  6784b14   * nix-build: pass --argstr to nix-instantiate.
       new  c05783a   * nix-store --import: add a flag --require-signature.
       new  c370755   * Flag `--no-build-hook' to disable distributed builds. * 
queryDeriver in daemon mode: don't barf if the other side returns an   empty 
string (which means there is no deriver).
       new  06f95dd   * New primop `readFile' to get the contents of a file as 
a string.
       new  12d0a1e   * Troubleshooting entry about running out of locks.
       new  6335186   * nix-env -e: support uninstalling by path, so that one 
can say
       new  6d6c68c   * Added a new kind of multi-line string literal delimited 
by two   single quotes.  Example (from NixOS):
       new  d4950f2   * component -> package.
       new  b42ef9c   * Syntax to escape '', ${.
       new  764b011   Very basic nix vim syntax highlighting
       new  3a2833d   corrected --help message for nix-store a bit
       new  4ff1335   small udpate
       new  30e4653   * Mac OS X 10.5 compatibility.
       new  485d71c   * Mac OS X 10.5 compatibility: `echo -n foo' suddenly 
prints `-n foo'   instead of `foo' without a newline (with /bin/sh, not 
/bin/bash,   even though /bin/sh is also bash...).  So use printf instead.
       new  1e90b41   * Another insane Mac OS X 10.5 compatibility hack.
       new  df30366   * Use strsignal if available to give better error 
messages for   builders that fail due to a signal.
       new  2196cb6   Added a way to include derivation with its outputs and 
dependencies - exportBuildReferenceGraph
       new  de012e7   * Don't use "store expression", it's obsolete.
       new  5970797   * Documented indented string literals. * Release notes.
       new  b5ddcf5   * Fix the hashDerivationModulo test.  I should really 
investigate   *why* the test failed...
       new  dedd62d   * More release notes.
       new  f60aa2a   
       new  4c82983   
       new  454f571   
       new  6bdecfa   * Documented a bunch of nix-store commands.
       new  e0ca671   * More documentation.
       new  d411785   
       new  895c953   * Bumped the version number to 0.12.
       new  7d0f6ae   * New primop `unsafeDiscardStringContext' to get rid of 
string   contexts.  Needed to prevent unnecessary dependencies when building   
the NixOS manual.
       new  5eb5c23   Fixed exportBuildReferenceGraph
       new  5b5a3af   Probably fixed __exprToString
       new  66c51dc   * nix-store --dump-db / --load-db to dump/load the Nix 
DB. * nix-store --register-validity: option to supply the content hash of   
each path. * Removed compatibility with Nix <= 0.7 stores.
       new  e7bdde9   * Regression test.
       new  4066f45   * Doh.
       new  0ed89c5   * Fix the parsing of
       new  0a84137   * checkVarDefs: don't check in closed terms, which don't 
have   undefined variables by definition.  This matters for the   
implementation of "with", which does a call to checkVarDefs to see   if the 
body of the with has no undefined variables.  (It can't be   checked at parse 
time because you don't know which variables are in   the "with" attribute set.) 
 If we check closed terms, then we check   not just the with body but also the 
substituted terms, which are   typi [...]
       new  11d512e   Added nix-reduce-build. You point it to some path you 
want to build and it fetches whatever it can from specified computers via 
nix-copy-closure. NOTE: You do want to set up RSA keys or ssh-agent or 
something... You really do want it. It will run separate ssh instances insane 
number of times.
       new  d7caac3   * Don't install nix-reduce-build by default yet please, I 
first want   to understand better what it does...
       new  f789ea1   * A transaction is unnecessary since the path cannot be   
garbage-collected (it's a temporary root).
       new  f106868   * Cleanup.
       new  2f1e2cf   * Note that the SDF grammar isn't used.
       new  98968fb   * Disable the don't-run-as-root sanity check because it 
breaks RPM   builds (which are done as root...).
       new  5bb08db   * Updated URL.
       new  3290252   * Use /tmp/nix-build-<drvpath>-<counter> instead of   
/tmp/nix-<pid>-<counter> for temporary build directories.  This   increases 
purity a bit: many packages store the temporary build path   in their output, 
causing (generally unimportant) binary differences.
       new  f8985d1   * Fix for NIX-101 (should use an absolute path for call 
to nix-hash).
       new  72034ab   * sockaddr_un doesn't allow path names of more than 108 
characters.   This isn't usually a problem, except that it causes tests to fail 
  when performed in a directory with a very long path name.  So chdir   to the 
socket directory and use a relative path name.
       new  658816d   * Make really sure that we use bash.  The line
       new  b1e321d   Added http alternative transport for nix-reduce-build
       new  b4bc8b7   --proxy=proxy:3128
       new  9819bb2   Added support for file:// archive (.nar.gz) repositories 
to nix-reduce-build. /tmp/nix-export created by nix-http-export.cgi is OK.
       new  bd955e1   * GCC 4.3.0 (Fedora 9) compatibility fixes.  Reported by 
Gour and   Armijn Hemel.
       new  c41a3ec   First attempt to update Nix SDF grammar to match the 
actual bison grammar
       new  4ed01ed   * Updated some URLs (did this a long time ago but forgot 
to   commit...).
       new  b0e92f6   * Merged the no-bdb branch (-r10900:HEAD
       new  997b95a   * Fixed compatibility with old versions of "wc" that 
print whitespace   before the count.
       new  2818b7c   * Updated some URLs.
       new  4532e4b   Added verbosity for nix-reduce-build
       new  ce85b55   Updated help text
       new  f903d86   OK, I will believe that fix does no worse..
       new  194c66e   Stupid error in script
       new  30c9f90   * Print some progress info during the early GC stages.
       new  826b271   * Garbage collector: don't do a complete topological sort 
of the Nix   store under the reference relation, since that means that the   
garbage collector will need a long time to start deleting paths.   Instead just 
delete the referrers of a path first.
       new  18e2762   Added local best-effort builds (i.e. one failure does not 
ruin all packages you would like to see built)
       new  955b884   Also trying to build derivers in case we cannot get 
       new  94fd46f   * Note.
       new  f351834   * nix-worker: clean up the temporary root for the worker 
processes   in /nix/var/nix/temproots.
       new  ee8f159   * Test instrumentation.
       new  934c58a   * Use bzip2 1.0.5.
       new  a72709a   * Some refactoring: put the GC options / results in 
separate structs. * The garbage collector now also prints the number of blocks 
       new  a8f3b02   * `nix-store --optimise': handle files with >= 32000 hard 
links.   (There can easily be more than 32000 occurrences of the empty file.)
       new  d3aa183   * Garbage collector: option `--max-freed' to stop after 
at least N   bytes have been freed, `--max-links' to stop when the Nix store   
directory has fewer than N hard links (the latter being important   for very 
large Nix stores on filesystems with a 32000 subdirectories   limit).
       new  5af8413   * --max-freed: support values >= 4 GB.
       new  6c8641a   
       new  b3b0b2a   * `make ext-clean': remove the bzip2 build.
       new  d567baa   * Export the nix-env derivation name parsing and version 
comparison   logic through the `parseDrvName' and `compareVersions' primops.   
This will allow expressions to easily check whether some dependency   is a 
specific needed version or falls in some version range.  See   
tests/lang/eval-okay-versions.nix for examples.
       new  7cd88b1   * Generalised the dependencyClosure primop to 
builtins.genericClosure,   which is hopefully more useful. * New primops: 
length, mul, div.
       new  15f39ab   * Quick prototype of a substituter that copies paths from 
other Nix   stores (typically remote Nix stores mounted via e.g. NFS, or the 
Nix   store on the NixOS installation CD).  Example use:
       new  8bc591a   * Use the copy-from-other-stores substituter by default.  
Of course,   it only does something if $NIX_OTHER_STORES (not really a good   
name...) is set. * Do globbing on the elements of $NIX_OTHER_STORES.  E.g. you 
could   set it to /mnts/*/nix or something. * Install substituters in 
       new  989176c   * Allow read-only access to the store (e.g., non-root 
users on NixOS   can do operations like "nix-store -qR <path>" even without the 
Nix   daemon).
       new  e139d7f   * Fix the tests.
       new  660244f   * Make sure that is built.
       new  096198d   * A quick hack to make nix-prefetch-url support mirror:// 
URLs.  It   requires that $NIXPKGS_ALL points at a Nixpkgs tree.
       new  fc691e1   * Print a better error message when a non-derivation 
attribute set is   coerced to a string.
       new  3c92ea3   * Make nix-env --dry-run print the paths to be 
substituted correctly   again.  (After the previous substituter mechanism 
refactoring I   didn't update the code that obtains the references of 
substitutable   paths.)  This required some refactoring: the substituter 
programs   are now kept running and receive/respond to info requests via   
       new  b3c2618   Updates to nix-reduce-build: only realize fixed 
derivations if user asks so, or only use substituters. Oh, and add possibility 
to use : for things like /etc/nixos/nixpkgs:-A:gnused
       new  03427e7   * querySubstitutablePathInfo: work properly when run via 
the daemon. * --dry-run: print the paths that we don't know how to 
       new  c4f9894   * nix-env --dry-run: show the total size of the 
substituter   downloads.
       new  5b10526   * Always show what paths we're going to build/download 
(as in   --dry-run).  Maybe there should be an option to turn this on/off?
       new  5adbb0a   * only use a substituter if it returns info for 
a path.
       new  4204395   * Doh.
       new  a1d310b   * `nix-store --realise': print what paths will be 
built/downloaded,   just like nix-env. * `nix-store --realise': --dry-run 
       new  7592f48   * nix-build: `--dry-run' flag.
       new  001b3f0   * `nix-env --set': support --dry-run.
       new  a87b525   * Fix the tests.
       new  339c142   * Use optimistic profile locking for nix-env operations 
like `-i' and   `-u'.  Instead of acquiring an exclusive lock on the profile 
for the   entire duration of the operation, we just perform the operation   
optimistically (without an exclusive lock), and check at the end   whether the 
profile changed while we were busy (i.e., the symlink   target changed).  If 
so, the operation is restarted.  Restarting is   generally cheap, since the 
build results are still in the [...]
       new  98b0746   * Better error checking of the data from the substituters.
       new  72f3ea7   * Moved some stuff to the Nixpkgs manual. * Updated the 
release notes.
       new  b455c4c   Updates to nix-reduce-build
       new  5664b6d   * Removed the "valid values" feature.  Nobody uses it 
       new  c03b729   * Increase the sleep periods a bit to make the test less 
likely to   fail on slow machines.  Of course it would be better if this test   
wasn't timing dependent...
       new  efe4b69   * Refactoring: combine functions that take an attribute 
set and   functions that take a single argument (plain lambdas) into one AST   
node (Function) that contains a Pattern node describing the   arguments.  
Current patterns are single lazy arguments (VarPat) and   matching against an 
attribute set (AttrsPat).
       new  e818838   * "pattern" non-terminal.
       new  1b962fc   * @-patterns as in Haskell.  For instance, in a function 
       new  db4f4a8   * Backward compatibility check to prevent nixos-rebuild 
from barfing   when upgrading Nix.
       new  9279174   * Added an experimental feature suggested by Andres: 
ellipses ("...")   in attribute set pattern matches.  This allows defining a 
function   that takes *at least* the listed attributes, while ignoring   
additional attributes.  For instance,
       new  ca07f3e   * Another experimental feature: a way to truly override 
attributes in   a rec.  This will be very useful to allow end-user 
customisation of   all-packages.nix, for instance globally overriding GCC or 
some other   dependency.  The // operator doesn't cut it: you could replace the 
  "gcc" attribute, but all other attributes would continue to   reference the 
original value due to the substitution semantics of   rec.
       new  b7ff182   Fixing an obvious typo in override code. I do not know 
whether it works correctly after the change, but at least it ca nbe compiled 
       new  51e2dda   * Some more ATerm Valgrind suppressions.
       new  cc826dc   * Simplify the Valgrind suppressions using wildcards.
       new  b428adc   * Strip off the `.nix' suffix from the attribute name for 
files in   ~/.nix-defexpr,  otherwise the attribute cannot be selected with the 
  `-A' option.  Useful if you want to stick a Nix expression directly   in 
       new  49829da   * Doh.
       new  c4f1c21   * Minor simplification.
       new  abec1c0   * Evaluate attributes in sorted order for better 
       new  d06be42   * Disable chroot builds for fixed-output derivations so 
that we don't   need /etc in the chroot (in particular, /etc/resolv.conf for   
fetchurl).  Not having /etc/resolv.conf in the chroot is a good   thing, since 
we don't want normal derivations to download files.
       new  99dc3e6   * Require that __overrides is defined as a non-recursive 
attribute   (which means it can only be defined via "inherit"), otherwise we 
get   scoping bugs, since __overrides can't be recursive (or at least, it   
would be hard).
       new  9cc0da8   * Create a /tmp with 1777 permission in the chroot.  Some 
builders   need a writable /tmp (they don't respect $TMPDIR).
       new  7718b19   * Explicitly set PWD to prevent problems with chroot 
builds.  In   particular, dietlibc cannot figure out the cwd because the inode 
of   the current directory doesn't appear in .. (because getdents returns   the 
inode of the mount point).
       new  2a01d06   Added nix-http-export.cgi to extra distributed scripts; 
so it can be installed from releases, not only from SVN.
       new  311c222   
       new  0f0dbe8   * Extend the ATerm suppressions to 64-bit.
       new  7933cdc   * When writing the user environment manifest, filter out 
non-string   attributes from the meta attribute.  Not doing so caused nix-env 
to   barf on the "psi" package, which has a meta.function attribute,   the 
textual serialisation of which causes a gigantic string to be   produced --- so 
big that it causes nix-env to run out of memory.
       new  2b2aa8a   * Doh.
       new  7ab6896   * Garbage collector: added an option `--use-atime' to 
delete paths in   order of ascending last access time.  This is useful in 
conjunction   with --max-freed or --max-links to prefer deleting non-recently 
used   garbage, which is good (especially in the build farm) since garbage   
may become live again.
       new  77afd97   * nix-store --gc / --delete: show how many store paths 
were deleted.
       new  c987061   * Some refactoring.  Better output with `-v' for 
       new  4af2fdb   * Typo.
       new  f32fef1   * GC option `--max-atime' that specifies an upper limit 
to the last   accessed time of paths that may be deleted.  Anything more 
recently   used won't be deleted.  The time is specified in time_t,   e.g. 
seconds since 1970-01-01 00:00:00 UTC; use `date +%s' to   convert to time_t 
from the command line.
       new  fa61ee7   * Fix `--from-profile'.
       new  9d6d502   * Bug fix for building on some old installations 
(contributed by Pjotr).
       new  c98ea25   libstore: Always mount `/dev/pts' individually.
       new  709b55e   * Put the chroots under /nix/var/nix/chroots to reduce 
the risk of   disasters involving `rm -rf' on bind mounts.  Will try the   
definitive fix (per-process mounts, apparently possible via the   CLONE_NEWNS 
flag in clone()) some other time.
       new  2b7c839   * Typo.
       new  4166b11   * Add /dev/pts to the default nix.conf.
       new  96598e7   * Pass the --no-build-output flag to the daemon.
       new  a519bb0   * Some somewhat ad hoc mechanism to allow the build farm 
to monitor   build progress.
       new  6fedb7a   * Restore SIGPIPE to SIG_DFL when running the builder.  
This prevents   subtle and often hard-to-reproduce bugs where programs in pipes 
  either barf with a "Broken pipe" message or not, depending on the   exact 
timing conditions.  This particularly happened in GNU M4 (and   Bison, which 
uses M4).
       new  3f4ed68   * Prevent zombies.  Previous the SIGCHLD handler only 
reaped one   zombie at a time, so if multiple children died before the handler  
 got to run, some of them would not be cleaned up.
       new  fa79111   * Get rid of nix-pack-closure / nix-unpack-closure, 
they're redundant.
       new  f5325d2   * Release notes.
       new  07d3a38   * Remove references to Berkeley DB, including most of the 
  troubleshooting section.  W00t.
       new  6c2c771   * Removed obsolete option.
       new  2369b12   * Install documentation in $(docdir) (i.e. share/doc/nix).
       new  7509d70   * Documented some of the sharing mechanisms.
       new  5d250ad   * nix-store --dump-db: be more streamy.
       new  e13da52   * Files in the info directory starting with "." are 
temporary files   and don't indicate path validity.
       new  63ccd72   * Updated the manual.
       new  2668a43   
       new  6056441   * Patterns.
       new  aab530e   * Primop builtins.storePath for declaring a store path as 
a   dependency.  `storePath /nix/store/bla' gives exactly the same   result as 
`toPath /nix/store/bla', except that the former includes   /nix/store/bla in 
the dependency context of the string.
       new  c202523   
       new  a551134   * Nix daemon: reload the configuration file after forking 
       new  285d263   * Don't set the prefix to /nix by default, rather use the 
Autoconf   default of /usr/local.  However, localstatedir and storedir are set  
 to /nix/var/nix and /nix/store respectively unless they're   explicitly 
       new  3d2035e   * Blindly doing a replacement of occurences of $bindir 
(when running   the tests) is a bad idea when $bindir = /usr and some programs 
(like   perl) live there.  Fortunately it doesn't seem to be needed anymore.
       new  eb86b6f   
       new  4213b8d   * Urgh.
       new  53cca4a   
       new  f3e2e60   
       new  bba8758   
       new  b8eb32f   * Urgh.
       new  6bbff48   
       new  2ab09a5   * Bump the version number.
       new  5024bde   * Handle prematurely ended logfiles, i.e. make sure we 
emit enough   close tags.
       new  0c478d2   * Ignore carriage returns.
       new  5d4eb9d   * Moved the build farm job for building Nix to the Nix 
       new  09bc0c5   * Install the release notes.
       new  64519cf   * Unify the treatment of sources copied to the store, and 
recursive   SHA-256 outputs of fixed-output derivations.  I.e. they now produce 
  the same store path:
       new  1307b22   * Made addToStore() a lot more efficient: it no longer 
reads the path   being copied 3 times in the worst case.  It doesn't run in 
constant space,   but it didn't do that anyway.
       new  ff762fb   * Pass HashType values instead of strings.
       new  d95b68f   
       new  cdee317   * Backwards compatibility.
       new  5eaf644   * A simple API for parsing NAR archives.
       new  82ae85d   * addToStore() in nix-worker: don't write the NAR dump 
received from   the client to a temporary directory, as that is highly 
       new  f8713e1   * Dirty hack to make nix-push work properly on 
derivations: the   derivation should be a source rather than a derivation 
dependency of   the call to the NAR derivation.  Otherwise the derivation (and 
all   its dependencies) will be built as a side-effect, which may not even   
       new  63b8f09   
       new  9fd9c4c   * Support multiple system types per remote machine, e.g. 
a machine   list like
       new  9ccdb80   * Don't ignore errors from writing to stderr.  That way, 
when   nix-store -r (or some other operation) is started via ssh, it will   at 
least have a chance of terminating quickly when the connection is   killed.  
Right now it just runs to completion, because it never   notices that stderr is 
no longer connected to anything.  Of course   it would be better if sshd would 
just send a SIGHUP, but it doesn't   
       new  5dfba0b   * Force allocation of a pseudo-terminal to clean up the 
remote   nix-store process when the connection is interrupted.
       new  909fbb9   * When using build hooks, for any nix-store -r build 
operation, it is   necessary that at least one build hook doesn't return 
"postpone",   otherwise nix-store will barf ("waiting for a build slot, yet 
there   are no running children").  So inform the build hook when this is   the 
case, so that it can start a build even when that would exceed   the maximum 
load on a machine.
       new  9850262   * Build RPMs, Debs, coverage analysis.
       new  bcfe98a   * Prefer building on a remote machine over a local 
machine.  This   makes more sense for the build farm, otherwise every nix-store 
  invocation will lead to at least one local build.  Will come up with   a 
better solution later...
       new  9ac3f5d   * Propagate --max-silent-time to remote machines.
       new  d91dc08   
       new  67958f2   * Be sure to clean up the daemon if the test fails.
       new  5b94924   * Build some 64-bit RPMs/Debs.
       new  cd16d5d   * Doh.
       new  a0766ec   * Build on Debian 4.0 (GCC 4.1.1).
       new  07cdfb0   * Open the connection to the daemon lazily (on demand) so 
that   read-only operations (like nix-env -qa) work properly when the   daemon 
isn't running.
       new  7c54f16   * Do chroot builds in a private namespace.  This means 
that all the   bind-mounts we do are only visible to the builder process and 
its   children.  So accidentally doing "rm -rf" on the chroot directory   won't 
wipe out /nix/store and other bind-mounted directories   anymore.  Also, the 
bind-mounts in the private namespace disappear   automatically when the builder 
       new  5a56950   * Provide a minimal /etc/passwd in the chroot to keep 
some builders   happy.
       new  6528170   * Revert r13150: now that we use private namespaces for 
the chroot, we   don't have to put the chroot in /nix/var/nix/chroots anymore.  
 They're back in /tmp now.
       new  ac5478e   * Don't provide the whole Nix store in the chroot, but 
only the   closure of the inputs.  This really enforces that there can't be any 
  undeclared dependencies on paths in the store.  This is done by   creating a 
fake Nix store and creating bind-mounts or hard-links in   the fake store for 
all paths in the closure.  After the build, the   build output is moved from 
the fake store to the real store.  TODO:   the chroot has to be on the same 
filesystem as the Nix stor [...]
       new  d86bd22   * Define _GNU_SOURCE.  Hopefully this fixes the build on 
Debian 4.0   (
       new  6776a52   * Use a PathSet for the chroot directories so that we 
don't   accidentally bind-mount a directory twice.
       new  9122dce   * We can't use string objects in signal handlers because 
they might   allocate memory, which is verboten in signal handlers.  This 
caused   random failures in the test suite on Mac OS X (triggered by the 
spurious   SIGPOLL signals on Mac OS X, which should also be fixed).
       new  2b70a8e   * Detect whether unshare() is available.
       new  ac36c6c   * Some hackery to make "make check" succeed on Cygwin.
       new  0008b00   * Simplify deleting .lock files in /nix/store: just don't 
delete them   if they belong a path that's currently being built.  This gets 
rid   of some Cygwin-specific code.
       new  92cb7c4   * Put chroots in the Nix store.  This ensures that we can 
create hard   links to the inputs.
       new  6f6bb1f   * Delete the chroot if it already exists (e.g. left over 
from an   interrupted build).
       new  60ec750   * Pass --use-atime / --max-atime to the daemon.
       new  8fce03e   * nix-store --verify: repair bad hash fields in the 
metadata file.
       new  28355da   * Removed reference to, which is 
RIP after 9   years of loyal service :-)
       new  8e39d9b   * Make Nix build with Bison 2.4.
       new  c504d90   * Support i686-linux builds directly on x86_64-linux Nix  
 installations.  This is implemented using the personality() syscall,   which 
causes uname to return "i686" in child processes.
       new  4ce692d   
       new  0191761   * When using a build hook, distinguish between transient 
failures   (e.g. an SSH connection problem) and permanent failures (i.e. the   
builder failed).  This matters to Hydra (it wants to know whether it   makes 
sense to retry a build).
       new  061141e   * Make it compile on Debian 4.0 (which doesn't define 
PER_LINUX32_3GB   in sys/personality.h).
       new  110606d   Add the "addErrorContext" builtin to add more information 
in the stack trace.
       new  6f8c96d   vim syntax:  support for indented strings ('' .. '')
       new  b682fae   * Build hooks: use nix-store --import.  This prevents a 
redundant   scan for runtime dependencies (i.e. the local machine shouldn't do 
a   scan that the remote machine has already done).  Also pipe directly   into 
`nix-store --import': don't use a temporary file.
       new  1bb0f1e   * Build hook: compress the transferred data.
       new  1407a1e   added primop functions __isBool, __isString, __isInt
       new  2ef579d   documentation for previous commit
       new  824b154   * Release output locks as soon as possible, not when the 
destructor of   the DerivationGoal runs.  Otherwise, if a goal is a top-level 
goal,   then the lock won't be released until nix-store finishes.  With   
--keep-going and lots of top-level goals, it's possible to run out   of file 
descriptors (this happened sometimes in the build farm for   Nixpkgs).  Also, 
for failed derivation, it won't be possible to   build it again  until the lock 
is released.
       new  621093c   Replace wrong (w.r.t. PATH) sed call with in-shell 
       new  041717e   * download-using-manifests: don't check the cryptographic 
hash of   downloaded files; rather, check the hash of the unpacked store   path.
       new  a7cee52   * Handle base-16 hashes in manifests.
       new  f052c10   * Check the manifest version.
       new  8ab6bc5   * nix-channel: use nix-build.
       new  60cb7de   * Allow options from the Nix config file to be overriden 
from the   command line (e.g. "--option build-use-chroot true").
       new  fd2e14b   * nix-build: support --option.
       new  d4ca5c3   * Use the regular progress bar; the hash bar isn't very 
useful when   the size of the download isn't known in advance.
       new  1273d35   * nix-install-package: don't pollute 
       new  7f25470   * Allow the channel to declare a name for itself.
       new  0e6f604   * Install some headers in the right location.
       new  d4753c9   
       new  a96cac0   
       new  be88248   * Make the version available to release.nix.
       new  33ecb42   * Cleanup.
       new  2d51144   * Regression test for the `exportReferencesGraph'   
derivation attribute.
       new  51e7e32   * Refactoring: renamed * to *.nix.
       new  93b6926   * Regression test for exportBuildReferencesGraph.  It 
currently fails.
       new  1dcf208   * Clean up some tests (use nix-build where appropriate).
       new  c183ee5   * Acquire the locks on the output paths before trying to 
run the build   hook.  This fixes a problem with log files being partially or   
completely filled with 0's because another nix-store process   truncates the 
log file.  It should also be more efficient.
       new  13df391   * Missing file.
       new  9485ec3   * Better cleanup after tests.
       new  e530e0a   * Improve the test.
       new  2897286   * Unify exportReferencesGraph and 
exportBuildReferencesGraph, and make   sure that it works as expected when you 
pass it a derivation.  That   is, we have to make sure that all build-time 
dependencies are built,   and that they are all in the input closure (otherwise 
remote builds   might fail, for example).  This is ensured at instantiation 
time by   adding all derivations and their sources to inputDrvs and inputSrcs.
       new  b88460b   * Disregard the Hash field in manifests.
       new  7e05b8b   * Future proofing: assume we can read manifests up to 
version 10   (which should therefore be backwards compatible).
       new  77d2726   * NAR archives: handle files larger than 2^32 bytes.  
Previously it   would just silently store only (fileSize % 2^32) bytes. * Use 
posix_fallocate if available when unpacking archives. * Provide a better error 
message when trying to unpack something that   isn't a NAR archive.
       new  7a57b29   * Better error message when nix-store --import is applied 
to garbage   (previously it would likely say "implementation cannot deal with > 
  32-bit integers").
       new  d7b2d11   * Test case (currently fails): multiple Nix builds 
shouldn't block   waiting on the same lock when there are other builds that can 
be   done.
       new  58969fa   * Refactoring.
       new  cacff1b   * No longer block while waiting for a lock on a store 
path.  Instead   poll for it (i.e. if we can't acquire the lock, then let the 
main   select() loop wait for at most a few seconds and then try again).   This 
improves parallelism: if two nix-store processes are both   trying to build a 
path at the same time, the second one shouldn't   block; it should first see if 
it can build other goals.  Also, it   prevents the deadlocks that have been 
occuring in Hydra lately, [...]
       new  3a87163   * Shut up a GCC warning.
       new  7aedcf9   * Make this test a bit more robust.  It's still timing 
dependent   though.
       new  12c8c64   
       new  a046858   * Doh.
       new  8146a0c   * Use bash in the tests.
       new  7024a1e   * Removed the test; it's redundant because of 
the extended test.  Also, don't call multiple nix-builds in 
parallel,   since they can race creating .nix-build-tmp-derivation.
       new  92f525e   * Negative caching, i.e. caching of build failures.  
Disabled by   default.  This is mostly useful for Hydra.
       new  5dd8fb2   * Don't use ULLONG_MAX in maxFreed - use 0 to mean "no 
limit".   18446744073709551615ULL breaks on GCC 3.3.6 (`integer constant is   
too large for "long" type').
       new  9856efc   * Support doing a fully static build.  Statically linked 
Nix binaries   will be useful as a fallback on platforms for which there are no 
  RPMs/Debs available.
       new  6168692   * A job for creating a fully statically linked binary 
       new  cb85bc3   * Create /nix/store if it doesn't exist.
       new  e23a7a8   * Debian 5.0, Ubuntu 8.10 builds.
       new  38f98b3   * Argh, stupid timing sensitive tests...
       new  f54e800   * The `fixedOutput' variable didn't get initialised when 
using a build   hook, causing negative caching to fail randomly.
       new  7fb548a   * Clean up the output a bit.
       new  3a2bbe7   * Simplify communication with the hook a bit (don't use 
file   descriptors 3/4, just use stdin/stderr).
       new  c7152c8   * Don't use the non-standard __gnu_cxx::stdio_filebuf 
       new  6e946c8   * Scan for references and compute the SHA-256 hash of the 
output in   one pass.  This halves the amount of I/O.
       new  47706e3   * nix-copy-closure: compute the closure in one call to 
nix-store,   which is much faster.
       new  737423a   * Use polling to wait for a remote build slot when using 
a build hook   (that is, call the build hook with a certain interval until it   
accepts the build). * was totally broken: for all system types 
other than   the local system type, it would send all builds to the *first*   
machine of the appropriate type.
       new  7377195   * With `--max-jobs 0', print a nicer error message than 
"Assertion   `!awake.empty()' failed."
       new  cbc1f57   * Undocument the "system" option.  No sane person would 
use it :-)
       new  096affb   * Update the mtime on the lock file to make it easy to 
see when a slot   was last used.
       new  805144b   * Make the poll interval configurable.
       new  160a60d   
       new  cff2b2a   * Doh!
       new  351bf65   * Do a substitution even if --max-jobs == 0.
       new  50cb6f9   * Debian packages: use /etc, not /usr/etc.
       new  8b2a01a   * Release notes.
       new  435a93b   * Remove references to __XXX primops.
       new  dfb863f   * Don't cache transient build hook problems.
       new  0460ea4   * Cleanup.
       new  4e646b0   * Fix a few "comparison is always false/true due to 
limited range of   data type" warnings on 64-bit platforms.  The one in 
parser.y is   likely to be a real bug.
       new  8f1bf28   * nix-store --verify: don't bail out if a referenced path 
is missing.   (It can't fix it though.)
       new  d5eab2f   * Use foreach in a lot of places.
       new  c710fe5   * Machines of type x86_64-linux can do i686-linux builds.
       new  098cb9d   Add an ftruncate call paired with fallocate to play safe 
with  some FSes (namely, BtrFS fallocate sets file size to allocated size, i.e. 
multiple of block size)
       new  6a5599f   * Typo.
       new  52a9ba9   * Include the version file.
       new  7660e2a   * Remove a right recursion that causes the parser to barf 
on very long   lists.  The comment about ATreverse requiring unbounded stack 
space   was unfounded anyway.
       new  404996c   * Produce the manual in the tarball job.
       new  f751c29   * Don't have a bugs section in the manual.  Bugs should 
be kept in the   bug tracker.
       new  83bd320   * Build a PDF version of the manual in the tarball job 
(it's not   included in the tarball though).
       new  9536ba1   
       new  c34e6d7   * Disallow equality tests between attribute sets.  This 
was always   broken, but now the evaluator checks for it to prevent Nix   
expressions from relying on undefined behaviour.  Equality tests are   
implemented using a shallow pointer equality test between ATerms.   However, 
because attribute sets are lazy and contain position   information, this can 
give false positives.  For instance,   previously
       new  50d11b9   * Allow unsafe (unspecified) comparisons between attrsets 
unless   NIX_NO_UNSAFE_EQ is set, for now.
       new  e429754   * Check for duplicate attributes in fixAttrs, rather than 
doing a   separate traversal after parsing.  Likewise, check for duplicate   
pattern variables right away.
       new  d407d57   * Some syntactic sugar for attribute sets: allow {x.y.z = 
...;} as a   shorthand for {x = {y = {z = ...;};};}.  This is especially useful 
  for NixOS configuration files, e.g.
       new  a64bbe0   * Change the scoping of "inherit (e) ..." in recs so that 
the   attributes of the rec are in scope of `e'.  This is useful in   
expressions such as
       new  c6cb792   
       new  f24cf5d   * nix-build: if nix-instantiate or nix-store fails due to 
a signal   (e.g. out of memory or a segfault), print an error message.   
Otherwise the user doesn't see anything.
       new  14bc3ce   * Canonicalise timestamps in the Nix store to 1 
(1970-01-01 00:00:01   UTC) rather than 0 (00:00:00).  1 is a better choice 
because some   programs use 0 as a special value.  For instance, the Template   
Toolkit uses a timestamp of 0 to denote the non-existence of a file,   so it 
barfs on files in the Nix store (see   template-toolkit-nix-store.patch in 
Nixpkgs).  Similarly, Maya 2008   fails to load script directories with a 
timestamp of 0 and can't be   patched bec [...]
       new  d53603c   * Attributes names in attrsets can contain dots now.
       new  a2fc3a5   * Highlight URLs containing "=" properly.
       new  f2c3fc5   * Don't show trace information by default (`--show-trace' 
to enable).   NixOS evaluation errors in particular look intimidating and   
generally aren't very useful.  Ideally the builtins.throw messages   should be 
       new  749dd97   * Support integers and lists of strings in meta fields.  
This is   useful for fields like meta.maintainers, meta.priority (which can be  
 a proper integer now) and even meta.license (if there are multiple   licenses).
       new  c6890d6   * Replace newlines in table output with spaces.
       new  5e2e2f1   
       new  1f169f4   * Leave out the collaborators / revision history page.
       new  d413612   * Remove the redundant <sections> around refentries.
       new  20b6f94   * nix-build: pass the --show-trace flag.
       new  9b46d1a   
       new  5e9a4e5   
       new  3bca893   Adding tryEval builtin. It allows to catch presence of 
errors in an expression.
       new  0dbd463   * Two primops: builtins.intersectAttrs and 
builtins.functionArgs.   intersectAttrs returns the (right-biased) intersection 
between two   attribute sets, e.g. every attribute from the second set that 
also   exists in the first.  functionArgs returns the set of attributes   
expected by a function.
       new  57e0d73   * allow the system type to be a 
comma-separated list   of system types.  Don't treat the x86_64-linux system 
type   specially.
       new  86408b3   * Pick machines in a round-robin order, 
rather than   giving jobs to the first machine until it hits its job limit, 
then   the second machine and so on.  This should improve utilisation of   the 
Hydra build farm a lot.  Also take an optional speed factor   into account to 
cause fast machines to be preferred over slower   machines with a similar load.
       new  e1df4ef   
       new  d3de71e   
       new  df05a75   * In "make init-state", ignore errors creating 
/nix/store.  Hack to   get the Debian VM builds to work (where /nix/store is a 
mount point   containing the store of the host).
       new  51ad64c   * Use xmllint (>= 2.7.4) for RelaxNG validation instead 
of Jing.
       new  48b5861    * include wait.h for WEXITSTATUS
       new  64e8998   * Create some state directories automatically as a 
       new  676e079   * Darwin hack.
       new  63a17d4   * Don't build against BDB on Cygwin, it's been broken for 
unknown   reasons for a while (e.g.
       new  1332dd1   * tryEval shouldn't catch all exceptions of type Error, 
since not all   of them leave the evaluator in a continuable state.  Also, it 
should   be less chatty.
       new  0ae2be5   
       new  193f59e   * Fix a build failure on Fedora 11.  rename() needs 
       new  c7057fc   * And some more.
       new  0f79ad4   
       new  1a8f8fd   * OpenSolaris compatibility.
       new  96f1517   * Support platforms that don't have O_ASYNC (e.g. 
OpenSolaris   apparently).
       new  18f0ff0 use AC_SYS_LARGEFILE to determine how to 
enable 64-bit file size support
       new  53a4981   Added optional parameter which adds -lnsl -lsocket to 
make the Nix package manager work on OpenSolaris
       new  6f7d7bc   * Give a useful error message when an evaluation error 
occurs while   trying to upgrade a package.
       new  437077c   * Added a primop unsafeDiscardOutputDependency needed by 
Disnix to   pass derivation paths to a builder without actually building them.
       new  deb342f   * builtins.trace: in the common case that the value is a 
string, then   show the string, not the ATerm, so we get `trace: bla' instead 
of   `trace: Str("bla",[])'.
       new  6b9f6b0   * Remove a prototype for a function that no longer exists.
       new  8520542   * When building in a chroot, make a copy of a file if 
hard-linking   fails.  This is likely to happen after a `nix-store --optimise', 
  because some files may have 32000 links (NIX-111).
       new  1ff8758   * Manual updates.
       new  268d90a   * Various updates.
       new  58f3338   * The Nix .deb package depends on curl.
       new  7680904   * Build on Karmic.
       new  e8bad77   
       new  c60d796   * Version bump.
       new  327a232   * Remove support for old (before Nix 0.12pre12020) 
       new  3392d32   * In nix-pull/nix-channel, create the manifests directory 
if it   doesn't exist.  The Debian packages don't include the manifests   
directory, so nix-channel would silently skip doing a nix-pull,   resulting in 
everything being built from source.  Thanks to Juan   Pedro Bolívar Puente.
       new  997db91   * Don't pass -K.  It should really inherit the setting of 
the calling   Nix though.
       new  8824d60   * Remove the --use-atime / --max-atime garbage collector 
flags.  Many   (Linux) machines no longer maintain the atime because it's too   
expensive, and on the machines where --use-atime is useful (like the   
buildfarm), reading the atimes on the entire Nix store takes way too   much 
time to make it practical.
       new  4f7e5f5   * Don't create /nix/var/nix/gcroots/{tmp,channels}, since 
they don't   seem to be used anymore.
       new  c364d5d   * Made the garbage collector a lot faster.  It no longer 
computes the   complete set of live and dead paths before starting the actual   
deletion, but determines liveness on demand.  I.e. for any path in   the store, 
it first tries to delete all the referrers, and then the   path itself.  This 
means that the collector can start deleting paths   almost immediately.
       new  ae6bf87   * `nix-store --gc --print-roots': also print the path of 
the actual   root symlink, not just its target.  E.g.:
       new  3d55f1e   * A command `nix-store --query --roots <paths>' to find 
the garbage   collector roots that point (directly or indirectly) to the given  
       new  ca50c83   
       new  f9e766d   * Randomise the order in which we delete entries to make 
the collector   less biased towards deleting paths that come alphabetically 
first   (e.g. /nix/store/000...).  This matters when using --max-freed etc.
       new  8022015   * In the garbage collector, don't count files with a link 
count > 1 in   the "bytes/blocks freed" statistics.
       new  9b8fda7   * Templatise getIntArg / string2Int.
       new  aa5a768   * GCC 4.4 is stricter about the EOF macro   
       new  13618b1   * Grrr.
       new  bcd6cdf   * Give a better error message when trying to build 
something and   readOnlyMode is set.
       new  c4c84d1   * nix-build: be less verbose.
       new  7ca9972   * When doing a nix-pull, remove old manifests downloaded 
from the same   URL.  This prevents lots of old cruft accumulating in   
       new  3a78af1   * Release notes.
       new  d8a5dc0   * Build on Fedora 12.
       new  945d821   * Build correctly against newer ATerm releases.  Fixes 
"error: 'union'   tag used in naming 'struct _ATerm'".
       new  ef92a14   * Include config.h before the C library headers, because 
it defines   _FILE_OFFSET_BITS=64.  Without it, functions like stat() fail on   
large file sizes.  This happened with a Nix store on squashfs:
       new  f0c0277   * On startup, set the default SIGCHLD handler.  This is 
so that Nix   works correctly in weird environments where the SIGCHLD handler 
is   set to "ignore".
       new  5388944   * Make the garbage collector do the right thing when 
`gc-keep-outputs'   is enabled by not depending on the deriver.
       new  50e3489   * Disable gzip compression in because it 
puts too much   load on the Hydra build farm (where it's unnecessary anyway 
because   it has a fast connection to the build machines).  In any case,   
compression can be enabled by using the `-C' option to ssh.
       new  fdcaf37   * Made `nix-store -qR --include-outputs' much faster if 
there are   multiple paths specified on the command line (from O(n * m) to O(n 
+   m), where n is the number of arguments and m is the size of the   closure).
       new  ad529fb   * Don't consider a store path valid if its info file 
exists but is   zero bytes long.  That makes Nix more robust in case of crashes 
  (especially on ext4).
       new  07ffdc2   * Added an option "fsync-metadata" to fsync() changes to  
 /nix/var/nix/db. * Removed the function writeStringToFile since it does 
(almost) the   same thing as writeFile.
       new  2723d9b   * If fdatasync() isn't available, use fsync().
       new  4bbbe25   * Remove most Cygwin-specific code.  Cygwin 1.7 
implements advisory   POSIX locks, and simulates Unix-style file deletion 
semantics   sufficiently.  Note that this means that Nix won't work on Cygwin   
1.5 anymore.
       new  e839802   * Don't do a chdir to $tmpDir.  It's not necessary, and 
Windows doesn't   support deleting the current directory.
       new  3ce5f07   * Ugly hack to make `nix-channel' work on Cygwin.
       new  4d8a85b   * Updated the release notes.
       new  bc1e478   * nix-copy-closure: start only one SSH connection to the 
server, or   recycle an already existing connection (using  OpenSSH's 
connection   sharing feature).
       new  f56a039   * Use SSH connection sharing in the remote build script. 
* Removed the Cygwin password hack since the problem is apparently   fixed in 
Visual Studio.
       new  d0c32dc   * In the build hook, if connecting to a machine fails, 
try the other   machines of the right type (if available).  This makes the 
build   farm more robust to failures.
       new  c45de33   * Respect @address@hidden
       new  f859a8d   * While waiting for a lock, print a sign of life every 5 
minutes.   This prevents remote builders from being killed by the   
`max-silent-time' inactivity monitor while they are waiting for a   long 
garbage collection to finish.  This happens fairly often in the   Hydra build 
       new  4e17be7   * Revert r19797, and use a simpler solution: just don't 
monitor build   hooks for silence.  It's unnecessary because the remote 
nix-store   command is already monitoring the real build.
       new  408913b   * Revert r19796 for now.
       new  e51a276   * Remove the `cat' calls when not using --gzip.
       new  3cfe65e   * Doh!  Calling `system' in an END block causes the exit 
status in $?   to be changed to 0.
       new  c9b2d80   * Typo.
       new  7ec5a65   * Doh!  The scope of $slotLock should extend to the end 
of the script,   because otherwise the lock will be released at the end of the 
while   loop.
       new  4436736   * Don't use ssh's -f flag since it leads to lots of 
lingering ssh   processes.
       new  719cebc   * "Fix" incorrect help message.
       new  f36b7e7   
       new  817f4f7   * Grmbl. Timing-sensitive tests are evil.
       new  e1e91a3   * Bump.
       new  e08dbff   * Fix a broken link (reported by Bjorn Buckwalter).
       new  d0bf4ad   Add `.gitignore'.
       new  20186a4   Don't rely on `PATH_MAX' on GNU.
       new  3b3e102   * Typo.  Reported by Peter Koppstein.
       new  68e55cd   * Since Hydra now escapes `+', `=' and `?' to %NN in 
URIs,   nix-prefetch-url should unescape them, because `%' is not a valid   
character in store path names.
       new  eaaa13c   * Experimental branch for using SQLite to store the Nix 
       new  c1a07f9   * Convert the Nix database to SQLite.
       new  dbddac0   * Assign an integer id to every row in the ValidPaths 
table in order   to make the Refs table more space-efficient.  For instance, 
this   reduces the size of the database on my laptop from 93 MiB to 18   MiB.  
(It was 72 MiB with the old schema on an ext3 disk with a 1   KiB block size.)
       new  a053d2d   * Add the deriver to the ValidPaths table.  In principle 
we could now   store all the derivers of a path efficiently.  But that opens a 
big   can of worms with respect to garbage collector semantics.
       new  e0305bb   * Some wrapper objects to ensure that SQLite objects are 
properly   destroyed.
       new  cfb09e0   * Automatically abort transactions if they go out of 
scope without   committing.
       new  885e22b   * Implement isValidPath().
       new  77cb9e3   * Implement queryPathInfo().
       new  836e5b6   * Implemented queryReferrers().
       new  268f9aa   * Implemented queryValidPaths() and verifyStore().
       new  762cee7   * Implement registerValidPath().
       new  9c9a88e   * Implement more stuff.
       new  1930570   * Foreign key support in SQLite is not a persistent 
setting, so enable   it at startup. * Implement negative caching.  Now `make 
check' passes.
       new  299ff64   * Put the derivation outputs in the database.  This is 
useful for the   garbage collector.
       new  103cfee   * Revert r19650 (implement gc-keep-outputs by looking for 
derivations   with the same name as the output) and instead use the   
DerivationOutputs table in the database, which is the correct way to   to do 
       new  c4d388a   * Get derivation outputs from the database instead of the 
.drv file,   which requires more I/O.
       new  9cda616   * The database needs a trigger to get rid of 
self-references to   prevent a foreign key constraint violation on the Refs 
table when   deleting a path.
       new  2b20318   
       new  5ccb6f6   * Run ATerm's `make check'.
       new  7db2831   * Use ATerm 2.5.
       new  b4e6d98   * configure: flag --with-sqlite.
       new  0efc986   * Sync with the trunk.
       new  63b09c5   
       new  dc6d1ec   
       new  8520de4   * Include the sqlite tarball in the Nix tarball.
       new  462bd50   * Use normal (rather than full) synchronous mode, which I 
gather from   the description at should 
be   safe enough.
       new  69d9df7   * Don't fork so much.
       new  bb82310   * Set the path to sqlite3 properly.
       new  5954ead   * Remove the fdatasync check since it's no longer needed.
       new  fa6a4fc   * Add ${sqlite_lib} everywhere.  Just adding it in 
`libstore' doesn't   work on x86_64 when sqlite is compiled statically.
       new  fae0427   * ADDITIONAL_NETWORK_LIBS -> LIBS.
       new  90b6352   * Do registerValidPaths() in one transaction, which is 
much faster.   E.g. it cuts the runtime of the referrers test from 50s to 23s.
       new  a3c63d0   * Disable fsync() in SQLite if the fsync-metadata option 
is set to   false. * Change the default for `fsync-metadata' to true. * Disable 
`fsync-metadata' in `make check'.
       new  21b134b   
       new  fefd467   * `helpText' is now zero-terminated.
       new  9fd85c9   * Use `truncate' journal mode, which should be a bit 
       new  6baa2a2   
       new  cfe742c   * A function to query just the database id of a valid 
       new  84a4dd5   * Don't use fdatasync since it doesn't work on Snow 
Leopard. * Don't refer to config.h in util.hh, because config.h is not   
installed (
       new  e33f67f   * Refactor the upgrade / database initialisation logic a 
       new  af565c3   * Support read-only access to the database.
       new  e42401e   * Implement RemoteStore::queryDerivationOutputs().
       new  24035b9   * Implement RemoteStore::queryValidPaths().
       new  966ffb2   * Update the Valgrind suppressions for ATerm 2.5.
       new  594eadd   * When using the included sqlite/aterm libraries, build 
with   --enable-shared. * In libutil/libstore/libexpr etc., link against sqlite 
and aterm. * Some more header file hygiene.
       new  5414b3b   * Remove the --enable-static-nix flag.
       new  e07d728   * Fix DESTDIR builds.
       new  d8c5745   * Support static builds.
       new  3f9e647   * checkInterrupt() shouldn't be called from a destructor.
       new  56af8e8   * Protect the `true', `false' and `__overrides' 
constants.  Without   an ATprotect call, these could be garbage collected, 
leading to   weird crashes or wrong results.
       new  158aa89   * Ensure that `make install' works without a prior `make'.
       new  e14e239   * Prevent a potential memory corruption problem if an 
ATerm garbage   collection happens during fixAttrs().
       new  5ff87c9   
       new  fb6e223   * Synced with the trunk.
       new  bc6f7fc   * Remove some unused functions.
       new  0479184   * Emit warning='1' or error='1' attributes for lines 
marked as   warnings or errors with \e[w or \e[e.
       new  05fbf61   * nix-prefetch-url depends on sed (see
       new  2e4ef03   * Increase the sqlite timeout.
       new  44f6e6d   * Set `gc-keep-outputs' or `gc-keep-derivations' to false 
with   `--delete --ignore-liveness'.
       new  4c356ac   * In `nix-store --export', abort if the contents of a 
path has   changed.  This prevents corrupt paths from spreading to other   
machines.  Note that checking the hash is cheap because we're   hashing anyway 
(because of the --sign feature).
       new  1a65142   * Remove a debug statement.
       new  03afc34   * Simplify.
       new  2e8eaca   Clear supplementary groups of `nixbld' in /etc/passwd in 
       new  c752c9f   Fix thinko in r20547.
       new  070057c   * Sync with the trunk.
       new  05e1504   Show the build user's group in /etc/group in chroots.
       new  e020d80   * Sync with the trunk.
       new  13cce8e   Making 'bin2c' to be built with the compiler for the 
local system. I copied the code about CC_FOR_BUILD from libX11.
       new  2fb0df8   Uh. somehow a Makefile tab got in as spaces. Fixing.
       new  741b757   Merge r20344 & r20346.
       new  fe1b878   * Fix a broken link (reported by Peter Koppstein).
       new  f0c473c   * Fix building on Cygwin 
       new  8e3d98e   * Release notes for Nix 0.15.
       new  c4cfb39   
       new  74299c1   * Bump version number.
       new  141294f   * Clean up error messages in killUser().
       new  f71ea9c   * Use SQLite 3.6.23.
       new  3bfd3a4   * Test "with as; with bs;" since nobody knows what its 
semantics is.
       new  71be50c   * Doh.
       new  90039e0   * Branch for experimenting with faster / less 
memory-hungry   Nix expression evaluation.
       new  0910ae9   * Start of an evaluator that uses call-by-need (with 
thunk updating)   instead of (memoised) call-by-name.
       new  e8f7978   
       new  d31c59e   * Plain lambdas.
       new  b70bd8f   * Reduce the number of value allocations in eval() by 
moving   responsibility for allocation of the result to the caller.
       new  0fd3648   * Store values in environments.
       new  7482349   * Implemented attribute set pattern matches.
       new  8a10360   * Simplify @-patterns: only address@hidden' or 
address@hidden' are now   allowed.  So address@hidden', address@hidden' and so 
on are now no   longer legal.  This is no big loss because they were not useful 
       new  ef8bd91   * Implement `...' and default function arguments.
       new  f450384   * Implement blackholing.
       new  3c9f8fc   * Don't convert variable names to strings.
       new  25eedf0   * Quick and dirty implementation of `with'.  `with e1; 
e2' is   basically desugared to `let <with> = e1; e2', and `lookupVar' looks   
in each <with> in the environment chain for an attribute with the   specified 
       new  c2ba431   * Implemented lists.
       new  8da118e   * Measure stack usage.
       new  cad8726   * Implemented the `==' and `!=' operators.  These now use 
a deep   equality test, so they also work for (finite) attribute sets and   
       new  45d822f   * Primops (not yet finished).
       new  3d2b835   * Implemented multi-argument primops.
       new  d96cdcea  
       new  392811e   * Strings.
       new  807a67b   
       new  e3f32ac   
       new  52090d2   
       new  31428c3   * Started integrating the new evaluator.
       new  d78a05a   * Make `import' work.
       new  5b72d8a   * Implemented `map'.
       new  c3aa615   * More primops.
       new  c9170be   * More primops.
       new  47df476   * More operators / primops.
       new  7f19e03   * More primops.
       new  eb07a4f   Escape `>' signs in the XML output.
       new  471419d   Add source location information to the XML output.
       new  4c53ca2   * Compare nulls.
       new  13c2adc   * Implemented `rec { inherit ...; }'.
       new  09381cc   Make source location info in the XML output optional.
       new  f061086   * Fix the broken test for listToAttrs.
       new  5187678   
       new  3d94be6   * Implemented derivations.
       new  55e207b   * Cache parse trees to prevent repeated parsing of 
imported Nix   expressions.
       new  d8cd311   * Get nix-env to compile.
       new  979f163   * Handle string contexts.  `nix-instantiate' can now 
correctly compute   the `firefoxWrapper' attribute in Nixpkgs, and it's about 3 
times   faster than the trunk :-)
       new  dc31305   * Fixed the trace primop and path comparison. * Removed 
exprToString and stringToExpr because there is no ATerm   representation to 
work on anymore (and exposing the internals of the   evaluator like this is not 
a good idea anyway).
       new  71f0262   * Make `derivation' lazy again for performance.  It also 
turns out   that there are some places in Nixpkgs (php_configurable /   
composableDerivation, it seems) that call `derivation' with   incorrect 
arguments (namely, the `name' attribute missing) but get   away with it because 
of laziness.
       new  95cc417   * Functions are incomparable.
       new  7b85191   * Improve sharing.
       new  c172274   * Quick hack to make coerceToString work more or less 
correctly on   nested lists.  `nix-instantiate' can now evaluate the NixOS 
system   derivation attribute correctly (in 2.1s on my laptop vs. 6.2s for   
the trunk).
       new  a5ece7d   * Removed the `~' operator.
       new  a353aef   * In eval(), don't use the target value `v' as a 
temporary.   Overwriting `v' breaks when the expression evaluation to an   
assertion failure or throw.
       new  fc92244   * Implemented the primops necessary for generating the 
NixOS manual.
       new  9a64454   * expr-to-xml -> value-to-xml.
       new  af2a372   * Update autoCallFunction() and findAlongAttrPath().
       new  7e048ed   * Fix blackholing.  If evaluation fails due to an 
assertion failure,   then the blackhole has to be removed to ensure that 
repeated   evaluation of the same value gives an assertion failure again rather 
  than an "infinite recursion" error.
       new  b7b3dd5   * Remove a lot of dead code.
       new  f3dc7ab   * Keep more statistics about stack space usage. * Reduce 
stack space usage.
       new  aac5fcf   Re-add `drvPath' and `outPath' attributes to <derivation> 
XML nodes.
       new  c3f228f   
       new  4e49002   * Doh.
       new  db90b88   * Hack to support builderDefs expressions.
       new  ed711f7   * Don't use ATerms to represent integers in the lexer.
       new  4d6ad5b   * Don't use ATerms for the abstract syntax trees anymore. 
 Not   finished yet.
       new  a60317f   * More missing constructs.
       new  d4f0b0f   * Indented strings.
       new  0d272fc   * Remove some obsolete functions.
       new  10e8b1f   * Finished the ATerm-less parser.
       new  ac1e8f4   * Use a symbol table to represent identifiers and 
attribute names   efficiently.  The symbol table ensures that there is only one 
copy   of each symbol, thus allowing symbols to be compared efficiently   using 
a pointer equality test.
       new  7d47498   * Evaluate lets directly (i.e. without desugaring to `rec 
{ attrs...;   <let-body> = e; }.<let-body>).  This prevents the unnecessary   
allocation of an attribute set.
       new  816f9c0   * Use std::tr1::unordered_set instead of std::set for the 
symbol   table.  This gives a 10% speed increase on `nix-instantiate   
/etc/nixos/nixos -A system --readonly-mode'.
       new  85d13c8   * Change the semantics of "with" so that inner "withs" 
take   precedence, i.e. `with {x=1;}; with {x=2;}; x' evaluates to 2'.   This 
has a simpler implementation and seems more natural.  There   doesn't seem to 
be any code in Nixpkgs or NixOS that relies on the   old behaviour.
       new  011b5da   * Get nix-env to compile again.
       new  816dd3f   * Remove more obsolete code.
       new  9985230   * After parsing, compute level/displacement pairs for 
each variable   use site, allowing environments to be stores as vectors of 
values   rather than maps.  This should speed up evaluation and reduce the   
number of allocations.
       new  110d155   * Implemented withs.
       new  81de12b   * Refactoring: move variable uses to a separate class.
       new  267dc69   * Fix builtins.
       new  d39d3c6   * Implemented inherit.
       new  e41b582   * Better stats.
       new  04c4bd3   * Store lists as lists of pointers to values rather than 
as lists of   values.  This improves sharing and gives another speed up.   
Evaluation of the NixOS system attribute is now almost 7 times   faster than 
the old evaluator.
       new  02c1dac   * In an nested `with' where the inner with is a variable 
(`with ...;   with someVar; ...'), the contents of the variable would be   
clobbered.  (The attributes in the outer `with' were added to the   variable.)
       new  497e4ad   * Remove some redundant tests.
       new  8ca4a00   * Improve sharing a bit.
       new  8bb0210   * _combineChannels shouldn't be an integer.
       new  5c31995   * Updated some more primops.
       new  b7ff69e   * Refactoring: move the user environment stuff into its 
own module.
       new  55b5ddd   * Added parsing of manifests in ATerm format.
       new  efc7a57   * Don't use the ATerm library for parsing/printing .drv 
       new  f3b8833   * Drop the dependency on the ATerm library.
       new  d66ea83   * Sync with the trunk.
       new  fe2d869   * Store user environment manifests as a Nix expression in 
  $out/manifest.nix rather than as an ATerm.
       new  0777448   * Fixed builtins.genericClosure.
       new  cae4efd   * Because --parse-only no longer produces an ATerm, don't 
check the   output.  Whether it parses at all should be enough.
       new  6f0f164   * Fix the interpretation of ''\<character> in indented 
       new  7148df7   * Update the expected test output (no longer an ATerm).
       new  6bbfe95   * Don't use an ostringstream in unparseDerivation(), 
because it's   slow.  A `nix-env -qa --drv-path \*' on Nixpkgs was spending 40% 
of   its time in unparseDerivation() because of this (now 11%).
       new  2d76365   * String equality tests should take the context into 
account.  All the   evaluation test cases now succeed.
       new  ebade9f   * Check for duplicate attribute names / function 
arguments.  `make   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.)
       new  ee0384f   
       new  0bc468f   * Simplify the implementation of `with'.  This gives a 7% 
speedup in   evaluating the NixOS system configuration.
       new  2be6118   * Don't need the test program anymore.
       new  d77331d   Fixing a typo in the nix-store manual, that could confuse 
a bit too much (--delete/--gc)
       new  2398af1   * Add an command `nix-store --query-failed-paths' to list 
the cached   failed paths (when using the `build-cache-failure' option).
       new  6199f9b   * Added a command `nix-store --clear-failed-paths 
<PATHS>' to clear   the "failed" status of the given store paths.  The special 
value `*'   clears all failed paths.
       new  ef337f7   
       new  c778ed1   * Fix the copy-from-other-stores substituter.
       new  c82782f   
       new  7fa338f   * Don't use smart quotes where normal ASCII quotes are 
intended.   Actually, don't use quotes at all.  (Reported by Howard B. Golden.)
       new  4bab25a   buildenv: Special-case Python's `easy-install.pth' files.
       new  f92c9a0   * Allow unprivileged users to do `nix-store 
--clear-failed-paths' and   `nix-store --query-failed-paths'.
       new  a0e3b84   * Revert r15436.  This was a workaround for a bug in 
btrfs which seems   to have been fixed now.
       new  4750065   buildenv: Special-case Python's `' and `site.pyc'.
       new  84ce7ac   * Store attribute positions in the AST and report 
duplicate attribute   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.
       new  e2d5e40   * Keep track of the source positions of attributes.
       new  83d7b89   * Updated addErrorContext.
       new  01e58ad   * Store position info for inherited attributes.
       new  83dfa89   * Sync with the trunk.
       new  1a8eb6e   
       new  81a4b4e   * Implemented tryEval, the last missing primop in the 
fast-eval   branch.  Also added a test for tryEval.
       new  bd25ac2   * Print attributes in sorted order.
       new  8032f26   * Merged the `fast-eval' branch.
       new  aa45027   * Sync with the trunk.
       new  b2235d8   * Restore the __overrides feature that was lost somewhere 
in the   fast-eval branch.
       new  32539e4   * Sync with trunk.
       new  93cd5a4   * The << operator on values should be const.
       new  b92a2e5   * Sync with the trunk.
       new  7343e6c   * Remove an accidentally committed debug statement.
       new  da52f8b   Comment out dead code in `nix-store'.
       new  8bcdd36   Add XML output to `nix-store'.
       new  a443c75   * Hack to allow derivations to disable chroot builds by 
setting the   attribute "__noChroot = true" (requested by Rob).
       new  89865da   * Turn build errors during evaluation into EvalErrors.
       new  1ab67cf   
       new  07ca66c   * Applied a patch from David Brown to prevent `nix-store 
--optimise'   from failing on rename() on BtrFS.
       new  d1f6c0c   * Replacing ValidPath rows doesn't work because it causes 
a constraint   violation of the Refs table.  So don't do that.
       new  f16fe2a   * builtins.toXML: propagate the string context.  This is 
a regression   from the old ATerm-based evaluator.
       new  b571891   * In importPath() and exportPath(), lock the temporary 
directory to   prevent it from being deleted by the garbage collector.
       new  bf87cc4   * Sync with the trunk.
       new  3e5e0fa   * Okay, putting a lock on the temporary directory used by 
importPath()   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.
       new  819548d   * Pass `--fallback' to the remote build to ignore failing 
       new  87ef590   * Sync.
       new  8b7f8b5   Added support for passing an (impure) NIX_BUILD_CORES 
variable to build expressions.
       new  560ab22   * Ignore packages that don't have a version. * Work on a 
manifest instead of a channel directory.
       new  a17071f   Include <cstring> to ensure that strcpy(), strlen(), and 
memset() are declared.
       new  bcec460   src/libutil/ include <limit.h> to ensure that 
PATH_MAX is defined
       new  4c21c01 make flex and bison required programs
       new  d63375d Incredibly enough, tr(1) on Solaris doesn't 
understand A-Z syntax for ranges.
       new  af09fe1   Fix build of bsdiff-4.3 on machines that don't have 
<err.h>, such as Solaris.
       new  a0d2904   Revert " make flex and bison required 
       new  60b632b   tests/ prefer more portable `...` 
syntax over $(...) for running sub-shells
       new  7e043d2   src/bsdiff-4.3/ include the 'compat-include' 
directory in distribution tarballs
       new  532d766   * Don't barf if the source NAR for a patch has 
       new  7af6a2f   * intersectAttrs: optimise for the case where the second 
set is larger   than the first set.  (That's usually the case with callPackage.)
       new  6d6200f   * Optimisation in the // operator: if one of the sets is 
empty, return   the other set.
       new  315d8fb   * Set the default system filter to "*".  This ensures 
that (for   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.
       new  7f893b7   * Allow derivations to hint that they should not be built 
remotely   using the build hook mechanism, by setting the derivation attribute  
 "preferLocalBuild" to true.  This has a few use cases:
       new  750be19   * Remove "auto" and "guess" as synonyms for 0 in the 
handling of   build-cores and --cores.  They're superfluous and just complicate 
  the parsing.
       new  fd9c77d   * Use SQLite 3.7.0's write-ahead logging (WAL mode).  
This is a lot   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:
       new  587dc8a   * Sync with the trunk.
       new  d7875d1   * Use SQLite
       new  5f9aad4   * nix-build: recognise --cores.
       new  6846ed8   * Make --cores work when building through the Nix daemon.
       new  5c5ab2b   * Don't link against pthreads.  This was added way back 
in r211   because Berkeley DB needed it on some platforms, but we don't use   
BDB anymore.
       new  5fb824e   * Urgh, this was supposed to go in the trunk...
       new  12721a3   * Nix 0.16 release notes.
       new  8ec6594   * Remove the "tarball" jobset argument.
       new  b75e104   * Typo.
       new  86f65ed   * Document --cores in the manual.
       new  2de17f4   * Update date.
       new  ed133e6   * rpmBuild already includes the disk image in the output 
       new  2c8e070   * Bump the version number.
       new  c67eccc   * nix-build: pass --cores.
       new  955d11a   * Sync with the trunk.
       new  f58f51f   * Handle the unlikely case where a derivation has no 
dependencies at   all.
       new  034f608   * Don't complain if the stored hash of a path is zero 
       new  1e5f5ea   * Correctly handle SSH failing to establish a connection. 
 Because   this didn't work right, the build hook wouldn't fall back to using   
other machines of the desired type.
       new  95deba5   * In the build hook, temporarily register the derivation 
and its   output as GC roots.  This prevents a race if the garbage collector   
is running during the build.
       new  1a396f3   * Don't call "cat".
       new  e437b08   * Made the build hook mechanism more efficient.  Rather 
than starting   the hook every time we want to ask whether we can run a remote 
build   (which can be very often), we now reuse a hook process for answering   
those queries until it accepts a build.  So if there are N   derivations to be 
built, at most N hooks will be started.
       new  e41ecbf   
       new  df50916   * Oops - "null" was displayed as "true".
       new  766f708   * Experimental feature: allow a derivation to tell the 
build hook that   it requires a certain feature on the build machine, e.g.
       new  20acd43   * Disable the GC reachability check for now (when 
creating new roots),   as it's hopelessly inefficient.
       new  80e7222   * When using the build hook, distinguish between the 
stderr of the   hook script proper, and the stdout/stderr of the builder.  Only 
the   latter should be saved in /nix/var/log/nix/drvs. * Allow the verbosity to 
be set through an option. * Added a flag --quiet to lower the verbosity level.
       new  e2e168f   `nix-store --verify' improvements: * If a path has 
disappeared, check its referrers first, and don't try   to invalidate paths 
that have valid referrers.  Otherwise we get a   foreign key constraint 
violation. * Read the whole Nix store directory instead of statting each valid  
 path, which is slower. * Acquire the global GC lock.
       new  bf0dde9   * Always print hook output on stderr, even if 
--no-build-output is   set. * In the build hook, print a trace message to allow 
Hydra to pick up   the name of the remote machine used for the build.
       new  e490741   * Only do "pragma journal_mode = ..." if the current 
journal mode   differs from the desired mode.  There is an open SQLite ticket   
`Executing "PRAGMA journal_mode" may delete journal file while it is   in use.'
       new  923736d   * Doh.  Remove debug message.
       new  4aa9245   * Hack needed for GCC 4.3.2 on OpenSolaris.
       new  450837b   * In printMsg(), ignore failing writes to stderr if we're 
in an   exception handler, otherwise throw an exception.  We need to ignore   
write errors in exception handlers to ensure that cleanup code runs   to 
completion if the other side of stderr has been closed   unexpectedly.
       new  71dfe4b   * Sync with the trunk.
       new  bfa6ee7   * Don't use SSH's `-tt' flag because it doesn't seem to 
work   on OpenSolaris when using connection sharing.  Instead have   the remote 
side check for disconnection and kill the process   group when that happens.
       new  36a23e8   * "type -P" isn't portable.
       new  95f4f2c   * If std::tr1::unordered_set is unavailable, use std::set.
       new  705868a   * Make sure that config.h is included before the system 
headers,   because it defines _FILE_OFFSET_BITS.  Without this, on   
OpenSolaris the system headers define it to be 32, and then   the 32-bit stat() 
ends up being called with a 64-bit "struct   stat", or vice versa.
       new  7119d38   * In the referrers test, lower the nesting depth from 
2500 to 1000 to   prevent hitting a stack overflow bug in the garbage collector.
       new  8dadced   nix manual: fix 'install' -> 'uninstall' in garbage 
collection section of introduction
       new  64fd298   * Wrap deleteFromStore() in a transaction.  Otherwise 
there might be a   race with other processes that add new referrers to a path,  
 resulting in the garbage collector crashing with "foreign key   constraint 
failed".  (Nix/4) * Make --gc --print-dead etc. interruptible.
       new  b0c11cd   * Evaluator garbage collection branch.
       new  e879a03   * Use the Boehm garbage collector to reclaim unused 
memory in the Nix   expression evaluator.
       new  76feaf0   * Keep some more stats.
       new  64c3325   * Make building against the Boehm GC a configure option.
       new  41c45a9   * Store Value nodes outside of attribute sets.  I.e., 
Attr now stores   a pointer to a Value, rather than the Value directly.  This 
improves   the effectiveness of garbage collection a lot: if the Value is   
stored inside the set directly, then any live pointer to the Value   causes all 
other attributes in the set to be live as well.
       new  cf7e645   * Regression test for __overrides.
       new  4dee289   * In environments, store pointers to values rather than 
values.  This   improves GC effectiveness a bit more (because a live value 
doesn't   keep other values in the environment plus the parent environments   
alive), and removes the need for copy nodes.
       new  3f66cfb   * Remove allocValues().
       new  8ac0672   * Make Value smaller by not storing redundant PrimOp 
info. * Clear pointers in Values after overwriting them to make sure that no   
objects are kept alive unnecessarily.
       new  b2ba621   * Optimise string constants by putting them in the symbol 
       new  02934b1   * Regression test for listToAttr's behaviour if an 
attribute name   occurs multiple times.
       new  a247d20   * Fix compiling without Boehm. * Fix the stats.
       new  0b305c5   * Store attribute sets as a vector instead of a map (i.e. 
a red-black   tree).  This saves a lot of memory.  The vector should be sorted 
so   that names can be looked up using binary search, but this is not the   
case yet.  (Surprisingly, looking up attributes using linear search   doesn't 
have a big impact on performance.)
       new  2dc6d50   * Don't create thunks for variable lookups (if possible). 
 This   significantly reduces the number of values allocated (e.g. from 8.7m   
to 4.9m for the Bittorrent test).
       new  e0b7fb8   * Keep attribute sets in sorted order to speed up 
attribute lookups. * Simplify the representation of attributes in the AST. * 
Change the behaviour of listToAttrs() in case of duplicate names.
       new  4353549   * When allocating an attribute set, reserve enough space 
for all   elements.  This prevents the vector from having to resize itself.
       new  11ccd44   * We need Bison 2.4 now.
       new  8a788e3   * Install config.h.
       new  e11e6fb   * Handle out of memory condition.
       new  0c4828e   * new(UseGC) is inexplicably slower than GC_MALLOC, so 
prefer the   latter.
       new  14fbf85   * Set libgc's initial heap size to 384 MiB to prevent 
garbage   collection in most cases (and therefore its performance overhead).
       new  3d71c80   * Use pkgconfig to locate the Boehm GC (as suggested by 
Ludo), if   --enable-gc is given.
       new  26def53   * Document Boehm GC support.
       new  4aced7f   * Merge the GC branch.
       new  fb9368b   * Sync with the trunk.
       new  a3883cb   * Store the size of a store path in the database (to be 
precise, the   size of the NAR serialisation of the path, i.e., `nix-store 
--dump   PATH').  This is useful for Hydra.
       new  1db6259   * Implement RemoteStore::queryPathInfo().
       new  e60c962   * Add an operation `nix-store -q --size'.
       new  5693b8a   * nix-push: no need to compute the NAR hash, since the 
Nix database   already has it (`nix-store -q --hash').
       new  06699d4   * Store the NAR size in the manifest.
       new  bdf089f   * Before a build, show the disk space that the downloaded 
store paths   will approximately require.
       new  1e24cba   * Fix the test.
       new  bf658f0   * Test that download sizes are shown correctly.
       new  a07c68f   * Finally, a test for the binary patch functionality.
       new  f69626e   
       new  3d38a49   * In the download size indication, take binary patches 
into account.   Hopefully this doesn't slow things down too much.
       new  a4f0365   * When checking whether a patch is applicable, for 
efficiency, use   `nix-store -q --hash' to get the hash of the base path rather 
than   `nix-hash'.  However, only do this for estimating the size of a   
download, not for the actual substitution, because sometimes the   contents of 
store paths are modified (which they shouldn't, of   course).
       new  1a211d8   * Oops.
       new  d92ccbf   * Test whether sequences of patches work.
       new  812fae4   * DrvInfo contains pointers to expressions, so DrvInfos 
should be   traced by the garbage collector.  Otherwise "nix-env -u" can crash  
       new  703e5a2   * Sync with the trunk.
       new  bd48fd9   * Impose a configurable time limit on patch generation.  
This is   necessary because bsdiff has some pathological worst-case behaviour,  
 e.g. O(n^2) on files consisting only of 0s.
       new  9737a7e   * Don't generate patches if the system type differs.
       new  d3bba0c   * Move the patch generator into a module.
       new  77f7a6d   * Quick hack around one of the pathological cases in 
bsdiff   (namely, when there is a long region of 0s).  On one 86 MiB   case, 
this cut patch generation time from 44m to 2m.
       new  f42a505   * Add a script `nix-generate-patches'. * Fix the binary 
patching test.
       new  365f302   * Use CamelCase for the Perl modules.
       new  de79d23   * Retry a transaction if SQLite returns SQLITE_BUSY.  
This can happen   even with a very long busy timeout, because SQLITE_BUSY is 
also   returned to resolve deadlocks.  This should get rid of random   
"database is locked" errors.  This is kind of hard to test though. * Fix a 
horrible bug in deleteFromStore(): deletePathWrapped() should   be called after 
committing the transaction, not before, because the   commit might not succeed.
       new  8062d3a   * `nix-store --verify --check-contents': don't hold the 
global GC lock   while checking the contents, since this operation can take a 
very   long time to finish.  Also, fill in missing narSize fields in the DB   
while doing this.
       new  7d0444e   * Bad things happen when a filehandle has the same name 
as a module.
       new  e4720b1   * Ignore the result of sqlite3_reset().
       new  4d57776   * Use SQLite 3.7.4.
       new  542fc69   * When doing a query (e.g. `nix-store -r --dry-run'), 
don't make a lot   of expensive calls to `nix-store --check-validity'.
       new  d7ca6f4   * Update some comments.
       new  100becf   * createDirs(path): if path already exists, make sure 
it's a   directory. * Provide a C++ wrapper around lstat().
       new  5833243   * Create /nix/var/nix/db if it's missing.
       new  d787285   * nix-instantiate: return exit status 100 to denote a 
permanent build   failure.  The build hook can use this to distinguish between  
 transient and permanent failures on the remote side.
       new  3dd0258   * I forgot to catch SQLiteBusy in registerValidPaths().  
So   registerValidPaths() now handles busy errors and registerValidPath()   is 
simply a wrapper around it.
       new  f1a6b97   * nix-copy-closure: make sure that the shell doesn't do 
globbing of   `+' and `?' in filenames.  This is very slow if /nix/store is 
very   large.  (This is a quick hack - a cleaner solution would be to   bypass 
the shell entirely.)
       new  a0be433   * Disable X11 forwarding, it's not needed.
       new  eac93d6   * Use the right `make'.
       new  b1eb252   * Propagate the "100" exit status for failed builds 
through the Nix   daemon.
       new  c931a7a   * Do a short sleep after SQLITE_BUSY.
       new  d6c8b99   * In Hydra manifests the Size field is missing, so don't 
rely on it.   This caused a lot of "Use of uninitialized value" warnings from   
       new  9db190e   * builtins.substring: if "start" is beyond the end of the 
string,   return the empty string.
       new  3854fc9   Remove useless <config.h> inclusion from public header.
       new  aeae0be   * Clang compatibility fix.  Clang actually checks 
template definitions   when they are defined
       new  0304fda   * Propagate the CC setting.
       new  c0340ee   
       new  5439885   * Sync with the trunk.
       new  d0eda1f   * Merged the SQLite branch.
       new  7bba67c   * Remove obsolete file.
       new  eb94581   * Remove obsolete directory.
       new  3087b3f   * Obsolete.
       new  d159ea1   * Urgh, FreeBSD doesn't have a "seq" command.
       new  dfc4117   * The GC library can't be found on Solaris   
(, so don't build with GC   support for now.
       new  1876ab7   * A better fix.  $boehmgc isn't set anywhere, we should 
use the flags   returned by pkg-config.
       new  f1462c2   Use $BDW_GC_LIBS instead of a custom variable.
       new  5a6b039   * Don't call GC_expand_hp unless we're actually using the 
garbage   collector.
       new  538b7ca   * Don't allocate a big initial GC address space on 
machines with   little RAM.  Even if the memory isn't actually used, it can 
cause   problems with the overcommit heuristics in the kernel.  So use a VM   
space of 25% of RAM, up to 384 MB.
       new  8fcaf3e   make nix-mode provide 'nix-mode
       new  c3cee53   * Build for Ubuntu 10.04.
       new  e945b52   * nix-push: handle the case where the hash is not set in 
the DB.
       new  802c265   
       new  48bdbbf   * Fix a bug in the documentation (reported by Olexiy 
Buyanskyy,   Nix/215).
       new  0423d06   * Print a better error message.
       new  1e7e4f2   * Remove the localPaths feature in manifests since it's 
no longer used   and redundant anyway.
       new  5591fcc   * Cache the manifests in /nix/var/nix/manifests in a 
SQLite database.   This significantly speeds up the download-using-manifests   
substituter, especially if manifests are very large.  For instance,   one 
"nix-build -A geeqie" operation that updated four packages using   binary 
patches went from 18.5s to 1.6s.  It also significantly   reduces memory use.
       new  b1882c3   * Create $manifestDir if it doesn't exist.
       new  83252b4   * Subtle bug: if you import File::stat in one module, it 
affects other   modules as well.  So use symbolic field names everywhere (which 
is   nicer anyway).
       new  3cbf680   * configure: detect whether DBD::SQLite is present.  If 
necessary the   location to DBI and DBD::SQLite can be passed with --with-dbi 
and   --with-dbd-sqlite.
       new  b2c11b9   
       new  08c8971   * Lock the database during updates.
       new  412914d   * Read manifests directly into the database, rather than 
first reading   them into memory.  This brings memory use down to (more or 
less)   O(1).  For instance, on my test case, the maximum resident size of   
download-using-manifests while filling the DB went from 142 MiB to   11 MiB.
       new  4ba6afa   * `nix-env -ub' (`--prebuilt-only') didn't really work 
because it   checked too soon whether substitutes are available.  That is, it 
did   so for every available package, rather than those matching installed   
packages.  This was very slow and subject to assertion failures.  So   do the 
check much later.  Idem for `nix-env -qab' and `nix-env -ib'.
       new  8c69dac   * Handle error messages from the Nix worker containing 
the `%'   character.  (Nix/216)
       new  d94cb02   * nix-install-package: unset NIX_REMOTE because 
$NIX_MANIFESTS_DIR   doesn't work when building through the Nix daemon.  This 
also   ensures an error message when the user doesn't have sufficient   
privileges to do nix-pull.
       new  4891b21   * Use SQLite
       new  e4d8148   
       new  9c99aa2   
       new  5c9e9f7   Add support for the `build-timeout' and `--timeout' 
       new  1ea6e06   doc: Fix typo.
       new  34f4b91   
       new  5637037   * In the ‘?’ operator, allow attribute paths.  For 
instance, you can   write ‘attrs ? a.b’ to test whether ‘attrs’ has an 
attribute ‘a’   containing an attribute ‘b’.  This is more convenient than 
‘attrs ?   a && attrs.a ? b’.
       new  5580f38   * Test case.
       new  2b9e29b   * Change the right-hand side of the ‘.’ operator from an 
attribute to   an attribute path.  This is a refactoring to support default 
       new  0a623a1   * Allow a default value in attribute selection by writing
       new  e649f31   * Fix concurrency issues in download-using-manifests' 
handling of the   SQLite manifest cache.  The DBI AutoCommit feature caused 
every   process to have an active transaction at all times, which could   
indefinitely block processes wanting to update the manifest cache.
       new  d5d4dcd   * Allow attribute names to be strings.  Based on the   
allow-arbitrary-strinsg-in-names patch by Marc Weber.
       new  d9a5959   * Show the default for --with-store-dir (Nix/211).
       new  d329c3e   * Support multiple outputs.  A derivation can declare 
multiple outputs   by setting the ‘outputs’ attribute.  For example:
       new  0243eea   * Create a symlink to /nix/var/nix/manifests in 
/nix/var/nix/gcroots   if it doesn't exist.
       new  4bdb51e   * Refactoring.
       new  d2bfe1b   * Added a test that make sure that users cannot register  
 specially-crafted derivations that produce output paths belonging to   other 
derivations.  This could be used to inject malware into the   store.
       new  b2027f7   * Fix a huuuuge security hole in the Nix daemon.  It 
didn't check that   derivations added to the store by clients have "correct" 
output   paths (meaning that the output paths are computed by hashing the   
derivation according to a certain algorithm).  This means that a   malicious 
user could craft a special .drv file to build *any*   desired path in the store 
with any desired contents (so long as the   path doesn't already exist).  Then 
the attacker just needs to wa [...]
       new  c860666   * Don't allow derivations with fixed and non-fixed 
       new  54945a2   * Refactoring: move parseExprFromFile() and 
parseExprFromString() into   the EvalState class.
       new  1ecc97b   * Add a Nix expression search path feature.  Paths 
between angle   brackets, e.g.
       new  1578b22   * Add lang/dir* to the distribution.
       new  c7101da   * Allow redirections in search path entries.  E.g. if you 
have a   directory
       new  07340b8   * Add the Nix corepkgs to the end of the search path.  
This makes it   possible for other Nix expressions to use corepkgs (mostly 
useful   for the buildenv function).
       new  00a724e   * Remove a debug statement.
       new  9d091ee   * Handle the case where the search path element is a 
regular file.
       new  510033e   * Handle <path> syntax.
       new  2d663b5   * Cache the result of file evaluation (i.e, memoize 
evalFile()).  This   prevents files from being evaluated and stored as values 
multiple   times.  For instance, evaluation of the ‘system’ attribute in NixOS  
 causes ‘nixpkgs/pkgs/lib/lists.nix’ to be evaluated 2019 times.
       new  d374be5   * Add DBD-SQLite as a dependency to the Debian/Ubuntu 
builds. * Drop some old Fedora/Debian/Ubuntu releases.
       new  76e0029   * Add perl-DBD-SQLite as a dependency of the RPM builds.
       new  da18b11   * On FreeBSD, ‘touch’ is not in the test $PATH, so don't 
use it.
       new  a95ba4c   * Use last_insert_id instead of sqlite_last_insert_rowid, 
which you're   not really supposed to use according to the DBD::SQLite docs, 
and   fails on some systems (e.g.
       new  5bcdc7e   * Update the cleanup script.
       new  93227ff   * Eliminate all uses of the global variable ‘store’ from 
libstore.   This should also fix:
       new  82710f9   * Add some -f flags, never hurts.
       new  e6cb3d0   * Added a command ‘nix-store --verify-paths PATHS’ to 
check whether   the contents of any of the given store paths have been 
modified.   E.g.
       new  281e3ed   bootstrap: Simplify & make more robust.
       new  13114da   * Ouch.  A store upgrade could cause a substituter to be 
triggered,   causing a deadlock.
       new  0b34e57   Create a branch for me to play around with finishing off 
the multiple outputs implementation
       new  c172d16   First attempt at the output-as-derivation semantics
       new  8f28a3b   Add a test for multiple outputs
       new  f3e410d   Add a currentOutput attribute to derivations keep track 
of which output is active
       new  ffa038f   Add an sCurrentOutput member to EvalState
       new  bf50d6a   Add information about which output is active to drvPath's 
       new  e81c09e   Remove the current output metadata from the string for 
       new  55481c4   * Don't assume that we want a shared Nix store.
       new  6c38cc9   Ignore everything created during build
       new  bffe35a   Update gitignore
       new  73fe687   * Include the Nix Perl bindings in Nix itself.  This will 
allow the   bindings to be used in Nix's own Perl scripts.
       new  659c427   * Hopefully perl-devel contains the required headers 
       new  6fcdbca   * Install, and under   the Nix:: namespace.
       new  cd6d02c   
       new  8af7d76   * Refactoring: remove unnecessary variables from the 
       new  5090c34   * Set the executable bit on scripts.
       new  a2a317e   * Distribute
       new  5193db0   * Set svn:ignore.
       new  7d314b8   * Work around a race condition starting the Nix daemon.
       new  c362e4d   * Move
       new  2492914   * Move the remote building test from the NixOS tree to 
the Nix tree.
       new  d43a148   * Add a test for nix-copy-closure.
       new  6761757   * Use the Store API bindings in nix-copy-closure.
       new  f186a91   * nix-copy-closure: support ‘--dry-run’ and 
       new  00b41e4   * Print a consistent message.
       new  a12095d   * In printValueAsXML, handle the case where a "type" 
attribute is not   a string.  This happens in the NixOS option system. * Remove 
a bogus comparison of a unsigned integer with -1.
       new  325b5a8   * Fix permission on /nix/store in the manual for 
multi-user installs   (reported by Silvio Frischknecht).
       new  d7b87be   * The Nix configuration file is usually /etc/nix/nix.conf.
       new  daed9ae   
       new  fa69ff5   * Fix the broken reference to bunzip2 in the channel 
unpack script.
       new  a6a3f3a   * Fix race condition in the test.
       new  2721e9f   Merge from trunk
       new  f883afa   The nixinstantiate and nixstore env vars are no longer 
set in
       new  981edea   The 'insert output between = signs' approach was not 
       new  af2e53f   Include all outputs of derivations in the closure of 
explicitly-passed derivation paths
       new  46876ff   Fix stupid typo in multiple outputs test
       new  3522730   Embed output name into the context of the *OutPath 
attributes and extract it for input derivations
       new  24b6593   Remove the unused sCurrentOutput symbol
       new  ca0d47a   Respect all outputs passed to the derivation, not just 
the last one
       new  2ab29be   Fix faulty reversion of my changes to 
       new  3c3107d   There's no need to mess with drvPath at all
       new  c0b7062   * Boldly make SQLite WAL mode the default again.  
Hopefully the   intermittent problems are gone by now.  WAL mode is preferrable 
  because it does way fewer fsyncs.
       new  a595240   * Re-use prepared statements across insertions into the 
manifest cache   DB.  This speeds up creating the cache from 16.1s to 7.9s on 
my   system.
       new  63ee5e4   * Remove obsolete line.
       new  d7d7910   * Don't decompress the manifests in 
/nix/var/nix/manifest.  This saves   disk space, and, since they're typically 
only decompressed once (to   fill the manifest cache), doesn't make things 
       new  f8e609c   * nix-pull: update the Nix manifest cache if necessary.  
Also, don't   read the manifest just to check the version and print the number 
of   paths.  This makes nix-pull very fast for the cached cache (speeding   up 
nixos-rebuild without the ‘--no-pull’ or ‘--fast’ options).
       new  45ec69c   configure: Rely on `AC_CANONICAL_HOST' to determine the 
Nix system name.
       new  42164d6   configure: Change i*86 to i686 as has always been done.
       new  b92f763   * In the platform, canonicalise "amd64" to "x86_64".  
FreeBSD 8.2's   uname reports amd64. * Drop the FreeBSD version number, e.g. 
"i686-freebsd" instead of   "i686-freebsd8.2".
       new  964399c   * "sed" on FreeBSD doesn't know the "+" operator.
       new  a6abade   * Escape the [ and ] characters in the sed call, 
otherwise autoconf   will eat them.
       new  23e933b   * Put back the "sys_name" variable which got removed 
somewhere.  This   broke building on Cygwin and Solaris.
       new  4de3e2a   * Doh.
       new  4e1ea17   nix: add /etc/hosts with localhost entry to chroot builds.
       new  993fa94   * Move initialisation of variables like nixConfDir from 
libmain to   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.
       new  ab20af3   * drop a hard-coded reference to 
       new  5bbd693   * Add an API function exportPaths() that provides the 
functionality of   ‘nix-store --export’. * Add a Perl module that provides the 
functionality of   ‘nix-copy-closure --to’.  This is used by 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 
should no longer fail o [...]
       new  d5ac78e   * Add bzip2 and xz support to nix-copy-closure.
       new  10e2b2b   * Document the --include-outputs option.
       new  f3bc98b   
       new  7840831   * Fix race.
       new  1df120c   * Get rid of the shell in ssh calls.
       new  216440b   * For consistency with "nix-store -q --hash", produce 
hashes in   base-32.  (This affects Hydra manifests.)
       new  b1eb8f4   * Get rid of some superfluous error messages if a 
substituter fails. * Say "fetch" instead of "substitute".
       new  1749a7b   * download-using-manifests: use the Perl bindings.
       new  4d0407b   * Fix make check.
       new  f35c435   * Don't require a specific Perl version.
       new  3c7ec8f   doc/manual/nix-env.xml: stripped trailing whitespace
       new  be9be4c   doc/manual/nix-env.xml: fixed "nix-env -qaA" typo
       new  24f863d   * When doing "nix-store --add-fixed" without 
"--recursive" via the Nix   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.
       new  23c38a0   * Slight improvement.
       new  b12b218   * Allow '<nixexpr>' syntax to be used in nix-instantiate, 
nix-build   and nix-env, e.g.,
       new  49f59dc   * Move parseHash16or32 into libutil, and use in nix-hash.
       new  92d6a5e   * Add some more functions to the Perl bindings.
       new  3964d95   * nix-prefetch-url: rewritten in Perl.
       new  000160f   * In ‘nix-store --verify --check-contents’, repair 
missing hashes   rather than complain about them.
       new  c8c0380   * Remove unnecessary quotes.  showPaths() already adds 
       new  23bf700   * Oops, the daemon test wasn't actually using the daemon.
       new  893cac1   * Remove the terminate handler, which was only really 
needed because   of Berkeley DB (see r8632).
       new  3a48282   * Buffer writes in FdSink.  This significantly reduces 
the number of   system calls / context switches when dumping a NAR and in the 
worker   protocol.
       new  a3e0656   * Buffer reads in FdSource.  Together with write 
buffering, this   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).
       new  a67b8ae   * Typo.
       new  5a1b9ed   * Refactoring: move sink/source buffering into separate 
classes. * 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).
       new  78598d0   * Clean up exception handling.
       new  e0bd307   * Make the import operation through the daemon much more 
efficient   (way fewer roundtrips) by allowing the client to send data in 
bigger   chunks. * Some refactoring.
       new  8d3dfa2   * Avoid expensive conversions from char arrays to STL 
       new  273b288   * importPath() -> importPaths().  Because of buffering of 
the input   stream it's now necessary for the daemon to process the entire   
sequence of exported paths, rather than letting the client do it.
       new  194d21f   * Sync with the trunk.
       new  b536381   * Fix the build.
       new  46e42c9   * Refactor a bit so that more tests can be added.
       new  1f3b0ed   * Add a (currently failing) test that checks whether 
mutually   recursive outputs are properly rejected. * Add a (also failing) test 
for "nix-build -A <output-name>".
       new  edd9359   * Doing a GC after building a derivation with cyclic 
outputs currently   segfaults.
       new  3877619   * Add some accidentally committed files.
       new  179409b   * Add a test for referring to another derivation's 
‘drvPath’.  This   currently fails in read-only mode.
       new  4be5a2c   * Add a test for unsafeDiscardOutputDependency.  Not 
really related to   multiple outputs, but good to have anyway.
       new  b19a0f6   * Simplify the context handling logic.
       new  f3c88f2   Detect and reject mutually-referential outputs
       new  b4cee3f   Revert previous commit
       new  f8e54b7   Make the reference cycle in the cyclic outputs test 
       new  5679041   * The ‘foo.drvPath’ feature was already broken in 
read-only mode.   Since it's rarely used and fixing it is too much work right 
now,   just document it.
       new  69d6f09   * Use a lock to ensure that only one build-remote 
instance can copy a   closure to a given machine at the same time.  This 
prevents the case   where multiple instances try to copy the same missing store 
path to   the target machine, which is very wasteful.
       new  4d728bc   * Security: make sure the lock files used by are not   readable to other users.  Otherwise, any user can 
open the lock file   for reading and lock it, thus DoSing the remote build 
       new  2aac7cd   * Another case of lock file permissions being too liberal.
       new  66c99b0   * ‘--disable-shared’ is no longer supported.  Fortunately 
it's not   needed for the coverage analysis.
       new  58d9743   * Drop unnecessary call to canonPath() (nixStore is 
already canonical).
       new  b33da59   * In the garbage collector, delete invalid paths before 
deleting   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.
       new  524fa8a   * Oops.
       new  8c42a8c   * Make sure that lock files are cleaned up properly when 
building   through the build hook.
       new  254b339   * Sync with the trunk.
       new  ed11b17   * Fix doc error.
       new  b1004f4   * Reject a build if there is a cycle among the outputs.  
This is   necessary because existing code assumes that the references graph is  
       new  6f5e332   * Move topoSortPaths() out of
       new  a71d024   * Oops.
       new  93b56ac   * Support multiple outputs in nix-store (specifically the 
‘--query’   and ‘--realise’ actions).
       new  f2d65c9   * Remove a redundant dot (Nicolas Pierron).
       new  93e71e6   * Follow our own coding conventions.
       new  48cea0d   * Refactoring: Get rid of a few subdirectories in 
corepkgs/, and some   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.
       new  dadbb51   * Use Nix::Config.
       new  39d45a6   * Add a test for nix-channel. * Refactor the nix-channel 
unpacker a bit.
       new  9b7df1e   * Forgot to add.
       new  63227d4   * FreeBSD tar defaults to the tape device instead of 
       new  502d940   * Ignore missing manifest symlinks.
       new  6c31232   * Sync with the trunk.
       new  921111d   * Move the implementation of the ‘derivation’ primop into 
a separate   file.
       new  71f3c46   * Drop the inefficient "Path" suffix in output attribute 
       new  83647f4   * Simplify the implementation of "derivation" a bit: lift 
out the   common attribution so that they're evaluated only once, etc.  Note   
that the default output is now the first element of the "outputs"   attribute, 
rather than the first element of the sorted list of   outputs.  This seems more 
       new  b79b85a   * Export the original input attributes of the derivation 
in   ‘drvAttrs’.  This will simplify the implementation of functions such   as 
‘overrideDerivation’ in Nixpkgs, which need to filter out any   added 
attributes such as outPath.
       new  a0477a4   * currentOutput -> outputName.  "current" implies some 
temporal   aspect.
       new  9d43a02   * Let --disable-gc work.
       new  9936da6   * Check whether the outputName attribute works.
       new  adaf64a   * Merge the multiple-outputs-sandbox branch (svn merge 
--reintegrate   ^/nix/branches/multiple-outputs-sandbox).  Multiple output 
support   still isn't complete, but it wasn't complete in the trunk either, so  
 it doesn't hurt.
       new  35f2a6b   * Don't use dynamic_cast, it's very slow.  
"nix-instantiate   /etc/nixos/nixos -A system" spent about 10% of its time in   
       new  b52966e   * Remove dead code.
       new  a7366a7   * Add a -I flag to the Perl bindings to nix-build and 
some other   scripts. * Include the version and architecture in the -I flag so 
that there is   at least a chance that a Nix binary built for one Perl version 
will   run on another version.
       new  d4e6b9f   * Doh!
       new  9fe24c5   * Don't create thunks for simple constants (integers, 
strings, paths)   and allocate them only once. * Move Value and related 
functions into value.hh.
       new  f86fca9   * Figure out the extension of dynamic libraries; don't 
hard-code .so.
       new  c5d9ccd   perl: Build with `-module'.
       new  6245f0d   tests: Run `download-using-manifests' via libtool so that 
dlopening works.
       new  7ae763e   * ‘-module’ causes the generated library to have an .so 
extension on   Mac OS X instead of .dylib, so don't do that.
       new  2a3f411   * nix-build: put the temporary derivation symlink in a 
temporary   directory rather than the current directory. * nix-build: 
--drv-link now implies --add-drv-link.
       new  4e62484   * Added a command ‘nix-store --print-env $drvpath’ that 
prints out the   environment of the given derivation in a format that can be 
sourced   by the shell, e.g.
       new  02f1363   * Pass the appropriate flags to GCC when building the 
Perl bindings.   Without these, Nix fails on 32-bit Linux with Perl 5.14, with 
a   rather unhelpful error message:
       new  ddd0ce5   * Don't distribute, it's generated automatically 
by xsubpp.
       new  126c731   * Add a test case for comparing derivations.
       new  18047d4   * Add some debug output to print the derivation name once 
it's known.   This makes it easier to pinpoint the source of a crash.
       new  330df4b   * Allow comparisons between derivations by comparing the 
outPath   attributes.
       new  4c9fdd2   * Add a test for importing derivations.
       new  baa0501   * Fix importing a derivation.  This gave a segfault.
       new  ce86a9a   * nix-channel: fail if we don't have write permission to 
the manifests   directory.  Previously in this situation we did add the Nix   
expressions from the channel to allow installation from source, but   this 
doesn't work for binary-only channels and leads to confusing   error messages.
       new  2bda12e   * Print elapsed evaluation time.
       new  f491ae9   * Inline some functions and get rid of the indirection 
through   EvalState::eval().  This gives a 12% speedup on ‘nix-instantiate   
/etc/nixos/nixos/ -A system --readonly-mode’ (from 1.01s to 0.89s).
       new  67444f5   * Build Nix for the latest Fedora and Ubuntu releases 
(and drop some   old ones).
       new  fb95455   Set the versionSuffix to include the Git shortrev
       new  4055a3b   Remove empty ChangeLog file
       new  ec2827f   Update .gitignore
       new  d5a5a83   Use data() instead of c_str() where appropriate
       new  e9fc91d   Fix error message
       new  58ac7a1   Don't use deletePath() to delete a single file
       new  5e57047   Fix a broken guard around utime()
       new  bd013b6   On Linux, make the Nix store really read-only by using 
the immutable bit
       new  6fe13e6   Fix chroots builds
       new  1c94524   Fix an uninitialised variable
       new  8afd28a   Remove dependency on sqlite3_table_column_metadata
       new  56042a1 don't wait forever for the upload lock
       new  2b4964f   Restore progress indication during nix-copy-closure
       new  1d487dc   nix-worker: put the pid of the caller in argv[1]
       new  7b22bec   Don't leak a file descriptor in commonChildInit()
       new  35355fc   Set the close-on-exec flag on file descriptors
       new  d645633   nix-copy-closure: don't print copied path on stdout
       new  605b16c   Fix compilation on FreeBSD
       new  005d1e4   Update bzip2 dependency
       new  b461721   Fix tests
       new  bd50c01   Ensure that Perl processes delete their entry in the 
temproots directory
       new  2e0322e   Clean up when building from a working tree
       new  b006a31   Drop the externals directory
       new  4b23900   Fix the optional dependency on OpenSSL
       new  ea402a2   Replace "make check" with "make installcheck"
       new  7f38087   Add a command "nix-build --run-env" to reproduce the 
environment of a derivation
       new  4b83483   Fix the RPM
       new  457dd55   Fix the Deb builds
       new  cb79e91   Fix the coverage build
       new  19d9762   nix-store --clear-failed-paths: Clear derivation outputs
       new  25de80e   Adding a nix option to sync before registering a path, 
for non-ext* filesystems.
       new  85799bf   Fixing the default of sync-before-registering
       new  8be1979   Remove the --max-links GC option
       new  117670b   Make the garbage collector more concurrent
       new  480dda0   Delete non-directory valid paths right away
       new  446b827   Mac OS X fix
       new  3e94fff   Allow the command executed by "nix-build --run-env" to be 
overriden with --command
       new  5144abe   Add an option "--exclude" to filter dependencies in 
"nix-build --run-env"
       new  b8fb0ce   Update "nix-build --help"
       new  0837348   Follow redirects when checking for the existence of 
       new  34ea91b   Include --keep-going in --help
       new  3b859ea   nix-generate-patches: Optionally write new patches to 
       new  f2467eb   On Linux, pretend we're building on Linux 2.6
       new  5a6d509   Add a missing DocBook source file to the tarball
       new  d49ef03   Update affiliation
       new  998b977   Include common options in the manpages using some 
XInclude hackery
       new  5863987   Include environment variables in the manpages
       new  831c7aa   Documentation fix
       new  533250a   Fix building from the tarball
       new  242a99c   Nix is on github now
       new  8f6146a   Merge pull request #5 from shlevy/doc-fix
       new  1fb30e6   Handle the case where $SHELL is not set
       new  209927b   Unconfuse Rob
       new  00c98a6   Use Bison 2.5
       new  055e803   Add the '--show-progress' flag to nix-copy-closure
       new  34a85c5   nix-copy-closure: Move the progressViewer directly 
adjacent to the ssh call so that network progress is what's measured
       new  969a145   If "pv" is available at compile time, hard-code its path
       new  e855c7e   nix-channel improvements
       new  ef90227   Remove unnecessary "system" argument
       new  ca3d9f8   Urgh, modified the wrong file...
       new  1d0bafb   Follow redirects early to ensure consistency between the 
manifest and the tarball
       new  0b5107c   If the (redirected) channel URL contains a version 
number, use it
       new  31e34fc   Close almost all file descriptors in the builder
       new  154aa7f   Set a few more close-on-exec flags
       new  1132dd2   Fix obscure race condition in GC root creation
       new  8cf1719   Hack to prevent accumulation of old manifests
       new  8745fad   Added utility command ‘nix-instantiate --find-file’ to 
look up a file in Nix's search path
       new  9cd3ff1   nix-instantiate: default to "default.nix" if no arguments 
are given
       new  259c6d3   Fix URL set by nix-channel
       new  6387830   Merge pull request #2 from viric/master
       new  6de5d53   Fix a warning in the build hook about $progressViewer
       new  c722193   Don't use the build hook for unpacking channels
       new  46cdc6a   Handle EPERM when creating a hard link for the chroot
       new  82ae0e6   Update the documentation of
       new  59a2636   Support mandatory system features in the build hook
       new  db5b86e   * Add an option ‘build-use-substitutes’, which can be set 
to ‘false’   to disable use of substitutes; i.e., force building from source.   
Fixes Nix/221.
       new  e145ac3   Do "make installcheck" for Debian builds
       new  e19fb7e   Do "make installcheck" for RPM builds
       new  e060c99   Use mkpath instead of make_path
       new  d03a295   Require SQLite >= 3.6.19
       new  373e875   Don't build for old Fedora releases that don't have a 
sufficiently new SQLite
       new  56c82f3   Don't build for old Debian/Ubuntu releases that don't 
have a sufficiently new SQLite
       new  c6acb21   Drop the Perl-specific CFLAGS
       new  4640893   Fix some 32-bit builds
       new  147f101   Now *really* prevent accumulation of old manifests
       new  afa7b8a   nix-channel --update: allow updating only the specified 
       new  0c4c8f7   Remove obsolete files (moved to release tree)
       new  a58efdb   Update the release notes
       new  7a213ff   Document $NIX_PATH / -I
       new  cb1248d   Document some nix-store subcommands
       new  663c06e   Disable building in chroot for Nix's corepkgs
       new  cda1fd8   Remove an obsolete hack
       new  6a7b24a   Document "nix-store --add"
       new  4f7bab7   Support building with the Perl XS bindings disabled
       new  4d383f5   Document "nix-build --run-env"
       new  37fa479   Build Ubuntu 12.04 packages
       new  58d1de0   Use perl.libPrefix to (hopefully) fix the Cygwin build
       new  2b00e69   CSS tweaks
       new  8a08813   Manual updates
       new  587b408   Set release date
       new  dfc6a43   Fix the install check
       new  cac9eb3   Bump version number
       new  e071f87   Add an experimental nix-make file
       new  591aab7   Remove $FONTCONFIG_FILE hack from
       new  6814b1d   Generate binary tarballs for installing Nix
       new  0301525   Fix owner/group in tar invocation
       new  8058dab   Clean up the installation section; document the generic 
binary tarballs
       new  2c26985   Add option ‘build-keep-log’ to enable/disable writing of 
build logs
       new  4bc4da3   Reserve some disk space for the garbage collector
       new  881beb1   "nix-store -l": support compressed logs
       new  f5398d3   Compress build logs on the fly using bzip2
       new  e545a7f   - replace %define with %global
       new  d030807   - only enable deprecated spec sections when building on 
systems with older RPM versions - move tests to dedicated %check section - use 
standard build macros
       new  6a214f3   Update nix profile: - incorporate NixOS's configuration 
so that nix is usable by normal users - install as a data file, not a program 
       new  8922346   Major spec update: - Fix license field - Split into 
subpackages - Update build dependencies - Configure users and groups for 
multi-user mode - Fix installation location of Perl modules
       new  a7ed1f6   On systems with SystemD, install the service descriptor 
for nix-worker, and enable and start it
       new  221626e   fixes to nix-worker systemd service descriptor: - remove 
commented-out lines - register the file for distribution in
       new  02fb632   Add Emacs to the disk image
       new  2f3f413   Support socket-based, on-demand activation of the Nix 
daemon with systemd
       new  df716c9   In chroot builds, use a private network namespace
       new  7ffa523   In chroot builds, use a private SysV IPC namespace
       new  723a68c   Improve error message
       new  8da6772   Update release notes
       new  5489086   Use a private UTS namespace to provide a deterministic 
host/domain name to builders
       new  1db38ae   When using chroots, use a private PID namespace
       new  3ee2085   Check the return code of the clone() call
       new  42f5a2f   Mount an empty /dev/shm tmpfs in the chroot
       new  1aba0bf   nix-store -r: do substitutions in parallel
       new  49cd738   nix-push: create a manifest-less binary cache
       new  4911a10   Use XZ compression in binary caches
       new  91b8814   Doh
       new  37f7098   First attempt at the manifest-less substituter
       new  000132c   nix-push: Don't pollute the current directory with result 
       new  f4190c3   Allow both bzip2 and xz compression
       new  440adfb   Add an environment variable $NIX_BINARY_CACHES specifying 
URLs of binary caches
       new  6b1e671   Fix xz compression
       new  6ec7460   Binary caches: use a better key
       new  cf49472   nix-push: Always generate base-32 hashes
       new  8319b1a   download-from-binary-cache: Verify NAR hashes
       new  d694c59   download-from-binary-cache: cache binary cache info in a 
       new  2a8e5c8   download-from-binary-cache: strip trailing / from URLs
       new  89380c0   download-from-binary-cache: in queries, preferred cached 
       new  ae60643   download-from-binary-cache: do negative NAR info caching
       new  cd94665   download-from-binary-cache: use WWW::Curl
       new  11800e6   download-from-binary-cache: parallelise fetching of NAR 
info files
       new  400e556   Cleanup
       new  425cc61 Don't use hasSubstitute()
       new  98a423b   prim_import(): prefetch substitute info in parallel using 
       new  0991254   download-from-binary-cache: add nix.conf options
       new  5755a5c   Install a nix.conf manpage
       new  087dee6   Get rid of nix.conf.example
       new  a560124   Fix RPM builds
       new  ae72be1   Add WWW::Curl as a dependency
       new  27f0c34   Really fix RPM builds
       new  c4df747   Resurrect old corepkgs fetchurl
       new  40c01ec   corepkgs/ We'll need curl
       new  6450f56   Move fetchurl files out of their subdirectory
       new  fd2630e   Remove old fetchurl makefile
       new  9d94a28   The fetchurl builder is now
       new  a994eb9   corepkgs/ Use config.nix's curl
       new  f863673   corepkgs/fetchurl: Call the shell directly instead of 
using the shebang
       new  543bf74   corepkgs: distribute fetchurl files
       new  53f52c2   corepkgs/fetchurl: the 'system' argument can be optional
       new  a2865f6   corepkgs/fetchurl: Build locally and outside of the chroot
       new  035aa11   Remove obsolete comment
       new  51f9f99   Add a test for the fetchurl function
       new  2dd3117   Inline
       new  eae8024   Pass --insecure to curl so that https works
       new  5ee8944   Cleanup
       new  6586414   nix-env: Determine which paths have substitutes in 
       new  eb3036d   Implement querySubstitutablePathInfos() in the daemon
       new  667d5f1   Rename queryValidPaths() to queryAllValidPaths()
       new  58ef4d9   Add a function queryValidPaths()
       new  09a6321   Replace hasSubstitutes() with querySubstitutablePaths()
       new  b74d927   download-from-binary-cache: Use HEAD requests if possible
       new  d287b62   Set the User-Agent header to "Nix/<version>"
       new  15c15da   Add some missing --version switches
       new  f2bdc87   Update the other substituters
       new  e4d6bcb   Update release notes
       new  04559a0   Merge branch 'master' of into 
       new  a7a43ad   builtins.storePath: resolve symlinks
       new  53b24f3   Allow disabling log compression
       new  6c01fb4   Update Nix 1.1 release notes
       new  51d71ad   Manual: Don't claim we support Cygwin
       new  1217204   Remove dead code
       new  3a9fdf2   Return an exit code of 100 for cached failed builds
       new  a6f3485   Print some debug output
       new  220818f   queryPathInfo(): return hash in base-32 if desired
       new  ccc52ad   Add function queryPathFromHashPart()
       new  fe241ec   Merge branch 'master' into no-manifests
       new  aa115e2   download-from-binary-cache: Print correct URL
       new  58337e0   Set release date
       new  b7fd2c2   Use "#pragma once" to prevent repeated header file 
       new  98193bb   Remove RPM builds that don't evaluate
       new  1832ab7   Bump version
       new  6852289   Use lutimes() if available to canonicalise the timestamp 
of symlinks
       new  ed59bf7   nix-build: Support the ‘-’ argument to build an 
expression from stdin
       new  564fb7d   optimiseStore(): Use a content-addressed file store in 
       new  6193105   Automatically optimise the Nix store when a new path is 
       new  680ab6f   Garbage collect unused links in /nix/store/.links
       new  0f65793   Add a test for Nix store optimisation
       new  fd63c8b   Unlink the right file
       new  e98c029   Handle platforms that don't support linking to a symlink
       new  566a30c   Disable tests temporarily
       new  b1112bb   import: If the path is a valid .drv file, parse it and 
generate a derivation attrset.
       new  1ef2d57   Turn tests back on
       new  f5954e2   prim_import: When importing .drvs, allocate the 
intermediate attrset on the heap just in case it escapes the stack frame.
       new  477b0fb   Subscribe to the Nixpkgs rather than NixOS channel
       new  2605f4f Don't set NIX_REMOTE on single user 
       new  3a4623a   Set permissions on temporary build directories to 0700
       new  8c79100   Merge branch 'master' into no-manifests
       new  dbce685   Add some .gitignore entries
       new  7892ad1   download-from-binary-cache: Support file://
       new  7861260   Clear NIX_STORE when running the tests
       new  609586a   Add a test for the binary cache substituter
       new  e3ce54c   nix-push: Remove the upload feature
       new  50395b7   Fix the substituter tests
       new  67c6f3e   nix-push: Support generating a manifest again
       new  7f8e805   download-from-binary-cache: Only use the default cache 
for /nix/store
       new  b4ea832   Remove trailing whitespace / tabs
       new  3a8f841   download-using-manifests: Don't use nix-prefetch-url
       new  fbf59d9   Remove more tabs
       new  73acb8b   Let verify the expected hash of a substituter's 
       new  e6ab52c   Test "nix-env -qas" with the binary cache substituter
       new  6ecf4f1   Use "set -x" in the tests to see where a test fails
       new  66a3ac6   Allow a binary cache to declare that it doesn't support 
"nix-env -qas"
       new  f15083c   Document the --option flag
       new  6183cf2   Fix whitespace
       new  f9613da   Remove unused variables
       new  d059bf4   Pass configuration settings to the substituters
       new  ab42bf1   nix-install-package: Support binary caches
       new  9de6d10   Get rid of $NIX_BINARY_CACHES
       new  f3eb29c   Fix the test
       new  9cd63d2   Do some validation of URLs
       new  d50d7a2   Whitespace
       new  97421eb   Refactor settings processing
       new  1571700   Manual: Remove reference to non-existent -I option
       new  89a8207   Add an option ‘build-fallback’ (equivalent to the 
--fallback flag)
       new  90d9c58   Pass all --option flags to the daemon
       new  eb7849e   Prevent an injection attack in passing untrusted options 
to substituters
       new  4d1b64f   Allow daemon users to override ‘binary-caches’
       new  c770a24   Report substituter errors to clients of the Nix daemon
       new  8a25d78   download-from-binary-cache: Remove duplicate URLs
       new  7b10562   Make ‘nix-store --optimise’ interruptible
       new  234ce61   Doh
       new  afa7e01   Inline
       new  46f852c   Use a GNU tar flag to shut up warnings about implausibly 
old timestamp
       new  ca94b38   nix-env: Ignore manifest.nix when recursing into 
       new  79bba37   Doh
       new  5170c56   nix-channel: Use binary caches advertised by channels
       new  9c2deca   Merge branch 'master' into no-manifests
       new  1df702d   removeUnusedLinks(): Print stats on disk space saved by 
hard linking
       new  967d066   nix-store --gc: Make ‘--max-freed 0’ do the right thing
       new  01d56c1   Drop the block count in the garbage collector
       new  6763084   Count bytes freed deleting unused links
       new  108e14b   Fix race condition when two processes create the same 
link in /nix/store/.links
       new  b6c989b   Fix race condition when two processes create a hard link 
to a file in .links
       new  d025142   Handle amount of disk space saved by hard linking being 
       new  325d1cf   Don't warn about maximum link count exceeded on 0-byte 
       new  e827679   Add some basic profiling support to the evaluator
       new  62f72eb   Add some more evaluations stats
       new  4ccd48c   Add a "filter" primop
       new  b9e5b90   Provide an efficient implementation of ‘elem’
       new  198d033   Add a primop ‘concatLists’
       new  9c2d630   Add a primop ‘elemAt’ to get an element from a list
       new  3e89ef5   Optimise concatenating a list to an empty list
       new  e5c589d   Don't allocate empty lists
       new  7671018   Avoid concatenating lists of one string
       new  862c4c5   Fix 1755 permission on temporary directories left behind 
by ‘-K’
       new  f0eab06   Don't bind-mount /proc since we mount our own
       new  56e30e1   In the chroot, make all mounted filesystems private
       new  d950cfe   Check if MS_PRIVATE is defined
       new  4aa1e5c   Receive reserveSpace before calling startWork()
       new  a9e6752   Include the output name in the GC root link
       new  e94806d   Merge branch 'master' into no-manifests
       new  babe54b   Add missing file
       new  8b8fe61   Drop dependency on List::MoreUtils
       new  8207359   Whitespace
       new  2688fb7   Add perl-WWW-Curl to the RPM image
       new  cc86418   Add WWW::Curl to the RPM dependencies
       new  f3077fd   Add libwww-curl-perl to the Debian/Ubuntu images
       new  cfd968d   Fix stupid type error in calling std::max
       new  9e2fc69   Disable the binary cache substituter by default for now
       new  15e1b2c   Merge branch 'no-manifests'
       new  f7b650d   Make "nix-instantiate -" interruptible
       new  360056e   Document importing from a directory in the import 
       new  d3004c7   Don't use -warning=no-timestamp unless we have GNU tar
       new  295027f   Include config.h before any other header
       new  a2785b7   Support building a derivation if some outputs are already 
       new  9dbda2b   Remove debug line
       new  8cf6720   Support building a derivation if some outputs are already 
valid (non-chroot case)
       new  5e2ffd0   Fix "non-zero padding" error
       new  1f7901e   Test hash rewriting
       new  d4c3b63   Don't put results symlinks in the tests directory
       new  6762424   Compatibility fix for WWW::Curl < 4.14
       new  4ba4720   Fix test failure on Darwin
       new  479e917   Build hook: Pass the timeout to the remote builder
       new  4fca020   Handle gc-keep-outputs and gc-keep-derivations both 
       new  e56f71e   In startBuilder(), only print the new paths we're building
       new  6c4ac29   Disable auto store optimisation for now
       new  b14717a   Delete manifests in "nix-channel --remove" or when a 
binary cache is available
       new  c845c0c   nix-channel: Add option to force fetching of manifests
       new  31114ec   Fix the store optimisation test
       new  2923b55   Delete paths in a component in topologically sorted order
       new  e6e4956   Vacuum the SQLite DB after running the garbage collector
       new  8fbe96c   RemoteStore::connectToDaemon(): Set close-on-exec flag
       new  e03a8a1   Doh
       new  47ae3ce   Put a time-to-live on negative binary cache lookups
       new  54fe8e0   Remove double Fedora release suffix
       new  aac1422 Revert to single-user version
       new  1bda006   Add a test for
       new  9fd9ded   nix-env --delete-generations: Support --dry-run flag
       new  983220b   nix-collect-garbage: Support --dry-run
       new  09eb230   Fix test
       new  b674665   Test whether GNU tar understands --warning=no-timestamp
       new  00092b2   Keep build directory if not all expected outputs were 
       new  76e8887   Templatise tokenizeString()
       new  b9124a5   Support having /nix/store as a read-only bind mount
       new  b9c2b4d   Remove setting of the immutable bit
       new  20582e9   Support xz compression in the download-using-manifests 
       new  c1f9157   Style fix
       new  28bf183   Include <sys/types.h> for off_t
       new  e464b02   Merge branch 'readonly-store'
       new  cb6651e   Update release notes
       new  0f358ca   Document that Nix requires GNU Make
       new  d534f13   Make the store writable before creating /nix/store/.links
       new  f46612b   Add "on Linux" qualifier
       new  95c74ea   Allow dashes in identifiers
       new  f406288   Print a more descriptive error message if setting up the 
build environment fails
       new  e666e11   Handle octal escapes in /proc/self/mountinfo
       new  9958bd6   Add operation ‘nix-store --repair-path’
       new  8e3a7bd   nix-store --verify: Add an option ‘--repair’ to repair 
all missing/corrupt paths
       new  cf46f19   nix-store -r: Get rid of an unnecessary call to 
       new  2001895   Add a --repair flag to ‘nix-store -r’ to repair 
derivation outputs
       new  a3f205b   When repairing a derivation, check and repair the entire 
output closure
       new  a807edf   Handle repairing paths that are in build-chroot-dirs
       new  0a70845   Add a ‘--repair’ flag to nix-instantiate
       new  2e90a5a   nix-build: Support ‘--repair’ flag
       new  2bbc4a2   nix-env: Support ‘--repair’ flag
       new  9c41c66   Document ‘--repair’
       new  a562d54   When ‘--help’ is given, just run ‘man’ to show the manual 
       new  7586095   Remove bin2c
       new  522ecab   Drop support for running nix-worker in "slave" mode
       new  e35d6f7   Rename nix-worker to nix-daemon
       new  f766e14   Fix the test
       new  d1de836   Fix the tarball build
       new  90b8a34   Fix regular expression
       new  904f504   nix-store --verify: Continue on errors
       new  bfaa563   Manual: Don't use a store path that actually exists
       new  ad328be   XML writer: flush after newlines
       new  70f75be   getDerivation(): Don't always quietly ignore assertion 
       new  ecedd9c   Out-of-tree building of perl modules.
       new  e345182   Shorten the names of temporary build directories
       new  600daf9   download-from-binary-cache: Remove duplicate entries in 
       new  ac238d6   Typo
       new  167e36a   nix-push: Only generate and copy a NAR if it doesn't 
already exist
       new  c8daeba   nix-push: Add ‘--link’ flag
       new  dde6486   nix-push: Add a flag ‘--manifest-path’ to write the 
manifest to another directory
       new  2980d1f   prim_toPath: Actually make the string a path
       new  a28b444   nix-prefetch-url: Improve option handling
       new  4c34d38   If hashes do not match, print them in base-32 for 
       new  d0fc615   canonicalizePathMetaData: Fall-back to utimes if lutimes 
fails due to ENOSYS
       new  df27db7   Fix "Not an ARRAY reference" error
       new  620e92e   Add an option ‘use-binary-caches’
       new  82951e5   nix-push: Handle pushing a symlink
       new  3a95e1a   Update nix-push manpage and document the binary cache 
       new  bbc107e   Process binary caches in order of priority
       new  e28b683   download-from-binary-cache: Try next cache if downloading 
a NAR fails
       new  c31ebc5   Update release notes
       new  a9a8baa   Use a shorter Nixpkgs channel URL
       new  91ef4d9   Remove unnecessary call to closeMostFDs()
       new  f581ce0   Don't start copy-from-other-stores if $NIX_OTHER_STORES 
is unset
       new  8816432   Fix a segfault when auto-calling a "address@hidden" 
       new  182e15b   Manual: Don't use a store path in our closure
       new  4c9e3fa   Remove a Darwin hack that should no longer be needed
       new  10dcee9   Remove the quickExit function
       new  198dbe7   Remove some redundant close() calls
       new  48c19c4   Remove definition of non-existant function
       new  ea89df2   Use vfork() instead of fork() if available
       new  3acc8ad   Add some debug code
       new  8541d27   Don't use std::cerr in a few places
       new  f794465   Disable use of vfork()
       new  17dc306   Revert "prim_toPath: Actually make the string a path"
       new  bf3725d   nix-store -r: Don't quietly ignore missing paths
       new  9de6bc5   nix-store -r: Add ‘--ignore-unknown’ flag
       new  a3d6585   nix-copy-closure: Add flag ‘--use-substitutes’
       new  46a369a   Make "nix-build -A <derivation>.<output>" do the right 
       new  8d8d47a   Only substitute wanted outputs of a derivation
       new  408a7bf   nix-instantiate: Fix read-only evaluation
       new  69c88f5   Fix the multiple-outputs test
       new  08964d7   Undo accidental debug change
       new  5943f41   queryMissing(): Handle partially valid derivations
       new  8b8ee53   Add builtin constants ‘langVersion’ and ‘nixVersion’
       new  6c98e6a   Optionally ignore null-valued derivation attributes
       new  8eed07c   nix-env -q --out-path: Support multiple outputs
       new  4bb4d54   Whitespace
       new  d62fc71   Fix the ‘--prebuilt-only’ flag
       new  21c2d8d   Test the ‘--prebuilt-only’ flag
       new  5ad8939   nix-env: Install all outputs of a derivation
       new  2d5e8e2   Add a test for ‘nix-env --set-flag active ...’
       new  56d29dc Create symlinks in priority order
       new  b215b23   Test priorities
       new  24d5875   Document multiple output support
       new  4387d19   nix-channel --update needs bzip2
       new  094a08f   Document new primops
       new  3100b29   Tiny optimisation in the filter primop
       new  a7b4aaa   Updated release notes
       new  d5a01d0   Build Debs for Ubuntu 12.10
       new  444b03a   Produce an xz-compressed tarball
       new  566afa1   Support xz compression of nixexprs.tar in channels
       new  0f96966   Add release date
       new  aa61bc7   Fix RPM build
       new  3631dc6   Typo
       new  5c48776   Add a dependency on xz
       new  8d100db   Add a dependency on xz-utils
       new  52edef3   Fix RPM build
       new  8cc19ed   Set a long SQLite timeout in the binary cache substituter
       new  a6ce6d9   Fix manual generation
       new  e087bfe   Bump version number
       new  772778c   On SQLITE_BUSY, wait a random amount of time
       new  3ad53e4   Debian package: Add dependency on libwww-curl-perl
       new  9fa12fc   Allow setting the profile location using $NIX_PROFILE
       new  a9045c7   fix use-after-free bug in mkString(Value&, Symbol&)
       new  cc511fd   Check for potential infinite select() loops when building
       new  228ea7c   Revert brain fart
       new  fbf0b2f   Kill the build hook rather than shutting it down cleanly
       new  e775d4d   If gc-keep-derivations is set, only keep the actual 
       new  9c29a2e   Give a better error message if writeFile fails due to 
permission issues
       new  06f62de   Yet another rewrite of the garbage collector
       new  2754a07   nix-store -q --roots: Respect the 
gc-keep-outputs/gc-keep-derivations settings
       new  5ee7d8f   Typo fix
       new  68dcbb1   download-from-binary-cache: Use the channels of the 
calling user rather than root
       new  b762977   Allow mounting a path in a different location in the 
       new  12f9129   nix-build: Support talking to old daemons
       new  82248ab   Add a test for incomplete closures in the binary cache
       new  1b3a78a   Automatically fall back if the references of a substitute 
are not substitutable
       new  299141e   If a substitute closure is incomplete, build 
dependencies, then retry the substituter
       new  42d6f64   Update release notes
       new  649bb60   Use sysconfdir=/etc
       new  aebea2e   Reinstate the default for 
the binary-caches setting
       new  f12492c   Manual: Fix "nix-store --export" example
       new  0a4e903   Urgggh
       new  def5160   Clear any immutable bits in the Nix store
       new  3007f57   Remove tabs
       new  b424d29   Open the database after removing immutable bits
       new  92926be   Fix "0 store paths deleted" message
       new  e42df68   Delete a left-over trash directory before doing a GC
       new  66fa9e6   Bump version number to 1.4
       new  536c85e   Store build logs in /nix/var/log/nix/drvs/<XX>
       new  d6fd6d8   corepkgs/fetchurl: Enable making the downloaded file 
       new  96fbbbd Don't keep build logs on the build slave
       new  1943b60   Fix the VM tests
       new  99ed558   Correctly handle missing logs
       new  5e9c3da   Only warn about SQLite being busy once
       new  9842077   Improve -I description
       new  d614380   Support the colonies
       new  8add116   Nix::Store::derivationFromPath: Return derivation outputs
       new  01a5ea9   experimental/hash
       new  5217260   Rename "hash" to "hashString" and handle SHA-1
       new  5f18cd2   Make "${./path} ..." evaluate to a string, not a path
       new  79a3ba7   Document ‘hashString’
       new  5ea138d   Enable chroot support on old glibc versions.
       new  3e067ac   Add `Settings::nixDaemonSocketFile'.
       new  dadf7a5   build-remote: Use the --quiet flag
       new  5526a28   Security: Don't allow builders to change permissions on 
files they don't own
       new  ca9c02d   Update release notes
       new  97c6009   Bump version number
       new  826dc0d   Remove outdated file
       new  b008674   Refactoring: Split off the non-recursive 
       new  0111ba9   Handle hard links to other files in the output
       new  8893641   Bump version number
       new  f45c731   Handle symlinks properly
       new  9fa1bee   Update release notes
       new  8057a19   Handle systems without lutimes() or lchown()
       new  28bba8c   Prevent config.h from being clobbered
       new  e73d9e9   Fix annoying Perl 5.16 warnings
       new  bdd4646   Revert "Prevent config.h from being clobbered"
       new  4b07476   Prevent config.h from being clobbered
       new  c56bc3d   Make sure that thunks are restored properly if an 
exception occurs
       new  8047097   Fix building against Bison 2.6
       new  a68ebf8   Require Bison 2.6
       new  78d777c   Remove the "system" jobset input
       new  f72ed36   Bump version number
       new  c3fc60d   Fix evaluation
       new  2c9cf50   makeStoreWritable: Use statvfs instead of 
/proc/self/mountinfo to find out if /nix/store is a read-only bind mount
       new  cc63db1   makeStoreWritable: Ask forgiveness, not permission
       new  2398417   Fix evaluation of the VM tests
       new  258897c   Complain if /homeless-shelter exists
       new  05420e7   Manual: Add a missing step to the build instructions
       new  c642441   Test NAR info caching
       new  a9b4e26   Test whether --fallback works if NARS have disappeared 
from the binary cache
       new  08d96ff   Fix --fallback with the binary cache substituter
       new  934cf2d   Nix daemon: respect build timeout from the client
       new  6955d41   nix-build: Respect --timeout
       new  f9974f8   Show that --timeout doesn't work if the build produces 
log output
       new  772b709   Fix --timeout
       new  938092a Use Nix::Utils::readFile
       new  00f698e Search process environments for 
       new  0374d94   addAdditionalRoots(): Check each path only once
       new  4ddd077 Don't hardcode /nix/store
       new  470553b   Don't let stderr writes in substituters cause a deadlock
       new  3628b61   Nix 1.5.2 release notes
       new  5cc2fc4   Adding ETA support to the --show-progress in 
       new  7391533   Fixing the pv reference; I didn't mean to change it
       new  e6c44d1   Fixing the pv position regarding compression
       new  c51b6a8   nix-copy-closure: Show a proper error message if no host 
name is given
       new  93f4fa8   Update release notes
       new  28034bf   Build Ubuntu 13.04 debs
       new  cc837e2   Build Debian 7.0 debs
       new  ea019e9   Add option ‘extra-binary-caches’
       new  8069703   Update release date
       new  e93acab   Build Fedora 18 RPMs
       new  69b8f99 Enforce timeouts locally
       new  7a03cbf Create one process fewer on the remote 
       new  6eba056   Communicate build timeouts to Hydra
       new  2ee9da9   In trace messages, don't print the output path
       new  78206f0 Allow a machine to refuse a build
       new  be0b9dd Pass /dev/null as SSH's stdin
       new  3a0cc43 Properly close the SSH connection 
between attempts
       new  6e85d1b   Bump release date
       new  31a551a   Bump version
       new  a4cb62a Get rid of an 
uninitialized value warning
       new  2295672   Shut up a compiler warning
       new  1b3a03f   Show which function argument was unexpected
       new  18a48d8   Show function names in error messages
       new  72d8209 Indicate if remote machine is refusing 
       new  107505e Copy all outputs in one operation
       new  b09b873   nix-store --export: Export paths in topologically sorted 
       new  039d5a0   .bashrc -> .profile
       new  bc2e43f Remove meaningless signing when 
importing the output paths
       new  ff08306 Treat a 403 error as a 404
       new  f0576d6   Update the default binary cache URL to
       new  75e12b8 Fix race condition
       new  c5f9d0d   Buffer reads from the substituter
       new  5959c59   Process stderr from substituters while doing have/info 
       new  ca70fba   Remove obsolete EOF checks
       new  24e063e Show if we're waiting for 
       new  24a356b   Replace $NIX_DEBUG_SUBST with an option ‘debug-subst’
       new  5c06e52 Respect 
       new  6b05f68   nix-daemon: Trust options like binary-caches when the 
client is root
       new  f9ff67e   In repair mode, update the hash of rebuilt paths
       new  bfee9a2   Typo
       new  6cc2a8f   computeFSClosure: Only process the missing/corrupt paths
       new  1e2c7c0   Fix assertion failure in canonicalisePathMetaData() after 
hash rewriting
       new  cd49ee0   Fix a security bug in hash rewriting
       new  1b6ee8f   Allow hard links between the outputs of a derivation
       new  6016bcd   Update release notes for Nix 1.5.3
       new  2b29e4b   Bump version
       new  22144af   Don't keep "disabled" substituters running
       new  9b11165   Disable the copy-from-other-stores substituter
       new  1906cce   Increase SQLite's auto-checkpoint interval
       new  5558652   Don't substitute derivations that have preferLocalBuild 
       new  7ccd946   Don't set $preferLocalBuild and $requiredSystemFeatures 
in builders
       new  1917d75 Report downloaded size as 0
       new  7986711 Respect $NIX_BIN_DIR
       new  5116214   Add support for uncompressed NARs in binary caches
       new  b584a42   Manual: auto-optimise-store is disabled by default
       new  212e96f   Leave `HAVE_HUP_NOTIFICATION' undefined on GNU/Hurd.
       new  6563900   nix-build --run-env: Source $stdenv/setup in the 
interactive shell
       new  ed09d0c   nix-build --run-env: Always use Bash
       new  6fcc290 Move "building ..." message to a better 
       new  620d57f   doc: typo
       new  25a00ca   Add gzip support for channel unpacking
       new  aeb810b   Garbage collector: Don't follow symlinks arbitrarily
       new  c3f5413   Fix syntax error in unpack-channel
       new  16591eb   Allow bind-mounting regular files into the chroot
       new  a4921b8   Revert " Enforce timeouts locally"
       new  dc5f2e7   nix-build --run-env: Add a ‘--pure’ flag
       new  2bc5de8   Rename ‘nix-build --run-env’ to ‘nix-shell’
       new  48858ad   nix-shell: Set some environment variables also set by
       new  15e5ac8   nix-shell: Set $IN_NIX_SHELL
       new  7b09e9f   Add hacking notes plus a script for running nix-shell
       new  7cf539c   buildenv: remove special treatment of python files
       new  e87d1a6   killUser: Don't let the child kill itself on Apple
       new  70e68e0   Detect stack overflows
       new  20866a7   Delay evaulation of `with` attrs until a variable lookup 
needs them
       new  e068f49   Avoid thunks when a fromWith var can be looked up without 
       new  8ae6d55   Don't use NULL
       new  0a470fc   Make Env smaller
       new  7df4ef9   Test the delayed with a bit more
       new  5114559   nix-shell: Don't disable Automake dependency tracking
       new  159e621   Overload the ‘+’ operator to support integer addition
       new  5d147e1   Add a unary integer negation operator
       new  4770167   Add integer ‘-’, ‘*’ and ‘/’ operators
       new  3d77b28   Add comparison operators ‘<’, ‘<=’, ‘>’ and ‘>=’
       new  8e74c0b   Let the ordering operators also work on strings
       new  46ffcce   In the profiler output, show function names (if available)
       new  fd7d979   Remove obsolete reference to ATerms
       new  263d668   Set the default GCC optimisation level to -O3
       new  a583a2b   Run the daemon worker on the same CPU as the client
       new  161a2cc   Fix build on non-Linux
       new  3fb7ae0   Respect MINSIGSTKSZ when allocating an alternative stack
       new  58204a3   corepkgs/nar.nix: Prefer local builds
       new  46222bb   Typo
       new  297b762   Turn on -Wall
       new  d308aea   Store Nix integers as longs
       new  25a108b   Hack to clean up tests/test-tmp
       new  b3110a1   Fix corrupt PNG
       new  03eaef3   Manual: Don't use actual hashes of Nix dependencies
       new  c6c024c   Fix personality switching from x86_64 to i686
       new  34bb806   Fix typos, especially those that end up in the Nix manual
       new  6cd6ce5   Fix nix-shell command
       new  afc6c1b   Simplify inherited attribute handling
       new  efe4289   Add an option to limit the log output of builders
       new  b29d3f4   Only show trace messages when tracing is enabled
       new  6ec8dab   Adda test for build-max-log-size
       new  ecd830b   Update the release notes
       new  e9b9216   Fix manual error
       new  c28dfc0   Manual: Make '' a bit clearer
       new  ac1b754   Lower xz compression level
       new  3397262   Fix whitespace
       new  92077b4   Get rid of a signedness warning
       new  57d18df   Add some support code for nix-repl
       new  6f80919   Get rid of the parse tree cache
       new  06bb2d9   Reformat
       new  ef4f5ba   Work on Values instead of Exprs
       new  c57ed84   Check for name collisions in the input Nix expressions
       new  07a08bd   nix-env: Load files in ~/.nix-defexpr on demand
       new  88c0734   nix-env: Use wildcard match by default
       new  2c1ecf8   nix-env -i: Add a flag ‘--remove-all’ / ‘-r’
       new  5904262   nix-shell: Support a .drv as argument
       new  4b83830   typo
       new  936f9d4   Don't apply the CPU affinity hack to nix-shell (and other 
Perl programs)
       new  0220da3   Remove stray debug line
       new  fecad91   Update release notes
       new  b072fc0   Bump version number
       new  d5529f5   Version was called 1.6, not 1.6.0
       new  f53574e   RestoreSink: Slightly reduce the number of concurrent FDs
       new  faaae44 Don't use substituters on the remote
       new  a5fb4b5   Fix typo
       new  28e0742   Report OOM errors better
       new  c945f01   Fix segfault in nix-repl / hydra-eval-jobs
       new  176c666   Don't show calls to primops in stack traces
       new  221a2da   Merge VarRef into ExprVar
       new  a5e0f64   Remove some unused functions
       new  6b47de5   Show the exact position of undefined variables
       new  b1e3b1a   Treat undefined variable errors consistently
       new  9deb822   Deduplicate filenames in Pos
       new  7bdb854   printStats(): Print the size of the symbol table in bytes
       new  672c3ac   Adjust to the NixOS/Nixpkgs merge
       new  c1994fe   nix-shell: Fix bash completion
       new  d05bf04   Treat SQLITE_PROTOCOL as SQLITE_BUSY
       new  7cdefdb   Print a distinct warning for SQLITE_PROTOCOL
       new  bce14d0   Don't wrap read-only queries in a transaction
       new  4bd5282   Convenience macros for retrying a SQLite transaction
       new  ff02f53   Fix a race in registerFailedPath()
       new  a737f51   Retry all SQLite operations
       new  b8571d6   Add a regression test for correct path antiquotation 
       new  d6a7aa8   Revert the behaviour of antiquoted paths to pre-Nix 1.6
       new  9d8a803   Add a test for type correctness of antiquotes
       new  b8034e5   Ensure proper type checking/coercion of "${expr}"
       new  d7625b5   two typos
       new  b08f4b0   Test string semantics a bit more
       new  f6a8e7f   Fix test
       new  bb659ba   Nix 1.6.1 release notes
       new  f440558   Don't show <nix/derivation.nix> in stack traces
       new  792fd51   Fold two stack trace messages in derivations
       new  4ea034a   nix-shell: Play nicely with non-interactive shells
       new  4f4a144   Don't set $PS1 in non-interactive shells
       new  c086183   For auto roots, show the intermediate link
       new  3139481   Add an aggregate job
       new  fe95650   Memoize evalFile() lookups under both the original and 
resolved name
       new  543d8a5   Don't require NIX_SHOW_STATS for NIX_COUNT_CALLS
       new  6da92d9   Document NIX_SHOW_STATS and NIX_COUNT_CALLS
       new  05d02f7   Add a typeOf primop
       new  411a346   Add a test of the type primops
       new  a5684e0   Document typeOf
       new  69befd3   Remove unnecessary call to forceStringNoCtx
       new  dc34181   Add rpm_fedora19i386 to the release-critical builds
       new  9e4bb20   Manual: Fix broken URLs
       new  5bc41d7   Rename "attribute sets" to "sets"
       new  2d9bb56   Fix segfault on Darwin
       new  fba17a9   Doc fix
       new  36e67ff   Undocument obsolete form of "let"
       new  ea6bf0c   Slightly optimize listToAttrs
       new  1dacd42   Update release notes, set version for 1.6.1 release
       new  6123144   Drop Cygwin and Solaris builds
       new  dec2f19   Fix a segfault in genericClosure
       new  8d6418d   Fix building without a garbage collector
       new  4badd7e   Get rid of an intermediary on the stack
       new  273322c   Make ifs and asserts tail-recursive
       new  c897bac   Make function calls tail-recursive
       new  2bcb384   Add a test to check that tail calls run in bounded stack 
       new  89e6781   Make function calls show up in stack traces again
       new  a478e8a   Remove nix-setuid-helper
       new  90b5e69   Support quoted attribute names in -A
       new  fc33fd8   Add a symbol __curPos that expands to the current source 
       new  285df76   Add a primop unsafeGetAttrPos to return the position of 
an attribute
       new  77c13cd   Add a toJSON primop
       new  5fea981   Refactor JSON output
       new  245e264   nix-env -q: Add a --json flag
       new  af94a70   Drop support for user environment manifests in ATerm 
       new  990126c   Shorter error message
       new  0f24400   Generalise meta attributes
       new  30b9869   Check meta values and warn about bad ones
       new  d4a76ff   Bump version number
       new  709cbe4   Include <cstring> for memset
       new  b8e9efc   New non-recursive, plain Make-based build system
       new  bc96c45   Automatically emit make rules for header files
       new  1474ecf   Generate the parser and the lexer
       new  eaf903f   Clean more aggressively
       new  e0a108b   Remove unnecessary line
       new  eff6c4b   Add missing #include
       new  62e35cc   Add ‘make dist’ support
       new  ffdc85f   Respect configure flags
       new  9a14d5e   Automatically regenerate Makefile.config
       new  754c05e   Rename $(here) to $(d) for brevity, and remove trailing 
       new  6b5f89f   Drop the dependency on Automake
       new  ea2f7df   Introduce variables GLOBAL_CFLAGS and GLOBAL_CXXFLAGS
       new  812b5a3   Add a Makefile variable for enabling debug info
       new  9b11a8b   Fix building without Boehm GC
       new  6dd74b4   Support building dynamic libraries
       new  d1b3ca0   Improve building dynamic libraries
       new  611868a   Implement basic ‘make install’
       new  1477278   Support installation of dynamically linked programs
       new  90dfb37   Allow (dynamic) libraries to depend on other libraries
       new  06a8ac9   Initialise Boehm GC only once
       new  5a1114e   Drop the dependency on libgc in libmain
       new  c1f3a1a   Disallow undefined symbols in dynamic libraries by default
       new  07c87a8   Consistent naming
       new  abb5bd6   Add Makefile for nix-log2xml
       new  f267ff1   Allow libraries to set an actual name different from the 
symbolic name
       new  2bd0fcc   Use libnix as a prefix for all Nix libraries
       new  c7547cf   Install into $(libdir) instead of $(pkglibdir)
       new  4315acb   Add a generic rule for installing files
       new  e9b6397   Add a rule for creating directories
       new  f980755   Split Makefile.lib into several *.mk files
       new  ed0a8dd   Add a function for instantiating Autoconf *.in files
       new  79b7c59   Use create-dir for installing dynamic libraries
       new  2cc591c   Don't instantiate Automake makefiles
       new  0c504a7   Don't install Libtool
       new  b225ccb   Add config.guess, config.sub and install-sh
       new  cac06ed   Remove obsolete setting of $CC_FOR_BUILD
       new  784feb6   Let ‘make clean’ delete instantiated template files
       new  1a1d8b0   Add a Makefile for bsdiff
       new  962551a   Add a Makefile for the scripts directory
       new  7ce0e05   Rename -> Makefile
       new  8f08046   Expand configure variables before writing config.status
       new  9285f0a   Add a Makefile for the Perl stuff
       new  0202ce6   Add support for ‘make installcheck’
       new  f3cf043   Install bsdiff and bspatch in $(libexecdir)/nix
       new  bf8b66a   Add missing file
       new  c5b8fe3   Print a trace message if a build fails due to the 
platform being unknown
       new  a6add93   Garbage collector: Release locks on temporary root files
       new  22d6650   builtins.storePath: Try to substitute the path if it is 
not yet valid
       new  e36229d   Bump language version for new storePath feature
       new  49a3850   Initial commit (imported from the Nix repo)
       new  3560f52   dryclean: Show what actual files would be deleted
       new  dfcc64f   Only provide 'make dist' if PACKAGE_NAME is set
       new  c34f3c5   Handle *.cpp extension
       new  45131da   Get rid of whitespace in $(d)
       new  034bbca   Add 'make help'
       new  4da8046   Don't include all *.dep files
       new  a630635   No longer interpret $(..._SOURCES) relative to $(..._DIR)
       new  e81b82a   make dryclean: Sort names
       new  088552b   Set default installation paths
       new  7b0d8fb   nix-shell --pure: Keep $TERM
       new  99ed25a   Add a function for doing recursive wildcard searches
       new  259086d   Add support for building JARs from Java sources
       new  65a6452   nix-shell: Handle --option correctly
       new  0c1198c   nix-shell: Set $IN_NIX_SHELL before evaluation
       new  769f662   nix-shell: Don't warn about the lack of a GC root
       new  194e337   Scan /proc/<pid>/cmdline for GC roots
       new  7d203fa   nix-env --set-flag: Barf if a selector doesn't match any 
installed package
       new  f1e5ded   perl: Call loadConfFile() in doInit to avoid screwing 
sqlite journal mode.
       new  8931bf7   Doh
       new  b352fe2   Revert "Scan /proc/<pid>/cmdline for GC roots"
       new  5ba5993   nix-shell --pure: Don't clear IN_NIX_SHELL
       new  136f2f7   Add the ExprBuiltin Expr type to the AST
       new  18fefac   Dynamic attrs
       new  6f3a518   Fold dynamic binds handling into addAttr
       new  cd49fe4   Don't use any syntactic sugar for dynamic attrs
       new  4252b5a   Disable the tail call test
       new  fe23e28   Disable FreeBSD tests for now
       new  485f474   wording
       new  7a61c88   Merge branch 'dynamic-attrs-no-sugar' of
       new  405434e   Revert "nix-shell: Set $IN_NIX_SHELL before evaluation"
       new  0fdf4da   Support cryptographically signed binary caches
       new  11cb4bf   Fix checking of NAR hashes
       new  ea38e39   Test whether Nix correctly checks the hash of downloaded 
       new  f4013b6   Fix signed-binary-caches test
       new  55c9a40   Move stuff to top-level
       new  568b1b0   Remove mk subdirectory in preparation for "git subtree"
       new  b4c684e   Update Makefiles
       new  814a732   Remove duplicate elements from *_SOURCES
       new  70d8e8f   Declare template_files as a simply expanded variable
       new  cf918b8   Handle systems where "echo -n" doesn't work
       new  b1db599   Generate schema.sql.hh
       new  e991ab9   Add support for building shared libraries on Mac OS X
       new  ca73c01   Nicer Make output
       new  ea59f39   nix-shell: Set $IN_NIX_SHELL before evaluating
       new  f135705   nix-shell: Don't set NIX_INDENT_MAKE
       new  e640d67   Document nulls
       new  f9913f4   Allow "bare" dynamic attrs
       new  f5e5793   Bare dynamic attrs: Match interpolation semantics
       new  bf0ad8a Add the Nixpkgs channel to $NIX_PATH
       new  0f2f44b   Build Fedora 20 RPMs
       new  0e2ca26   nix.spec: Remove "make check" since it's a no-op
       new  c8fff6a   Fix evaluation
       new  5ef8508   Remove unused type
       new  81628a6   Merge branch 'master' into make
       new  68cde53   Fix building against Bison 3.0.2
       new  625ffd4   Ugly hack to fix building with clang
       new  a26307b   Fix build
       new  94f9c14   Fix some clang warnings
       new  5311b2b   Clang doesn't know the "-z defs" flag
       new  7fdee6e   nix-build: Refactor
       new  79dee42   nix-shell: Preserve the TZ variable of the user
       new  c5ba081   nix-shell: Add --impure flag
       new  4a2ec9c   Install nix-worker symlink
       new  e0234df   Rename Makefile ->
       new  4271927   Add support for installing man-pages
       new  ac8c2ef   Build/install manual
       new  f324b49   Change dependency file names from foo.dep to .foo.o.dep
       new  3510703   Support adding "make help" text
       new  ec17385   Make variable names more regular
       new  16e7d69   Update Makefile variable names
       new  0c6d62c   Remove Automakefiles
       new  6f8aa14   Improve "make dist"
       new  1eff3ad   Add missing file
       new  6ef32bd   Fix "make dist"
       new  74ca70d   Add 'mk/' from commit 
       new  844d833   More "make dist" fixes
       new  28dc488   installcheck: Don't depend on install
       new  762ef46   Fix the nix-profile test
       new  b6465ae   Merge commit '28dc4883356a50f2805a3e3c819a541c44a4ff0a' 
into make
       new  965218a   Remove obsolete file
       new  2a97f7b   Fix logging test
       new  6dca720   Only run "git ls-files" when doing "make check"
       new  2f9bb5c   Merge branch 'make'
       new  d6582c0   Give a friendly error message if the DB directory is not 
       new  8468806   Add a basic README
       new  73a775f   Merge commit '8468806552d6730abec6431c42b5b0e897c0222c'
       new  d210cdc   Fix assertion failure in ‘nix-store --load-db’
       new  143224f   Add nix.spec to the distribution
       new  0da82ef   GNU Make 3.81 compatibility
       new  4ee6001   GNU Make 3.81 compatibility
       new  80b6913   Fix version in nix.spec
       new  4161fce   Create the target directory of libraries and programs
       new  20d0598   Drop dependency on ‘expr’
       new  1f94ec3   Clean up a test warning
       new  2a469ad   Set a maintainer address
       new  97f8e9b   Remove dead code
       new  a210c99   Support DESTDIR
       new  764d905   Merge commit 'a210c995cdd9279ed4137ec5d2e4cc928cb36097'
       new  7fab23e   Install header files
       new  0432bc5   Fix the RPM build
       new  0c3e8a6   nix-instantiate: Add a --no-readonly-mode flag
       new  e4058fa   Rename --no-readonly-mode --read-write-mode
       new  84a8b5e   nix-instantiate --eval-only --read-write-mode: Don't 
depend on ordering
       new  3a38d0f   Add the nix-store --serve command
       new  9488447   nix-store --serve: Don't loop forever
       new  188f965   nix-store --serve: Don't fail if asked for info about 
non-valid path
       new  7387462   nix-store --serve: Use dump instead of export
       new  5671188   nix-store --serve: Flush out after every loop
       new  64e23d0   Add download-via-ssh substituter
       new  b632153   nix-shell: Use shell.nix as the default expression if it 
       new  c583975   Binary tarball: Automatically fetch the Nixpkgs channel
       new  78d9795   Clarify comment
       new  1614603   Pass in params by const ref
       new  38c3bea   Move StoreApi::serve into opServe
       new  c89d6b9   nix-store --serve: Use a versioned protocol
       new  57386c9   Binary tarball: Automatically create /nix
       new  1f841c9   Force use of Bash
       new  f9fc6ac   Document current meaning of preferLocalBuild
       new  2246aa7   Remove using declarations from download-via-ssh
       new  7438f0b   error messages start in lowercase
       new  62eb9eb   Remove relic of old code
       new  f67f527   Indendation fix
       new  61fd494   Merge remote-tracking branch 'shlevy/ssh-substituter'
       new  dba33d4   Minor style fixes
       new  4db5720   download-via-ssh: Show where we're downloading from
       new  a9d99ab   download-via-ssh: Use readStorePath
       new  832377b   Add a test for repairing paths
       new  e81d38c   nix-shell: Execute shellHook if it exists
       new  00d3049   Heuristically detect if a build may have failed due to a 
full disk
       new  1da6ae4   nix-store --gc --max-freed: Support a unit specifier
       new  69fe6c5   Move some code around
       new  71adb09   When using a build hook, only copy missing paths
       new  dfbcb7c   Refactoring
       new  b6def5b   Make --repair work on Darwin
       new  99f14c2   Don't build on Debian 6.0
       new  4ec626a   Test nix-store --verify-path and --repair-path
       new  1aa19b2   Add a flag ‘--check’ to verify build determinism
       new  8129cf3   Slight simplification
       new  70a558e   Update ignores
       new  a7e7051   lexer-tab.o and parser-tab.o require each other's headers
       new  73f74eb   nix-shell: Don't leave a temporary directory in /tmp 
       new  e707a8a   Move manpages around
       new  c318360   nix-instantiate: Add a flag --expr / -E to read 
expressions from the command line
       new  e1cf40f   nix-instantiate: Rename --eval-only to --eval, 
--parse-only to --parse
       new  a897b58   nix-instantiate: Allow --dry-run as a synonym for 
       new  36b90e7   nix-shell: Add --packages flag
       new  df5de9d   Add use-ssh-substituter setting.
       new  dcaea04   Only start download-via-ssh if it's enabled
       new  8a02fdc   use USER environmental variable if getting user id by 
getpwuid is failed in perl scripts: and 
       new  bf4a577   Fix broken patch
       new  42eb4af   Simplify getting use-ssh-substituter from untrusted users
       new  7332141   Document dynamic attributes
       new  f14ef84   Warn about missing -I paths
       new  d761009   Add ~/.nix-profile/sbin to $PATH
       new  00d7610   Respect $NIX_CONNECT_TIMEOUT properly
       new  7f74513   Also provide an option for setting the curl connection 
       new  6b9cd59   nix-store -r: Respect --add-root for non-derivations
       new  506d863   Installer: Handle Darwin
       new  fdff3a7   Add a test for nix-store --dump-db / --load-db
       new  1943778   Test nix-store --optimise
       new  84143c4   Test nix-store -l
       new  fac6f8a   Test nix-store -q --roots
       new  045d3b2   Test nix-store --switch-profile and more daemon actions
       new  a9c4a98   Test ~/.nix-defexpr
       new  a080638   Test the -b and -s flags of nix-store -q
       new  7bbc68f   Test nix-env --set
       new  d58ceae   Test nix-env --switch-generation
       new  509993e   Remove unused function
       new  432328c   Remove another unused function
       new  91f25f0   And another one
       new  3d0a9ec   Test executables in NARs
       new  5ad263c   Test some more primops
       new  7880973   Test trace and addErrorContext
       new  7c77076   Doh
       new  29cde91   Fix deadlock in SubstitutionGoal
       new  c9f6232   Correctly detect infinite recursion in function 
       new  3fd01b1   Set up a minimal /dev in chroots
       new  1017bd6   Set up a private /dev/pts in the chroot
       new  3a86888   Typo
       new  f7e077a   Install missing Boost headers
       new  2caab81   Revert "Make ifs and asserts tail-recursive"
       new  908e9ce   If a dynamic attribute name evaluates to null, remove it 
from the set
       new  049a379   The expr of AttrNames/DynamicAttrDefs is always an 
       new  2f2a20e   Document null dynamic attrs
       new  92a848f   Fix typos
       new  25386e5   Fix passing meta attribute to buildenv.nix
       new  e9934bb   Update release notes for 1.7
       new  d435e46   Generate release notes again
       new  006f24c   Document nix-env -q --json
       new  fb8d8f5   Remove unnecessary null pointer checks
       new  77e2cc6   nix-build: Fix --cores flag
       new  f93e975   Fix -j and other flags when using the daemon
       new  51800e0   Allow recovery from isValidPath RPCs with an invalid path
       new  3fc0569   Fix tabs
       new  24cb65e   Make /dev/kvm optional
       new  4900957   Don't interpret strings as format strings
       new  90dc50b   restoreSIGPIPE(): Fill in sa_mask
       new  acb8fac   Fix potential segfault in waitForInput()
       new  9becaa0   Drop pointless #include
       new  1c2550a   boost::shared_ptr -> std::shared_ptr
       new  59c9019   Fix nix-shell for derivation with multiple outputs
       new  7ef7597   nix-env: Add support for --delete-generations 15d
       new  034b6f6   nix-collect-garbage: Add --delete-older-than option
       new  ac6ceea   Fix potential segfault
       new  e7720aa   Make sure /dev/pts/ptmx is world-writable
       new  d4e18b0   Keep only libstore, nix-daemon, and related stuff.
       new  0a75126   nix: Adjust code for Guix.

The 3549 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]