Tuomas Tynkkynen
4ea9707591
libexpr: Fix prim_replaceStrings() to work on an empty source string
...
Otherwise, running e.g.
nix-instantiate --eval -E --strict 'builtins.replaceStrings [""] ["X"] "abc"'
would just hang in an infinite loop.
Found by afl-fuzz.
2018-02-19 23:20:26 +02:00
Tuomas Tynkkynen
1d0e42879f
libutil: Fix infinite loop in filterANSIEscapes on '\r'
...
E.g. nix-instantiate --eval -E 'abort "\r"' hangs.
Found by afl-fuzz.
2018-02-19 23:20:26 +02:00
Tuomas Tynkkynen
056d28a601
libexpr: Don't create lots of temporary strings in Bindings::lexicographicOrder
...
Avoids ~180,000 string temporaries created when evaluating a headless
NixOS system.
2018-02-19 22:47:25 +02:00
Eelco Dolstra
d4e93532e2
Fix incorrect (and unnecessary) format string
...
https://hydra.nixos.org/eval/1434547#tabs-now-fail
2018-02-19 20:46:39 +01:00
Eelco Dolstra
70eb64147e
Update release notes
...
Also add some examples to nix --help.
2018-02-19 20:38:53 +01:00
Eelco Dolstra
623fcb071e
Merge pull request #1882 from shlevy/no-seccomp-no-filterSyscalls
...
Don't silently succeed seccomp setup when !HAVE_SECCOMP.
2018-02-19 17:39:46 +01:00
Shea Levy
e1eb63a586
Merge branch 'perf-fixes' of git://github.com/dezgeg/nix
2018-02-19 10:11:52 -05:00
Shea Levy
e59a8a63e1
Don't silently succeed seccomp setup when !HAVE_SECCOMP.
...
Running Nix with build users without seccomp on Linux is dangerous,
and administrators should very explicitly opt-in to it.
2018-02-19 09:56:24 -05:00
Eelco Dolstra
ed73d40c3b
Config::handleUnknownSettings(): Remove unused 'fatal' argument
2018-02-19 14:00:34 +01:00
Eelco Dolstra
75a1d96cfd
Merge branch 'register-settings' of https://github.com/shlevy/nix
2018-02-19 13:58:34 +01:00
Eelco Dolstra
7fe5910bf8
Merge pull request #1857 from dtzWill/fix/check-for-lzma-mt
...
configure.ac: check if lzma has MT support, fix deb build/etc.
2018-02-19 13:06:14 +01:00
Shea Levy
690ac7c90b
configure: Add a flag to disable seccomp.
...
This is needed for new arches where libseccomp support doesn't exist
yet.
Fixes #1878 .
2018-02-18 02:35:01 -05:00
Tuomas Tynkkynen
37264ed0ad
libexpr: Avoid an unnecessary string copy in prim_derivationStrict
2018-02-17 16:54:21 +02:00
Tuomas Tynkkynen
66eeff3345
libexpr: Remove unnecessary drvName assignment in prim_derivationStrict
...
drvName is already assigned to the same value right at the start of the
function.
2018-02-17 16:54:21 +02:00
Tuomas Tynkkynen
7e0360504d
libexpr: Optimize prim_derivationStrict by using more symbol comparisons
2018-02-17 16:54:21 +02:00
Tuomas Tynkkynen
0845cdf944
libexpr: Rely on Boehm returning zeroed memory in EvalState::allocEnv()
...
Boehm guarantees that memory returned by GC_malloc() is zeroed, so take
advantage of that.
2018-02-17 16:54:21 +02:00
Tuomas Tynkkynen
b8bed7da14
libexpr: Optimize prim_attrNames a bit
...
Instead of having lexicographicOrder() create a temporary sorted array
of Attr*:s and copying attr names from that, copy the attr names
first and then sort that.
2018-02-17 16:54:21 +02:00
Tuomas Tynkkynen
f67a7007a2
libexpr: Pre-reserve space in string in unescapeStr()
...
Avoids some malloc() traffic.
2018-02-16 04:39:43 +02:00
Eelco Dolstra
3a5a241b32
Merge pull request #1873 from matthewbauer/fix-manpath
...
Set MANPATH in case man path isn’t set correctly.
2018-02-15 17:37:21 +01:00
Matthew Bauer
8f186722a9
Set backup MANPATH in case man path isn’t set correctly.
...
Previously, this would fail at startup for non-NixOS installs:
nix-env --help
The fix for this is to just use "nixManDir" as the value for MANPATH
when spawning "man".
To test this, I’m using the following:
$ nix-build release.nix -A build
$ MANPATH= ./result/bin/nix-env --help
Fixes #1627
2018-02-15 10:20:02 -06:00
Shea Levy
ac973a6d3c
monitor-fds: Fix on macOS.
...
Fixes #1871 .
2018-02-14 18:26:37 -05:00
Shea Levy
b095c06139
Add splitVersion primop.
...
Fixes #1868 .
2018-02-14 09:55:43 -05:00
Shea Levy
de4934ab3b
Allow plugins to define new settings.
2018-02-13 14:43:32 -05:00
Eelco Dolstra
52c777a793
Merge pull request #1863 from shlevy/conf-includes
...
Allow includes from nix.conf
2018-02-13 17:33:07 +01:00
Shea Levy
b8739f2fb3
Enable specifying directories in plugin-files.
2018-02-13 11:25:01 -05:00
Shea Levy
6eb1040e90
Allow includes from nix.conf
2018-02-13 08:16:32 -05:00
Eelco Dolstra
7828dca9e8
Merge branch 'register-constant' of https://github.com/shlevy/nix
2018-02-13 12:24:48 +01:00
Eelco Dolstra
1c10a74c73
Merge branch 'plugins' of https://github.com/shlevy/nix
2018-02-13 12:15:27 +01:00
Eelco Dolstra
c5cc57e962
Merge pull request #1859 from FRidh/flatten
...
Nix stats: flatten statistics
2018-02-13 11:11:12 +01:00
Eelco Dolstra
9bcb4d2dd9
Fix hang in build-remote
2018-02-12 22:48:55 +01:00
Eelco Dolstra
4f09ce7940
Fix 'deadlock: trying to re-acquire self-held lock'
...
This was caused by derivations with 'allowSubstitutes = false'. Such
derivations will be built locally. However, if there is another
SubstitionGoal that has the output of the first derivation in its
closure, then the path will be simultaneously built and substituted.
There was a check to catch this situation (via pathIsLockedByMe()),
but it no longer worked reliably because substitutions are now done in
another thread. (Thus the comment 'It can't happen between here and
the lockPaths() call below because we're not allowing multi-threading'
was no longer valid.)
The fix is to handle the path already being locked in both
SubstitutionGoal and DerivationGoal.
2018-02-12 17:06:06 +01:00
Eelco Dolstra
35fd31770c
toBuildables -> build
2018-02-12 17:06:06 +01:00
Will Dietz
c6209030c4
compression: make parallel sink separate class
2018-02-11 13:50:28 -06:00
Will Dietz
a0bdc96726
compression: print warning if parallel requested but not supported
2018-02-11 13:03:47 -06:00
Frederik Rietdijk
60eca58533
Nix stats: flatten statistics
...
Flattens the list of statistics as suggested in
https://github.com/NixOS/ofborg/issues/67 . This makes it easier to work
with.
2018-02-11 14:37:50 +01:00
Will Dietz
5a082ad15a
configure.ac: check if lzma has MT support, fix deb build/etc.
2018-02-09 21:02:25 -06:00
Eelco Dolstra
960e9c560e
nix: Ensure that the user sees errors from substituters
2018-02-09 15:06:47 +01:00
Eelco Dolstra
aa02cdc33c
getDefaultSubstituters(): Skip broken substituters
...
Fixes #1340 .
2018-02-09 15:06:47 +01:00
Eelco Dolstra
3d2d207aad
Merge pull request #1848 from AmineChikhaoui/parallel-xz
...
support multi threaded xz encoder
2018-02-09 15:03:25 +01:00
Shea Levy
081f14a169
Allow using RegisterPrimop to define constants.
...
This enables plugins to add new constants, as well as new primops.
2018-02-08 14:35:50 -05:00
Shea Levy
88cd2d41ac
Add plugins to make Nix more extensible.
...
All plugins in plugin-files will be dlopened, allowing them to
statically construct instances of the various Register* types Nix
supports.
2018-02-08 12:44:37 -05:00
Eelco Dolstra
ad97a21834
nix-env: Fix parsing of --system
...
https://hydra.nixos.org/build/68827814
2018-02-08 15:25:03 +01:00
AmineChikhaoui
0685a6480a
Merge branch 'master' of https://github.com/NixOS/nix into parallel-xz
2018-02-08 12:24:48 +01:00
Will Dietz
f201b7733e
More completely fix recursive nix, unbreak tests
...
See:
88b5d0c8e8 (commitcomment-27406365)
2018-02-07 15:19:28 -06:00
AmineChikhaoui
a56637205a
Merge branch 'master' of https://github.com/NixOS/nix into parallel-xz
2018-02-07 21:09:04 +01:00
AmineChikhaoui
47ad88099b
move the parallel-compression setting to binary-cache-store, the setting
...
can be done now from the url e.g s3://nix-cache?parallel-compression=1
instead of nix.conf.
2018-02-07 21:06:11 +01:00
Eelco Dolstra
88b5d0c8e8
Prevent accidental recursive Nix
2018-02-07 19:07:38 +01:00
AmineChikhaoui
55ecdfe2a8
make multi threaded compression configurable and use single threaded
...
by default.
2018-02-07 17:54:08 +01:00
AmineChikhaoui
163e39547a
Merge branch 'master' of https://github.com/NixOS/nix into parallel-xz
2018-02-07 17:53:50 +01:00
Eelco Dolstra
84989d3af2
Improve filtering of ANSI escape sequences in build logs
...
All ANSI sequences except color setting are now filtered out. In
particular, terminal resets (such as from NixOS VM tests) are filtered
out.
Also, fix the completely broken tab character handling.
2018-02-07 15:23:57 +01:00