Age | Commit message (Collapse) | Author |
|
Make the build of unresolved derivations return the same status as the
resolved one, except in the case of an `AlreadyValid` in which case it
will return `ResolvesToAlreadyValid` to mean that the outputs of the unresolved
derivation weren’t known, but the resolved one is.
|
|
extract_archive: fix "Hard-link target '...'" error
|
|
|
|
Fixes #5741
|
|
Libarchive documentation mentions that archive_entry_set_pathname
expects us to keep the passed string alive, which we don't.
|
|
Closes #1584.
|
|
|
|
When a variable is assigned in the REPL, make sure to remove any possible reference to the old one so that we correctly pick the new one afterwards
Fix #5706
|
|
Tidy up the logging
|
|
|
|
|
|
|
|
Fixes: https://github.com/NixOS/nixos-homepage/issues/762
|
|
Add a :log command that shows logs for a derivation.
Closes https://github.com/NixOS/nix/issues/3504
Co-authored-by: Taeer Bar-Yam <taeer@bar-yam.me>
|
|
Before this change, stdout was closed after the pager exits. This is
fine for non-interactive commands where we want to exit right after
the pager exits anyways, but for interactive things (e.g. nix repl)
this breaks the output after we quit the pager.
Keep the initial stdout fd as part of RunPager, and restore it in
RunPager::~RunPager using dup2.
|
|
Fix #5712
|
|
This function is very useful in nixpkgs, but its implementation in Nix
itself is rather slow due to it requiring a lot of attribute set and
list appends.
|
|
Flakes: computeLocks: pass correct LockParent when reusing oldLock
|
|
src/libutil/util.hh: fix build on gcc-11
|
|
Previously, when we were attempting to reuse the old lockfile
information in the computeLocks function, we have passed the parent of
the current input to the next computeLocks call. This was incorrect,
since the follows are resolved relative to the parent. This caused
issues when we tried to reuse oldLock but couldn't for some
reason (read: mustRefetch is true), in that case the follows were
resolved incorrectly.
Fix this by passing the correct parent, and adding some tests to
prevent this particular regression from happening again.
Closes https://github.com/NixOS/nix/issues/5697
|
|
- Previous to this commit the boundary was exclusive of the
top level flake.
- This is wrong since the top level flake is still a valid
relative reference.
- Now, the check boundary is inclusive of the top level flake.
Signed-off-by: Timothy DeHerrera <tim.deh@pm.me>
|
|
Due to missing <atomic> declaration the build fails as:
src/libutil/util.hh:350:24: error: no match for 'operator||' (operand types are 'std::atomic<bool>' and 'bool')
350 | if (_isInterrupted || (interruptCheck && interruptCheck()))
| ~~~~~~~~~~~~~~ ^~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| std::atomic<bool> bool
|
|
|
|
Fix #5299 and remove uncesssary unbounded buffer
|
|
Fix heap use after free in progress-bar.cc
|
|
No matter what, we need to resize the buffer to not have any scratch
space after we do the `read`. In the end of file case, `got` will be 0
from it's initial value.
Before, we forgot to resize in the EOF case with the break. Yes, we know
we didn't recieve any data in that case, but we still have the scatch
space to undo.
Co-Authored-By: Will Fancher <Will.Fancher@Obsidian.Systems>
|
|
This doesn't fix the bug, but makes the code less difficult to read.
Also improve the comments, now that it is clear what part is needed in
each code path.
|
|
No more buffering in string.
|
|
Use the macros more, so we properly skip work when the log level
excludes. Also log the daemon operation number on the daemon side.
|
|
Fixes #5674.
|
|
Don't move the arguments of the primOp
|
|
Don’t try to complete flakes is the feature isn’t enabled
|
|
Moving arguments of the primOp into the registration structure makes it
impossible to initialize a second EvalState with the correct primOp
registration. It will end up registering all those "RegisterPrimOp"'s
with an arity of zero on all but the 2nd instance of the EvalState.
Not moving the memory will add a tiny bit of memory overhead during the
eval since we need a copy of all the argument lists of all the primOp's.
The overhead shouldn't be too bad as it is static (based on the amonut
of registered operations) and only occurs once during the interpreter
startup.
|
|
|
|
Fix #5661
|
|
|
|
Make `nix-shell` work when nixpkgs is content-addressed
|
|
Closes https://github.com/NixOS/nix/issues/5656
|
|
Fix #5259
|
|
preloadNSS / dns timeout
|
|
"recursive-nix" system feature only with experimental feature
|
|
Support range-based for loop over list values
|
|
|
|
If we’re in pure eval mode, then tell that in the error message rather
than (wrongly) speaking about restricted mode.
Fix https://github.com/NixOS/nix/issues/5611
|
|
Fix a minor data race with _isInterrupted
|
|
Make lists be comparable
|
|
|
|
|
|
Makes lists comparable using lexicographic comparison.
Increments builtins.langVersion in order for this change to be
detectable
|
|
|