Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								403cb9327f 
								
							 
						 
						
							
							
								
								* Factor out evaluation into a separate file.  
							
							 
							
							
							
						 
						
							2003-10-30 16:48:26 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-10-30 16:18:40 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e537844f4e 
								
							 
						 
						
							
							
								
								* Bottomup rewrite function.  
							
							 
							
							
							
						 
						
							2003-10-30 16:11:24 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								442b09ea33 
								
							 
						 
						
							
							
								
								* Don't use a search path.  
							
							 
							
							
							
						 
						
							2003-10-30 16:10:56 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								933b3f677d 
								
							 
						 
						
							
							
								
								* Attribute selection operator.  
							
							 
							
							
							
						 
						
							2003-10-30 16:10:20 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-10-29 16:05:03 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								4d728f6a36 
								
							 
						 
						
							
							
								
								* Forked new version of Fix.  
							
							 
							
							
							
						 
						
							2003-10-29 15:05:18 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								92eea8fc4e 
								
							 
						 
						
							
							
								
								* Fix a race condition in addTextToStore().  
							
							 
							
							
							
						 
						
							2003-10-23 10:51:55 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c4e7d324b8 
								
							 
						 
						
							
							
								
								* Use writeFull().  
							
							 
							
							
							
						 
						
							2003-10-22 13:29:40 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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.,
    /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 11:04:57 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								143427f90b 
								
							 
						 
						
							
							
								
								* Dead code removal.  
							
							 
							
							
							
						 
						
							2003-10-22 10:53:46 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								4a8948b7a6 
								
							 
						 
						
							
							
								
								* Some wrapper classes to ensure that file descriptors / directory  
							
							 
							
							... 
							
							
							
							handles are closed when they go out of scope. 
							
						 
						
							2003-10-22 10:48:22 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									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