Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2007-05-16 | * New builtin function "isFunction". You're not supposed to use it | Eelco Dolstra | 1 | -0/+13 | |
;-) * Channels: fix channels that are plain lists of derivations (like strategoxt-unstable) instead of functions (like nixpkgs-unstable). This fixes the error message "error: the left-hand side of the function call is neither a function nor a primop (built-in operation) but a list". | |||||
2007-04-16 | * New primop "throw <string>" to throw an error. This is like abort, | Eelco Dolstra | 1 | -0/+9 | |
only thrown errors are caught by the top-level derivation evaluation in nix-env -qa / -i. | |||||
2007-01-29 | * computeStorePathForText: take the references into account when | Eelco Dolstra | 1 | -1/+1 | |
computing the store path (NIX-77). This is an important security property in multi-user Nix stores. Note that this changes the store paths of derivations (since the derivation aterms are added using addTextToStore), but not most outputs (unless they use builtins.toFile). | |||||
2007-01-29 | * Don't capitalise the primop functions. | Eelco Dolstra | 1 | -76/+81 | |
2007-01-29 | * Organise primops.cc a bit better. | Eelco Dolstra | 1 | -321/+376 | |
2007-01-29 | New primitives: | Eelco Dolstra | 1 | -1/+43 | |
* `sub' to subtract two numbers. * `stringLength' to get the length of a string. * `substring' to get a substring of a string. These should be enough to allow most string operations to be expressed. | |||||
2007-01-29 | * filterSource: pass strings to the predicate function instead of | Eelco Dolstra | 1 | -1/+1 | |
paths. Paths can have unexpected semantics. | |||||
2007-01-15 | * builtins.filterSource: pass the type of the file ("regular", | Eelco Dolstra | 1 | -1/+18 | |
"directory", "symlink") as the second argument to the filter predicate. | |||||
2007-01-13 | * Cleanup. | Eelco Dolstra | 1 | -5/+5 | |
2006-12-13 | * Remove debug message. | Eelco Dolstra | 1 | -1/+0 | |
2006-12-12 | * New primop builtins.filterSource, which can be used to filter files | Eelco Dolstra | 1 | -0/+38 | |
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 the | Eelco Dolstra | 1 | -0/+21 | |
names of the attributes in an attribute set. | |||||
2006-12-01 | * Replace read-only calls to addTextToStore. | Eelco Dolstra | 1 | -1/+3 | |
2006-11-30 | * Put building in the store API. | Eelco Dolstra | 1 | -2/+1 | |
2006-11-30 | * Refactoring. There is now an abstract interface class StoreAPI | Eelco Dolstra | 1 | -3/+3 | |
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 | 1 | -2/+9 | |
2006-10-23 | * Some better error messages. | Eelco Dolstra | 1 | -3/+10 | |
2006-10-19 | * Better message. | Eelco Dolstra | 1 | -1/+1 | |
2006-10-19 | * toFile: maintain the references. | Eelco Dolstra | 1 | -10/+4 | |
2006-10-17 | * baseNameOf: paths don't have to be absolute. | Eelco Dolstra | 1 | -1/+1 | |
2006-10-17 | * toPath: should be the identity on paths. | Eelco Dolstra | 1 | -3/+1 | |
2006-10-17 | * dirOf: return a path if the argument is a path. | Eelco Dolstra | 1 | -2/+6 | |
2006-10-17 | * toString: don't copy paths. So toString can be used to pass | Eelco Dolstra | 1 | -3/+4 | |
non-store paths to a builder. | |||||
2006-10-16 | * Big cleanup of the semantics of paths, strings, contexts, string | Eelco Dolstra | 1 | -233/+75 | |
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 another | Eelco Dolstra | 1 | -2/+1 | |
kind of notation for strings. | |||||
2006-10-10 | * Quick hack to fix NIX-67: evaluation result differing if the Nix | Eelco Dolstra | 1 | -9/+8 | |
expression resides in the store. | |||||
2006-10-10 | * `import': unwrap the context. Necessary to make `import (x + y)' | Eelco Dolstra | 1 | -13/+14 | |
work, where x is a store path. | |||||
2006-10-03 | * toXML: propagate the context to allow derivations to be used in the | Eelco Dolstra | 1 | -2/+3 | |
argument. | |||||
2006-10-03 | * toFile: added an additional argument to specify the store path | Eelco Dolstra | 1 | -3/+32 | |
suffix, e.g., `builtins.toFile "builder.sh" "..."'. * toFile: handle references to other files correctly. | |||||
2006-09-24 | * The result of a concatenation with a derivation on the left-hand | Eelco Dolstra | 1 | -4/+12 | |
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 | 1 | -7/+26 | |
* Primop `pathExists' to check for path existence. | |||||
2006-09-24 | * Builtin function `getEnv' for getting environment variables. | Eelco Dolstra | 1 | -6/+18 | |
2006-09-24 | * lessThan primitive for integer comparison. | Eelco Dolstra | 1 | -0/+9 | |
2006-09-22 | * Builtin function `add' to add integers. | Eelco Dolstra | 1 | -0/+9 | |
* 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 | 1 | -0/+9 | |
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 of | Eelco Dolstra | 1 | -0/+25 | |
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 for | Eelco Dolstra | 1 | -0/+16 | |
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 | 1 | -3/+1 | |
2006-09-20 | * Print a better error message for wrong hashes (NIX-49). | Eelco Dolstra | 1 | -3/+6 | |
2006-09-04 | * Use a proper namespace. | Eelco Dolstra | 1 | -4/+12 | |
* Optimise header file usage a bit. * Compile the parser as C++. | |||||
2006-09-01 | * New primop: builtins.toFile, which writes a string into the store | Eelco Dolstra | 1 | -0/+14 | |
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 ... "; ... } | |||||
2006-08-29 | * Support singleton values and nested lists again in `args', but print | Eelco Dolstra | 1 | -1/+5 | |
a warning. | |||||
2006-08-29 | * Fix the ~ operator. | Eelco Dolstra | 1 | -1/+1 | |
2006-08-28 | * In toString, deal with nested lists properly (i.e., flatten them). | Eelco Dolstra | 1 | -0/+21 | |
2006-08-28 | * Removed processBinding, instead we now apply toString to all | Eelco Dolstra | 1 | -138/+138 | |
derivation attributes to flatten them into strings. This is possible since string can nowadays be wrapped in contexts that describe the derivations/sources referenced by the evaluation of the string. | |||||
2006-08-26 | * Refactoring. | Eelco Dolstra | 1 | -6/+1 | |
2006-08-25 | * Remove those storePath attribute sets, we don't need 'em. | Eelco Dolstra | 1 | -12/+1 | |
2006-08-24 | * New primop __toXML (or builtins.toXML) to convert an expression to | Eelco Dolstra | 1 | -0/+10 | |
an XML representation stored in a string. This should be useful to pass structured information to builders. | |||||
2006-08-23 | * Quotes. | Eelco Dolstra | 1 | -1/+1 | |
2006-08-23 | * New primop: abort "error message". | Eelco Dolstra | 1 | -0/+8 | |