Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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 | * Handle multiple indirect symlinks when loading a Nix expression. | Eelco Dolstra | 1 | -3/+6 | |
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-14 | * Option --argstr for passing string arguments easily. (NIX-75) | Eelco Dolstra | 3 | -2/+51 | |
2007-01-13 | * Canonicalise ASTs in `nix-instantiate --eval': remove position | Eelco Dolstra | 2 | -0/+44 | |
info, sort attribute sets. | |||||
2007-01-13 | * Memoize strict evaluation. | Eelco Dolstra | 2 | -13/+29 | |
2007-01-13 | * printTermAsXML: treat derivations specially; emit an element | Eelco Dolstra | 1 | -11/+55 | |
<derivation outPath=... drvPath=...> attrs </derivation>. Only emit the attributes of any specific derivation only. This prevents exponententially large XML output due to the absense of sharing. | |||||
2007-01-13 | * Make printing an expression as XML interruptible. | Eelco Dolstra | 2 | -0/+7 | |
2007-01-13 | * Cleanup. | Eelco Dolstra | 5 | -15/+15 | |
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-02 | * Remove SwitchToOriginalUser, we're not going to need it anymore. | Eelco Dolstra | 1 | -2/+0 | |
2006-12-01 | * Replace read-only calls to addTextToStore. | Eelco Dolstra | 1 | -1/+3 | |
2006-12-01 | * Merge addToStore and addToStoreFixed. | Eelco Dolstra | 1 | -1/+4 | |
* 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 | 1 | -2/+1 | |
2006-11-30 | * Refactoring. There is now an abstract interface class StoreAPI | Eelco Dolstra | 2 | -5/+5 | |
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 | 2 | -5/+12 | |
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 | * Backwards compatibility hack for user environments made by Nix <= 0.10. | Eelco Dolstra | 1 | -0/+7 | |
2006-10-17 | * Backwards compatibility with old user environment manifests. | Eelco Dolstra | 1 | -1/+2 | |
2006-10-17 | * Print out the offending path. | Eelco Dolstra | 1 | -2/+3 | |
2006-10-17 | * An awful backwards compatibility hack. | Eelco Dolstra | 1 | -0/+24 | |
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-17 | * Do the path check on the normal form. | Eelco Dolstra | 1 | -2/+5 | |
2006-10-16 | * Big cleanup of the semantics of paths, strings, contexts, string | Eelco Dolstra | 11 | -370/+303 | |
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 | 6 | -13/+4 | |
kind of notation for strings. | |||||
2006-10-10 | * Quick hack to fix NIX-67: evaluation result differing if the Nix | Eelco Dolstra | 2 | -13/+16 | |
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 | 3 | -9/+18 | |
argument. | |||||
2006-10-03 | * toFile: added an additional argument to specify the store path | Eelco Dolstra | 3 | -4/+40 | |
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 | 2 | -1/+4 | |
2006-10-02 | * Hack for Bison 2.3 compatability. | Eelco Dolstra | 2 | -2/+14 | |
2006-09-24 | * The result of a concatenation with a derivation on the left-hand | Eelco Dolstra | 2 | -4/+13 | |
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 | 3 | -0/+20 | |
* 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) |