Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								710175e6a0 
								
							 
						 
						
							
							
								
								* Bumped the version number to 0.3.  
							
							
							
						 
						
							2003-08-20 11:31:15 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								c32e01eab2 
								
							 
						 
						
							
							
								
								* Revision 300!  
							
							... 
							
							
							
							* Put `@' in front of echo's in the Makefile. 
							
						 
						
							2003-08-18 08:52:49 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								08f9cfe267 
								
							 
						 
						
							
							
								
								* No longer automatically download Berkeley DB / ATerm.  
							
							
							
						 
						
							2003-08-18 08:35:16 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								e374dbf89b 
								
							 
						 
						
							
							
								
								* A script `nix-prefetch-url' to fetch a URL, place it in the Nix  
							
							... 
							
							
							
							store, and print its hash. 
							
						 
						
							2003-08-15 10:13:41 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								01e30360d4 
								
							 
						 
						
							
							
								
								* Don't use a temporary file.  
							
							
							
						 
						
							2003-08-15 09:39:33 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								161aab582b 
								
							 
						 
						
							
							
								
								* Use a catalog when calling xsltproc.  
							
							
							
						 
						
							2003-08-14 18:24:40 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								a24cb19361 
								
							 
						 
						
							
							
								
								* Use xmllint instead of nsgmls to validate the manual.  
							
							
							
						 
						
							2003-08-14 18:17:02 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								9ee3b7a37a 
								
							 
						 
						
							
							
								
								* Function application test cases.  
							
							
							
						 
						
							2003-08-14 12:37:50 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								dc0ef2ca98 
								
							 
						 
						
							
							
								
								* Detect infinite loops using blackholing.  
							
							
							
						 
						
							2003-08-14 12:37:31 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								2e16ff22ac 
								
							 
						 
						
							
							
								
								* Fix man page.  
							
							
							
						 
						
							2003-08-14 11:27:02 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								95b49f8044 
								
							 
						 
						
							
							
								
								* Manual updates.  
							
							
							
						 
						
							2003-08-13 15:17:57 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								68022552d2 
								
							 
						 
						
							
							
								
								* Put the pre-built manual and man pages in the tar distribution.  
							
							
							
						 
						
							2003-08-13 15:17:36 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c34a153ae5 
								
							 
						 
						
							
							
								
								* Documented the `--query' operation.  
							
							
							
						 
						
							2003-08-13 10:45:01 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								b4f88d0ec3 
								
							 
						 
						
							
							
								
								* Split the book.xml into several xml files.  
							
							
							
						 
						
							2003-08-13 09:13:52 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								469f1eba56 
								
							 
						 
						
							
							
								
								* Documented some Nix operations.  
							
							
							
						 
						
							2003-08-12 15:06:49 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e405ca506e 
								
							 
						 
						
							
							
								
								* Generate man pages from the manual.  
							
							
							
						 
						
							2003-08-12 13:54:42 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								4b7b0bd12c 
								
							 
						 
						
							
							
								
								* Started on the introduction.  
							
							
							
						 
						
							2003-08-07 15:27:14 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								74867e72f2 
								
							 
						 
						
							
							
								
								* Start of manual; installation instructions.  
							
							
							
						 
						
							2003-08-07 14:17:18 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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). 
							
						 
						
							2003-08-06 14:48:29 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								9ad39df282 
								
							 
						 
						
							
							
								
								* `==' is not a valid operator.  
							
							
							
						 
						
							2003-08-06 10:00:30 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d551062ec4 
								
							 
						 
						
							
							
								
								* Scan for wget and use the full path in fetchurl.sh.  
							
							... 
							
							
							
							* Use nix-hash (not md5sum) in fetchurl.sh. 
							
						 
						
							2003-08-06 09:35:05 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								b9c9b461ea 
								
							 
						 
						
							
							
								
								* Made nix-push much faster.  
							
							
							
						 
						
							2003-08-05 12:30:06 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								fd30f52cfc 
								
							 
						 
						
							
							
								
								* Made nix-pull much faster by performing all Fix instantiations at  
							
							... 
							
							
							
							the same time. 
							
						 
						
							2003-08-05 11:14:24 +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 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								9df93f30bd 
								
							 
						 
						
							
							
								
								* Don't use substitutes in addToStore().  
							
							
							
						 
						
							2003-08-01 09:01:51 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								06434072e7 
								
							 
						 
						
							
							
								
								* Put the database verifier in a transaction.  
							
							
							
						 
						
							2003-07-31 19:49:11 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								06d3d7355d 
								
							 
						 
						
							
							
								
								* Enclose most operations that update the database in transactions.  
							
							... 
							
							
							
							* Open all database tables (Db objects) at initialisation time, not
  every time they are used.  This is necessary because tables have to
  outlive all transactions that refer to them. 
							
						 
						
							2003-07-31 16:05:35 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								177a7782ae 
								
							 
						 
						
							
							
								
								* Use a more reasonable log file size (256 KB instead of 10 MB).  
							
							... 
							
							
							
							* Checkpoint on exit. 
							
						 
						
							2003-07-31 14:28:49 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								4a013962bd 
								
							 
						 
						
							
							
								
								* Started using Berkeley DB environments.  This is necessary for  
							
							... 
							
							
							
							transaction support (but we don't actually use transactions yet). 
							
						 
						
							2003-07-31 13:47:13 +00:00