Eelco Dolstra
c6849e2dee
Remove redundant space in usage errors
2014-10-14 11:41:04 +02:00
Eelco Dolstra
a8925a510c
nix-channel --add: Validate URL / channel ID
...
Fixes #369 .
2014-10-14 11:28:13 +02:00
Eelco Dolstra
f1adf4c998
Remove unused @sshOpts flag
...
Closes #300 .
2014-10-14 11:01:18 +02:00
Eelco Dolstra
a79e56de68
nix-copy-closure: Use strict
2014-10-14 10:56:33 +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
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
Eelco Dolstra
13a18ceb44
Fix use of PAGER during tests
2014-09-23 15:18:44 +02:00
Eelco Dolstra
ebb1dbb3e1
Add missing static
2014-09-23 15:08:27 +02:00
Eelco Dolstra
570571a2b7
Remove release notes Hydra product
2014-09-23 10:55:38 +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
68cf98c4d2
configure: Force regeneration of Makefile.config
2014-09-22 13:00:58 +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
Eelco Dolstra
0342eb1705
Remove bogus comment
2014-09-19 15:07:22 +02:00
Eelco Dolstra
726abdecfb
Remove debug statement
2014-09-18 20:04:49 +02:00
Eelco Dolstra
7d7b67986a
Store.so: Add dependency on libnixutil
...
Issue #346 .
2014-09-18 16:28:51 +02:00
Eelco Dolstra
d4a71ec3bf
Update spec file
...
http://hydra.nixos.org/build/14344391
2014-09-18 15:42:01 +02:00
Eelco Dolstra
8be9990cdb
Install some pkgconfig files
2014-09-18 12:00:40 +02:00
Eelco Dolstra
d64b8e9e53
Remove unused w3m dependency
2014-09-17 17:42:00 +02:00
Eelco Dolstra
d98bfcbf81
On Linux, disable address space randomization
2014-09-17 17:21:13 +02:00
Eelco Dolstra
5a05cf4063
Add Make flag to disable optimization
2014-09-17 17:07:05 +02:00
Eelco Dolstra
6e5b02bee4
Add some instrumentation for debugging GC leaks
2014-09-17 15:19:07 +02:00
Eelco Dolstra
d37d012774
Settings: Add bool get()
2014-09-17 15:18:13 +02:00
Eelco Dolstra
a2fc9c6b57
Remove unhelpful suggestion
2014-09-16 15:42:20 +02:00
Eelco Dolstra
3a52104bee
Delete bugs.xml
2014-09-16 15:40:03 +02:00
Eelco Dolstra
5a0181c7f2
Make troubleshooting an appendix
2014-09-16 15:39:08 +02:00
Eelco Dolstra
f77d83c26b
Style tweak
2014-09-16 15:37:38 +02:00
Eelco Dolstra
3c8522cc22
Fix parallel make of manpages
2014-09-16 15:29:55 +02:00
Eelco Dolstra
54adf344a3
Fix references to version.txt
2014-09-16 14:57:45 +02:00
Eelco Dolstra
7a740c9288
Drop separate release notes
2014-09-16 14:52:44 +02:00
Eelco Dolstra
b1af336132
Undocument NIX_OTHER_STORES
2014-09-16 14:49:00 +02:00
Eelco Dolstra
57f6463ec0
Tweak some chapter titles
2014-09-16 14:38:37 +02:00
Eelco Dolstra
d0608da13f
Drop "service deployment" bla bla
2014-09-16 14:36:32 +02:00
Eelco Dolstra
8b760182cd
Drop reference to FreeBSD
2014-09-16 14:35:11 +02:00
Eelco Dolstra
f271b94652
Remove pointless "license" section
2014-09-16 14:33:39 +02:00
Eelco Dolstra
7a68b4e4d3
Release notes: Use a section per version
2014-09-16 14:29:00 +02:00
Eelco Dolstra
9ed49c1da0
Nicer file names for the release notes
2014-09-16 14:18:55 +02:00
Eelco Dolstra
8259a392da
Manual build fixes
2014-09-16 14:14:09 +02:00
Eelco Dolstra
f0ef6b74b9
Merge branch 'master' of github.com:thatdocslady/nix
...
Conflicts:
doc/manual/release-notes.xml
doc/manual/writing-nix-expressions.xml
2014-09-16 14:13:36 +02:00
Eelco Dolstra
67e5dd3ce9
Add some hyperlinks between NIXPATH and -I
2014-09-16 11:20:09 +02:00
Eelco Dolstra
d2d5543625
build-remote.pl: UTF-8-decode errors
2014-09-05 11:53:11 +02:00
Eelco Dolstra
a6a45bb722
Tweak
2014-09-05 11:49:35 +02:00
Eelco Dolstra
f8df935102
tests/remote-builds.nix: Time out faster
2014-09-05 11:49:07 +02:00
Eelco Dolstra
e74113a305
Fix build-remote.pl
...
Apparently, turning on utf8 encoding on stderr changes its flushing
behaviour, causing sendReply to not send anything.
http://hydra.nixos.org/build/13944384
2014-09-05 11:43:14 +02:00
Eelco Dolstra
9d65287b91
Fix dependency ordering
2014-09-04 20:02:08 +02:00
Eelco Dolstra
9472b4157d
Fix boost::too_many_args error
...
Fixes #333 .
2014-09-02 22:53:01 +02:00
Eelco Dolstra
27a01d92c2
Shut up "Wide character" warnings in Perl scripts
2014-08-29 17:48:25 +02:00
Eelco Dolstra
b72e93bca8
Add disallowedReferences / disallowedRequisites
...
For the "stdenv accidentally referring to bootstrap-tools", it seems
easier to specify the path that we don't want to depend on, e.g.
disallowedRequisites = [ bootstrapTools ];
2014-08-28 18:57:13 +02:00
Eelco Dolstra
9eddf6f0b6
allowedRequisites: Drop stdenv mention
...
I don't think it's a good idea to use allowedRequisites for stdenv, so
don't mention it here.
2014-08-28 18:26:01 +02:00
Eelco Dolstra
b5da80e627
Fix manual build
2014-08-28 18:25:16 +02:00
Eelco Dolstra
3f0a4bf0e7
Fix building with Clang
2014-08-23 12:00:46 +02:00
Eelco Dolstra
3f80060500
Fix tests
...
So all these years I was totally deluded about the meaning of "set
-e". You might think that it causes statements like "false && true" or
"! true" to fail, but it doesn't...
2014-08-21 21:50:19 +02:00
Eelco Dolstra
809ca33806
Use PR_SET_PDEATHSIG to ensure child cleanup
2014-08-21 15:31:43 +02:00
Eelco Dolstra
163fdf292e
Set a curl timeout on binary cache lookups
2014-08-21 15:15:50 +02:00
Eelco Dolstra
524f89f139
Use unshare() instead of clone()
...
It turns out that using clone() to start a child process is unsafe in
a multithreaded program. It can cause the initialisation of a build
child process to hang in setgroups(), as seen several times in the
build farm:
The reason is that Glibc thinks that the other threads of the parent
exist in the child, so in setxid_mark_thread() it tries to get a futex
that has been acquired by another thread just before the clone(). With
fork(), Glibc runs pthread_atfork() handlers that take care of this
(in particular, __reclaim_stacks()). But clone() doesn't do that.
Fortunately, we can use fork()+unshare() instead of clone() to set up
private namespaces.
See also https://www.mail-archive.com/lxc-devel@lists.linuxcontainers.org/msg03434.html .
2014-08-21 14:08:09 +02:00
Eelco Dolstra
fefd3650d4
Fix a segfault in ‘nix-env -qa’
...
This was triggered by 47e185847e , which
turned globals.state into a pointer.
2014-08-21 00:05:17 +02:00
Eelco Dolstra
65243ee833
Flush std::cout before closing stdout
2014-08-20 21:44:55 +02:00
Eelco Dolstra
43579c9799
Use pager for more commands
2014-08-20 21:44:55 +02:00
Eelco Dolstra
9481f77693
Provide reasonable default flags for $LESS
...
Borrowed from systemd.
2014-08-20 21:22:41 +02:00
Eelco Dolstra
c93690a68a
Merge commit '2aa93858afee22e0c32d8f4366970976374091ac'
2014-08-20 18:44:26 +02:00
Eelco Dolstra
2aa93858af
Force template regeneration
2014-08-20 18:44:15 +02:00
Eelco Dolstra
ab4eba5b91
Handle header file instantiation
2014-08-20 18:39:48 +02:00
Eelco Dolstra
f0610e28e8
Install config.h only once
2014-08-20 18:33:07 +02:00
Eelco Dolstra
11849a320e
Use proper quotes everywhere
2014-08-20 18:03:48 +02:00
Eelco Dolstra
373fad75e1
Add some color
2014-08-20 16:50:17 +02:00
Eelco Dolstra
392430b2c4
nix-store -l: Automatically pipe output into $PAGER
2014-08-20 15:12:58 +02:00
Eelco Dolstra
894fa5e42d
Reduce test verbosity
2014-08-20 14:30:01 +02:00
Eelco Dolstra
954188af27
Filter Nix-specific ANSI escape sequences from stderr
...
The Nixpkgs stdenv prints some custom escape sequences to denote
nesting and stuff like that. Most terminals (e.g. xterm, konsole)
ignore them, but some do not (e.g. xfce4-terminal). So for the benefit
of the latter, filter them out.
2014-08-20 14:30:01 +02:00
Eelco Dolstra
029424d17d
Make hook shutdown more reliable
2014-08-19 17:47:30 +02:00
Eelco Dolstra
02843ba4cb
Fix --attr parsing
2014-08-18 15:48:23 +02:00
Eelco Dolstra
632f989b51
Doh
2014-08-18 11:35:50 +02:00
Eelco Dolstra
c160ead82f
Reduce verbosity
2014-08-17 19:11:50 +02:00
Eelco Dolstra
42e9ad8fd1
Propagate remote timeouts properly
2014-08-17 19:09:03 +02:00
Eelco Dolstra
c6e85ee474
nix-build: Propagate exit status from nix-store -r
2014-08-17 18:37:09 +02:00
Eelco Dolstra
ccd4fe5c49
build-remote.pl: Provide defaults for $NIX_CURRENT_LOAD and $NIX_REMOTE_SYSTEMS
2014-08-17 18:05:24 +02:00
Eelco Dolstra
ad716378dc
Fix download-via-ssh
...
http://hydra.nixos.org/build/13286020
2014-08-17 14:28:17 +02:00
Eelco Dolstra
3e5dbb2433
nix-shell: Use $XDG_RUNTIME_DIR
...
This prevents collisions with other users.
Fixes #262 .
2014-08-13 23:16:08 +02:00