Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c62433751d 
								
							 
						 
						
							
							
								
								* Finished refactoring the tree.  
							
							 
							
							
							
						 
						
							2003-10-20 10:05:01 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								53e376d836 
								
							 
						 
						
							
							
								
								* Refactored the source tree.  
							
							 
							
							
							
						 
						
							2003-10-20 09:20:11 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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). 
							
						 
						
							2003-10-16 16:29:57 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c78bf11524 
								
							 
						 
						
							
							
								
								* Enable buffering of stderr in C++.  
							
							 
							
							
							
						 
						
							2003-10-16 11:55:37 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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.
* Upgraded to ATerm 2.0.5 (which also includes Armijn's 64-bit
  patches). 
							
						 
						
							2003-10-16 08:52:44 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								181aa3dc41 
								
							 
						 
						
							
							
								
								* Don't sort the result of `--query --list'.  
							
							 
							
							
							
						 
						
							2003-10-16 08:06:19 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								ebff82222c 
								
							 
						 
						
							
							
								
								* Refactoring: move all database manipulation into store.cc.  
							
							 
							
							... 
							
							
							
							* Removed `--query --generators'. 
							
						 
						
							2003-10-15 12:42:39 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c190f051ac 
								
							 
						 
						
							
							
								
								* Automatically recover the database in case of a crash.  
							
							 
							
							
							
						 
						
							2003-10-14 15:33:00 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								1d61e473c8 
								
							 
						 
						
							
							
								
								* New query `nix --query --predecessors' to print the predecessors of  
							
							 
							
							... 
							
							
							
							a Nix expression. 
							
						 
						
							2003-10-10 15:25:21 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								0abe185688 
								
							 
						 
						
							
							
								
								* `nix --verify': check and repair reverse mapping for successors.  
							
							 
							
							
							
						 
						
							2003-10-10 15:14:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d3d5e77810 
								
							 
						 
						
							
							
								
								* Reverse mappings for the successor and substitute mappings.  
							
							 
							
							
							
						 
						
							2003-10-10 14:46:28 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								1eb4da156c 
								
							 
						 
						
							
							
								
								* Performance improvement: don't register already registered terms,  
							
							 
							
							... 
							
							
							
							thus greatly reducing the number of db transactions. 
							
						 
						
							2003-10-10 13:22:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								6baa2c4420 
								
							 
						 
						
							
							
								
								* Get rid of identifiers since they are redundant now.  This greatly  
							
							 
							
							... 
							
							
							
							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-08 15:06:59 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								b9f4942bd2 
								
							 
						 
						
							
							
								
								* string -> Path.  
							
							 
							
							
							
						 
						
							2003-10-07 14:37:41 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								5d4171f7fb 
								
							 
						 
						
							
							
								
								* Synchronise terminology with the ICSE paper (e.g., slice -> closure,  
							
							 
							
							... 
							
							
							
							fstate -> Nix expression).
* Fix src/test.cc. 
							
						 
						
							2003-10-07 12:27:49 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e78f753aa8 
								
							 
						 
						
							
							
								
								* Include the right files in a distribution.  
							
							 
							
							
							
						 
						
							2003-10-02 12:22:19 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-10-02 11:55:38 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								1c7d6bf5fc 
								
							 
						 
						
							
							
								
								* Removed references to char_traits so that boost/format also works on  
							
							 
							
							... 
							
							
							
							GCC 2.95. 
							
						 
						
							2003-09-11 10:23:55 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d930a9bc5a 
								
							 
						 
						
							
							
								
								* Added some missing #includes.  
							
							 
							
							
							
						 
						
							2003-09-11 08:31:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								803a924b77 
								
							 
						 
						
							
							
								
								* Make nicer dot graphs.  Also show the inner structure of slices.  
							
							 
							
							
							
						 
						
							2003-09-03 14:49:58 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c0bbed0959 
								
							 
						 
						
							
							
								
								* Factored out dot graph generation into a separate file.  
							
							 
							
							
							
						 
						
							2003-09-03 11:20:18 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-08-29 13:12:30 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								b018517314 
								
							 
						 
						
							
							
								
								* Do not try to remove write permission from symlinks, since chmod()  
							
							 
							
							... 
							
							
							
							follows symlinks.  (Note that the permissions on symlinks are
  ignored anyway.) 
							
						 
						
							2003-08-28 10:51:14 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								31be53cd0a 
								
							 
						 
						
							
							
								
								* Fix the atrocious (exponential? factorial?) time complexity in  
							
							 
							
							... 
							
							
							
							`nix --query --requisites'. 
							
						 
						
							2003-08-25 14:56:11 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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). 
							
						 
						
							2003-08-22 20:12:44 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-08-20 14:11:40 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								624c48260f 
								
							 
						 
						
							
							
								
								* Change the abstract syntax of slices.  It used to be that ids were used as  
							
							 
							
							... 
							
							
							
							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 12:39:56 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								ed0db2e0d8 
								
							 
						 
						
							
							
								
								* Fixed a serious bug in the computation of slices.  Sometimes the slices  
							
							 
							
							... 
							
							
							
							would not be properly closed under the path reference relation. 
							
						 
						
							2003-08-20 11:30:45 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								1472cc4825 
								
							 
						 
						
							
							
								
								* Pipe /dev/null into stdin.  
							
							 
							
							
							
						 
						
							2003-08-19 13:07:38 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								2de8504791 
								
							 
						 
						
							
							
								
								* Delete the temporary directories of failed builds by default, and an  
							
							 
							
							... 
							
							
							
							option `--keep-failed' to override this behaviour. 
							
						 
						
							2003-08-19 09:04:47 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								31e4aa6439 
								
							 
						 
						
							
							
								
								* Allow lists in package bindings, e.g.,  
							
							 
							
							... 
							
							
							
							("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 16:32:55 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-08-18 14:54:54 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								96c7b98bf0 
								
							 
						 
						
							
							
								
								* Argument support in Fix.  Arguments can be passed through the  
							
							 
							
							... 
							
							
							
							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 13:01:45 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								555347744d 
								
							 
						 
						
							
							
								
								* Derivation expressions now can specify arguments to be passed to the  
							
							 
							
							... 
							
							
							
							builder.  Note that this unfortunately causes all Fix-computed
  hashes to change. 
							
						 
						
							2003-08-15 12:32:37 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								163db7367f 
								
							 
						 
						
							
							
								
								* Fix can now read expressions from stdin (by saying `fix -').  
							
							 
							
							
							
						 
						
							2003-08-15 09:21:19 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								dc0ef2ca98 
								
							 
						 
						
							
							
								
								* Detect infinite loops using blackholing.  
							
							 
							
							
							
						 
						
							2003-08-14 12:37:31 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								5cde23f869 
								
							 
						 
						
							
							
								
								* Function() takes a list of formals.  
							
							 
							
							
							
						 
						
							2003-08-14 09:49:31 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								0a2de7f543 
								
							 
						 
						
							
							
								
								* Lam -> Function. Doh!  
							
							 
							
							
							
						 
						
							2003-08-14 09:29:07 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-08-08 14:55:56 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-08-06 09:34:04 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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). 
							
						 
						
							2003-08-06 09:06:32 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								37483672d4 
								
							 
						 
						
							
							
								
								* App -> Call.  
							
							 
							
							... 
							
							
							
							* Allow booleans in package environment bindings (True maps to "1",
  False maps to ""). 
							
						 
						
							2003-08-06 09:05:04 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d34b4d4f28 
								
							 
						 
						
							
							
								
								* Conditionals.  
							
							 
							
							
							
						 
						
							2003-08-05 13:05:30 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								4ce652640b 
								
							 
						 
						
							
							
								
								* Cache result of fstatePaths().  TODO: do this in fstore.cc.  
							
							 
							
							
							
						 
						
							2003-08-05 12:29:47 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								17f05dba77 
								
							 
						 
						
							
							
								
								* Allow the top-level expression to be a list of expressions that  
							
							 
							
							... 
							
							
							
							normalise to Nix expression. 
							
						 
						
							2003-08-05 11:13:38 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d6b6b2d3a8 
								
							 
						 
						
							
							
								
								* Delete obstructed paths prior to building.  
							
							 
							
							
							
						 
						
							2003-08-05 09:47:20 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d2e963f7a3 
								
							 
						 
						
							
							
								
								* Path locking in addToStore() and expandPath().  
							
							 
							
							
							
						 
						
							2003-08-04 07:09:36 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c95b4ad290 
								
							 
						 
						
							
							
								
								* 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. 
							
						 
						
							2003-08-01 15:41:47 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d99d04e644 
								
							 
						 
						
							
							
								
								* Defensive programming against POSIX locking idiocy.  
							
							 
							
							... 
							
							
							
							* Simplified realiseSlice(). 
							
						 
						
							2003-08-01 15:06:23 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								545145cd58 
								
							 
						 
						
							
							
								
								* normaliseFState() now locks all output paths prior to building, thus  
							
							 
							
							... 
							
							
							
							ensuring that simultaneous invocations of Nix don't clobber
  each other's  builds.
* Fixed a bug in `make install'. 
							
						 
						
							2003-08-01 14:11:19 +00:00