Eelco Dolstra
d315210612
* Added a builtin function `isList' to test whether a value is a list.
...
With this primitive, a list-flattening function can be implemented
(NIX-55, example is in tests/lang/eval-okay-flatten.nix).
2006-09-22 14:55:19 +00:00
Eelco Dolstra
c02a44183f
* Builtin functions head' and
tail' to return the head and tail of
...
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 14:46:36 +00:00
Eelco Dolstra
8a1ab709a4
* New builtin functions builtins.{hasAttr, getAttr} to check for
...
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-22 14:31:55 +00:00
Eelco Dolstra
666babbbfa
* Use a bounded amount of memory in scanForReferences() by not reading
...
regular files into memory all at once.
2006-09-22 13:10:30 +00:00
Eelco Dolstra
d22d7565f3
* Don't allocate the buffer twice.
2006-09-22 11:28:23 +00:00
Eelco Dolstra
b43aeadbc9
* Don't allocate more than SIZE_MAX bytes.
2006-09-22 11:13:35 +00:00
Eelco Dolstra
25df501704
* GC options in nix-store --help (NIX-15).
2006-09-21 19:06:34 +00:00
Eelco Dolstra
4e91d8621f
* Fix comment.
2006-09-21 18:52:05 +00:00
Eelco Dolstra
1bdc152931
* Shut up a warning.
2006-09-20 16:36:29 +00:00
Eelco Dolstra
0623359fbc
* Print a better error message for wrong hashes (NIX-49).
2006-09-20 16:15:32 +00:00
Eelco Dolstra
e0afaf1857
* Wow, that bug has been there since r764.
2006-09-14 22:48:59 +00:00
Eelco Dolstra
86cbd93ec1
* nix-env --switch-generation / --list-generations /
...
--delete-generations: lock the profile to prevent (extremely
unlikely) race conditions.
2006-09-14 22:33:53 +00:00
Eelco Dolstra
5c38c863bd
* Fix a huge gaping hole in nix-env w.r.t. the garbage collector.
...
Nix-env failed to call addPermRoot(), which is necessary to safely
add a new root. So if nix-env started after and finished before the
garbage collector, the user environment (plus all other new stuff)
it built might be garbage collected, leading to a dangling symlink
chain in ~/.nix-profile...
* Be more explicit if we block on the GC lock ("waiting for the big
garbage collector lock...").
* Don't loop trying to create a new generation. It's not necessary
anymore since profiles are locked nowadays.
2006-09-14 22:30:33 +00:00
Eelco Dolstra
01d169f817
* Support `++'.
...
* More follow restrictions on layout.
2006-09-11 13:05:15 +00:00
Eelco Dolstra
feb63da431
* Remove debug message.
2006-09-08 09:31:07 +00:00
Eelco Dolstra
a89a201598
* Missing #include.
2006-09-05 10:32:47 +00:00
Eelco Dolstra
fc195519b5
* Sone missing #includes.
2006-09-05 08:54:48 +00:00
Eelco Dolstra
bafc1690fc
* Move setuid stuff to libutil.
...
* Install libexpr header files.
2006-09-04 22:55:28 +00:00
Eelco Dolstra
e5a6c09b12
* Install header files in /nix/include/nix.
2006-09-04 22:41:36 +00:00
Eelco Dolstra
4be5443882
* Remove unnecessary inclusions of aterm2.h.
2006-09-04 22:08:40 +00:00
Eelco Dolstra
2382a729e0
* Don't need extern "C".
2006-09-04 21:50:39 +00:00
Eelco Dolstra
e3ce954582
* Compile the lexer as C++ code. Remove all the redundant C/C++
...
marshalling code.
2006-09-04 21:36:15 +00:00
Eelco Dolstra
75068e7d75
* Use a proper namespace.
...
* Optimise header file usage a bit.
* Compile the parser as C++.
2006-09-04 21:06:23 +00:00
Eelco Dolstra
aab8812732
* Store the Nix libraries in ${libdir}/nix instead of ${libdir}.
2006-09-04 15:12:24 +00:00
Eelco Dolstra
7974aae81c
* New primop: builtins.toFile, which writes a string into the store
...
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-09-01 12:07:31 +00:00
Eelco Dolstra
de90fdf908
* Allow "$" in strings as long as they are not followed by "{". (Too
...
bad flex doesn't have lexical restrictions, the current solution
isn't quite right...)
2006-09-01 12:04:06 +00:00
Eelco Dolstra
c25f688e23
* Doh! Doh! Doh!
2006-08-31 15:38:43 +00:00
Eelco Dolstra
354d58b3d7
* Better error checking.
2006-08-31 11:40:39 +00:00
Eelco Dolstra
f93f7b75be
* Okay, that's a bit harder than expected.
2006-08-30 13:10:04 +00:00
Eelco Dolstra
3151bdea55
* Uninitialised variable.
2006-08-30 12:00:27 +00:00
Eelco Dolstra
547b119f25
* Support singleton values and nested lists again in `args', but print
...
a warning.
2006-08-29 15:40:49 +00:00
Eelco Dolstra
2132d9ddeb
* Fix the ~ operator.
2006-08-29 15:29:38 +00:00
Eelco Dolstra
1ec9f55741
* In toString, deal with nested lists properly (i.e., flatten them).
2006-08-28 21:47:42 +00:00
Eelco Dolstra
1fca76870b
* Removed processBinding, instead we now apply toString to all
...
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-28 13:31:06 +00:00
Eelco Dolstra
8a6080eb14
* Refactoring.
2006-08-26 16:48:01 +00:00
Eelco Dolstra
4b66cebe7b
* Remove those storePath attribute sets, we don't need 'em.
2006-08-25 17:09:55 +00:00
Eelco Dolstra
3e8dccf6ab
* Escape newlines in XML attributes to prevent them from being
...
normalised away.
2006-08-24 15:02:39 +00:00
Eelco Dolstra
215ec2ddc6
* New primop __toXML (or builtins.toXML) to convert an expression to
...
an XML representation stored in a string. This should be useful to
pass structured information to builders.
2006-08-24 14:34:29 +00:00
Eelco Dolstra
f793caf936
* Refactoring.
2006-08-24 14:16:55 +00:00
Eelco Dolstra
da25d80152
* Strict evaluation and XML printing of lists.
2006-08-24 14:03:39 +00:00
Eelco Dolstra
943ab38a0d
* Refactoring: move strictEval to libexpr.
2006-08-24 13:39:22 +00:00
Eelco Dolstra
f41297fdce
* Allow --arg in nix-env as well, example:
...
$ nix-env -qa --system-filter \* --arg system '"powerpc-darwin"'
to override the system from the default value (__currentSystem in
all-packages.nix).
2006-08-23 16:33:21 +00:00
Eelco Dolstra
9638f3f393
* Pass the autoArgs to findAlongAttrPath so that "nix-instantiate
...
foo.nix -A attr --arg name value" will work if (name, value) is
needed in the evaluation leading up to "attr".
2006-08-23 16:20:14 +00:00
Eelco Dolstra
b19cebc513
* Quotes.
2006-08-23 15:46:27 +00:00
Eelco Dolstra
38f18aa6d4
* New primop: abort "error message".
2006-08-23 15:46:00 +00:00
Eelco Dolstra
4a053bfdfd
* A new primop `builtins', which returns an attribute set containing
...
all the primops. This allows Nix expressions to test for new
primops and take appropriate action if they're not available. For
instance, rather than calling a primop `foo' directly, they could
say `if builtins ? foo then builtins.foo ... else ...'.
2006-08-23 14:39:11 +00:00
Eelco Dolstra
24e234a2fa
* Print attributes in sorted order, rather than the arbitrary order
...
produced by ATermMap. Necessary for testing.
* `--strict' should also work on stdin.
2006-08-17 08:53:08 +00:00
Eelco Dolstra
22ba63df16
* More XML output. `--strict' to strictly evaluate attribute sets and
...
so on.
* Removed `--print-args', it's subsumed by `--eval-only --xml'.
2006-08-16 21:59:53 +00:00
Eelco Dolstra
18e4ac0fc6
* `nix-instantiate --{eval|parse}-only --xml': print an XML
...
representation instead of an ATerm.
* Indent XML output.
2006-08-16 10:32:30 +00:00
Eelco Dolstra
2670642733
* Handle carriage returns. Fixes NIX-53.
2006-08-16 10:28:44 +00:00