Eelco Dolstra
0c0dda3b29
Devirtualize double-copied paths
...
Borrowed from the original lazy-trees branch.
2025-04-15 17:44:56 +02:00
John Ericson
f19184191e
Test derivation options with content-addressing too
...
Now, both the unit and functional tests relating to derivation options
are tested both ways -- with input addressing and content-addressing
derivations.
(cherry picked from commit 307dbe9914 )
2025-04-15 11:25:07 -04:00
Eelco Dolstra
5ecbf6b9dc
Merge pull request #13029 from NixOS/mergify/bp/2.28-maintenance/pr-13026
...
Fix issue #13018 , `sourceInfo` strict in `outputs` (backport #13026 )
2025-04-15 14:24:59 +02:00
Robert Hensing
818fc68db6
fix: Evaluate flake parent source without evaluating its outputs
...
This requires that we refer to the `sourceInfo` instead of the
`result`. However, `sourceInfo` does not create a chain of basedir
resolution, so we add that back with `flakeDir`.
(cherry picked from commit 2109a5a206 )
2025-04-15 11:52:46 +00:00
Robert Hensing
671364748c
call-flake.nix: allNodes.${key} -> allNodes.${key}.result
...
(cherry picked from commit 9de9410f29 )
2025-04-15 11:52:45 +00:00
Robert Hensing
9a969e29cf
call-flake.nix: refactor: Bring mapAttrs into scope
...
(cherry picked from commit 674375b021 )
2025-04-15 11:52:45 +00:00
Jörg Thalheim
99a16c5203
Merge pull request #13026 from roberth/issue-13018
...
CI / eval (push) Waiting to run
CI / tests ${{ matrix.scenario }} (darwin, macos-14, on macos) (push) Waiting to run
CI / tests ${{ matrix.scenario }} (linux, ubuntu-24.04, on ubuntu) (push) Waiting to run
CI / installer test ${{ matrix.scenario }} (darwin, macos-14, on macos) (push) Blocked by required conditions
CI / installer test ${{ matrix.scenario }} (linux, ubuntu-24.04, on ubuntu) (push) Blocked by required conditions
CI / Check Docker secrets present for installer tests (push) Waiting to run
CI / docker_push_image (push) Blocked by required conditions
CI / vm_tests (push) Waiting to run
CI / flake_regressions (push) Blocked by required conditions
Fix issue #13018 , `sourceInfo` strict in `outputs`
2025-04-15 13:51:02 +02:00
Jörg Thalheim
22c928f9c0
Merge pull request #12992 from DeterminateSystems/input-cache
...
Rename FlakeCache to InputCache and move it to libfetchers
2025-04-15 13:32:39 +02:00
Robert Hensing
2109a5a206
fix: Evaluate flake parent source without evaluating its outputs
...
This requires that we refer to the `sourceInfo` instead of the
`result`. However, `sourceInfo` does not create a chain of basedir
resolution, so we add that back with `flakeDir`.
2025-04-15 13:22:53 +02:00
Robert Hensing
9de9410f29
call-flake.nix: allNodes.${key} -> allNodes.${key}.result
2025-04-15 13:22:53 +02:00
Robert Hensing
674375b021
call-flake.nix: refactor: Bring mapAttrs into scope
2025-04-15 13:22:53 +02:00
Philipp Otterbein
a603401cdd
libstore: curl retry: reset content-encoding and don't use string after move
...
(cherry picked from commit b129fc8237 )
2025-04-15 11:22:25 +00:00
John Ericson
d8be4f618f
Scrap ParsedDerivation for parts
...
Only a much smaller `StructuredAttrs` remains, the rest is is now moved
to `DerivationOptions`.
This gets us quite close to `std::optional<StructuredAttrs>` and
`DerivationOptions` being included in `Derivation` as fields.
2025-04-14 16:14:41 -04:00
John Ericson
1e31b60043
Limit ParsedDerivation just to the derivation's environment
...
This moves us towards getting rid of `ParsedDerivation` and just having
`DerivationOptions`.
Co-Authored-By: HaeNoe <git@haenoe.party>
2025-04-14 15:46:55 -04:00
John Ericson
d285b80033
Move exportReferencesGraph to DerivationOptions
...
Tests are updated accordingly.
2025-04-14 14:24:36 -04:00
John Ericson
307dbe9914
Test derivation options with content-addressing too
...
Now, both the unit and functional tests relating to derivation options
are tested both ways -- with input addressing and content-addressing
derivations.
2025-04-14 13:43:46 -04:00
Eelco Dolstra
e099a5bc67
Move the InputCache to EvalState
2025-04-14 15:02:24 +02:00
Eelco Dolstra
4966217b6a
Move the InputCache to EvalState
2025-04-14 14:29:14 +02:00
mergify[bot]
b1fe93fab7
Merge pull request #13015 from obsidiansystems/derivation-options
...
`ParsedDerivation`: don't take `drvPath`
2025-04-14 11:14:34 +00:00
Jörg Thalheim
3f3fd2c94b
Merge pull request #12976 from picnoir/pic/multisign
...
store URI: introduce multiple signatures support
2025-04-14 11:20:41 +02:00
Picnoir
7ea536fe84
Narinfo sign: multiple signatures variant
...
This is a small optimization used when we're signing a narinfo for
multiple keys in one go. Using this sign variant, we only compute the
NAR fingerprint once, then sign it with all the keys.
2025-04-14 10:30:47 +02:00
John Ericson
0123640009
ParsedDerivation: don't take drvPath
...
It is just use for adding context to errors, but we have `addTrace` to
do that. Let the callers do that instead.
The callers doing so is a bit duplicated, yes, but this will get better
once `DerivationOptions` is included in `Derivation`.
2025-04-13 18:21:13 -04:00
Philipp Otterbein
56d37656ac
libexpr: fix UB in builtins.ceil and builtins.floor
...
tighten and fix specification of both builtins
2025-04-13 04:36:09 +02:00
Jörg Thalheim
71567373b6
Merge pull request #13008 from Mic92/aliases
...
Move alias support from NixArgs to MultiCommand + test
2025-04-12 11:06:09 +02:00
Philipp Otterbein
61bb405839
add isInterrupted() call and replace some checkInterrupt() occurrences
...
(cherry picked from commit 49f757c24a )
2025-04-11 22:15:12 +00:00
Philipp Otterbein
c53bd8905b
libstore: same progress bar behavior for PUT and POST requests
...
- no differentiation between uploads and downloads in CLI
(cherry picked from commit db297d3dda )
2025-04-11 22:15:12 +00:00
Philipp Otterbein
beab9eb978
libstore S3: fix progress bar and make file transfers interruptible
...
(cherry picked from commit 9da01e69f9 )
2025-04-11 22:15:11 +00:00
Dean De Leo
51073607ea
S3: opt-in the STSProfileCredentialsProvider
...
The STSProfileCredentialsProviders allows to assume a specific IAM role
when accessing an S3 repository. Sometimes this is needed to obtain the
permissions to operate on the bucket.
2025-04-11 23:47:56 +02:00
Philipp Otterbein
49f757c24a
add isInterrupted() call and replace some checkInterrupt() occurrences
2025-04-11 22:48:10 +02:00
Philipp Otterbein
db297d3dda
libstore: same progress bar behavior for PUT and POST requests
...
- no differentiation between uploads and downloads in CLI
2025-04-11 22:48:10 +02:00
Philipp Otterbein
9da01e69f9
libstore S3: fix progress bar and make file transfers interruptible
2025-04-11 22:48:10 +02:00
Eelco Dolstra
6cd2b4e169
Move alias support from NixArgs to MultiCommand
...
This allows subcommands to declare aliases, e.g. `nix store ping` is
now a proper alias of `nix store info`.
2025-04-10 19:48:55 +02:00
Eelco Dolstra
497fe6dd31
Make nix profile install an alias of nix profile add
2025-04-10 18:48:23 +02:00
Eelco Dolstra
666aa20da8
Move alias support from NixArgs to MultiCommand
...
This allows subcommands to declare aliases, e.g. `nix store ping` is
now a proper alias of `nix store info`.
2025-04-10 18:48:23 +02:00
Eelco Dolstra
62565ce7ce
Remove unused variable
2025-04-10 13:10:20 +02:00
Eelco Dolstra
e3042f10af
Move getAccessorCached() to InputCache
2025-04-10 10:24:15 +02:00
Eelco Dolstra
012453d1e6
Move the input cache into libfetchers
2025-04-10 10:24:15 +02:00
Eelco Dolstra
c7f8147282
Rename FlakeCache -> InputCache and key it on Inputs instead of FlakeRefs
2025-04-10 10:24:15 +02:00
Eelco Dolstra
3f3cc6f438
Merge pull request #12991 from Mic92/cgroup
...
linux/cgroup: delete double quote in error message
2025-04-10 10:11:24 +02:00
Jörg Thalheim
b3f80283a6
linux/cgroup: delete double quote in error message
2025-04-10 09:31:48 +02:00
Eelco Dolstra
9d3595646d
nix shell: Resolve symlinks in storeFS
...
`storeFS` is the `MountedSourceAccessor` that wraps `store->getFSAccessor()`.
2025-04-09 17:34:19 -04:00
John Ericson
eb643d034f
Store::getFSAccessor: Do not include the store dir
...
Rather than "mounting" the store inside an empty virtual filesystem,
just return the store as a virtual filesystem. This is more modular.
(FWIW, it also supports two long term hopes of mind:
1. More capability-based Nix language mode. I dream of a "super pure
eval" where you can only use relative path literals (See #8738 ), and
any `fetchTree`-fetched stuff + the store are all disjoint (none is
mounted in another) file systems.
2. Windows, where the store dir may include drive letters, etc., and is
thus unsuitable to be the prefix of any `CanonPath`s.
)
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2025-04-09 17:34:18 -04:00
Eelco Dolstra
dd15c8a20d
Move getAccessorCached() to InputCache
...
Also, make fetchTree use InputCache.
2025-04-09 23:06:03 +02:00
John Ericson
f9c262c3d5
Fix another machine config parsing bug
...
We were ignorning the result of `trim`, and after my last change we were
also trimmming too early.
(cherry picked from commit b74b0f4e1c )
2025-04-09 20:13:30 +00:00
Eelco Dolstra
3bbf917707
Move the input cache into libfetchers
2025-04-09 22:13:28 +02:00
Eelco Dolstra
0cb06d7eda
Rename FlakeCache -> InputCache and key it on Inputs instead of FlakeRefs
2025-04-09 21:38:08 +02:00
John Ericson
b74b0f4e1c
Fix another machine config parsing bug
...
We were ignorning the result of `trim`, and after my last change we were
also trimmming too early.
2025-04-09 15:33:09 -04:00
Eelco Dolstra
f45db85887
Actually ignore system/user registries during locking
...
Something went wrong in #12068 so this didn't work. Also added a test.
2025-04-09 21:04:42 +02:00
John Ericson
2892b758b3
Fix ; and # bug in machine file parsing
...
Comments go to the end of the line, not merely the next ; *or* \n. Fix
by splitting on `;` *within* lines, and test.
(cherry picked from commit f8b13cce19 )
2025-04-09 18:27:16 +00:00
Jörg Thalheim
d45067177e
Merge pull request #12984 from obsidiansystems/fix-machine-commment-semicolon
...
Fix `;` and `#` bug in machine file parsing
2025-04-09 20:26:03 +02:00