Commit graph

  • 249988a787 * 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. Eelco Dolstra 2003-07-21 20:07:12 +0000
  • 49231fbe41 * 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. Eelco Dolstra 2003-07-21 14:46:01 +0000
  • 401452e57a * Memoize the evaluation of Fix expressions to speed up computation. Eelco Dolstra 2003-07-21 08:55:49 +0000
  • 7984cfc7c1 * Argh, another short-write problem. Added wrappers around read()/write() to fix this once and for all. Eelco Dolstra 2003-07-20 21:11:43 +0000
  • 667a6afb9d * Remove accidentally added file. Eelco Dolstra 2003-07-20 19:30:53 +0000
  • 6f1a0f948d * Refactorings. Eelco Dolstra 2003-07-20 19:29:38 +0000
  • ab350eafd2 * Generate nar.sh, fetchurl.sh. Eelco Dolstra 2003-07-18 07:42:57 +0000
  • b3fc38bf6a * For debugging: `nix --verify' to check the consistency of the database and store. Eelco Dolstra 2003-07-17 12:27:55 +0000
  • 71cc3ceae5 * Preserve the executable bit. Eelco Dolstra 2003-07-17 11:25:14 +0000
  • 54664b6fb7 * 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. Eelco Dolstra 2003-07-16 21:24:02 +0000
  • 335aa1c35d * Doh! Eelco Dolstra 2003-07-16 20:49:59 +0000
  • 6822fd7bf4 * 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. Eelco Dolstra 2003-07-16 20:33:29 +0000
  • 9d56ca219f * Substitute fixes. Eelco Dolstra 2003-07-16 20:00:51 +0000
  • b9ecadee6e * Fix the -qr query. Eelco Dolstra 2003-07-16 11:05:59 +0000
  • c11bbcfd26 * Fix self-referential outputs. * Fix -qp query. Eelco Dolstra 2003-07-16 08:30:26 +0000
  • d41d085b77 * Get Fix and Nix to work again. Eelco Dolstra 2003-07-15 22:28:27 +0000
  • 7b3f44e05b * The new normaliser now passes the unit tests. Eelco Dolstra 2003-07-15 21:24:05 +0000
  • f5b6fa5256 * 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. Eelco Dolstra 2003-07-15 16:28:54 +0000
  • 8898e86b4f * Get the garbage collector to work again. Eelco Dolstra 2003-07-14 10:45:04 +0000
  • 3509299aca * 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. Eelco Dolstra 2003-07-14 10:23:11 +0000
  • 135b7d54db * Don't check for staleness by default. Eelco Dolstra 2003-07-13 21:43:57 +0000
  • e6363b05ae * Pass $(prefix) and other variables through -D..., not through config.h, to prevent silly Autoconf problems. Eelco Dolstra 2003-07-13 19:26:00 +0000
  • 9c620e4afa * Generate the scripts so that we can substitute the prefix etc. correctly. * Fixed nix-switch. Eelco Dolstra 2003-07-13 18:58:03 +0000
  • 5304a1eb3a * Fetchurl: check md5 checksum. Eelco Dolstra 2003-07-12 11:03:14 +0000
  • 73b163c1a1 * 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). Eelco Dolstra 2003-07-11 08:41:03 +0000
  • c834a5c597 * Fix handling of pipes (read(2) may not return the required number of bytes in one call). Eelco Dolstra 2003-07-11 08:16:15 +0000
  • 822c072cfa * Compress Nix archives when pushing them. Eelco Dolstra 2003-07-10 20:34:29 +0000
  • 9bcc31c941 * Working derivate sharing. Eelco Dolstra 2003-07-10 20:13:32 +0000
  • 81304a6bb5 * Convert tabs to spaces. Eelco Dolstra 2003-07-10 19:27:46 +0000
  • e5fbf58041 * A command to register successor fstate expressions. Eelco Dolstra 2003-07-10 18:48:11 +0000
  • 8511571f65 * Performance enhancement. Eelco Dolstra 2003-07-10 15:24:50 +0000
  • 1d1c3691d2 * 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. Eelco Dolstra 2003-07-10 15:11:48 +0000
  • d072485d28 * 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. Eelco Dolstra 2003-07-10 13:41:28 +0000
  • 5d4b90b689 * Actually go through the search directories when looking for files. Eelco Dolstra 2003-07-10 09:21:40 +0000
  • 089b436175 * Deleted the sys directory. Eelco Dolstra 2003-07-10 09:12:52 +0000
  • b96239c657 * Moved the fetchutl package to corepkgs. Eelco Dolstra 2003-07-10 09:11:30 +0000
  • 9ebd78144a * Added a directory for standard Fix descriptors. Eelco Dolstra 2003-07-10 09:09:48 +0000
  • 6011bd0da2 * Outline of the new scheme for derivate distribution. Eelco Dolstra 2003-07-09 16:12:40 +0000
  • 2b95a9dc05 * When computing the set of paths referenced by an expression, also include the paths of the subterms. Eelco Dolstra 2003-07-09 15:02:03 +0000
  • 9a99dc736d * Canonicalise paths so that Fix produces identical Nix expressions for identical inputs. Eelco Dolstra 2003-07-08 20:26:22 +0000
  • cab3f4977a * 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. Eelco Dolstra 2003-07-08 19:58:41 +0000
  • 333f4963de * The output of a Derive() node is not a referenced path. Eelco Dolstra 2003-07-08 15:33:06 +0000
  • 40274c1f4f * A command to query the paths referenced by an fstate expression. * Use a temporary directory for build actions. Eelco Dolstra 2003-07-08 13:22:08 +0000
  • a279137327 * Get --dump' and --delete' to work again. Eelco Dolstra 2003-07-08 10:00:46 +0000
  • 85a913a3e7 * Renamed id' -> name' to remove the implication of uniqueness. Eelco Dolstra 2003-07-08 09:59:00 +0000
  • 0b38b43bab * deletePath() now removes the path from the hash2paths mapping. Eelco Dolstra 2003-07-08 09:54:47 +0000
  • ab644ad10b * BaseName() primitive for the generation of more sensible names (especially in fetchurl.fix). Eelco Dolstra 2003-07-08 09:53:46 +0000
  • a5a90f501e * Get rid of the netsources' database. * Rename the refs' database to `hash2paths'. Eelco Dolstra 2003-07-08 08:35:06 +0000
  • be96c2189c * --realise' -> --install'. Eelco Dolstra 2003-07-07 09:29:40 +0000
  • 5895c160c4 * Make dbRefs a mapping from Hash to [Path]. Eelco Dolstra 2003-07-07 09:25:26 +0000
  • 609a224848 * Fixed `make check' as well. Eelco Dolstra 2003-07-07 07:44:57 +0000
  • 224c585aba * Refactoring on the file names. Eelco Dolstra 2003-07-07 07:43:58 +0000
  • 7952a8053c * A utility `nix-hash' to compute Nix path hashes. Eelco Dolstra 2003-07-06 15:11:02 +0000
  • bfa5d77211 * Bug fix: properly check result of open(). Eelco Dolstra 2003-07-06 15:08:39 +0000
  • 82e3d8fafe * Got Fix working again. Eelco Dolstra 2003-07-06 14:20:47 +0000
  • f826e432aa * Refactoring: move initialisation and argument parsing into a shared file. Eelco Dolstra 2003-07-04 15:42:03 +0000
  • 01b34fe584 * Cleanup. Eelco Dolstra 2003-07-04 15:29:58 +0000
  • 207ff2caf0 * Caching of expression successors. Eelco Dolstra 2003-07-04 12:18:06 +0000
  • 40b5936691 * Realisation of Derive(...) expressions. Eelco Dolstra 2003-06-27 14:56:12 +0000
  • 3da9687854 * Realisation of File(...) expressions. Eelco Dolstra 2003-06-27 13:55:12 +0000
  • bb03c45ca0 * Added the Boost format library which provides a safe printf replacement. Eelco Dolstra 2003-06-27 13:41:42 +0000
  • d4c3edfaba * Normalisation. Eelco Dolstra 2003-06-27 09:55:31 +0000
  • 3ec5252582 * Improved syntax and semantics for Nix expressions. Eelco Dolstra 2003-06-25 15:50:37 +0000
  • 2b07b0e7eb * Minor cleanups. Eelco Dolstra 2003-06-25 14:58:56 +0000
  • 692b562342 * `nix --delete' command. Eelco Dolstra 2003-06-23 14:40:49 +0000
  • c0cbaef4be * `nix --restore' command. Eelco Dolstra 2003-06-23 14:08:34 +0000
  • 5f5cab0ac7 * A function to restore from a Nix archive. * addValue() can now import any dumpable FS object. Eelco Dolstra 2003-06-23 13:27:59 +0000
  • 85effedca3 * Flags to indicate how values are specified on the command line (--hash, --file, --name). Eelco Dolstra 2003-06-20 14:11:31 +0000
  • 5079ccb455 * Move most of Nix into a library (libnix.a). * Run test' on make check'. Eelco Dolstra 2003-06-20 10:53:04 +0000
  • 1849aa2a72 * Refactoring: move dump function into archive.cc. Eelco Dolstra 2003-06-20 10:40:25 +0000
  • 38e12df631 * `nix --dump' command. Eelco Dolstra 2003-06-18 14:34:43 +0000
  • aeaffec785 * Dump symlinks. Eelco Dolstra 2003-06-18 14:34:03 +0000
  • 94cf1f86bb * Lambdas, applications, substitutions. Eelco Dolstra 2003-06-18 12:36:12 +0000
  • bc57eb3c8a * Set CPLUS_INCLUDE_PATH as well as C_INCLUDE_PATH. Otherwise g++ won't see header files under Nix control. Eelco Dolstra 2003-06-18 12:35:32 +0000
  • fab7b128b9 * Automake sucks. Eelco Dolstra 2003-06-18 08:07:28 +0000
  • 34fcf5fa0c * Started integrating the new evaluation model into Nix. * Cleaned up command-line syntax. Eelco Dolstra 2003-06-17 21:12:58 +0000
  • 7a96da3627 * Test for expression dereferencing. Eelco Dolstra 2003-06-17 15:47:25 +0000
  • 6656993f83 * Derefencing of hashed expressions. Eelco Dolstra 2003-06-17 15:45:43 +0000
  • a7ab242fb4 * Simplify the evaluator. Eelco Dolstra 2003-06-17 13:37:44 +0000
  • c739e20585 * Argument processing. Eelco Dolstra 2003-06-16 21:01:18 +0000
  • 727beb798a * Canonicalization: when hashing directories, sort the directory entries by name. Eelco Dolstra 2003-06-16 16:16:09 +0000
  • 2f04e7102e * Path hashing. Eelco Dolstra 2003-06-16 15:59:23 +0000
  • a09e66da5a * Description of path hashing algorithm. Eelco Dolstra 2003-06-16 14:19:32 +0000
  • 822794001c * Started implementing the new evaluation model. * Lots of refactorings. * Unit tests. Eelco Dolstra 2003-06-16 13:33:38 +0000
  • b9f09b3268 * AST for Nix expressions. Eelco Dolstra 2003-06-16 07:03:40 +0000
  • 21fe717ce2 * Refactoring: hash class. Eelco Dolstra 2003-06-15 13:41:32 +0000
  • f66055fa1e * Set umask to 0022 on startup. Eelco Dolstra 2003-05-30 20:53:36 +0000
  • 5908663f42 * Send log output to stderr. Eelco Dolstra 2003-05-30 17:01:21 +0000
  • d1f5fd7216 * Log the output of builders to $prefix/var/log/nix. Eelco Dolstra 2003-05-30 15:21:52 +0000
  • 64582f54be * Open the database read-only when enumerating tables. Eelco Dolstra 2003-05-30 15:18:30 +0000
  • 383297e0e8 * Don't set MANPATH. It's not necessary. Eelco Dolstra 2003-05-30 15:17:40 +0000
  • 84e235eae8 * Set MANPATH and PKG_CONFIG_PATH. Eelco Dolstra 2003-05-30 11:49:06 +0000
  • 5e01b220b3 * Fix the rsync destination. Eelco Dolstra 2003-05-27 11:58:14 +0000
  • 4d21cda0cd * 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. Eelco Dolstra 2003-05-27 09:55:47 +0000
  • 9efad76595 * FreeBSD / ISO C++ compatibility fixes. Eelco Dolstra 2003-05-26 15:09:10 +0000
  • d8bdf5b06e * Removed some debug code that prevented packages from building. Eelco Dolstra 2003-05-26 14:19:25 +0000
  • a9f2928ed6 * Moved the package descriptors and build scripts out of the Nix tree. Eelco Dolstra 2003-05-26 13:57:19 +0000
  • 8b930a0c94 * Some refactoring. Eelco Dolstra 2003-05-26 13:45:00 +0000
  • f8d91f20e6 * 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'. Eelco Dolstra 2003-05-26 09:44:18 +0000
  • 13176d74cc * Updated Fix descriptors to reflect the new Fix abstract syntax. Eelco Dolstra 2003-05-25 22:43:33 +0000