about summary refs log tree commit diff
path: root/src/nix-instantiate
AgeCommit message (Collapse)AuthorFilesLines
2012-02-04 * Inline some functions and get rid of the indirection throughEelco Dolstra1-0/+1
EvalState::eval(). This gives a 12% speedup on ‘nix-instantiate /etc/nixos/nixos/ -A system --readonly-mode’ (from 1.01s to 0.89s).
2011-12-01 * Allow '<nixexpr>' syntax to be used in nix-instantiate, nix-buildEelco Dolstra1-2/+1
and nix-env, e.g., $ nix-env -f '<nixpkgs>' -i patchelf or $ nix-build '<nixos/tests>' -A login.test
2011-08-31 * Eliminate all uses of the global variable ‘store’ from libstore.Eelco Dolstra1-3/+2
This should also fix: nix-instantiate: ./../boost/shared_ptr.hpp:254: T* boost::shared_ptr<T>::operator->() const [with T = nix::StoreAPI]: Assertion `px != 0' failed. which was caused by hashDerivationModulo() calling the ‘store’ object (during store upgrades) before openStore() assigned it.
2011-08-06 * Add a Nix expression search path feature. Paths between angleEelco Dolstra1-0/+2
brackets, e.g. import <nixpkgs/pkgs/lib> are resolved by looking them up relative to the elements listed in the search path. This allows us to get rid of hacks like import "${builtins.getEnv "NIXPKGS_ALL"}/pkgs/lib" The search path can be specified through the ‘-I’ command-line flag and through the colon-separated ‘NIX_PATH’ environment variable, e.g., $ nix-build -I /etc/nixos ... If a file is not found in the search path, an error message is lazily thrown.
2011-08-06 * Refactoring: move parseExprFromFile() and parseExprFromString() intoEelco Dolstra1-3/+2
the EvalState class.
2010-11-16 * Sync with the trunk.Eelco Dolstra1-4/+4
2010-10-28 * Handle out of memory condition.Eelco Dolstra1-2/+1
2010-10-22 * Store Value nodes outside of attribute sets. I.e., Attr now storesEelco Dolstra1-1/+1
a pointer to a Value, rather than the Value directly. This improves the effectiveness of garbage collection a lot: if the Value is stored inside the set directly, then any live pointer to the Value causes all other attributes in the set to be live as well.
2010-10-22 * Make building against the Boehm GC a configure option.Eelco Dolstra1-4/+2
2010-10-20 * Use the Boehm garbage collector to reclaim unused memory in the NixEelco Dolstra1-2/+5
expression evaluator.
2010-10-04 * Make sure that config.h is included before the system headers,Eelco Dolstra1-3/+3
because it defines _FILE_OFFSET_BITS. Without this, on OpenSolaris the system headers define it to be 32, and then the 32-bit stat() ends up being called with a 64-bit "struct stat", or vice versa. This also ensures that we get 64-bit file sizes everywhere. * Remove the redundant call to stat() in parseExprFromFile(). The file cannot be a symlink because that's the exit condition of the loop before.
2010-05-12 * Sync with the trunk.Eelco Dolstra2-53/+41
2010-05-07 * Sync with the trunk.Eelco Dolstra2-4/+9
2010-04-20 * Sync with the trunk.Eelco Dolstra2-6/+11
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-31 Make source location info in the XML output optional.Ludovic Courtès2-6/+11
* src/libexpr/expr-to-xml.cc (nix::showAttrs): Add `location' parameter. Provide location XML attributes when it's true. Update callers. (nix::printTermAsXML): Likewise. * src/libexpr/expr-to-xml.hh (nix::printTermAsXML): Update prototype; have `location' default to `false'. * src/nix-instantiate/nix-instantiate.cc (printResult, processExpr): Add `location' parameter; update callers. (run): Add support for `--no-location'. * src/nix-instantiate/help.txt: Update accordingly. * tests/lang.sh: Invoke `nix-instantiate' with `--no-location' for the XML tests. * tests/lang/eval-okay-toxml.exp, tests/lang/eval-okay-to-xml.nix: New files.
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
2010-03-02 * When using the included sqlite/aterm libraries, build withEelco Dolstra2-1/+2
--enable-shared. * In libutil/libstore/libexpr etc., link against sqlite and aterm. * Some more header file hygiene.
2010-02-24 * `helpText' is now zero-terminated.Eelco Dolstra1-1/+1
2010-02-24 * ADDITIONAL_NETWORK_LIBS -> LIBS.Eelco Dolstra1-1/+1
2010-02-24 * Add ${sqlite_lib} everywhere. Just adding it in `libstore' doesn'tEelco Dolstra1-1/+1
work on x86_64 when sqlite is compiled statically.
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.