Eelco Dolstra
5d7ebaed24
Merge remote-tracking branch 'origin/2.29-maintenance' into sync-2.29
2025-05-19 16:12:55 +02: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
Eelco Dolstra
8f7ac96bbc
Merge remote-tracking branch 'origin/2.29-maintenance' into sync-2.29
2025-05-18 13:11:12 +02:00
Eelco Dolstra
136cc106e7
Restore the hash mismatch activity
2025-05-18 13:10:08 +02:00
Eelco Dolstra
f50117ba4c
Revert storeFS to use makeFSSourceAccessor()
...
Need to investigate why store->getFSAccessor() breaks a test.
2025-05-18 10:01:57 +02:00
Eelco Dolstra
1d5cce6c5c
Merge pull request #69 from DeterminateSystems/nix-profile-add-manpage
...
Install 'nix profile add' manpage
2025-05-17 21:43:44 +00:00
Eelco Dolstra
83fa99844b
Install 'nix profile add' manpage
2025-05-17 21:19:49 +02: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
Luc Perkins
162e21820d
Merge pull request #68 from DeterminateSystems/determinate-nix-action
...
Switch to determinate-nix-action
2025-05-16 21:14:34 +00:00
Luc Perkins
aa2404abd8
Switch to determinate-nix-action
2025-05-16 15:13:55 -04: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
Eelco Dolstra
2bc6c3395b
Disable cross builds
...
Mostly because they're causing an evaluation error in `nix flake
check` on macOS, and we don't need them right now for Determinate Nix.
2025-05-16 18:20:16 +02: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
Eelco Dolstra
9088d5b525
Merge remote-tracking branch 'origin/2.29-maintenance' into sync-2.29
2025-05-16 12:53:24 +02:00
Eelco Dolstra
c20642ac7b
Merge remote-tracking branch 'origin/2.29-maintenance' into detsys-main
2025-05-16 12:48:44 +02: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