summary refs log tree commit diff
path: root/src/nix-instantiate
AgeCommit message (Collapse)Author
2007-01-14* Option --argstr for passing string arguments easily. (NIX-75)Eelco Dolstra
2007-01-13* Allow multiple --attr / -A arguments in nix-build / nix-instantiateEelco Dolstra
(NIX-74).
2007-01-13* Canonicalise ASTs in `nix-instantiate --eval': remove positionEelco Dolstra
info, sort attribute sets.
2006-12-07* Doh!Eelco Dolstra
2006-12-07* Rename all those main.cc files.Eelco Dolstra
2006-12-05* Allow unprivileged users to run the garbage collector and to doEelco Dolstra
`nix-store --delete'. But unprivileged users are not allowed to ignore liveness. * `nix-store --delete --ignore-liveness': ignore the runtime roots as well.
2006-11-30* Put building in the store API.Eelco Dolstra
2006-11-30* Refactoring. There is now an abstract interface class StoreAPIEelco Dolstra
containing functions that operate on the Nix store. One implementation is LocalStore, which operates on the Nix store directly. The next step, to enable secure multi-user Nix, is to create a different implementation RemoteStore that talks to a privileged daemon process that uses LocalStore to perform the actual operations.
2006-10-16* Big cleanup of the semantics of paths, strings, contexts, stringEelco Dolstra
concatenation and string coercion. This was a big mess (see e.g. NIX-67). Contexts are now folded into strings, so that they don't cause evaluation errors when they're not expected. The semantics of paths has been clarified (see nixexpr-ast.def). toString() and coerceToString() have been merged. Semantic change: paths are now copied to the store when they're in a concatenation (and in most other situations - that's the formalisation of the meaning of a path). So "foo " + ./bla evaluates to "foo /nix/store/hash...-bla", not "foo /path/to/current-dir/bla". This prevents accidental impurities, and is more consistent with the treatment of derivation outputs, e.g., `"foo " + bla' where `bla' is a derivation. (Here `bla' would be replaced by the output path of `bla'.)
2006-10-03* toXML: propagate the context to allow derivations to be used in theEelco Dolstra
argument.
2006-09-08* Remove debug message.Eelco Dolstra
2006-09-04* Use a proper namespace.Eelco Dolstra
* Optimise header file usage a bit. * Compile the parser as C++.
2006-08-24* Refactoring.Eelco Dolstra
2006-08-24* Strict evaluation and XML printing of lists.Eelco Dolstra
2006-08-24* Refactoring: move strictEval to libexpr.Eelco Dolstra
2006-08-23* Pass the autoArgs to findAlongAttrPath so that "nix-instantiateEelco Dolstra
foo.nix -A attr --arg name value" will work if (name, value) is needed in the evaluation leading up to "attr".
2006-08-17* Print attributes in sorted order, rather than the arbitrary orderEelco Dolstra
produced by ATermMap. Necessary for testing. * `--strict' should also work on stdin.
2006-08-16* More XML output. `--strict' to strictly evaluate attribute sets andEelco Dolstra
so on. * Removed `--print-args', it's subsumed by `--eval-only --xml'.
2006-08-16* `nix-instantiate --{eval|parse}-only --xml': print an XMLEelco Dolstra
representation instead of an ATerm. * Indent XML output.
2006-08-14* Put the value in an attribute.Eelco Dolstra
2006-08-03* `nix-instantiate --print-args': produce XML output so that theEelco Dolstra
result can be used more easily by scripts.
2006-07-28* `nix-instantiate ... --arg NAME VALUE': allow arguments to be passedEelco Dolstra
to functions from the command line. * nix-build: started removing backticks.
2006-07-28* `nix-instantiate --print-args': print out the valid values forEelco Dolstra
functions arguments that have a domain.
2006-07-26* Refactoring: get the selection path stuff out of getDerivations()Eelco Dolstra
and put it into a separate function findAlongAttrPath().
2006-07-25* `nix-instantiate --print-args' prints out the arguments of aEelco Dolstra
top-level function.
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.