about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2003-10-31 * Use SGparseString() instead of SGparseFile() because the latter isEelco Dolstra1-2/+23
buggy. It fails to clear an internal variable (SG_textIndex) between invocations, so it can be called only once during a program execution.
2003-10-30 * Factor out evaluation into a separate file.Eelco Dolstra4-56/+87
2003-10-30 * Clean up the imploded parse tree. Quotes around strings areEelco Dolstra4-11/+57
removed, paths are absolutised relative to the path containing the expression we just parsed, and integer literals are converted to actual integers.
2003-10-30 * Bottomup rewrite function.Eelco Dolstra2-0/+60
2003-10-30 * Don't use a search path.Eelco Dolstra1-4/+5
2003-10-30 * Attribute selection operator.Eelco Dolstra1-1/+5
2003-10-29 * Basic grammar and parser for the Fix language. We use libsglr andEelco Dolstra6-7/+298
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.
2003-10-29 * Forked new version of Fix.Eelco Dolstra3-1/+497
2003-10-23 * Fix a race condition in addTextToStore().Eelco Dolstra1-7/+12
2003-10-22 * Use writeFull().Eelco Dolstra1-2/+1
2003-10-22 * Ad hoc per-package logging. When Nix performs a derivation, it nowEelco Dolstra3-6/+8
writes stdout/stderr of the builder to ${prefix}/var/log/nix/x, where x is the file name of the derivation expression, e.g., /nix/var/log/nix/54256391624be04fcb426048ae3ea0a4-d-pan-0.14.2.nix Note that consecutive builds of the same expression overwrite, rather than append to, existing log files.
2003-10-22 * Dead code removal.Eelco Dolstra1-94/+0
2003-10-22 * Some wrapper classes to ensure that file descriptors / directoryEelco Dolstra6-56/+123
handles are closed when they go out of scope.
2003-10-20 * Finished refactoring the tree.Eelco Dolstra8-59/+71
2003-10-20 * Refactored the source tree.Eelco Dolstra50-1/+2348
2003-10-16 * Substitutes and nix-pull now work again.Eelco Dolstra9-30/+79
* 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 (prerelease).
2003-10-16 * Enable buffering of stderr in C++.Eelco Dolstra1-0/+4
2003-10-16 * Upgraded to Berkeley DB 4.1.25 and do not synchronously flush theEelco Dolstra1-4/+5
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. * Upgraded to ATerm 2.0.5 (which also includes Armijn's 64-bit patches).
2003-10-16 * Don't sort the result of `--query --list'.Eelco Dolstra1-6/+4
2003-10-15 * Refactoring: move all database manipulation into store.cc.Eelco Dolstra10-170/+143
* Removed `--query --generators'.
2003-10-14 * Automatically recover the database in case of a crash.Eelco Dolstra6-38/+201
2003-10-10 * New query `nix --query --predecessors' to print the predecessors ofEelco Dolstra5-2/+29
a Nix expression.
2003-10-10 * `nix --verify': check and repair reverse mapping for successors.Eelco Dolstra2-89/+33
2003-10-10 * Reverse mappings for the successor and substitute mappings.Eelco Dolstra6-25/+66
2003-10-10 * Performance improvement: don't register already registered terms,Eelco Dolstra1-5/+8
thus greatly reducing the number of db transactions.
2003-10-08 * Get rid of identifiers since they are redundant now. This greatlyEelco Dolstra23-624/+478
simplifies stuff. * The format of Nix expressions and the database schema changed because of this, so it's best to delete old Nix installations.
2003-10-07 * string -> Path.Eelco Dolstra2-20/+26
2003-10-07 * Synchronise terminology with the ICSE paper (e.g., slice -> closure,Eelco Dolstra14-266/+252
fstate -> Nix expression). * Fix src/test.cc.
2003-10-02 * Include the right files in a distribution.Eelco Dolstra1-1/+1
2003-10-02 * Nix now respects $TMPDIR for the creation of temporary build directories.Eelco Dolstra3-5/+24
* Retry creation of a temporary directory (with a different name) in the case of EEXIST.
2003-09-11 * Removed references to char_traits so that boost/format also works onEelco Dolstra1-5/+7
GCC 2.95.
2003-09-11 * Added some missing #includes.Eelco Dolstra4-0/+7
2003-09-03 * Make nicer dot graphs. Also show the inner structure of slices.Eelco Dolstra2-15/+86
2003-09-03 * Factored out dot graph generation into a separate file.Eelco Dolstra4-61/+76
2003-08-29 * Do not show the output of the builder unless the verbosity is atEelco Dolstra1-1/+5
least at debug level (-vvv). The output is still appended to the build log in /nix/var/log/nix.
2003-08-28 * Do not try to remove write permission from symlinks, since chmod()Eelco Dolstra2-3/+3
follows symlinks. (Note that the permissions on symlinks are ignored anyway.)
2003-08-25 * Fix the atrocious (exponential? factorial?) time complexity inEelco Dolstra1-4/+9
`nix --query --requisites'.
2003-08-22 * Remove write permission from output paths after they have been built.Eelco Dolstra3-6/+52
* 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).
2003-08-20 * Use maps and sets in the FState data type. This ensures normalisation ofEelco Dolstra5-105/+86
slices and derivations w.r.t. order of paths, slice elements, etc.
2003-08-20 * Change the abstract syntax of slices. It used to be that ids were used asEelco Dolstra4-61/+59
keys to reference slice elements, e.g., Slice(["1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["8c99..."]), ...]) This was wrong, since ids represent contents, not locations. Therefore we now have: Slice(["/nix/store/1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["/nix/store/8c99-..."]), ...]) * Fix a bug in the computation of slice closures that could cause slice elements to be duplicated.
2003-08-20 * Fixed a serious bug in the computation of slices. Sometimes the slicesEelco Dolstra1-20/+61
would not be properly closed under the path reference relation.
2003-08-19 * Pipe /dev/null into stdin.Eelco Dolstra1-0/+10
2003-08-19 * Delete the temporary directories of failed builds by default, and anEelco Dolstra5-1/+17
option `--keep-failed' to override this behaviour.
2003-08-18 * Allow lists in package bindings, e.g.,Eelco Dolstra1-0/+12
("srcs", [Relative("foo/bar.c"), Relative("foo/baz.h")]) The result is an environment variable that contains the path names of the inputs separated by spaces (so this is not safe for values containing spaces).
2003-08-18 * Most shells initialise PATH to some default (/bin:/usr/bin:...)Eelco Dolstra1-0/+5
when PATH is not set. We don't want this, so fill it in with some dummy value.
2003-08-15 * Argument support in Fix. Arguments can be passed through theEelco Dolstra1-20/+43
builder using the `args' binding: ("args", ["bla", True, IncludeFix("aterm/aterm.fix")]) Note that packages can also be declared as inputs by specifying them in the argument list.
2003-08-15 * Derivation expressions now can specify arguments to be passed to theEelco Dolstra5-20/+56
builder. Note that this unfortunately causes all Fix-computed hashes to change.
2003-08-15 * Fix can now read expressions from stdin (by saying `fix -').Eelco Dolstra1-1/+17
2003-08-14 * Detect infinite loops using blackholing.Eelco Dolstra1-3/+13
2003-08-14 * Function() takes a list of formals.Eelco Dolstra1-4/+14