forked from NixOS/nix
-
Notifications
You must be signed in to change notification settings - Fork 2
Upstream tracking #165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
grahamc
wants to merge
1,596
commits into
2.31-maintenance
Choose a base branch
from
main
base: 2.31-maintenance
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Upstream tracking #165
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* It is tough to contribute to a project that doesn't use a formatter, * It is extra hard to contribute to a project which has configured the formatter, but ignores it for some files * Code formatting makes it harder to hide obscure / weird bugs by accident or on purpose, Let's rip the bandaid off? Note that PRs currently in flight should be able to be merged relatively easily by applying `clang-format` to their tip prior to merge. Co-authored-by: Graham Christensen <[email protected]>
Co-authored-by: Graham Christensen <[email protected]>
…/pr-13108 Rip off the bandaid: Format the codebase with clang-format (backport NixOS#13108)
…-eval-cache Revert "Use WAL mode for SQLite cache databases"
…f3-4d7b-40f3-bd21-4367a87321a5 Release v3.8.4
Since recently we call isValidPath() a lot from the evaluator, specifically from LocalStoreAccessor::requireStoreObject(). Unfortunately, isValidPath() uses but does not populate the in-memory path info cache; only queryPathInfo() does that. So isValidPath() is fast *if* we happened to call queryPathInfo() on the same path previously. This is not the case when lazy-trees is enabled, so we got a lot of superfluous, high-latency calls to the daemon (which show up in verbose output as `performing daemon worker op: 1`). Similarly, `fetchToStore()` called `isValidPath()` as well. The fix is to use `queryPathInfo()`, which for one particular eval reduced the number of daemon calls from 15246 to 2324. This may cause Nix to fetch some unnecessary information from the daemon, but that probably doesn't matter much given the high latency.
(cherry picked from commit 6db6190)
…/pr-13514 treewide: Fix Meson CPU names for powerpc CPUs (backport NixOS#13514)
This is a workaround for NixOS#13515 (opening the SQLite DB randomly taking a couple of seconds on ZFS).
(cherry picked from commit ee9b57c)
(cherry picked from commit e7af2e6)
…ition blocks (cherry picked from commit 41bf87e)
(cherry picked from commit fb493ad)
Apply upstream formatting changes
…ails Previously we always tried to substitute first (by calling `ensurePath()`). This wasn't a problem before lazy trees, because we always end up copying to the store anyway. But that's not the case with lazy trees. So frequently we ended up substituting an input that we had already fetched. This showed up as fetching source from https://cache.nixos.org for inputs that you could swear Nix had already fetched just before. This was especially a problem for Nixpkgs inputs, since many Nixpkgs revisions are in cache.nixos.org. Note that this could also be a problem without lazy trees, e.g. with a local input (like a Nixpkgs clone) that happens to be in the binary cache. So we now only try substitution as a last resort, if we cannot fetch the input normally.
…failure-only Only try to substitute input if fetching from its original location fails
Co-authored-by: Cole Helbling <[email protected]>
…1ad-d7dd-4e3b-b398-baf8388dccfb Release v3.11.2
They're currently incompatible and it's not obvious how to fix this, so let's just disable parallel eval when the debugger is enabled.
Disable parallel eval if the debugger is enabled
In particular, this makes Ctrl-C work in case of infinite recursion.
…tible Make threads waiting on thunks interruptible
With the migration to /nix/var/nix/builds we now have failing builds when the derivation name is too long. This change removes the derivation name from the temporary build to have a predictable prefix length: Also see: NixOS/infra#764 for context. (cherry picked from commit 725a2f3) (cherry picked from commit 7c3fd50)
don't include derivation name in temporary build directories
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Not intended to be merged directly. This PR is a convenience to show the diff between upstream Nix and Determinate Nix (the
main
branch).Continuation of #4.