Théophane Hufschmitt
067076287b
Merge pull request #5946 from obsidiansystems/delete-dead-code
...
Remove dead field in NixArgs
2022-01-20 06:13:11 +01:00
John Ericson
89f8917a32
Remove dead field in NixArgs
...
This has been unused since 170e86dff5
CC @thufschmitt
2022-01-19 20:26:14 +00:00
Hubert Głuchowski
87fdd23025
Make nix search
highlight all matches of a regex
2022-01-19 20:45:31 +01:00
Hubert Głuchowski
92e8230215
Make nix search
highlight all regexes
2022-01-19 19:08:02 +01:00
dec7748119
Replace withBuffer by boost small_vector
...
Although this will leave gaps in the stack, the performance impact
of those should be insignificant and we get a simpler solution
this way.
2022-01-19 15:21:56 +01:00
624f18ad90
withBuffer: Make sure to hit the stack protector
2022-01-19 15:21:56 +01:00
6dd271b7b4
withBuffer: avoid allocating a std::function
2022-01-19 15:21:56 +01:00
55c58580be
Add withBuffer
...
... to avoid non-standard, unidiomatic alloca.
2022-01-19 15:21:56 +01:00
d038a67bd3
Fix segfault or stack overflow caused by large derivation fields
...
This removes a dynamic stack allocation, making the derivation
unparsing logic robust against overflows when large strings are
added to a derivation.
Overflow behavior depends on the platform and stack configuration.
For instance, x86_64-linux/glibc behaves as (somewhat) expected:
$ (ulimit -s 20000; nix-instantiate tests/lang/eval-okay-big-derivation-attr.nix)
error: stack overflow (possible infinite recursion)
$ (ulimit -s 40000; nix-instantiate tests/lang/eval-okay-big-derivation-attr.nix)
error: expression does not evaluate to a derivation (or a set or list of those)
However, on aarch64-darwin:
$ nix-instantiate big-attr.nix ~
zsh: segmentation fault nix-instantiate big-attr.nix
This indicates a slight flaw in the single stack protection page
approach that is not encountered with normal stack frames.
2022-01-19 15:21:56 +01:00
regnat
e36add56cf
Fix the build with nlohmann/json 3.10.4+
2022-01-19 14:37:54 +01:00
regnat
dd7c2e0695
Make nix why-depends
quieter by default
...
Unless `--precise` is passed, make `nix why-depends` only show the
dependencies between the store paths, without introspecting them to
find the actual references.
This also makes it ~3x faster
2022-01-19 14:24:14 +01:00
Eelco Dolstra
bc443511eb
Merge pull request #5905 from lincolnauster/flake-update-custom-commit
...
Custom commit messages when commiting the lockfile
2022-01-19 10:05:27 +01:00
lincoln auster [they/them]
7d4f86f032
release-notes: document commit-lockfile-summary option
...
This documents 3023c7700.
2022-01-18 16:10:44 -07:00
lincoln auster [they/them]
3e5a9ad7ff
allow modifying lockfile commit msg with nix config option
...
This allows setting the commit-lockfile-summary option to a non-empty
string to override the commit summary while leaving the body unchanged.
2022-01-18 16:10:27 -07:00
Eelco Dolstra
4af88a4c91
Merge pull request #5906 from pennae/primops-optimization
...
optimize primops and utils by caching more and copying less
2022-01-18 19:43:28 +01:00
Eelco Dolstra
9901cb96c7
Merge pull request #5918 from tweag/tty-logs
...
Print build logs when not connected to a TTY
2022-01-18 19:42:01 +01:00
Eelco Dolstra
d6e3fbc6f5
Merge pull request #5929 from edolstra/copy-logs
...
Add command to copy build logs between stores
2022-01-18 19:41:10 +01:00
Eelco Dolstra
04432f2510
Add examples
2022-01-18 17:37:04 +01:00
Eelco Dolstra
5fe1ec8a05
Add a test for 'nix store copy-log' and 'nix log'
2022-01-18 17:30:50 +01:00
Eelco Dolstra
3876238546
Add Installable::toDrvPaths()
...
This is needed to get the path of a derivation that might not exist
(e.g. for 'nix store copy-log').
InstallableStorePath::toDerivedPaths() cannot be used for this because
it calls readDerivation(), so it fails if the store doesn't have the
derivation.
2022-01-18 17:28:18 +01:00
regnat
2ad2678c0b
Add a simple test for nix why-depends
2022-01-18 16:54:53 +01:00
Eelco Dolstra
5b243a2b4b
BinaryCacheStore: Implement addBuildLog()
2022-01-18 16:14:01 +01:00
Eelco Dolstra
4dda1f92aa
Add command 'nix store copy-log'
...
Fixes #5222 .
2022-01-18 14:08:49 +01:00
Eelco Dolstra
6448ea84ab
Factor out --from / --to logic
2022-01-18 14:08:49 +01:00
Eelco Dolstra
f6f0bcf11f
Doh
2022-01-18 14:06:51 +01:00
Eelco Dolstra
50be51d9a8
Doh
2022-01-18 13:50:25 +01:00
Eelco Dolstra
3157028fc1
Merge pull request #5932 from edolstra/remove-shared-strings
...
Remove shared strings
2022-01-18 11:14:18 +01:00
Eelco Dolstra
d62a9390fc
Get rid of std::shared_ptr<std::string> and ref<std::string>
...
These were needed back in the pre-C++11 era because we didn't have
move semantics. But now we do.
2022-01-18 11:12:30 +01:00
Théophane Hufschmitt
dc4730ee94
Merge pull request #5720 from tomberek/flake_search
...
flakes: search up to git or filesystem boundary
2022-01-18 10:59:12 +01:00
regnat
5753f6efbb
Fix the rendering of the example directory tree
2022-01-18 10:55:00 +01:00
Eelco Dolstra
52ee7ec002
StringSource: Use std::string_view
2022-01-17 22:20:23 +01:00
Eelco Dolstra
776eb97a43
serialise.hh: Use std::string_view
2022-01-17 22:20:23 +01:00
Eelco Dolstra
fc2443a67c
Merge pull request #5812 from pennae/small-perf-improvements
...
improve parser performance a bit
2022-01-17 19:49:52 +01:00
Alexander Bantyev
34b66aab00
Update documentation for paths on command line
...
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-01-17 20:00:04 +03:00
Alexander Bantyev
8cf54f754d
Show build and substitution information when not connected to a TTY
...
When stderr is not connected to a tty, show "building" and
"substituting" messages, a-la nix-build et al.
Closes https://github.com/NixOS/nix/issues/4402
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-01-17 19:57:29 +03:00
Eelco Dolstra
008ddef4b0
Merge pull request #5915 from NixOS/disallow-boost-reference
...
Forbid runtime references to boost
2022-01-17 10:14:45 +01:00
Eelco Dolstra
bb24d1edd7
Merge pull request #5914 from NixOS/5911-fix-nix-why-depends-pager
...
Start the pager early-enough in `nix why-depends`
2022-01-17 10:10:31 +01:00
Rok Garbas
e1720b8e9d
Merge pull request #5919 from johnae/var-tmp-in-docker-image
...
docker: also create var/tmp as some tools rely on it
2022-01-16 21:01:47 +01:00
Farid Zakaria
61f02f7f20
Make queryJSON not bail immediately on an assertion or error
2022-01-15 19:36:07 -08:00
Farid Zakaria
6ff2ce8caf
Added result and .vscode to gitignore
2022-01-15 19:17:40 -08:00
John Axel Eriksson
84507daaaa
docker: var/tmp make add -p option to mkdir to also create parent dirs
2022-01-15 14:11:37 +01:00
regnat
dd3aa1e515
Remove the references to boost on darwin
2022-01-15 11:34:15 +01:00
John Axel Eriksson
3fff0196cd
docker: also create var/tmp as some tools rely on it
2022-01-15 10:20:18 +01:00
Rok Garbas
34f2eebd5b
Merge pull request #5916 from NixOS/5896-git-in-docker-image
...
Add git to the docker image
2022-01-14 21:28:39 +01:00
Alexander Bantyev
b9f5dccdbe
Check that we don't search past a git repo
2022-01-14 18:03:47 +03:00
Alexander Bantyev
f055cc5a0b
Document searching upwards and fix documentation for installables
2022-01-14 17:58:03 +03:00
regnat
1dace02866
Add git to the docker image
...
Fix #5896
See https://github.com/NixOS/docker/issues/33
2022-01-14 15:55:36 +01:00
regnat
de4489a672
Forbid runtime references to boost
...
We explicitly hack around to remove them, so might as well check that
the hack is useful.
(Introduced because I feared that the changes of
https://github.com/NixOS/nix/pull/5906#discussion_r784810238 would bring
back some runtime references)
2022-01-14 15:41:14 +01:00
Alexander Bantyev
e3690ab393
Add more tests for flake upward searching
2022-01-14 17:21:18 +03:00
tomberek
2dead20924
Apply suggestions from code review
...
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-01-14 09:16:34 -05:00