Age | Commit message (Collapse) | Author |
|
Make nix copy parallel again
|
|
|
|
|
|
This issue made it impossible for clients using a serve protocol of
version <= 2.3 to use the `cmdBuildDerivation` command of servers using
a protocol of version >= 2.6. The faulty version check makes the server
send back build outputs that the client is not expecting.
|
|
nix develop: Ignore some more bash special variables
|
|
JSON: print paths as strings without copying them to the store
|
|
Fixes #6940.
|
|
nix-shell: specify which outputs from bashInteractive to build
|
|
|
|
This hang for some reason didn't trigger in the Nix build, but did
running 'make installcheck' interactively. What happened:
* Store::addMultipleToStore() calls a SinkToSource object to copy a
path, which in turn calls LegacySSHStore::narFromPath(), which
acquires a connection.
* The SinkToSource object is not destroyed after the last bytes has
been read, so the coroutine's stack is still alive and its
destructors are not run. So the connection is not released.
* Then when the next path is copied, because max-connections = 1,
LegacySSHStore::narFromPath() hangs forever waiting for a connection
to be released.
The fix is to make sure that the source object is destroyed when we're
done with it.
|
|
|
|
|
|
nix repl: Stop the progress bar
|
|
after `nix eval --json` and `nix-instantiate --eval --json`.
|
|
Makes `printValueAsJSON` not copy paths to the store for `nix eval
--json`, `nix-instantiate --eval --json` and `nix-env --json`.
Fixes https://github.com/NixOS/nix/issues/5612
|
|
add a nix.conf option to set a download speed limit
|
|
Fix default profile path for root in nix profile documentation
|
|
The repl was broken since c3769c68465bae971ab6bb48cfcdea85b61ea83a. In
general, the progress bar is incompatible with the repl.
|
|
Avoid producing incomplete JSON
|
|
|
|
Co-authored-by: Anderson Torres <torres.anderson.85@protonmail.com>
|
|
|
|
|
|
RewritingSink can handle being fed input where a reference crosses a
chunk boundary. we don't need to load the whole source into memory, and
in fact *not* loading the whole source lets nix build FODs that do not
fit into memory (eg fetchurl'ing data files larger than system memory).
|
|
|
|
Avoids leaving dangling attributes like
{
"foo":
}
in case of exceptions.
|
|
Fixes #5810.
|
|
This message was unhelpful (#1184) and probably misleading since
memory is O(1) in most cases now.
|
|
Some activities are numerous but usually very short (e.g. copying a
source file to the store) which would cause a lot of flickering. So
only show activities that have been running for at least 10 ms.
|
|
|
|
|
|
|
|
Fix Nix build --check flag
|
|
|
|
fix-mv-in-different-filesystems
|
|
Doesn't seem needed on a recent-enough clang anymore (and even seems to
break stuff)
|
|
|
|
|
|
Line 593 checks that all overrides (i.e. all elements of
`lockFlags.inputOverrides`) are members of `overridesUsed`.
|
|
|
|
Also, make the JSON writer support std::string_view.
Fixes #6857.
|
|
Rather than directly copying the source to its dest, copy it first to a
temporary location, and eventually move that temporary.
That way, the move is at least atomic from the point-of-view of the destination
|
|
In most places the fallback to copying isn’t needed and can actually be
bad, so we’d rather not transparently fallback
|
|
`move` tends to have this `mv` connotation of “I will copy it for you if
needs be”
|
|
Required by the old clang version
|
|
The recursive copy from the stl doesn’t exactly do what we need because
1. It doesn’t delete things as we go
2. It doesn’t keep the mtime, which change the nars
So re-implement it ourselves. A bit dull, but that way we have what we want
|
|
In `nix::rename`, if the call to `rename` fails with `EXDEV` (failure
because the source and the destination are in a different filesystems)
switch to copying and removing the source.
To avoid having to re-implement the copy manually, I switched the
function to use the c++17 `filesystem` library (which has a `copy`
function that should do what we want).
Fix #6262
|
|
Directly takes some c++ strings, and gently throws an exception on error
(rather than having to inline this logic everywhere)
|
|
Unclutter `util.cc` a bit
|
|
Once a derivation goal has been completed, we check whether or not
this goal was meant to be repeated to check its output.
An early return branch was preventing the worker to reach that repeat
code branch, hence breaking the --check command (#2619).
It seems like this early return branch is an artifact of a passed
refactoring. As far as I can tell, buildDone's main branch also
cleanup the tmp directory before returning.
|