Commit graph

  • adf9a45469 * Primops: baseNameOf, toString. Eelco Dolstra 2003-11-02 16:31:35 +0000
  • c8268ca991 * Fast builds. Eelco Dolstra 2003-11-01 23:29:02 +0000
  • 7de1b2a698 * Print the exit code of the builder. Eelco Dolstra 2003-11-01 21:11:52 +0000
  • 1610444671 * Conditions, string equality. Eelco Dolstra 2003-11-01 19:15:08 +0000
  • 1b4184ccbb * Let syntax. Eelco Dolstra 2003-11-01 19:10:41 +0000
  • a2a9bacd82 * Filter the substitution list when descending into a recursive attribute set. Eelco Dolstra 2003-11-01 19:10:19 +0000
  • 449411e511 * Typo fix. Eelco Dolstra 2003-10-31 19:20:03 +0000
  • 9210d4d530 * Working evaluator. * Mutually recursive attribute sets. * Print evaluator efficiency statistics. Eelco Dolstra 2003-10-31 17:09:31 +0000
  • f1c1a3c97f * Allow empty attribute (argument) sets. Eelco Dolstra 2003-10-31 12:21:01 +0000
  • 7db08cc924 * 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. Eelco Dolstra 2003-10-31 11:22:56 +0000
  • 403cb9327f * Factor out evaluation into a separate file. Eelco Dolstra 2003-10-30 16:48:26 +0000
  • 9f8f39aa3c * 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 integers. Eelco Dolstra 2003-10-30 16:18:40 +0000
  • e537844f4e * Bottomup rewrite function. Eelco Dolstra 2003-10-30 16:11:24 +0000
  • 442b09ea33 * Don't use a search path. Eelco Dolstra 2003-10-30 16:10:56 +0000
  • 933b3f677d * Attribute selection operator. Eelco Dolstra 2003-10-30 16:10:20 +0000
  • b95a3dc45b * 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. Eelco Dolstra 2003-10-29 16:05:03 +0000
  • 4d728f6a36 * Forked new version of Fix. Eelco Dolstra 2003-10-29 15:05:18 +0000
  • f31661a3b5 * Add sdf2-bundle to externals. Eelco Dolstra 2003-10-29 15:04:50 +0000
  • 7102455cba * Don't cache the manifest. Eelco Dolstra 2003-10-27 18:43:09 +0000
  • 92eea8fc4e * Fix a race condition in addTextToStore(). Eelco Dolstra 2003-10-23 10:51:55 +0000
  • c4e7d324b8 * Use writeFull(). Eelco Dolstra 2003-10-22 13:29:40 +0000
  • 9d95aafe8c * 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., Eelco Dolstra 2003-10-22 11:04:57 +0000
  • 143427f90b * Dead code removal. Eelco Dolstra 2003-10-22 10:53:46 +0000
  • 4a8948b7a6 * Some wrapper classes to ensure that file descriptors / directory handles are closed when they go out of scope. Eelco Dolstra 2003-10-22 10:48:22 +0000
  • c62433751d * Finished refactoring the tree. Eelco Dolstra 2003-10-20 10:05:01 +0000
  • 53e376d836 * Refactored the source tree. Eelco Dolstra 2003-10-20 09:20:11 +0000
  • 0eab306466 * NarPath -> NarName. Eelco Dolstra 2003-10-20 09:08:44 +0000
  • a0a7a4e087 * Remove some debug output. Eelco Dolstra 2003-10-16 19:24:04 +0000
  • 0791282b2f * 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 (prerelease). Eelco Dolstra 2003-10-16 16:29:57 +0000
  • ab5e8767fa * Get nix-push to work again. * Fixed svn:ignore on externals/. Eelco Dolstra 2003-10-16 13:13:39 +0000
  • c78bf11524 * Enable buffering of stderr in C++. Eelco Dolstra 2003-10-16 11:55:37 +0000
  • f7c7aad135 * 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. Eelco Dolstra 2003-10-16 08:52:44 +0000
  • 181aa3dc41 * Don't sort the result of `--query --list'. Eelco Dolstra 2003-10-16 08:06:19 +0000
  • ebff82222c * Refactoring: move all database manipulation into store.cc. * Removed `--query --generators'. Eelco Dolstra 2003-10-15 12:42:39 +0000
  • 5fc7127643 * Keep sources (derivation expression) by default, `--no-source' to override. Eelco Dolstra 2003-10-15 10:34:50 +0000
  • c190f051ac * Automatically recover the database in case of a crash. Eelco Dolstra 2003-10-14 15:33:00 +0000
  • 1d61e473c8 * New query `nix --query --predecessors' to print the predecessors of a Nix expression. Eelco Dolstra 2003-10-10 15:25:21 +0000
  • 0abe185688 * `nix --verify': check and repair reverse mapping for successors. Eelco Dolstra 2003-10-10 15:14:29 +0000
  • d3d5e77810 * Reverse mappings for the successor and substitute mappings. Eelco Dolstra 2003-10-10 14:46:28 +0000
  • 1eb4da156c * Performance improvement: don't register already registered terms, thus greatly reducing the number of db transactions. Eelco Dolstra 2003-10-10 13:22:29 +0000
  • 08b7319f5b * Follow successors by default (use `--no-successors' to override). Eelco Dolstra 2003-10-09 15:38:31 +0000
  • 6409c215e5 * Fixed nix-switch. Eelco Dolstra 2003-10-09 15:37:20 +0000
  • 6baa2c4420 * Get rid of identifiers since they are redundant now. This greatly simplifies stuff. Eelco Dolstra 2003-10-08 15:06:59 +0000
  • b9f4942bd2 * string -> Path. Eelco Dolstra 2003-10-07 14:37:41 +0000
  • 5d4171f7fb * Synchronise terminology with the ICSE paper (e.g., slice -> closure, fstate -> Nix expression). * Fix src/test.cc. Eelco Dolstra 2003-10-07 12:27:49 +0000
  • 563afb7fcc * Use passive FTP in wget. Eelco Dolstra 2003-10-02 15:48:47 +0000
  • e78f753aa8 * Include the right files in a distribution. Eelco Dolstra 2003-10-02 12:22:19 +0000
  • 4193d62e08 * 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. Eelco Dolstra 2003-10-02 11:55:38 +0000
  • 6d478597c7 * Argggg... Eelco Dolstra 2003-09-24 08:40:40 +0000
  • 9fb94f4f2f * Forgot a file. Eelco Dolstra 2003-09-24 08:39:49 +0000
  • 9ba2397ea9 * Added missing files to `make dist'. Eelco Dolstra 2003-09-24 08:28:04 +0000
  • 41730f5779 * Put the SVN revision number in the version string. Eelco Dolstra 2003-09-23 14:26:58 +0000
  • 1c7d6bf5fc * Removed references to char_traits so that boost/format also works on GCC 2.95. Eelco Dolstra 2003-09-11 10:23:55 +0000
  • d930a9bc5a * Added some missing #includes. Eelco Dolstra 2003-09-11 08:31:29 +0000
  • 803a924b77 * Make nicer dot graphs. Also show the inner structure of slices. Eelco Dolstra 2003-09-03 14:49:58 +0000
  • c0bbed0959 * Factored out dot graph generation into a separate file. Eelco Dolstra 2003-09-03 11:20:18 +0000
  • 0d2bc68681 * 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. Eelco Dolstra 2003-08-29 13:12:30 +0000
  • 25304af72e * Set a path. Eelco Dolstra 2003-08-28 10:51:52 +0000
  • b018517314 * Do not try to remove write permission from symlinks, since chmod() follows symlinks. (Note that the permissions on symlinks are ignored anyway.) Eelco Dolstra 2003-08-28 10:51:14 +0000
  • c4f1f49574 * nix-push generated invalid (old-style) slices. * nar.sh needs a path. Eelco Dolstra 2003-08-28 10:10:12 +0000
  • 31be53cd0a * Fix the atrocious (exponential? factorial?) time complexity in `nix --query --requisites'. Eelco Dolstra 2003-08-25 14:56:11 +0000
  • 920193beb1 * Don't continue when the call to nix fails. Eelco Dolstra 2003-08-25 14:36:04 +0000
  • a88144215c * 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). Eelco Dolstra 2003-08-22 20:12:44 +0000
  • 56b98c3857 * Some work on the introduction. Eelco Dolstra 2003-08-22 11:29:20 +0000
  • 956801fcc2 * 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. Eelco Dolstra 2003-08-20 14:11:40 +0000
  • 624c48260f * Change the abstract syntax of slices. It used to be that ids were used as keys to reference slice elements, e.g., Eelco Dolstra 2003-08-20 12:39:56 +0000
  • 710175e6a0 * Bumped the version number to 0.3. Eelco Dolstra 2003-08-20 11:31:15 +0000
  • ed0db2e0d8 * Fixed a serious bug in the computation of slices. Sometimes the slices would not be properly closed under the path reference relation. Eelco Dolstra 2003-08-20 11:30:45 +0000
  • 1472cc4825 * Pipe /dev/null into stdin. Eelco Dolstra 2003-08-19 13:07:38 +0000
  • 2de8504791 * Delete the temporary directories of failed builds by default, and an option `--keep-failed' to override this behaviour. Eelco Dolstra 2003-08-19 09:04:47 +0000
  • 31e4aa6439 * Allow lists in package bindings, e.g., Eelco Dolstra 2003-08-18 16:32:55 +0000
  • ebbb6ce578 * 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. Eelco Dolstra 2003-08-18 14:54:54 +0000
  • c32e01eab2 * Revision 300! * Put `@' in front of echo's in the Makefile. Eelco Dolstra 2003-08-18 08:52:49 +0000
  • 08f9cfe267 * No longer automatically download Berkeley DB / ATerm. Eelco Dolstra 2003-08-18 08:35:16 +0000
  • 96c7b98bf0 * Argument support in Fix. Arguments can be passed through the builder using the `args' binding: Eelco Dolstra 2003-08-15 13:01:45 +0000
  • 555347744d * Derivation expressions now can specify arguments to be passed to the builder. Note that this unfortunately causes all Fix-computed hashes to change. Eelco Dolstra 2003-08-15 12:32:37 +0000
  • e374dbf89b * A script `nix-prefetch-url' to fetch a URL, place it in the Nix store, and print its hash. Eelco Dolstra 2003-08-15 10:13:41 +0000
  • 01e30360d4 * Don't use a temporary file. Eelco Dolstra 2003-08-15 09:39:33 +0000
  • 163db7367f * Fix can now read expressions from stdin (by saying `fix -'). Eelco Dolstra 2003-08-15 09:21:19 +0000
  • 161aab582b * Use a catalog when calling xsltproc. Eelco Dolstra 2003-08-14 18:24:40 +0000
  • a24cb19361 * Use xmllint instead of nsgmls to validate the manual. Eelco Dolstra 2003-08-14 18:17:02 +0000
  • 9ee3b7a37a * Function application test cases. Eelco Dolstra 2003-08-14 12:37:50 +0000
  • dc0ef2ca98 * Detect infinite loops using blackholing. Eelco Dolstra 2003-08-14 12:37:31 +0000
  • 2e16ff22ac * Fix man page. Eelco Dolstra 2003-08-14 11:27:02 +0000
  • 5cde23f869 * Function() takes a list of formals. Eelco Dolstra 2003-08-14 09:49:31 +0000
  • 0a2de7f543 * Lam -> Function. Doh! Eelco Dolstra 2003-08-14 09:29:07 +0000
  • 95b49f8044 * Manual updates. Eelco Dolstra 2003-08-13 15:17:57 +0000
  • 68022552d2 * Put the pre-built manual and man pages in the tar distribution. Eelco Dolstra 2003-08-13 15:17:36 +0000
  • c34a153ae5 * Documented the `--query' operation. Eelco Dolstra 2003-08-13 10:45:01 +0000
  • b4f88d0ec3 * Split the book.xml into several xml files. Eelco Dolstra 2003-08-13 09:13:52 +0000
  • 469f1eba56 * Documented some Nix operations. Eelco Dolstra 2003-08-12 15:06:49 +0000
  • e405ca506e * Generate man pages from the manual. Eelco Dolstra 2003-08-12 13:54:42 +0000
  • c602930e08 * 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. Eelco Dolstra 2003-08-08 14:55:56 +0000
  • 4b7b0bd12c * Started on the introduction. Eelco Dolstra 2003-08-07 15:27:14 +0000
  • 74867e72f2 * Start of manual; installation instructions. Eelco Dolstra 2003-08-07 14:17:18 +0000
  • f8035d06f2 * 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 /nix/var/nix/links/svn). Eelco Dolstra 2003-08-06 14:48:29 +0000
  • 9ad39df282 * `==' is not a valid operator. Eelco Dolstra 2003-08-06 10:00:30 +0000
  • d551062ec4 * Scan for wget and use the full path in fetchurl.sh. * Use nix-hash (not md5sum) in fetchurl.sh. Eelco Dolstra 2003-08-06 09:35:05 +0000
  • 236eb59293 * 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. Eelco Dolstra 2003-08-06 09:34:04 +0000
  • 720f06e3b0 * 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). Eelco Dolstra 2003-08-06 09:06:32 +0000