about summary refs log tree commit diff
path: root/src/nix-instantiate
AgeCommit message (Collapse)AuthorFilesLines
2010-04-19 * Drop the dependency on the ATerm library.Eelco Dolstra1-2/+1
2010-04-13 * Use a symbol table to represent identifiers and attribute namesEelco Dolstra1-2/+2
efficiently. The symbol table ensures that there is only one copy of each symbol, thus allowing symbols to be compared efficiently using a pointer equality test.
2010-04-12 * Indented strings.Eelco Dolstra1-1/+1
2010-04-12 * Don't use ATerms for the abstract syntax trees anymore. NotEelco Dolstra1-5/+5
finished yet.
2010-04-08 * Remove a lot of dead code.Eelco Dolstra1-1/+1
2010-04-07 * Update autoCallFunction() and findAlongAttrPath().Eelco Dolstra1-73/+30
2010-04-07 * expr-to-xml -> value-to-xml.Eelco Dolstra1-3/+8
2010-04-07 * Implemented the primops necessary for generating the NixOS manual.Eelco Dolstra1-1/+2
2010-03-31 * Implemented derivations.Eelco Dolstra1-2/+17
2010-03-30 * More operators / primops.Eelco Dolstra1-3/+7
2010-03-30 * More primops.Eelco Dolstra1-1/+1
2010-03-29 * Started integrating the new evaluator.Eelco Dolstra1-1/+9
2009-11-06 * Remove support for old (before Nix 0.12pre12020) databases.Eelco Dolstra1-2/+2
2009-10-08 Added optional parameter which adds -lnsl -lsocket to make the Nix package ↵Sander van der Burg1-1/+1
manager work on OpenSolaris
2007-01-14 * Option --argstr for passing string arguments easily. (NIX-75)Eelco Dolstra1-9/+3
2007-01-13 * Allow multiple --attr / -A arguments in nix-build / nix-instantiateEelco Dolstra1-15/+20
(NIX-74).
2007-01-13 * Canonicalise ASTs in `nix-instantiate --eval': remove positionEelco Dolstra1-1/+1
info, sort attribute sets.
2006-12-07 * Doh!Eelco Dolstra1-1/+1
2006-12-07 * Rename all those main.cc files.Eelco Dolstra2-1/+1
2006-12-05 * Allow unprivileged users to run the garbage collector and to doEelco Dolstra1-1/+0
`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 Dolstra1-1/+0
2006-11-30 * Refactoring. There is now an abstract interface class StoreAPIEelco Dolstra1-2/+2
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 Dolstra1-1/+1
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 Dolstra1-1/+3
argument.
2006-09-08 * Remove debug message.Eelco Dolstra1-1/+0
2006-09-04 * Use a proper namespace.Eelco Dolstra1-5/+10
* Optimise header file usage a bit. * Compile the parser as C++.
2006-08-24 * Refactoring.Eelco Dolstra1-86/+4
2006-08-24 * Strict evaluation and XML printing of lists.Eelco Dolstra1-1/+7
2006-08-24 * Refactoring: move strictEval to libexpr.Eelco Dolstra1-44/+1
2006-08-23 * Pass the autoArgs to findAlongAttrPath so that "nix-instantiateEelco Dolstra1-4/+6
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 Dolstra1-9/+22
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 Dolstra2-46/+91
so on. * Removed `--print-args', it's subsumed by `--eval-only --xml'.
2006-08-16 * `nix-instantiate --{eval|parse}-only --xml': print an XMLEelco Dolstra1-5/+59
representation instead of an ATerm. * Indent XML output.
2006-08-14 * Put the value in an attribute.Eelco Dolstra1-2/+3
2006-08-03 * `nix-instantiate --print-args': produce XML output so that theEelco Dolstra1-3/+12
result can be used more easily by scripts.
2006-07-28 * `nix-instantiate ... --arg NAME VALUE': allow arguments to be passedEelco Dolstra1-11/+21
to functions from the command line. * nix-build: started removing backticks.
2006-07-28 * `nix-instantiate --print-args': print out the valid values forEelco Dolstra1-3/+11
functions arguments that have a domain.
2006-07-26 * Refactoring: get the selection path stuff out of getDerivations()Eelco Dolstra1-12/+13
and put it into a separate function findAlongAttrPath().
2006-07-25 * `nix-instantiate --print-args' prints out the arguments of aEelco Dolstra2-4/+25
top-level function.
2006-05-12 * Support for srcdir != builddir (NIX-41).Eelco Dolstra1-2/+3
2006-03-06 * Regularise help text a bit.Eelco Dolstra1-1/+1
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-22 * Build dynamic libraries.Eelco Dolstra1-3/+3
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 Dolstra2-8/+30
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.