John Ericson
e731c43eae
Use std::variant to enforce BuildResult invariants
...
There is now a clean separation between successful and failing build
results.
2025-09-27 15:56:06 -04:00
John Ericson
43550e8edb
Lock down BuildResult::Status enum values
...
This allows refactoring without changing wire protocol by mistake.
2025-09-27 15:15:20 -04:00
John Ericson
3c610df550
Delete scratch data for CA derivation that produced already-extant output
...
In the case where the store object doesn't exist, we do correctly move
(rather than copy) the scratch data into place. In this case, the
destination store object already exists, but we still want to clean up
after ourselves.
2025-09-27 15:14:33 -04:00
John Ericson
3bf1268ac6
Merge pull request #14096 from Mic92/concurrency-bugs-2
...
document thread-unsafe mutation in PosixSourceAccessor
2025-09-27 11:18:56 -04:00
Sergei Zimmerman
b9571b6e52
Merge pull request #13508 from CertainLach/push-oyyysvytlnpr
...
fix: wait on incomplete assignment in REPL
2025-09-27 10:43:41 +00:00
Yaroslav Bolyukin
0a3eb22360
fix: wait on incomplete assignment in REPL
...
Fixes: https://github.com/NixOS/nix/issues/13507
2025-09-27 13:25:27 +03:00
Jörg Thalheim
866c9179a0
document thread-unsafe mutation in PosixSourceAccessor
2025-09-26 23:31:56 +02:00
Jörg Thalheim
7817239644
Merge pull request #14092 from rszyma/fix-devshell-attrpath-in-docs
...
doc: Fix invalid devshell attrpath
2025-09-26 21:01:02 +02:00
Jörg Thalheim
6721ef5feb
Merge branch 'master' into fix-fetch-to-store-caching
2025-09-26 20:44:39 +02:00
Jörg Thalheim
be92b18add
Merge pull request #14083 from fzakaria/fzakaria/shellcheck-multiple-2
...
shellcheck fixes
2025-09-26 20:42:43 +02:00
rszyma
7bd67cd8dc
doc: Fix invalid devshell attrpath
...
`native-clangStdenvPackages` devshell attrpath was being mentioned in
development docs, but doesn't work anymore (since 69fde530 ).
2025-09-26 19:49:36 +02:00
Jörg Thalheim
b5f765b7eb
Merge pull request #14047 from Radvendii/eval-memory
...
libexpr: move eval memory allocation to own struct
2025-09-26 19:24:30 +02:00
Farid Zakaria
2a6724299a
shellcheck fix: tests/functional/flakes/follow-paths.sh
2025-09-26 08:41:30 -07:00
Farid Zakaria
6fc8f04ecb
shellcheck fix: tests/functional/flakes/flakes.sh
2025-09-26 08:41:30 -07:00
Farid Zakaria
ac5615dd91
shellcheck fix: tests/functional/flakes/config.sh
2025-09-26 08:41:30 -07:00
Farid Zakaria
26a10453c3
shellcheck fix: tests/functional/flakes/check.sh
2025-09-26 08:41:30 -07:00
Farid Zakaria
9bf8e7b730
shellcheck fix: tests/functional/flakes/absolute-paths.sh
2025-09-26 08:41:30 -07:00
Farid Zakaria
8839bab84d
shellcheck fix: completion files
2025-09-26 08:41:30 -07:00
Farid Zakaria
f8e351cd94
shellcheck fix: tests/functional/fixed
2025-09-26 08:41:30 -07:00
Farid Zakaria
4cec876319
shellcheck fix: tests/functional/fetchMercurial.sh
2025-09-26 08:41:30 -07:00
Farid Zakaria
c4c3524318
shellcheck fix: tests/functional/fetchGitVerification.sh
2025-09-26 08:41:29 -07:00
Tristan Ross
bb6a4dccdf
libutil-c: add nix_set_verbosity function
2025-09-26 08:31:23 -07:00
Eelco Dolstra
8aa4669328
Merge pull request #14086 from getchoo-contrib/getchoo/help-pure-eval
...
nix-cli: use pure/restricted eval for help pages
2025-09-26 11:32:14 +02:00
Seth Flynn
ff82de86da
nix-cli: use pure/restricted eval for help pages
...
This avoids any complications that can arise from the environment
affecting evaluation of the help pages (which don't need to be calling
out to anything external anyways)
A recent example of one of these problems is
https://github.com/NixOS/nix/issues/14085 , which would break help pages
by causing them to make invalid calls to the dummy store they're
evaluated with
Fixes: https://github.com/NixOS/nix/issues/14062
Co-authored-by: Sergei Zimmerman <sergei@zimmerman.foo>
2025-09-26 02:05:58 -04:00
Taeer Bar-Yam
7b3c193bd3
libexpr: move eval memory allocation to own struct
...
Co-authored-by: eldritch horrors <pennae@lix.systems>
Co-authored-by: Sergei Zimmerman <sergei@zimmerman.foo>
See original commit on lix:
f5754dc90a
2025-09-26 00:40:43 +03:00
Farid Zakaria
53ad2433b4
shellcheck fix: tests/functional/fetchGitSubmodules.sh
2025-09-25 13:09:36 -07:00
Farid Zakaria
ea035ae165
shellcheck fix: tests/tests/functional/dump-db.sh
2025-09-25 13:07:41 -07:00
John Ericson
89141f1d67
Merge pull request #14082 from fzakaria/fzakaria/shellcheck-multiple
...
shellcheck: multiple file fixes
2025-09-25 15:59:43 -04:00
Farid Zakaria
1619409bf2
shellcheck fix: tests/functional/fetchGitRefs.sh
2025-09-25 12:45:43 -07:00
Farid Zakaria
32e1b5209b
shellcheck fix: tests/functional/fetchGit.sh
2025-09-25 12:45:43 -07:00
Farid Zakaria
d07dd92db3
shellcheck fix: tests/functional/fetchClosure.sh
2025-09-25 12:45:43 -07:00
Farid Zakaria
230da1cbe7
shellcheck fix: tests/functional/export.sh
2025-09-25 12:45:40 -07:00
Tristan Ross
cf595b81d5
libmain-c: add nix_set_log_format function
2025-09-25 10:57:48 -07:00
Farid Zakaria
9e3c502521
shellcheck fix: tests/functional/extra-sandbox-profile.sh
2025-09-25 10:35:26 -07:00
Farid Zakaria
a209748ec0
shellcheck fix: tests/functional/export-graph.sh
2025-09-25 10:35:01 -07:00
Farid Zakaria
b8c24cdaef
shellcheck fix: tests/functional/eval-store.sh
2025-09-25 10:33:40 -07:00
Jörg Thalheim
e3d62f35ea
Merge pull request #14075 from fzakaria/fzakaria/shellcheck-functional-dump-db
...
shellcheck fix functional/dump-db.sh
2025-09-25 19:31:49 +02:00
Farid Zakaria
dc69e2e520
shellcheck fix: tests/functional/dyn-drv/recursive-mod-json.sh
2025-09-25 10:31:06 -07:00
Farid Zakaria
119489f253
shellcheck fix: tests/functional/dyn-drv/old-daemon-error-hack.sh
2025-09-25 10:30:03 -07:00
Farid Zakaria
412e51215f
shellcheck fix: functional/dyn-drv/eval-outputOf.sh
2025-09-25 10:29:27 -07:00
Eelco Dolstra
4b9735b761
Test against uncacheable paths
...
This is to test the non-functional property that most paths should be
cacheable. We've had frequent cases where caching broken but we didn't
notice.
2025-09-25 11:30:11 -04:00
Eelco Dolstra
1d130492d7
Mount inputs on storeFS to restore fetchToStore() caching
...
fetchToStore() caching was broken because it uses the fingerprint of
the accessor, but now that the accessor (typically storeFS) is a
composite (like MountedSourceAccessor or AllowListSourceAccessor),
there was no fingerprint anymore. So fetchToStore now uses the new
getFingerprint() method to get the specific fingerprint for the
subpath.
2025-09-25 11:30:11 -04:00
Eelco Dolstra
ec6d5c7de3
Path fetcher: Simplify fingerprint computation
2025-09-25 11:21:14 -04:00
Eelco Dolstra
3450a72ba0
Git fetcher: Make dirty repos with no commits cacheable
2025-09-25 11:20:00 -04:00
Eelco Dolstra
28d11c5bcc
Add SourceAccessor::getFingerprint()
...
This returns the fingerprint for a specific subpath. This is intended
for "composite" accessors like MountedSourceAccessor, where different
subdirectories can have different fingerprints.
2025-09-25 11:20:00 -04:00
Eelco Dolstra
55c7ef9d40
SourceAccessor: Make lstat() virtual
...
With FilteringSourceAccessor, lstat() needs to throw a different
exception if the path is inaccessible than if it doesn't exist.
2025-09-25 11:20:00 -04:00
John Ericson
46095284f1
Merge pull request #14080 from NixOS/storeFS-prep
...
Some `storeFS` and similar cleanup
2025-09-25 10:50:25 -04:00
Jörg Thalheim
099a74e9f4
Merge pull request #14041 from getchoo-contrib/getchoo/cache-substituted-inputs
...
libfetchers: avoid re-copying substituted inputs
2025-09-25 13:27:02 +02:00
Seth Flynn
74305d5260
libfetchers: avoid re-copying substituted inputs
...
Previously, Nix would not create a cache entry for substituted/cached
inputs
This led to severe slowdowns in some scenarios where a large input (like
Nixpkgs) had already been unpacked to the store but didn't exist in a
users cache, as described in https://github.com/NixOS/nix/issues/11228
Using the same method as https://github.com/NixOS/nix/pull/12911 , we can
create a cache entry for the fingerprint of substituted/cached inputs
and avoid this problem entirely
2025-09-25 04:04:57 -04:00
Jörg Thalheim
534b29068a
Merge pull request #14071 from fzakaria/fzakaria/shellcheck-functional-db-migration
...
shellcheck fix functional/db-migration.sh
2025-09-25 09:44:09 +02:00