Commit graph

3115 commits

Author SHA1 Message Date
Eelco Dolstra 2b95a9dc05 * When computing the set of paths referenced by an expression, also
include the paths of the subterms.
2003-07-09 15:02:03 +00:00
Eelco Dolstra 9a99dc736d * Canonicalise paths so that Fix produces identical Nix
expressions for identical inputs.
2003-07-08 20:26:22 +00:00
Eelco Dolstra 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.
2003-07-08 19:58:41 +00:00
Eelco Dolstra 333f4963de * The output of a Derive() node is not a referenced path. 2003-07-08 15:33:06 +00:00
Eelco Dolstra 40274c1f4f * A command to query the paths referenced by an fstate expression.
* Use a temporary directory for build actions.
2003-07-08 13:22:08 +00:00
Eelco Dolstra a279137327 * Get --dump' and --delete' to work again. 2003-07-08 10:00:46 +00:00
Eelco Dolstra 85a913a3e7 * Renamed id' -> name' to remove the implication of uniqueness. 2003-07-08 09:59:00 +00:00
Eelco Dolstra 0b38b43bab * deletePath() now removes the path from the hash2paths mapping. 2003-07-08 09:54:47 +00:00
Eelco Dolstra ab644ad10b * BaseName() primitive for the generation of more sensible names
(especially in fetchurl.fix).
2003-07-08 09:53:46 +00:00
Eelco Dolstra a5a90f501e * Get rid of the `netsources' database.
* Rename the `refs' database to `hash2paths'.
2003-07-08 08:35:06 +00:00
Eelco Dolstra be96c2189c * --realise' -> --install'. 2003-07-07 09:29:40 +00:00
Eelco Dolstra 5895c160c4 * Make dbRefs a mapping from Hash to [Path]. 2003-07-07 09:25:26 +00:00
Eelco Dolstra 609a224848 * Fixed `make check' as well. 2003-07-07 07:44:57 +00:00
Eelco Dolstra 224c585aba * Refactoring on the file names. 2003-07-07 07:43:58 +00:00
Eelco Dolstra 7952a8053c * A utility `nix-hash' to compute Nix path hashes. 2003-07-06 15:11:02 +00:00
Eelco Dolstra bfa5d77211 * Bug fix: properly check result of open(). 2003-07-06 15:08:39 +00:00
Eelco Dolstra 82e3d8fafe * Got Fix working again. 2003-07-06 14:20:47 +00:00
Eelco Dolstra f826e432aa * Refactoring: move initialisation and argument parsing into a shared
file.
2003-07-04 15:42:03 +00:00
Eelco Dolstra 01b34fe584 * Cleanup. 2003-07-04 15:29:58 +00:00
Eelco Dolstra 207ff2caf0 * Caching of expression successors. 2003-07-04 12:18:06 +00:00
Eelco Dolstra 40b5936691 * Realisation of Derive(...) expressions. 2003-06-27 14:56:12 +00:00
Eelco Dolstra 3da9687854 * Realisation of File(...) expressions. 2003-06-27 13:55:12 +00:00
Eelco Dolstra bb03c45ca0 * Added the Boost format library which provides a safe printf
replacement.
2003-06-27 13:41:42 +00:00
Eelco Dolstra d4c3edfaba * Normalisation. 2003-06-27 09:55:31 +00:00
Eelco Dolstra 3ec5252582 * Improved syntax and semantics for Nix expressions. 2003-06-25 15:50:37 +00:00
Eelco Dolstra 2b07b0e7eb * Minor cleanups. 2003-06-25 14:58:56 +00:00
Eelco Dolstra 692b562342 * `nix --delete' command. 2003-06-23 14:40:49 +00:00
Eelco Dolstra c0cbaef4be * `nix --restore' command. 2003-06-23 14:08:34 +00:00
Eelco Dolstra 5f5cab0ac7 * A function to restore from a Nix archive.
* addValue() can now import any dumpable FS object.
2003-06-23 13:27:59 +00:00
Eelco Dolstra 85effedca3 * Flags to indicate how values are specified on the command line
(--hash, --file, --name).
2003-06-20 14:11:31 +00:00
Eelco Dolstra 5079ccb455 * Move most of Nix into a library (libnix.a).
* Run `test' on `make check'.
2003-06-20 10:53:04 +00:00
Eelco Dolstra 1849aa2a72 * Refactoring: move dump function into archive.cc. 2003-06-20 10:40:25 +00:00
Eelco Dolstra 38e12df631 * `nix --dump' command. 2003-06-18 14:34:43 +00:00
Eelco Dolstra aeaffec785 * Dump symlinks. 2003-06-18 14:34:03 +00:00
Eelco Dolstra 94cf1f86bb * Lambdas, applications, substitutions. 2003-06-18 12:36:12 +00:00
Eelco Dolstra bc57eb3c8a * Set CPLUS_INCLUDE_PATH as well as C_INCLUDE_PATH. Otherwise g++
won't see header files under Nix control.
2003-06-18 12:35:32 +00:00
Eelco Dolstra fab7b128b9 * Automake sucks. 2003-06-18 08:07:28 +00:00
Eelco Dolstra 34fcf5fa0c * Started integrating the new evaluation model into Nix.
* Cleaned up command-line syntax.
2003-06-17 21:12:58 +00:00
Eelco Dolstra 7a96da3627 * Test for expression dereferencing. 2003-06-17 15:47:25 +00:00
Eelco Dolstra 6656993f83 * Derefencing of hashed expressions. 2003-06-17 15:45:43 +00:00
Eelco Dolstra a7ab242fb4 * Simplify the evaluator. 2003-06-17 13:37:44 +00:00
Eelco Dolstra c739e20585 * Argument processing. 2003-06-16 21:01:18 +00:00
Eelco Dolstra 727beb798a * Canonicalization: when hashing directories, sort the directory
entries by name.
2003-06-16 16:16:09 +00:00
Eelco Dolstra 2f04e7102e * Path hashing. 2003-06-16 15:59:23 +00:00
Eelco Dolstra a09e66da5a * Description of path hashing algorithm. 2003-06-16 14:19:32 +00:00
Eelco Dolstra 822794001c * Started implementing the new evaluation model.
* Lots of refactorings.
* Unit tests.
2003-06-16 13:33:38 +00:00
Eelco Dolstra b9f09b3268 * AST for Nix expressions. 2003-06-16 07:03:40 +00:00
Eelco Dolstra 21fe717ce2 * Refactoring: hash class. 2003-06-15 13:41:32 +00:00
Eelco Dolstra f66055fa1e * Set umask to 0022 on startup. 2003-05-30 20:53:36 +00:00
Eelco Dolstra 5908663f42 * Send log output to stderr. 2003-05-30 17:01:21 +00:00