Robert Hensing
6a74590063
Merge pull request #13388 from NaN-git/opt-string_view
...
libexpr: further removal of `std::string` copies
2025-06-23 09:05:28 +02:00
John Ericson
b9b510d692
Merge pull request #13383 from xokdvium/meson-format-multiline
...
Restore multiline formatting of lists in meson files
2025-06-20 18:19:03 -04:00
Sergei Zimmerman
a4dcce36c9
Merge pull request #13382 from synalice/patch-3
...
Update docs
2025-06-20 23:18:11 +03:00
Sergei Zimmerman
6ef683cb2a
Restore multiline formatting of lists in meson files
...
Applies a workaround to enforce multiline formatting
of lists to reduce code churn introduced in 93a42a5971
.
2025-06-20 23:12:36 +03:00
Nikita Krasnov
785f3867fd
Update docs
2025-06-20 21:19:13 +03:00
Robert Hensing
42ea2724a8
Merge pull request #13353 from lucperkins/messages-present-tense
...
Rework future tense in user-facing messages
2025-06-20 10:43:03 +02:00
Luc Perkins
3132aba8e4
Fix broken test
2025-06-19 15:23:10 -07:00
Luc Perkins
9c120596ec
Merge remote-tracking branch 'upstream/master' into messages-present-tense
2025-06-19 10:51:50 -07:00
Jörg Thalheim
aa1629ca35
Merge pull request #13378 from NixOS/improve-rosetta-hint
...
Improve the Rosetta installation hint
2025-06-19 16:38:10 +02:00
Jörg Thalheim
a8a5537109
Merge pull request #13376 from NixOS/use-magic-nix-cache
...
Revert "Drop magic-nix-cache"
2025-06-19 14:10:55 +02:00
Eelco Dolstra
20ba6be749
Improve the Rosetta installation hint
...
The Nix daemon detects supported system types at start time, so it
needs to be restarted to detect x86_64-darwin support.
2025-06-19 13:58:51 +02:00
John Ericson
d254c840b5
Merge pull request #13349 from obsidiansystems/structured-attrs-json
...
Introduce top-level `structuredAttrs` field in JSON derivation format
2025-06-18 16:35:42 -04:00
Eelco Dolstra
9b57573bae
Revert "Drop magic-nix-cache"
...
This reverts commit 9cc8be2674
since
magic-nix-cache works again (thanks @jchv).
2025-06-18 18:06:24 +02:00
Eelco Dolstra
fc47178d0d
Merge pull request #13372 from synalice/patch-1
...
Fix broken link
2025-06-18 17:54:04 +02:00
Eelco Dolstra
197484ce1f
Merge pull request #13373 from synalice/patch-2
...
Fix typo
2025-06-18 17:52:38 +02:00
Luc Perkins
d6710b4c04
Merge remote-tracking branch 'upstream/master' into messages-present-tense
2025-06-18 08:24:23 -07:00
Luc Perkins
d2a25fbe51
Fix Nix formatting changes
2025-06-18 08:23:37 -07:00
Eelco Dolstra
cd97c545d9
Merge pull request #13371 from vcunat/p/jq-1.8.0_master
...
tests: fixup with jq-1.8.0
2025-06-18 17:17:24 +02:00
Nikita Krasnov
86dda9884a
Fix typo
2025-06-18 12:46:53 +03:00
Nikita Krasnov
da76bc0cac
Fix broken link
2025-06-18 12:40:07 +03:00
Vladimír Čunát
77f6b6532f
tests: fixup with jq-1.8.0
2025-06-18 10:11:50 +02:00
Eelco Dolstra
bb32fcdf30
Merge pull request #13368 from wolfgangwalther/race-state-creation
...
libstore: fix race condition when creating state directories
2025-06-17 11:33:29 +02:00
Wolfgang Walther
d64c922164
libstore: fix race condition when creating state directories
...
Running parallel nix in nix can lead to multiple instances trying to
create the state directories and failing on the `createSymlink` step,
because the link already exists.
`replaceSymlink` is already idempotent, so let's use that.
Resolves #2706
2025-06-17 08:45:29 +02:00
John Ericson
cdb417854b
Merge pull request #13366 from drupol/push-smvorxlvxusx
...
docker: add basics OpenContainers labels
2025-06-16 18:11:53 -04:00
tomberek
af01fea5d6
Merge pull request #12623 from xokdvium/ord-safe-sort
...
Switch builtins.sort to a custom stable PeekSort
2025-06-16 05:11:23 -04:00
Pol Dellaiera
bb44347fac
docker: expose config.Cmd
as parameter
2025-06-16 08:16:39 +02:00
Pol Dellaiera
18dc96269d
docker: add basics OpenContainers labels
2025-06-16 08:16:39 +02:00
Philipp Otterbein
c1aaa970c7
libexpr: further removal of std::string copies
2025-06-15 21:56:45 +02:00
Sergei Zimmerman
f9170a84f6
tests/functional/lang: Add sort stability test for lists langer than 16 elements
...
libstdc++'s std::stable_sort and new builtins.sort implementation
special-case ranges with length less than or equal to 16 and delegate
to insertionsort.
Having a larger e2e test would allow catching sort stability issues
at functional level as well.
2025-06-15 16:52:08 +00:00
Sergei Zimmerman
ddcfc81ff1
libexpr: Document requirements for comparator passed to builtins.sort
2025-06-15 16:52:05 +00:00
Sergei Zimmerman
351d898c43
libexpr: Switch builtins.sort primop to use peeksort
...
This prevents C++ level undefined behavior from affecting
the evaluator. Stdlib implementation details should not affect
eval, regardless of the build platform. Even erroneous usage
of `builtins.sort` should not make it possible to crash the
evaluator or produce results that depend on the host platform.
2025-06-15 16:52:03 +00:00
Sergei Zimmerman
b2596a7615
libutil: Add custom PeekSort implementation
...
Unlike std::sort and std::stable_sort, this implementation
does not lead to out-of-bounds memory reads or other undefined
behavior when the predicate is not strict weak ordering.
This makes it possible to use this function in libexpr for
builtins.sort, where an incorrectly implemented comparator
in the user nix code currently can crash and burn the evaluator
by invoking C++ UB.
2025-06-15 16:52:01 +00:00
Jörg Thalheim
e73fcd008a
Merge pull request #13364 from drupol/push-qspryqrvmpkt
...
docker: remove last use of `pkgs.`
2025-06-15 06:09:52 +02:00
Pol Dellaiera
e27a062783
docker: remove last use of pkgs.
...
Follow-up of https://github.com/NixOS/nix/pull/13354
2025-06-14 10:38:20 +02:00
Jörg Thalheim
46853c467d
Merge pull request #13361 from jayeshv/patch-1
...
Fix a minor typo
2025-06-14 02:01:05 +02:00
jayeshv
699db04df3
Fix a minor typo
2025-06-13 12:28:27 +02:00
Jörg Thalheim
a1fe09d2c8
Merge pull request #13350 from xokdvium/meson-format
...
flake: Add meson formatter
2025-06-13 11:37:32 +02:00
Jörg Thalheim
84743c84c0
Merge pull request #13351 from drupol/push-rrzylpqynznw
...
docker: make sure `nix config check` works
2025-06-13 07:41:27 +02:00
Jörg Thalheim
82397e220d
Merge branch 'master' into push-rrzylpqynznw
2025-06-13 07:06:11 +02:00
Jörg Thalheim
918ac6b2fc
Merge pull request #13354 from drupol/push-sopslzmmlqxu
...
docker: use `callPackage`, parametrise the image build
2025-06-13 07:03:23 +02:00
Jörg Thalheim
d12e42489a
Merge pull request #13360 from xokdvium/duplicate-list-elems-overload
...
libexpr: Remove non-const overload of `listElems`
2025-06-13 07:03:03 +02:00
John Ericson
f8c1ac9515
Introduce top-level structuredAttrs
field in JSON derivation format
...
Makes the behavoral change of #13263 without the underlying refactor.
Hopefully this clearly safe from a perf and GC perspective, and will
make it easier to benchmark #13263 .
2025-06-12 20:45:47 -04:00
Sergei Zimmerman
7b46eb9958
libexpr: Remove non-const overload of listElems
...
This overload isn't actually necessary anywhere and
doesn't make much sense. The pointers to `Value`s are
themselves const, but the `Value`s are mutable.
A non-const member function implies that the object itself
can be modified but this doesn't make much sense considering
the return type: `Value * const * `, which is a pointer
to a constant array of pointers to mutable values.
2025-06-12 22:29:05 +00:00
Robert Hensing
c437e27abc
Merge pull request #13357 from xokdvium/more-getters
...
libexpr: Use more `Value` getters instead of reading `payload` directly (NFC)
2025-06-12 23:03:20 +02:00
Sergei Zimmerman
bc6b52aff0
libexpr: Add and use pathAccessor
getter
2025-06-12 20:01:38 +00:00
Sergei Zimmerman
e4df189123
libexpr: Add and use pathStr
getter
2025-06-12 19:57:46 +00:00
Sergei Zimmerman
c041d71406
libexpr: Add and use app
getter
2025-06-12 19:53:44 +00:00
Sergei Zimmerman
f07a9f863e
libexpr: Add and use primOpApp
getter
2025-06-12 19:51:44 +00:00
Sergei Zimmerman
441fa86e82
libexpr: Add and use thunk
getter
2025-06-12 19:48:42 +00:00
Sergei Zimmerman
6587e7bcff
libexpr: Add and use lambda
getter
2025-06-12 19:42:50 +00:00