aboutsummaryrefslogtreecommitdiff
path: root/src/nix-instantiate
AgeCommit message (Collapse)Author
2006-05-12* Support for srcdir != builddir (NIX-41).Eelco Dolstra
2006-03-06* Regularise help text a bit.Eelco Dolstra
2006-02-10* Enable the --attr in nix-build as well (and add -A as an alias).Eelco Dolstra
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 Dolstra
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 Dolstra
2006-02-10* Cleanup: use the code shared with nix-env.Eelco Dolstra
2005-07-22* Build dynamic libraries.Eelco Dolstra
2005-07-12* In nix-instantiate, at top-level, call functions that have argumentsEelco Dolstra
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 Dolstra
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 Dolstra
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 Dolstra
`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-11-12* Document --eval-only and --parse-only options in nix-instantiate.Eelco Dolstra
2004-10-29* Drop ATmake / ATMatcher also in handling store expressions.Eelco Dolstra
2004-10-26* Don't use ATmake / ATmatch anymore, nor the ATMatcher class.Eelco Dolstra
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 Dolstra
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 Dolstra
2004-04-05* When something goes wrong in the evaluation of a Nix expression,Eelco Dolstra
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-16* Allow linking against an external Berkeley DB / ATerm library.Eelco Dolstra
2004-02-04* Use a map to lookup primops.Eelco Dolstra
* Various performance improvements in the evaluator. * Do not link against unused (and missing!) libraries (-lsglr, etc.).
2003-12-02* Add missing files to `make dist'.Eelco Dolstra
2003-12-01* Help text for all (non-script) programs, so no more:Eelco Dolstra
$ nix-instantiate --help error: unknown flag `--help` Try `nix-instantiate --help' for more information. :-)
2003-11-22* Fix nix-push.Eelco Dolstra
2003-11-22* Maintain integrity of the substitute and successor mappings whenEelco Dolstra
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 Dolstra
2003-11-19* Refactoring: put the Nix expression evaluator in its own library soEelco Dolstra
that it can be used by multiple programs.
2003-11-19* Use `sdftable -s' to get warnings about the grammar.Eelco Dolstra
* Several bug fixes in the grammar. * Allow one-line comments (#... and //...) to end in EOF.
2003-11-18* "Fix expression" -> "Nix expression".Eelco Dolstra
* More refactoring.
2003-11-18* nix -> nix-store, fix -> nix-instantiate.Eelco Dolstra
2003-03-24* Descriptors now have a "system" field specifying the platform thatEelco Dolstra
the build or run action should be perfomed on. This ensures that descriptors have different hashes on different platforms.
2003-03-21* Fetch sources from the network.Eelco Dolstra
2003-03-20* nix-instantiate now instantiantes the closure of the set ofEelco Dolstra
descriptor templates under the import relation. I.e., we can now say: nix-instantiate outdir foo.nix which will create descriptors for foo.nix and all imported packages in outdir/.
2003-03-20* A script to instantiate package descriptors from templates.Eelco Dolstra