Eelco Dolstra
8931bf7168
Doh
2013-12-20 13:09:12 +00:00
Eelco Dolstra
7d203faff6
nix-env --set-flag: Barf if a selector doesn't match any installed package
...
Fixes #184 .
2013-12-20 13:56:42 +01:00
Eelco Dolstra
769f662165
nix-shell: Don't warn about the lack of a GC root
2013-12-20 12:19:10 +00:00
Eelco Dolstra
65a6452240
nix-shell: Handle --option correctly
...
Fixes #181 .
2013-12-20 13:10:14 +01:00
Shea Levy
e36229d27f
Bump language version for new storePath feature
...
This will allow e.g. channel expressions to use builtins.storePath IFF
it is safe to do so without knowing if the path is valid yet.
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-10 15:07:04 +01:00
Shea Levy
22d665019a
builtins.storePath: Try to substitute the path if it is not yet valid
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-10 15:07:04 +01:00
Eelco Dolstra
a6add93d73
Garbage collector: Release locks on temporary root files
...
This allows processes waiting for such locks to proceed during the
trash deletion phase of the garbage collector.
2013-12-10 13:13:59 +01:00
Eelco Dolstra
c5b8fe3151
Print a trace message if a build fails due to the platform being unknown
2013-12-05 14:31:57 -05:00
Eelco Dolstra
f3cf0436b5
Install bsdiff and bspatch in $(libexecdir)/nix
2013-12-02 20:21:31 +00:00
Eelco Dolstra
0202ce6b94
Add support for ‘make installcheck’
2013-11-25 18:47:03 +01:00
Eelco Dolstra
7ce0e05ad8
Rename Makefile.new -> Makefile
2013-11-25 15:25:13 +00:00
Eelco Dolstra
1a1d8b073a
Add a Makefile for bsdiff
2013-11-25 11:39:21 +00:00
Eelco Dolstra
2bd0fcc966
Use libnix as a prefix for all Nix libraries
...
In particular "libutil" was always a problem because it collides with
Glibc's libutil. Even if we install into $(libdir)/nix, the linker
sometimes got confused (e.g. if a program links against libstore but
not libutil, then ld would report undefined symbols in libstore
because it was looking at Glibc's libutil).
2013-11-23 23:53:41 +00:00
Eelco Dolstra
abb5bd66de
Add Makefile for nix-log2xml
2013-11-23 23:42:50 +00:00
Eelco Dolstra
c1f3a1a89b
Disallow undefined symbols in dynamic libraries by default
...
This encourages that each library declares its own dependencies
properly.
2013-11-24 00:10:00 +01:00
Eelco Dolstra
5a1114ecdb
Drop the dependency on libgc in libmain
...
Instead, libexpr now depends on libgc. This means commands like
nix-store that don't do any evaluation no longer require libgc.
2013-11-23 20:19:36 +00:00
Eelco Dolstra
06a8ac96e7
Initialise Boehm GC only once
2013-11-23 20:15:57 +00:00
Eelco Dolstra
90dfb37f14
Allow (dynamic) libraries to depend on other libraries
2013-11-23 20:11:02 +00:00
Eelco Dolstra
611868a909
Implement basic ‘make install’
2013-11-23 17:04:27 +00:00
Eelco Dolstra
d1b3ca0b4a
Improve building dynamic libraries
...
They now get a correct RPATH.
2013-11-23 17:26:43 +01:00
Eelco Dolstra
6dd74b48f8
Support building dynamic libraries
2013-11-22 20:56:58 +00:00
Eelco Dolstra
9b11a8bfbc
Fix building without Boehm GC
2013-11-22 20:05:00 +00:00
Eelco Dolstra
6b5f89f2cf
Drop the dependency on Automake
2013-11-22 19:30:24 +00:00
Eelco Dolstra
754c05ed6c
Rename $(here) to $(d) for brevity, and remove trailing slash
2013-11-22 16:45:52 +00:00
Eelco Dolstra
62e35cc3a8
Add ‘make dist’ support
2013-11-22 16:42:25 +01:00
Eelco Dolstra
eff6c4b791
Add missing #include
2013-11-22 15:41:48 +00:00
Eelco Dolstra
1474ecfe42
Generate the parser and the lexer
2013-11-22 16:22:31 +01:00
Eelco Dolstra
b8e9efc476
New non-recursive, plain Make-based build system
2013-11-22 15:54:18 +01:00
Eelco Dolstra
709cbe4e76
Include <cstring> for memset
...
This should fix building on Illumos.
2013-11-22 10:00:43 +00:00
Eelco Dolstra
30b986908e
Check meta values and warn about bad ones
2013-11-19 14:29:39 +01:00
Eelco Dolstra
0f24400d90
Generalise meta attributes
2013-11-19 14:09:14 +01:00
Eelco Dolstra
990126cde0
Shorter error message
2013-11-19 14:09:14 +01:00
Eelco Dolstra
af94a70ba6
Drop support for user environment manifests in ATerm format
2013-11-19 14:09:14 +01:00
Eelco Dolstra
245e26408f
nix-env -q: Add a --json flag
2013-11-19 00:41:45 +01:00
Eelco Dolstra
5fea98111b
Refactor JSON output
2013-11-19 00:33:06 +01:00
Eelco Dolstra
77c13cdf56
Add a toJSON primop
2013-11-19 00:04:11 +01:00
Eelco Dolstra
285df765b9
Add a primop unsafeGetAttrPos to return the position of an attribute
2013-11-18 22:22:35 +01:00
Eelco Dolstra
fc33fd86b7
Add a symbol __curPos that expands to the current source location
...
I.e. an attribute set { file = <string>; line = <int>; column = <int>; }.
2013-11-18 20:16:02 +01:00
Eelco Dolstra
90b5e69284
Support quoted attribute names in -A
...
This is requires if you have attribute names with dots in them. So
you can now say:
$ nix-instantiate '<nixos>' -A 'config.systemd.units."postgresql.service".text' --eval-only
Fixes #151 .
2013-11-18 10:21:12 +00:00
Eelco Dolstra
a478e8a7bb
Remove nix-setuid-helper
...
AFAIK, nobody uses it, it's not maintained, and it has no tests.
2013-11-14 11:57:37 +01:00
Eelco Dolstra
89e6781cc5
Make function calls show up in stack traces again
...
Note that adding --show-trace prevents functions calls from being
tail-recursive, so an expression that evaluates without --show-trace
may fail with a stack overflow if --show-trace is given.
2013-11-12 12:51:59 +01:00
Eelco Dolstra
c897bac549
Make function calls tail-recursive
2013-11-12 11:32:23 +00:00
Eelco Dolstra
273322c773
Make ifs and asserts tail-recursive
...
The local Value object prevented g++ from making a tail call. Not
clear why. In any case, not using a temporary makes g++ do the tail
call.
2013-11-12 11:32:23 +00:00
Eelco Dolstra
4badd7ed17
Get rid of an intermediary on the stack
2013-11-12 11:32:23 +00:00
Eelco Dolstra
8d6418d46e
Fix building without a garbage collector
...
http://hydra.nixos.org/build/6695350
2013-10-28 22:51:12 +01:00
Eelco Dolstra
dec2f19502
Fix a segfault in genericClosure
...
It kept temporary data in STL containers that were not scanned by
Boehm GC, so Nix programs using genericClosure could randomly crash if
the garbage collector kicked in at a bad time.
Also make it a bit more efficient by copying points to values rather
than values.
2013-10-28 18:52:26 +01:00
Eelco Dolstra
ea6bf0c21f
Slightly optimize listToAttrs
2013-10-28 07:34:44 +01:00
Eelco Dolstra
5bc41d78ff
Rename "attribute sets" to "sets"
...
We don't have any other kind of sets so calling them attribute sets is
unnecessarily verbose.
2013-10-24 16:41:04 +02:00
Eelco Dolstra
69befd33a9
Remove unnecessary call to forceStringNoCtx
2013-10-24 03:08:34 +02:00
Eelco Dolstra
05d02f798f
Add a typeOf primop
...
We already have some primops for determining the type of a value, such
as isString, but they're incomplete: for instance, there is no isPath.
Rather than adding more isBla functions, the generic typeOf function
returns a string representing the type of the argument (e.g. "int").
2013-10-24 02:49:13 +02:00