John Ericson
0d7b16da4d
Split realisation protocol unit tests
...
This will allow us to more accurately test dropping support for
dependent realisations, by separating the tests that should not change
from the tests that should.
I do that change in PR #14247 , but even if for some reasons we don't end
up doing this soon, I think it is still good to separate the test data
this way so we have the option of doing that at some point.
2025-11-03 15:43:38 -05:00
John Ericson
f63bb5b338
Merge pull request #14427 from obsidiansystems/drv-output-better-schema
...
Better JSON schema for derivation outputs
2025-11-03 18:23:29 +00:00
John Ericson
7c85ac23e2
Merge pull request #14444 from NixOS/less-c_str
...
Use less `c_str()` in the evaluator, and other cleanups
2025-11-03 17:56:22 +00:00
John Ericson
0539b58253
Merge pull request #14246 from obsidiansystems/dummy-store-derivations-separately
...
Make Dummy store store derivations separately
2025-11-03 17:29:28 +00:00
Eelco Dolstra
beace42e7a
Merge pull request #14458 from NixOS/thread-pool-move
...
ThreadPool::enqueue(): Use move semantics
2025-11-03 17:27:14 +00:00
Eelco Dolstra
4a0ccc89d9
ThreadPool::enqueue(): Use move semantics
...
This avoids a superfluous copy of the work item.
2025-11-03 17:39:18 +01:00
Sergei Zimmerman
89fa8c09a9
Merge pull request #14450 from roberth/update
...
flake: Update, nixos-25.05-small -> nixos-25.05
2025-11-03 16:19:58 +00:00
Eelco Dolstra
5e025ce940
Merge pull request #14456 from NixOS/remove-infoAttrs
...
getAccessorFromCommit(): Remove superfluous infoAttrs variable
2025-11-03 13:33:58 +00:00
Eelco Dolstra
2f6c865e25
getAccessorFromCommit(): Remove superfluous infoAttrs variable
2025-11-03 13:23:09 +01:00
John Ericson
bd42092873
Use less c_str() in the evaluator, and other cleanups
...
It is better to avoid null termination for performance and memory
safety, wherever possible.
These are good cleanups extracted from the Pascal String work that we
can land by themselves first, shrinking the diff in that PR.
Co-Authored-By: Aspen Smith <root@gws.fyi>
Co-Authored-By: Sergei Zimmerman <sergei@zimmerman.foo>
2025-11-03 15:14:50 +03:00
Robert Hensing
81a2809a52
Apply updated nixfmt
2025-11-03 12:01:55 +01:00
John Ericson
2d83bc6b83
Merge pull request #14446 from mjoerg/fix-docs
...
fix documentation issues
2025-11-02 16:59:33 +00:00
Sergei Zimmerman
e0debd61d5
Merge pull request #14449 from roberth/error-resolution-failed
...
Improve "resolution failed" error
2025-11-02 15:00:56 +00:00
Robert Hensing
233bd250d1
flake: Update, nixos-25.05-small -> nixos-25.05
...
Flake lock file updates:
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/d98ce345cdab58477ca61855540999c86577d19d?narHash=sha256-O2CIn7HjZwEGqBrwu9EU76zlmA5dbmna7jL1XUmAId8%3D' (2025-08-26)
→ 'github:NixOS/nixpkgs/daf6dc47aa4b44791372d6139ab7b25269184d55?narHash=sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8%2BON/0Yy8%2Ba5vsDU%3D' (2025-10-27)
2025-11-02 14:10:36 +01:00
Robert Hensing
4ea32d0b03
Improve "resolution failed" error
...
Previously:
error: Cannot build '/nix/store/cqc798lwy2njwbdzgd0319z4r19j2d1w-nix-manual-2.33.0pre20251101_e4e4063.drv'.
Reason: 1 dependency failed.
Output paths:
/nix/store/f1kln1c6z9r7rlhj0h9shcpch7j5g1fj-nix-manual-2.33.0pre20251101_e4e4063-man
/nix/store/k65203rx5g1kcagpcz3c3a09bghcj92a-nix-manual-2.33.0pre20251101_e4e4063
error: Cannot build '/nix/store/ajk2fb6r7ijn2fc5c3h85n6zdi36xlfl-nixops-manual.drv'.
Reason: 1 dependency failed.
Output paths:
/nix/store/0anr0998as8ry4hr5g3f3iarszx5aisx-nixops-manual
error: resolution failed
Now:
error: Cannot build '/nix/store/cqc798lwy2njwbdzgd0319z4r19j2d1w-nix-manual-2.33.0pre20251101_e4e4063.drv'.
Reason: 1 dependency failed.
Output paths:
/nix/store/f1kln1c6z9r7rlhj0h9shcpch7j5g1fj-nix-manual-2.33.0pre20251101_e4e4063-man
/nix/store/k65203rx5g1kcagpcz3c3a09bghcj92a-nix-manual-2.33.0pre20251101_e4e4063
error: Cannot build '/nix/store/ajk2fb6r7ijn2fc5c3h85n6zdi36xlfl-nixops-manual.drv'.
Reason: 1 dependency failed.
Output paths:
/nix/store/0anr0998as8ry4hr5g3f3iarszx5aisx-nixops-manual
error: Build failed due to failed dependency
2025-11-02 14:03:27 +01:00
Martin Joerg
892eba4944
fix documentation issues
2025-11-02 09:17:40 +00:00
Sergei Zimmerman
e4e4063f16
Merge pull request #14443 from NixOS/inline-unreused-lambda
...
Inline only-used-once closures in `ExprConcatStrings::eval`
2025-11-01 21:55:03 +00:00
Aspen Smith
b67c2f1572
Inline only-used-once closures in ExprConcatStrings::eval
...
Refactor `ExprConcatStrings::eval` by inlining two only-called-once
closures into the call-site, so that the code is easier to reason about
locally (especially since the variables that were closed over were
mutated all over the place within this function).
Also use curly braces with each branch for consistency in the the
resulting code.
This is a pure refactor, but also arguably causes us to depend less on
the optimizer; now, we don't have to make sure that this closure is
inlined.
2025-11-01 16:35:54 -04:00
John Ericson
ca9fde1b88
In EvalState::concatLists, local variable s -> strings
...
It deserves a better name.
Co-Authored-By: Aspen Smith <root@gws.fyi>
2025-11-01 13:41:50 -04:00
John Ericson
0ba1aa34dc
Merge pull request #14440 from lovesegfault/cleanup-aws-sdk
...
chore(libstore/package): remove lingering aws-sdk-cpp
2025-11-01 15:08:21 +00:00
John Ericson
6fa7510055
Merge pull request #14439 from NixOS/no-buffer-overflows
...
libexpr: Do not overflow heap buffer when there are too many formal a…
2025-11-01 14:48:11 +00:00
Bernardo Meurer Costa
8151afb345
chore(libstore/package): remove lingering aws-sdk-cpp
...
This was left behind during the great s3 refactoring of 2025
2025-11-01 14:42:07 +00:00
Sergei Zimmerman
134613e885
libexpr: Do not overflow heap buffer when there are too many formal arguments
...
3a3c062982 introduced a buffer overflow for the
case when there are more than 65535 formal arguments. It is a perfectly reasonable
limitation, but we *must* not crash, corrupt memory or otherwise crash the process.
Add a test for the graceful behavior and switch to using an explicit uninitialized_copy_n
to further guard against buffer overflows.
2025-11-01 12:53:53 +03:00
John Ericson
9d1907fff7
Merge pull request #14434 from NixOS/improve-ipv6-zoneid-backcompat
...
libstore: Improve store-reference back-compat with IPv6 ZoneId literals
2025-10-31 23:10:40 +00:00
John Ericson
c29411ada9
Merge pull request #14431 from NixOS/git-url-fixes
...
libfetchers: Restore plain git inputs recognition
2025-10-31 22:28:14 +00:00
Sergei Zimmerman
8dbc2475f7
libstore: Improve store-reference back-compat with IPv6 ZoneId literals
...
This restores the pre-2.31 handling of ZoneID identifiers in store references.
It's the only place we reasonably care about this back-compat.
2025-11-01 00:36:15 +03:00
John Ericson
9e79e83cb5
Merge pull request #14384 from Radvendii/exprlambda-alloc
...
libexpr: store ExprLambda data in Expr::alloc
2025-10-31 21:12:30 +00:00
John Ericson
937a6df809
Merge pull request #14432 from NixOS/meson-darwin-soname
...
meson: Also split version string at '+' for Darwin
2025-10-31 21:03:47 +00:00
Sergei Zimmerman
1ca6e9ef54
meson: Also split version string at '+' for Darwin
2025-10-31 23:12:54 +03:00
Sergei Zimmerman
ade3d5d746
libfetchers: Restore plain git inputs recognition
...
Accidentally broken in dbc235cc62 .
Adds a bit of tests for this, even though this protocol is mostly deprecated
everywhere.
2025-10-31 22:42:43 +03:00
John Ericson
d035d8ba8d
Merge pull request #14428 from obsidiansystems/path-info-parse-json-cleanup
...
Clean up `PathInfo::fromJSON` using recent JSON utils changes
2025-10-31 19:27:09 +00:00
Taeer Bar-Yam
67be2df174
remove unnecessary constructor argument
2025-10-31 16:54:59 +01:00
Taeer Bar-Yam
34f780d747
safer interface for ExprLambda's formals
2025-10-31 16:54:59 +01:00
Taeer Bar-Yam
e43888890f
restore proper handling of no formals vs. 0 formals
...
e.g. (foo@{}: 1) { a = 3; } should error, but wasn't with the previous
commit
2025-10-31 16:54:59 +01:00
Taeer Bar-Yam
4a80c92a4d
add test for no formals case
2025-10-31 16:54:59 +01:00
Taeer Bar-Yam
3a3c062982
libexpr: store ExprLambda data in Expr::alloc
2025-10-31 16:54:59 +01:00
John Ericson
4a2fb18ba0
Merge pull request #14137 from lovesegfault/nix-debug-14130
...
fix(libstore/build/derivation-goal): don't assert on partially valid outputs
2025-10-31 02:45:50 +00:00
Bernardo Meurer Costa
9eecee3d4e
fix(libstore/build/derivation-goal): don't assert on partially valid outputs
...
Fixes : #14130
2025-10-31 01:58:02 +00:00
John Ericson
089a222111
Clean up PathInfo::fromJSON using recent JSON utils changes
...
`optionalValueAt` and then `optionalValueAt` avoids looking up twice.
2025-10-30 18:38:27 -04:00
John Ericson
c2609df08c
Better JSON schema for derivation outputs
...
It now uses a `oneOf` and properly models each type of output
(corresponding to each type of derivation) separately.
2025-10-30 17:05:00 -04:00
John Ericson
37c1ef52e6
Merge pull request #14412 from NixOS/recursive-lambdas
...
Cleanup: Use C++23 "this auto" for recursive lambdas
2025-10-30 20:41:52 +00:00
Sergei Zimmerman
e776a10db3
Merge pull request #14356 from lovesegfault/s3-upload
...
refactor(libstore/s3-binary-cache-store): implement `upload()`
2025-10-30 20:19:59 +00:00
Eelco Dolstra
1507843f6c
Cleanup: Use C++23 "explicit this" for recursive lambdas
...
Try to pass by reference where possible.
Co-authored-by: Sergei Zimmerman <sergei@zimmerman.foo>
2025-10-30 15:56:06 -04:00
Bernardo Meurer Costa
e636888a09
refactor(libstore/s3-binary-cache-store): implement upload()
...
Stop delegating to `HttpBinaryCacheStore::upsertFile` and instead
handle compression in the S3 store's `upsertFile` override, then call
our own `upload()` method. This separation is necessary for future
multipart upload support.
2025-10-30 19:01:05 +00:00
Eelco Dolstra
3b2186e1c8
Merge pull request #14397 from fzakaria/fzakaria/issue-14315
...
Move docker documentation to docker.io
2025-10-30 17:38:22 +00:00
John Ericson
7e2d2db8ef
Merge pull request #14399 from obsidiansystems/json-schema-path-info
...
Convert store path info JSON docs to formal JSON Schema, and test
2025-10-30 17:35:20 +00:00
Eelco Dolstra
2cc53201eb
Merge pull request #14418 from lovesegfault/fix-curl-interrupt
...
fix(libstore/filetransfer): prevent double callback invocation on interrupt during retry
2025-10-30 17:12:15 +00:00
Eelco Dolstra
720f693627
Merge pull request #14416 from lovesegfault/fix-lexer-warn
...
fix(libexpr/lexer): fix flex warning about default rule
2025-10-30 17:11:23 +00:00
John Ericson
49084a7e9e
Merge pull request #14421 from lovesegfault/http-upload
...
refactor(libstore): add `HttpBinaryCacheStore::upload` method
2025-10-30 15:11:58 +00:00
tomberek
6d87184a52
Merge pull request #14363 from cootshk/patch-1
...
fix(libstore): Rewrite hard linking message to be more clear
2025-10-30 09:23:00 +00:00