aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr
AgeCommit message (Collapse)Author
2007-01-13* Cleanup.Eelco Dolstra
2006-12-13* Remove debug message.Eelco Dolstra
2006-12-12* New primop builtins.filterSource, which can be used to filter filesEelco Dolstra
from a source directory. All files for which a predicate function returns true are copied to the store. Typical example is to leave out the .svn directory: stdenv.mkDerivation { ... src = builtins.filterSource (path: baseNameOf (toString path) != ".svn") ./source-dir; # as opposed to # src = ./source-dir; } This is important because the .svn directory influences the hash in a rather unpredictable and variable way.
2006-12-12* New built-in function `builtins.attrNames' that returns theEelco Dolstra
names of the attributes in an attribute set.
2006-12-02* Remove SwitchToOriginalUser, we're not going to need it anymore.Eelco Dolstra
2006-12-01* Replace read-only calls to addTextToStore.Eelco Dolstra
2006-12-01* Merge addToStore and addToStoreFixed.Eelco Dolstra
* addToStore now adds unconditionally, it doesn't use readOnlyMode. Read-only operation is up to the caller (who can call computeStorePathForPath).
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-11-03* Fix importing of derivation outputs.Eelco Dolstra
2006-10-23* Some better error messages.Eelco Dolstra
2006-10-19* Better message.Eelco Dolstra
2006-10-19* toFile: maintain the references.Eelco Dolstra
2006-10-17* Backwards compatibility hack for user environments made by Nix <= 0.10.Eelco Dolstra
2006-10-17* Backwards compatibility with old user environment manifests.Eelco Dolstra
2006-10-17* Print out the offending path.Eelco Dolstra
2006-10-17* An awful backwards compatibility hack.Eelco Dolstra
2006-10-17* baseNameOf: paths don't have to be absolute.Eelco Dolstra
2006-10-17* toPath: should be the identity on paths.Eelco Dolstra
2006-10-17* dirOf: return a path if the argument is a path.Eelco Dolstra
2006-10-17* toString: don't copy paths. So toString can be used to passEelco Dolstra
non-store paths to a builder.
2006-10-17* Do the path check on the normal form.Eelco Dolstra
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-11* Removed URIs from the evaluator (NIX-66). They are now just anotherEelco Dolstra
kind of notation for strings.
2006-10-10* Quick hack to fix NIX-67: evaluation result differing if the NixEelco Dolstra
expression resides in the store.
2006-10-10* `import': unwrap the context. Necessary to make `import (x + y)'Eelco Dolstra
work, where x is a store path.
2006-10-03* toXML: propagate the context to allow derivations to be used in theEelco Dolstra
argument.
2006-10-03* toFile: added an additional argument to specify the store pathEelco Dolstra
suffix, e.g., `builtins.toFile "builder.sh" "..."'. * toFile: handle references to other files correctly.
2006-10-02* Finally, a real "let" syntax: `let x = ...; ... z = ...; in ...'.Eelco Dolstra
2006-10-02* Hack for Bison 2.3 compatability.Eelco Dolstra
2006-09-24* The result of a concatenation with a derivation on the left-handEelco Dolstra
side should be a path, I guess. * Handle paths that are in the store but not direct children of the store directory. * Ugh, hack to prevent double context wrapping.
2006-09-24* Primop `toPath' to convert a string to a path.Eelco Dolstra
* Primop `pathExists' to check for path existence.
2006-09-24* Builtin function `getEnv' for getting environment variables.Eelco Dolstra
2006-09-24* lessThan primitive for integer comparison.Eelco Dolstra
2006-09-22* Builtin function `add' to add integers.Eelco Dolstra
* Put common test functions in tests/lang/lib.nix.
2006-09-22* Added a builtin function `isList' to test whether a value is a list.Eelco Dolstra
With this primitive, a list-flattening function can be implemented (NIX-55, example is in tests/lang/eval-okay-flatten.nix).
2006-09-22* Builtin functions `head' and `tail' to return the head and tail ofEelco Dolstra
list. Useful for lots of things, such as implementing a fold function (see NIX-30, example is in tests/lang/eval-okay-list.nix).
2006-09-22* New builtin functions builtins.{hasAttr, getAttr} to check forEelco Dolstra
attribute existence and to return an attribute from an attribute set, respectively. Example: `hasAttr "foo" {foo = 1;}'. They differ from the `?' and `.' operators in that the attribute name is an arbitrary expression. (NIX-61)
2006-09-21* Fix comment.Eelco Dolstra
2006-09-20* Shut up a warning.Eelco Dolstra
2006-09-20* Print a better error message for wrong hashes (NIX-49).Eelco Dolstra
2006-09-11* Support `++'.Eelco Dolstra
* More follow restrictions on layout.
2006-09-05* Sone missing #includes.Eelco Dolstra
2006-09-04* Move setuid stuff to libutil.Eelco Dolstra
* Install libexpr header files.
2006-09-04* Install header files in /nix/include/nix.Eelco Dolstra
2006-09-04* Remove unnecessary inclusions of aterm2.h.Eelco Dolstra
2006-09-04* Compile the lexer as C++ code. Remove all the redundant C/C++Eelco Dolstra
marshalling code.
2006-09-04* Use a proper namespace.Eelco Dolstra
* Optimise header file usage a bit. * Compile the parser as C++.
2006-09-04* Store the Nix libraries in ${libdir}/nix instead of ${libdir}.Eelco Dolstra
2006-09-01* New primop: builtins.toFile, which writes a string into the storeEelco Dolstra
and returns its path. This can be used to (for instance) write builders inside a Nix expression, e.g., stdenv.mkDerivation { builder = " source $stdenv/setup ... "; ... }