Eelco Dolstra
0cd1fce3c3
Merge pull request #13230 from NixOS/mergify/bp/2.29-maintenance/pr-13228
...
libutil-tests/json-utils: fix -Werror=sign-compare error (backport #13228 )
2025-05-19 16:46:37 +02:00
Jörg Thalheim
90eb2f759c
libutil-tests/json-utils: fix -Werror=sign-compare error
...
I am on a newer different nixpkgs branch, so I am getting this error
(cherry picked from commit 1290b7e53d
)
2025-05-19 14:16:43 +00:00
Jörg Thalheim
d1e4be6fb4
Merge pull request #13227 from NixOS/mergify/bp/2.29-maintenance/pr-13142
...
libstore: Use `boost::regex` for GC root discovery (backport #13142 )
2025-05-18 22:26:54 +02:00
Sergei Zimmerman
29d98da636
libstore: Depend on boost_regex explicitly
...
(cherry picked from commit 18a5589f9a
)
2025-05-18 19:46:17 +00:00
Sergei Zimmerman
91dc6e7fa0
packaging/dependencies: Use boost without enableIcu
...
This reduces the closure size on master by 40MiB.
```
$ nix build github:nixos/nix/1e822bd4149a8bce1da81ee2ad9404986b07914c#nix-store --out-link closure-on-master
$ nix build .#nix-store -L --out-link closure-without-icu
$ nix path-info --closure-size -h ./closure-on-master
/nix/store/8gwr38m5h6p7245ji9jv28a2a11w1isx-nix-store-2.29.0pre 124.4 MiB
$ nix path-info --closure-size -h ./closure-without-icu
/nix/store/k0gwfykjqpnmaqbwh23nk55lhanc9g24-nix-store-2.29.0pre 86.6 MiB
```
(cherry picked from commit f3090ef703
)
2025-05-18 19:46:17 +00:00
Sergei Zimmerman
b33fd1e4fb
libstore: Use boost::regex
for GC root discovery
...
As it turns out using `std::regex` is actually the bottleneck
for root discovery. Just substituting `std::` -> `boost::`
makes root discovery twice as fast (3x if counting only userspace time).
Some rather ad-hoc measurements to motivate the switch:
(On master)
```
nix build github:nixos/nix/1e822bd4149a8bce1da81ee2ad9404986b07914c#nix-cli --out-link result-1e822bd4149a8bce1da81ee2ad9404986b07914c
taskset -c 2,3 hyperfine "result-1e822bd4149a8bce1da81ee2ad9404986b07914c/bin/nix store gc --dry-run --max 0"
Benchmark 1: result-1e822bd4149a8bce1da81ee2ad9404986b07914c/bin/nix store gc --dry-run --max 0
Time (mean ± σ): 481.6 ms ± 3.9 ms [User: 336.2 ms, System: 142.0 ms]
Range (min … max): 474.6 ms … 487.7 ms 10 runs
```
(After this patch)
```
taskset -c 2,3 hyperfine "result/bin/nix store gc --dry-run --max 0"
Benchmark 1: result/bin/nix store gc --dry-run --max 0
Time (mean ± σ): 254.7 ms ± 9.7 ms [User: 111.1 ms, System: 141.3 ms]
Range (min … max): 246.5 ms … 281.3 ms 10 runs
```
`boost::regex` is a drop-in replacement for `std::regex`, but much faster.
Doing a simple before/after comparison doesn't surface any change in behavior:
```
result/bin/nix store gc --dry-run -vvvvv --max 0 |& grep "got additional" | wc -l
result-1e822bd4149a8bce1da81ee2ad9404986b07914c/bin/nix store gc --dry-run -vvvvv --max 0 |& grep "got additional" | wc -l
```
(cherry picked from commit 3a1301cd6d
)
2025-05-18 19:46:16 +00:00
mergify[bot]
1c618a9d87
Merge pull request #13222 from NixOS/mergify/bp/2.29-maintenance/pr-13221
...
doc: Render verbatim `@docroot@` on contributing page (backport #13221 )
2025-05-17 18:00:31 +00:00
Robert Hensing
ab2abebfc3
doc: Render verbatim @docroot@ on contributing page
...
In rendered form:
```diff
-Add references to the manual using ..
+Add references to the manual using [links like this](@docroot@/example.md)
```
(cherry picked from commit 147a34c573
)
2025-05-17 17:19:51 +00:00
John Ericson
0f132fc129
Merge pull request #13218 from NixOS/mergify/bp/2.29-maintenance/pr-13212
...
docs: remove repeated "allowedReferences" and other lexical illusion (backport #13212 )
2025-05-16 12:36:46 -04:00
Peder Bergebakken Sundt
6fc6db3496
docs: remove lexical illusions detected with write-good
...
I made this this non-markdown aware tool somewhat behave with some cursed fd+pandoc invocations
(cherry picked from commit ea5302c4a2
)
2025-05-16 15:56:26 +00:00
Peder Bergebakken Sundt
ca0bde3578
docs: remove repeated "allowedReferences"
...
This is what write-good lints as a "lexical illusion"
(cherry picked from commit cb16cd707c
)
2025-05-16 15:56:26 +00:00
mergify[bot]
f51b537239
Merge pull request #13210 from NixOS/mergify/bp/2.29-maintenance/pr-13207
...
dev-shell: Drop bear dependency (backport #13207 )
2025-05-15 22:32:16 +00:00
Sergei Zimmerman
2b7e3e9b81
dev-shell: Drop bear dependency
...
Since the autotools-based build system has been removed
and meson already generates compile database there's no
need to have it in the devshell.
(cherry picked from commit 67535263a5
)
2025-05-15 21:49:21 +00:00
Jörg Thalheim
fee8454dd0
Merge pull request #13205 from NixOS/mergify/bp/2.29-maintenance/pr-13202
...
Fix nix-copy-closure VM test (backport #13202 )
2025-05-15 18:34:32 +02:00
Eelco Dolstra
dc238ba102
Fix nix-copy-closure VM test
...
https://hydra.nixos.org/build/297112538
(cherry picked from commit d626348f42
)
2025-05-15 15:51:43 +00:00
mergify[bot]
fa7a5ab07a
Merge pull request #13201 from NixOS/mergify/bp/2.29-maintenance/pr-13197
...
Update Nixpkgs to fix static builds (backport #13197 )
2025-05-15 11:48:30 +00:00
Eelco Dolstra
27932ae6da
Merge pull request #13199 from NixOS/mergify/bp/2.29-maintenance/pr-13196
...
rename StoreDirConfigItself to StoreDirConfigBase (backport #13196 )
2025-05-15 12:44:09 +02:00
Eelco Dolstra
631d23788e
Merge pull request #13198 from NixOS/mergify/bp/2.29-maintenance/pr-13195
...
Remove otherNixes.nix_2_18 (backport #13195 )
2025-05-15 12:24:24 +02:00
Eelco Dolstra
4f03bfebd9
flake.lock: Update
...
Flake lock file updates:
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/f02fddb8acef29a8b32f10a335d44828d7825b78?narHash=sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds%2Bhc%3D' (2025-05-01)
→ 'github:NixOS/nixpkgs/adaa24fbf46737f3f1b5497bf64bae750f82942e?narHash=sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY%3D' (2025-05-13)
(cherry picked from commit 3ba49d7ec2
)
2025-05-15 10:21:25 +00:00
Jörg Thalheim
7f488dc7d3
rename StoreDirConfigItself to StoreDirConfigBase
...
context: https://github.com/NixOS/nix/pull/13154#discussion_r2081904653
(cherry picked from commit 2dd2142754
)
2025-05-15 10:04:22 +00:00
Eelco Dolstra
1b2e88effd
Remove otherNixes.nix_2_18
...
Nixpkgs no longer has Nix 2.18, so this fails to evaluate.
(cherry picked from commit bc85e20fb9
)
2025-05-15 09:44:21 +00:00
John Ericson
4dcf21a2f6
Merge branch 'master' into 2.29-maintenance
2025-05-14 19:59:35 -04:00
John Ericson
45726dcc55
Merge pull request #13189 from NixOS/rl-next
...
Add release notes
2025-05-14 19:58:59 -04:00
John Ericson
f70796309d
Merge pull request #13193 from xokdvium/lru-cache
...
libutil: Less unnecessary copying in `LRUCache`
2025-05-14 19:29:53 -04:00
John Ericson
ff24751bdd
Mark official release
2025-05-14 19:29:50 -04:00
John Ericson
1b22f0252d
Merge pull request #13192 from NixOS/store-open-reg-header
...
Factor out `resolveStoreConfig`
2025-05-14 19:20:05 -04:00
John Ericson
6e9350d53f
Add little blurb at the top of 2.29 release notes
2025-05-14 19:05:27 -04:00
John Ericson
29e78faa59
Slightly sort 2.29 release notes
2025-05-14 18:46:35 -04:00
John Ericson
646f3064a3
Cache more contributors
2025-05-14 18:44:39 -04:00
John Ericson
d5e7359155
release notes: 2.29.0
2025-05-14 18:43:53 -04:00
John Ericson
d7481b4b63
Factor out resolveStoreConfig
...
Leverage #10766 to show how we can now resolve a store configuration
without actually opening the store for that resolved configuration.
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2025-05-14 18:30:25 -04:00
Robert Hensing
12b7132209
Merge pull request #13188 from NixOS/store-open-reg-header
...
Split out `store-open.hh` and `store-registration.hh`
2025-05-15 00:21:32 +02:00
John Ericson
18894c934f
Merge remote-tracking branch 'upstream/master' into rl-next
2025-05-14 18:14:55 -04:00
Sergei Zimmerman
d955b401a7
libutil: Sprinkle some noexcept on LRUCache::{size,clear}
...
The underlying containers are already noexcept to destroy and dtors are
noexcept in general.
2025-05-14 22:14:46 +00:00
John Ericson
8557f08327
Merge pull request #13190 from roberth/render-upcoming-notes
...
Render upcoming notes
2025-05-14 18:14:23 -04:00
Robert Hensing
2df638fd38
doc/rl-next: Edit
2025-05-15 00:12:42 +02:00
John Ericson
b7b1ca9a3f
doc/rl-next: Add repl-reload-flakes
2025-05-14 18:11:51 -04:00
Sergei Zimmerman
2f2e04142e
libutil: Simplify LRUCache::get by using list splice
...
Splicing the list element to the back can be done in
a much simpler and concise way without the need for
erasing and re-inserting the element. Doing it this
way is equivalent to just moving node pointers around,
whereas inserting/erasing allocates/deallocates new nodes.
2025-05-14 22:05:53 +00:00
John Ericson
e056cdc2a9
doc/rl-next: Add eval-cache-errors
2025-05-14 18:03:31 -04:00
John Ericson
3bc6bf3659
doc/rl-next: add osc-8-xterm-style-fix
2025-05-14 17:56:32 -04:00
Jörg Thalheim
bc774d4365
doc/rl-next: retry-on-http-429
2025-05-14 23:51:19 +02:00
Robert Hensing
bfecd13e9b
doc/rl-next; add pretty-json
2025-05-14 23:43:27 +02:00
Sergei Zimmerman
cd61e922ff
libutil: Use heterogeneous lookup for LRUCache
...
This gets rid of some ugly std::string_view -> std::string
conversions, which are an eye-sore and lead to extra copying.
2025-05-14 21:42:35 +00:00
John Ericson
44ca04b944
doc/rl-next: nix-formatter
2025-05-14 17:41:50 -04:00
Jörg Thalheim
c3684efa95
doc/rl-next: faster-blake3
2025-05-14 23:29:49 +02:00
Jörg Thalheim
121f7ca5fd
doc/rl-next: add duplicate-copy
2025-05-14 23:24:35 +02:00
Sergei Zimmerman
90d70aa4c9
libutil: Format lru-cache.hh
...
Rip off the band-aid for further refactors. The diff is
very small, so it makes to get it out of the way first.
2025-05-14 21:23:13 +00:00
John Ericson
eca100eb7d
Revert "doc/rl-next: add better-flake-git-errors"
...
This was already released on 2.28.0
This reverts commit 721b09a69f
.
2025-05-14 17:22:24 -04:00
John Ericson
1d23d883ad
Revert "doc/rl-next: Add repl-and-logging"
...
It is already released on 2.28.0
This reverts commit db76487f41
.
2025-05-14 17:20:37 -04:00
Jörg Thalheim
5ca242018d
doc/rl-next: add multiple-signatures
2025-05-14 23:16:59 +02:00