Age | Commit message (Collapse) | Author |
|
Fixes #1905
|
|
|
|
|
|
|
|
|
|
|
|
constant memory
Just because we can.
|
|
|
|
|
|
|
|
For instance, this reduced the memory consumption of
$ nix copy --from ssh://localhost --to ~/my-nix /nix/store/1n7x0yv8vq6zi90hfmian84vdhd04bgp-blender-2.79a
from 632 MiB to 16 MiB.
|
|
|
|
From exec(3):
> The list of arguments must be terminated by a null pointer, and, since these
> are variadic functions, this pointer must be cast (char *) NULL
|
|
|
|
|
|
This avoids sandbox annoyances.
|
|
|
|
|
|
|
|
E.g.
cannot build on 'ssh://mac1': cannot connect to 'mac1': bash: nix-store: command not found
cannot build on 'ssh://mac2': cannot connect to 'mac2': Host key verification failed.
cannot build on 'ssh://mac3': cannot connect to 'mac3': Received disconnect from 213... port 6001:2: Too many authentication failures
Authentication failed.
|
|
from clang6:
src/libutil/serialise.cc:189:23: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
|
|
(cherry picked from commit c389a7fb617ed7bcd617efa68c6a48c00405310d)
|
|
|
|
This makes persistent shell environments easier to use.
|
|
copyStorePath() now pipes the output of srcStore->narFromPath()
directly into dstStore->addToStore(). The sink used by the former is
converted into a source usable by the latter using
boost::coroutine2. This is based on [1].
This reduces the maximum resident size of
$ nix build --store ~/my-nix/ /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1 --substituters file:///tmp/binary-cache-xz/ --no-require-sigs
from 418592 KiB to 53416 KiB. (The previous commit also reduced the
runtime from ~4.2s to ~3.4s, not sure why.) A further improvement will
be to download files into a Sink.
[1] https://github.com/NixOS/nix/compare/master...Mathnerd314:dump-fix-coroutine#diff-dcbcac55a634031f9cc73707da6e4b18
Issue #1969.
|
|
This allows decompression to happen in O(1) memory.
|
|
libexpr: Recognize newline in more places in lexer
|
|
The certificates won't get any better if we retry.
|
|
Fixes https://github.com/NixOS/nixpkgs/issues/37114.
|
|
Wrap thread local in function for Cygwin
|
|
Actually fixes #1976.
|
|
|
|
This is UB, even if the size is 0. See #1976.
Fixes #1976.
|
|
|
|
|
|
Note that this only requires headers from boost so it doesn't add a
runtime dependency.
Also, use Nixpkgs 18.03.
|
|
nix search: tests and fix #1893 and part of #1892
|
|
|
|
|
|
|
|
Fixes #1826. See #1352 for a previous instance of a similar change.
|
|
It was holding on to a Value* (i.e. a std::shared_ptr<ValidPathInfo>*)
outside of the pathInfoCache lock, so the std::shared_ptr could be
destroyed between the release of the lock and the decrement of the
std::shared_ptr refcount. This can happen if more than
'path-info-cache-size' paths are added in the meantime, *or* if
clearPathInfoCache() is called. The hydra-queue-runner queue monitor
thread periodically calls the later, so is likely to trigger a crash.
Fixes https://github.com/NixOS/hydra/issues/542.
|
|
Doing so prevents emacs tags from working, as well as makes the code extremely
confusing for a newbie.
In the prior state, if someone wants to find the definition of "ExprApp" for
example, a grep through the code reveals nothing. Since the definition could be
hiding in numerous ".h" files, it's really difficult to find. This personally
took me several hours to figure out.
|
|
|
|
rand() -> random(), since we use srandom().
|
|
rand() requires we call srand() instead,
but might as well use random().
|
|
Move definition of destructor to logging.cc for
access to util.hh's ignoreException.
|
|
This can be iterated on and currently leaves out settings we know we
want to forward, but it fixes #1713 and fixes #1935 and isn't
fundamentally broken like the status quo. Future changes are suggested
in a comment.
|
|
|
|
|