Eelco Dolstra
1256ab3b44
Clean up temp roots in a more C++ way
2014-11-19 17:07:29 +01:00
Eelco Dolstra
35aad73bb6
Fix message
2014-11-17 01:00:39 +01:00
Shea Levy
2719627bbe
realiseContext: Handle all context types
...
Avoids an assertion
2014-11-15 21:43:51 -05:00
Shea Levy
997defa166
Add functors (callable attribute sets).
...
With this, attribute sets with a `__functor` attribute can be applied
just like normal functions. This can be used to attach arbitrary
metadata to a function without callers needing to treat it specially.
2014-11-15 16:12:05 -05:00
Eelco Dolstra
8cfe939b0f
Don't use ADDR_LIMIT_3GB
...
This gives 32-bit builds on x86_64-linux more memory.
2014-11-14 14:16:20 +01:00
Eelco Dolstra
bab8d9b52a
Make ~DerivationGoal more reliable
2014-11-12 11:35:53 +01:00
Eelco Dolstra
06a86aee15
nix-store --gc: Don't warn about missing manifests directory
2014-11-04 10:41:29 +01:00
Eelco Dolstra
526811c87a
nix-daemon: Get peer credentials on Mac OS X
...
This makes allowed-users and trusted-users work on Mac OS X.
2014-10-31 10:08:59 +01:00
Eelco Dolstra
e389f4ea55
Improve error message if the daemon worker fails to start
2014-10-31 09:36:09 +01:00
Eelco Dolstra
3a9b4a1467
Fix more warnings
2014-10-31 08:49:15 +01:00
Eelco Dolstra
80893a13a7
Shut up a clang warning
2014-10-31 08:49:15 +01:00
Eelco Dolstra
11aef17a77
Remove comments claiming we use a private PID namespace
...
This is no longer the case since
524f89f139
.
2014-10-29 15:49:34 +01:00
Shea Levy
6062b12160
Fix build on gcc < 4.7
2014-10-20 12:15:50 -04:00
Shea Levy
f040159f77
Revert "Drop support for pre-c++11 compilers."
...
The breakage this fixed can be worked around without removing support.
This reverts commit 84a13dc576
.
2014-10-20 11:33:48 -04:00
Eelco Dolstra
ecc2c8f464
Improve printing of ASTs
2014-10-20 09:13:21 +02:00
Shea Levy
84a13dc576
Drop support for pre-c++11 compilers.
...
In particular, gcc 4.6's std::exception::~exception has an exception
specification in c++0x mode, which requires us to use that deprecated
feature in nix (and led to breakage after some recent changes that were
valid c++11).
nix already uses several c++11 features and gcc 4.7 has been around for
over 2 years.
2014-10-18 22:44:59 -04:00
Shea Levy
d16e3c7f09
Export realiseContext in libnixexpr
...
Useful for importNative plugins
2014-10-17 22:15:09 -04:00
Eelco Dolstra
d04e1ff12a
nix-store -q: Check for conflicting flags
...
Fixes #364 .
2014-10-14 12:15:39 +02:00
Eelco Dolstra
c6849e2dee
Remove redundant space in usage errors
2014-10-14 11:41:04 +02:00
Eelco Dolstra
2a4dbcff74
Improved error message when encountering unsupported file types
...
Fixes #269 .
2014-10-14 10:51:19 +02:00
Eelco Dolstra
6bb4c0b712
mkList: Scrub better
...
Clearing v.app.right was not enough, because the length field of a
list only takes 32 bits, so the most significant 32 bits of v.app.left
(a.k.a. v.thunk.env) would remain. This could cause Boehm GC to
interpret it as a valid pointer.
This change reduces maximum RSS for evaluating the ‘tested’ job in
nixos/release-small.nix from 1.33 GiB to 0.80 GiB, and runtime by
about 8%.
2014-10-09 13:08:53 +02:00
Eelco Dolstra
986fbd6fab
Typo
2014-10-09 11:34:48 +02:00
Eelco Dolstra
b6809608cc
Get rid of some unnecessary ExprConcatStrings nodes in dynamic attrs
...
This gives a ~18% speedup in NixOS evaluation (after converting
most calls to hasAttr/getAttr to dynamic attrs).
2014-10-05 01:04:58 +02:00
Eelco Dolstra
1418806969
Show total allocations
2014-10-05 00:39:28 +02:00
Eelco Dolstra
c3f0a489f9
Add primop ‘catAttrs’
2014-10-04 18:15:03 +02:00
Eelco Dolstra
d4fcbe1687
Add primop ‘attrValues’
2014-10-04 16:41:24 +02:00
Eelco Dolstra
58d8a213b0
Tweak
2014-10-04 11:27:23 +02:00
Eelco Dolstra
3f8576a6ab
Remove some duplicate code
2014-10-03 22:37:51 +02:00
Shea Levy
c08c802bf3
Add readDir primop
2014-10-03 22:32:11 +02:00
Eelco Dolstra
3b5fa8d50c
Don't recompile the same regex over and over
2014-10-03 21:29:40 +02:00
Eelco Dolstra
104e55bb7f
nix-env: Add regular expression support in selectors
...
So you can now do things like:
$ nix-env -qa '.*zip.*'
$ nix-env -qa '.*(firefox|chromium).*'
2014-10-03 21:29:40 +02:00
Eelco Dolstra
3800f441e4
createDirs(): Handle ‘path’ being a symlink
...
In particular, this fixes "nix-build -o /tmp/result" on Mac OS X
(where /tmp is a symlink).
2014-10-03 16:53:28 +02:00
Eelco Dolstra
a17c23426e
printValue(): Don't print <CYCLE> for repeated values
2014-10-01 15:54:40 +02:00
Eelco Dolstra
d61853430a
Support control characters in JSON output
2014-09-30 00:41:18 +02:00
Eelco Dolstra
f77be20c16
printMissing(): Print derivations in approximate build order
2014-09-26 14:09:20 +02:00
Eelco Dolstra
9b146a52f1
nix-daemon: Close unnecessary fd
2014-09-25 18:45:43 +02:00
Eelco Dolstra
0ed1b924be
Bindings: Remove copy constructor
2014-09-24 15:29:05 +02:00
Shell Turner
cf72a61af2
Add --force-name support for --set in nix-env, to support nix-install-package --set
2014-09-23 15:11:24 +02:00
Eelco Dolstra
ebb1dbb3e1
Add missing static
2014-09-23 15:08:27 +02:00
Eelco Dolstra
53b044c2f6
Don't evaluate inside a "throw"
...
Workaround for
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41174 . This caused
hydra-eval-jobs to ignore SIGINT.
2014-09-22 19:18:05 +02:00
Eelco Dolstra
0cd6596b0e
Add ‘deepSeq’ primop
...
Note that unlike ‘lib.deepSeq’ in Nixpkgs, this handles cycles.
2014-09-22 16:05:00 +02:00
Eelco Dolstra
831fc8ea21
Make forceValueDeep work on values with cycles
2014-09-22 16:05:00 +02:00
Eelco Dolstra
1e0a799bef
Rename strictForceValue -> forceValueDeep
2014-09-22 16:05:00 +02:00
Eelco Dolstra
022618c794
Handle cycles when printing a value
...
So this no longer crashes with a stack overflow:
nix-instantiate -E --eval 'let as = { x = as; }; in as'
Instead it prints:
{ x = { x = <CYCLE>; }; }
2014-09-22 16:05:00 +02:00
Eelco Dolstra
a54c263402
Add ‘seq’ primop
2014-09-22 16:05:00 +02:00
Eelco Dolstra
eff120d1b9
Add a function ‘valueSize’
...
It returns the size of value, including all other values and
environments reachable from it. It is intended for debugging memory
consumption issues.
2014-09-22 16:05:00 +02:00
Eelco Dolstra
2d6cd8aafd
attrNames: Don't allocate duplicates of the symbols
2014-09-19 18:11:46 +02:00
Eelco Dolstra
ea525a261f
Fix off-by-one
2014-09-19 18:08:14 +02:00
Eelco Dolstra
93e4f01ee3
Inline Bindings::find()
2014-09-19 16:56:13 +02:00
Eelco Dolstra
5b58991a71
Store Attrs inside Bindings
...
This prevents a double allocation per attribute set.
2014-09-19 16:49:41 +02:00