Age | Commit message (Collapse) | Author |
|
|
|
These man pages said they were in section 7, even though we were
installing them to section 1 (which is the right place for them).
|
|
Miscellaneous improvements for positioning in eval-errors
|
|
|
|
https://github.com/matthewbauer/nix
|
|
Make `nix shell` fallback to static outputs when needed
|
|
This function doesn't support all compression methods (i.e. 'none' and
'br') so it shouldn't be exposed.
Also restore the original decompress() as a wrapper around
makeDecompressionSink().
|
|
|
|
Fix typo in flake doc
|
|
The S3 store relies on the ability to be able to decompress things with
an empty method, because it just passes the value of the Content-Encoding
directly to decompress.
If the file is not compressed, then this will cause the compression
routine to get confused.
This caused NixOS/nixpkgs#120120.
|
|
|
|
This makes Nix look up paths derivations when they are passed as a
store paths. So:
$ nix path-info --derivation /nix/store/0pisd259nldh8yfjvw663mspm60cn5v8-hello-2.10
now gives
/nix/store/qp724w90516n4bk5r9gfb37vzmqdh3z7-hello-2.10.drv
instead of "".
If no deriver is available, Nix now errors instead of silently
ignoring that argument.
|
|
In case of pure input-addressed derivations, the build loop doesn't
guaranty that the realisations are stored in the db (if the output paths
are already there or can be substituted, the realisations won't be
registered). This caused `nix shell` to fail in some cases because it
was assuming that the realisations were always existing.
A better (but more involved) fix would probably to ensure that we always
register the realisations, but in the meantime this patches the surface
issue.
Fix #4721
|
|
This has been broken since faa31f40846f7a4dbc2487d000b112a6aef69d1b.
|
|
Include sys/wait.h everywhere WIFEXITED etc is used
|
|
libcmd/installables: force re-evaluation of cached failures
|
|
This is required on NetBSD, and I think FreeBSD too.
|
|
I think that it's not very helpful to get "cached failures" in a wrong
`flake.nix`. This can be very confusing when debugging a Nix expression.
See for instance NixOS/nixpkgs#118115.
In fact, the eval cache allows a forced reevaluation which is used for
e.g. `nix eval`.
This change makes sure that this is the case for `nix build` as well. So
rather than
λ ma27 [~/Projects/exp] → ../nix/outputs/out/bin/nix build -L --rebuild --experimental-features 'nix-command flakes'
error: cached failure of attribute 'defaultPackage.x86_64-linux'
the evaluation of already-evaluated (and failed) attributes looks like
this now:
λ ma27 [~/Projects/exp] → ../nix/outputs/out/bin/nix build -L --rebuild --experimental-features 'nix-command flakes'
error: attribute 'hell' missing
at /nix/store/mrnvi9ss8zn5wj6gpn4bcd68vbh42mfh-source/flake.nix:6:35:
5|
6| packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hell;
| ^
7|
(use '--show-trace' to show detailed location information)
|
|
|
|
Optimize canonPath to resolve relative symlinks in one pass
|
|
|
|
|
|
|
|
|
|
EvalSettings::getDefaultNixPath: respect {restrict,pure}Eval
|
|
Fix registerDrvOutput with the daemon
|
|
|
|
if attr-set pos == noPos
|
|
This now takes care of providing positioning for both the faulting value
and the faulting function call in case of an error.
|
|
When working on some more complex Nix code, there are sometimes rather
unhelpful or misleading error messages, especially if coerce-errors are
thrown.
This patch is a first steps towards improving that. I'm happy to file
more changes after that, but I'd like to gather some feedback first.
To summarize, this patch does the following things:
* Attrsets (a.k.a. `Bindings` in `libexpr`) now have a `Pos`. This is
helpful e.g. to identify which attribute-set in `listToAttrs` is
invalid.
* The `Value`-struct has a new method named `determinePos` which tries
to guess the position of a value and falls back to a default if that's
not possible.
This can be used to provide better messages if a coercion fails.
* The new `determinePos`-API is used by `builtins.concatMap` now. With
that change, Nix shows the exact position in the error where a wrong
value was returned by the lambda.
To make sure it's still obvious that `concatMap` is the problem,
another stack-frame was added.
* The changes described above can be added to every other `primop`, but
first I'd like to get some feedback about the overall approach.
|
|
* The position of the `name`-attribute appears in the trace.
* If e.g. `meta` has no `outPath`-attribute, a `cannot coerce set to
string` error will be thrown where `pos` points to `name =` which is
highly misleading.
|
|
add tests for zstd compression
|
|
Resolve a protocol issue that caused the daemon to endlessly wait for
some information that the client doesn't ever send
|
|
Otherwise Nix may look to invalid locations for channels.
|
|
NixOS/dependabot/github_actions/cachix/cachix-action-v10
Bump cachix/cachix-action from v9 to v10
|
|
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from v9 to v10.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v9...73e75d1a0cd4330597a571e8f9dedb41faa2fc4e)
Signed-off-by: dependabot[bot] <support@github.com>
|
|
|
|
This reverts commit fc6bfb261d50102016ed812ecf9949d41fe539f7.
Fixes #4672.
|
|
Fixes #4673.
|
|
|
|
If there were many top-level goals (which are not destroyed until the
very end), commands like
$ nix copy --to 'ssh://localhost?remote-store=/tmp/nix' \
/run/current-system --no-check-sigs --substitute-on-destination
could fail with "Too many open files". So now we do some explicit
cleanup from amDone(). It would be cleaner to separate goals from
their temporary internal state, but that would be a bigger refactor.
|
|
This reverts commit 5926200db09ca4d0c5769edf24a3cf2e9f472d23.
|
|
This reverts commit 4145cd2da002e1bd8affa0392c80118eabe58e3c.
|
|
Use `DerivedPath` for `buildPaths` and `ensurePath`
|
|
|
|
|
|
This allows us to namespace its constructors under it.
|
|
|
|
This makes for better types errors and allows us to give it methods.
|
|
|