about summary refs log tree commit diff
path: root/src/nix-instantiate/main.cc
AgeCommit message (Collapse)AuthorFilesLines
2006-02-10 * Enable the --attr in nix-build as well (and add -A as an alias).Eelco Dolstra1-1/+1
Example: $ nix-build ./all-packages.nix -A xlibs.libX11 So finally it's easy to perform a test build of a Nix expression!
2006-02-10 * In nix-instantiate, allow us to specify a "path" to theEelco Dolstra1-4/+11
derivation(s) we're interested, e.g., $ nix-instantiate ./all-packages.nix --attr xlibs.libX11 List elements can also be selected: $ nix-instantiate ./build-for-release.nix --attr 0.subversion This allows a non-ambiguous specification of a derivation. Of course, this should also be added to nix-env and nix-build.
2006-02-10 * Make --parse-only work when *not* reading from stdin.Eelco Dolstra1-2/+4
2006-02-10 * Cleanup: use the code shared with nix-env.Eelco Dolstra1-64/+15
2005-07-12 * In nix-instantiate, at top-level, call functions that have argumentsEelco Dolstra1-0/+17
with default values automatically. I.e., e -> e {}. This feature makes convenience expressions such as pkgs/system/i686-linux.nix in Nixpkgs obsolete, since we can just do $ nix-instantiate ./pkgs/system/all-packages.nix since all-packages.nix takes a single argument (system) that has a default value (__thisSystem).
2005-02-01 * nix-build: use an indirection scheme to make it easier for users toEelco Dolstra1-2/+6
get rid of GC roots. Nix-build places a symlink `result' in the current directory. Previously, removing that symlink would not remove the store path being linked to as a GC root. Now, the GC root created by nix-build is actually a symlink in `/nix/var/nix/gcroots/auto' to `result'. So if that symlink is removed the GC root automatically becomes invalid (since it can no longer be resolved). The root itself is not automatically removed - the garbage collector should delete dangling roots.
2005-02-01 * nix-store, nix-instantiate: added an option `--add-root' toEelco Dolstra1-7/+27
immediately add the result as a permanent GC root. This is the only way to prevent a race with the garbage collector. For instance, the old style ln -s $(nix-store -r $(nix-instantiate foo.nix)) \ /nix/var/nix/gcroots/result has two time windows in which the garbage collector can interfere (by GC'ing the derivation and the output, respectively). On the other hand, nix-store --add-root /nix/var/nix/gcroots/result -r \ $(nix-instantiate --add-root /nix/var/nix/gcroots/drv \ foo.nix) is safe. * nix-build: use `--add-root' to prevent GC races.
2005-01-19 * Renamed `normalise.cc' -> `build.cc', `storeexprs.cc' ->Eelco Dolstra1-1/+1
`derivations.cc', etc. * Store the SHA-256 content hash of store paths in the database after they have been built/added. This is so that we can check whether the store has been messed with (a la `rpm --verify'). * When registering path validity, verify that the closure property holds.
2004-10-29 * Drop ATmake / ATMatcher also in handling store expressions.Eelco Dolstra1-2/+1
2004-10-26 * Don't use ATmake / ATmatch anymore, nor the ATMatcher class.Eelco Dolstra1-2/+3
Instead we generate data bindings (build and match functions) for the constructors specified in `constructors.def'. In particular this removes the conversions between AFuns and strings, and Nix expression evaluation now seems 3 to 4 times faster.
2004-10-26 * Mode `--parse-only' to parse the input (on stdin, `-'), and printEelco Dolstra1-8/+28
out the AST as an ATerm. * Mode `--eval-only' to parse and evaluate the input, and print the resulting normal form as an ATerm. Neither of these modes require store/DB write permission.
2004-07-01 * Nix-instantiate now accepts sets of derivations (just like nix-env).Eelco Dolstra1-0/+9
2004-04-05 * When something goes wrong in the evaluation of a Nix expression,Eelco Dolstra1-1/+1
print a nice backtrace of the stack, rather than vomiting a gigantic (and useless) aterm on the screen. Example: error: while evaluating file `.../pkgs/system/test.nix': while evaluating attribute `subversion' at `.../pkgs/system/all-packages-generic.nix', line 533: while evaluating function at `.../pkgs/applications/version-management/subversion/default.nix', line 1: assertion failed at `.../pkgs/applications/version-management/subversion/default.nix', line 13 Since the Nix expression language is lazy, the trace may be misleading. The purpose is to provide a hint as to the location of the problem.
2004-02-04 * Use a map to lookup primops.Eelco Dolstra1-33/+1
* Various performance improvements in the evaluator. * Do not link against unused (and missing!) libraries (-lsglr, etc.).
2003-12-01 * Help text for all (non-script) programs, so no more:Eelco Dolstra1-3/+8
$ nix-instantiate --help error: unknown flag `--help` Try `nix-instantiate --help' for more information. :-)
2003-11-22 * Fix nix-push.Eelco Dolstra1-2/+2
2003-11-22 * Maintain integrity of the substitute and successor mappings whenEelco Dolstra1-3/+4
deleting a path in the store. * Allow absolute paths in Nix expressions. * Get nix-prefetch-url to work again. * Various other fixes.
2003-11-19 * Refactoring (step 2).Eelco Dolstra1-0/+117
2003-11-19 * Refactoring: put the Nix expression evaluator in its own library soEelco Dolstra1-117/+0
that it can be used by multiple programs.
2003-11-18 * "Fix expression" -> "Nix expression".Eelco Dolstra1-0/+117
* More refactoring.