Farid Zakaria
c7c74fec67
shellcheck fix functional/dependencies.sh
2025-09-24 19:11:00 -07:00
John Ericson
9f26c20ebd
Merge pull request #14057 from obsidiansystems/derived-path-json
...
Modernize and test derived path JSON
2025-09-24 18:08:06 -04:00
John Ericson
f2cd6235a7
Merge pull request #14056 from obsidiansystems/better-output-spec-json-tests
...
Convert `{Extended,}OutputsSpec` JSON tests to characterization tests
2025-09-24 17:41:25 -04:00
Sergei Zimmerman
05279f2ba0
Merge pull request #14061 from xokdvium/k-way-update
...
libexpr: Preparation for more k-way updates of attribute sets (NFC)
2025-09-25 00:29:54 +03:00
John Ericson
19fa132a8c
Merge pull request #14049 from NixOS/per-object-fs-accessor
...
Create a second `Store::getFSAccessor` for a single store object
2025-09-24 17:29:10 -04:00
John Ericson
a97d6d89d8
Create a second Store::getFSAccessor for a single store object
...
This is sometimes easier / more performant to implement, and
independently it is also a more convenient interface for many callers.
The existing store-wide `getFSAccessor` is only used for
- `nix why-depends`
- the evaluator
I hope we can get rid of it for those, too, and then we have the option
of getting rid of the store-wide method.
Co-authored-by: Sergei Zimmerman <sergei@zimmerman.foo>
2025-09-24 15:49:14 -04:00
Sergei Zimmerman
97ce7759d0
libexpr: Use same naive iterative merging but with evalForUpdate
2025-09-24 21:47:59 +03:00
Jörg Thalheim
0175f7e836
Merge pull request #14059 from xokdvium/formatting-ci
...
ci: Split formatting check into a separate job, gate other jobs
2025-09-24 13:29:22 +02:00
Jörg Thalheim
00775ad83c
Apply suggestion from @getchoo
...
Co-authored-by: Seth Flynn <getchoo@tuta.io>
2025-09-24 13:14:00 +02:00
Sergei Zimmerman
9789019a50
libexpr: Move *StackReservation constants to gc-small-vector.hh
...
There are other places where it's useful to use these constants
(notably in eval.hh).
2025-09-24 01:05:18 +03:00
Sergei Zimmerman
b7c6cf900f
libexpr: Explicitly define ExprOpUpdate
2025-09-24 01:04:26 +03:00
Sergei Zimmerman
e282175f48
libexpr: Split out MakeBinOpMembers from MakeBinOp
2025-09-24 01:04:23 +03:00
Sergei Zimmerman
35d8ffe01d
ci: Split formatting check into a separate job, gate other jobs
...
This makes the CI fail fast and more explicitly in case the formatting
is incorrect and provides a better error messages. This also ensures
that we don't burn CI on useless checks for code that wouldn't pass lints
anyway.
2025-09-24 00:34:35 +03:00
John Ericson
d23e59bb6b
Modernize and test derived path JSON
...
Old code is now just used for `nix build` --- there is no CLI breaking
change.
Test the new format, too.
The new format is not currently used, but will be used going forward,
for example in the C API.
Progress on #13570
2025-09-23 15:05:56 -04:00
Eelco Dolstra
73d3ab05b6
Merge pull request #14054 from obsidiansystems/to-json-no-copy
...
Fix `JSON_IMPL` macro to avoid extraneous copies
2025-09-23 20:58:12 +02:00
John Ericson
f24e00710e
Convert {Extended,}OutputsSpec JSON tests to characterization tests
...
This brings them in line with the other tests, and furthers my goals of
separating unit test data from code.
Doing this cleanup as part of my #13570 effort, but strictly-speaking,
this is separate as these data types' JSON never contained and store
paths or store dirs, just simple output name strings.
2025-09-23 14:47:00 -04:00
Eelco Dolstra
03440946cd
Merge pull request #14055 from obsidiansystems/rm-pointless-std-visit
...
Remove some pointless `std::visit`
2025-09-23 20:14:33 +02:00
John Ericson
1c71cb4005
Remove some pointless std::visit
...
These are not needed, because the `toJSON` methods are already
implemented for the variant wrapper too.
2025-09-23 13:59:27 -04:00
John Ericson
af71a9dbd9
Fix JSON_IMPL macro to avoid extraneous copies
...
Should take the thing we're serializing by reference.
2025-09-23 13:05:12 -04:00
John Ericson
d9de675357
Merge pull request #14027 from obsidiansystems/more-ca-tests
...
More floating content-addressing derivation tests
2025-09-22 17:09:39 -04:00
John Ericson
7ea31c6e56
Run multiple outputs and build-delete test for CA drvs also
2025-09-22 16:54:30 -04:00
Jörg Thalheim
af82c847a7
Merge pull request #14048 from roberth/shellcheck
...
Shellcheck
2025-09-22 21:57:42 +02:00
Robert Hensing
8a9d9bb0e9
pre-commit: Remove exclusion for removed file
2025-09-22 21:06:26 +02:00
Robert Hensing
4183308ee2
tests/func*/characterisation-test-infra: Fix shellcheck
2025-09-22 21:06:26 +02:00
Robert Hensing
993ea14f52
pre-commit: Remove exclude that passes
2025-09-22 21:06:26 +02:00
Robert Hensing
926287d813
tests/func*/ca/common: Fix shellcheck
2025-09-22 21:06:26 +02:00
Robert Hensing
8c31e07cce
tests/func*/ca/build-with-garbage-path: Fix shellcheck
2025-09-22 21:06:26 +02:00
John Ericson
5292b0e49e
Merge pull request #14038 from NixOS/thread-safe-dummy
...
libstore: Make writable dummy store thread-safe
2025-09-22 14:26:35 -04:00
Robert Hensing
01357d0808
Merge pull request #14012 from obsidiansystems/drv-realisation-issue-13570
...
Convert Realisation JSON logic to standard style
2025-09-22 20:25:06 +02:00
Robert Hensing
8b97d14c08
pre-commit: Give reason for ca test wrappers exclusion
2025-09-22 19:57:28 +02:00
Robert Hensing
5af644492b
nix develop: Apply shellcheck
2025-09-22 19:31:22 +02:00
Sergei Zimmerman
5915fe3190
Revert "Use shared pointers in the memory source accessor"
...
This is no longer necessary.
This reverts commit 4df60e639b .
2025-09-22 20:22:17 +03:00
Sergei Zimmerman
c4c92c4c61
libstore: Make writable dummy store thread-safe
...
Tested by building with b_sanitize=thread and running:
nix flake prefetch-inputs --store "dummy://?read-only=false"
It might make sense to move this utility class out of dummy-store.cc,
but it seems fine for now.
2025-09-22 20:22:16 +03:00
Robert Hensing
43ec36cddf
pre-commit: Remove exclude that passes
2025-09-22 19:21:06 +02:00
Robert Hensing
033f13fb1a
pre-commit: Remove exclude that passes
2025-09-22 19:19:39 +02:00
Robert Hensing
34e9caaf9b
pre-commit: Move zsh exclude
2025-09-22 19:18:52 +02:00
Robert Hensing
6195dfff3a
pre-commit: Move fish exclude
2025-09-22 19:17:58 +02:00
Sergei Zimmerman
c71f80b6eb
libstore: Implement boost::hash for StorePath
2025-09-22 20:16:11 +03:00
Robert Hensing
1878e788ce
misc/bash/completion.sh: Fix shellcheck
2025-09-22 19:15:44 +02:00
Robert Hensing
c12187b15a
pre-commit: Drop exclude config/install-sh
...
This file was part of the make-based build, which has been removed.
2025-09-22 19:12:33 +02:00
Robert Hensing
df23f2b3c1
packaging/dev-shell: Add shellcheck
...
It was already in the closure for the pre-commit hook installation
script.
2025-09-22 19:09:35 +02:00
John Ericson
91593a237f
Convert Realisation JSON logic to standard style
...
No behavior is changed, just:
- Declare a canonical `nlohmnan::json::adl_serializer`
- Use `json-utils.hh` to shorten code without getting worse error
messages.
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2025-09-22 12:59:37 -04:00
John Ericson
6389f65d63
Rework derivation format release note slightly
2025-09-22 12:59:37 -04:00
Robert Hensing
169a368459
Merge pull request #14040 from NixOS/import-thunk
...
Ensure that files are parsed/evaluated only once (2nd attempt)
2025-09-22 18:33:00 +02:00
Eelco Dolstra
a0103fc302
Merge pull request #13852 from lovesegfault/warn-no-kvm
...
feat(libstore): warn when kvm is enabled but /dev/kvm isn't available
2025-09-22 18:31:57 +02:00
Jörg Thalheim
dcaf001d52
Merge pull request #14021 from jfroche/fix/installer-shell-path
...
installer: prepend nix paths to shell config files instead of appending
2025-09-22 18:27:03 +02:00
John Ericson
74b31d10db
Merge pull request #14042 from corngood/cygwin-cross
...
fix cross build for cygwin
2025-09-22 11:55:40 -04:00
David McFarland
32d4ea8140
fix cross-build for cygwin
2025-09-22 12:27:04 -03:00
Eelco Dolstra
d32d77f4d4
Allocate ExprParseFile on the heap for now
...
https://github.com/NixOS/nix/pull/14013#issuecomment-3308085755
2025-09-22 12:06:51 +02:00
Robert Hensing
28c0089268
Merge pull request #14039 from NixOS/document-expr-methods
...
libexpr: Document {eval,maybeThunk} methods
2025-09-22 11:59:55 +02:00