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
John Ericson
0db10fc875
Merge pull request #12977 from Mic92/docs
...
Docs: fix "building" documentation w.r.t. meson
2025-05-14 17:10:29 -04:00
Jörg Thalheim
cdb332990e
doc/rl-next: add s3-sts-authentication
2025-05-14 23:05:46 +02:00
Robert Hensing
132c20872f
doc/manual: Render unreleased release notes on master
...
This renders the rl-next notes when `officialRelease = false`, which
corresponds to the case where we're not on a release branch.
Previously we had disabled this behavior because changelog-d is
somewhat of a heavy dependency, being the only Haskell package.
However, we now have new circumstances that topple the tradeoff.
- We render `master` docs to https://nix.dev/manual/nix/development/release-notes/rl-next.html
- `.#manual` is a separate build now, so `nix build nix/foo` is
not affected by the increased closure of build input outputs.
Because of these factors, I believe adding this functionality back
is more valuable, as we can use it to
- Previous release notes
- Showcase the upcoming release to the community
2025-05-14 23:03:33 +02:00
Jörg Thalheim
14b4a208c7
doc/rl-next: add fixed-s3-progress-bar
2025-05-14 23:01:46 +02:00
John Ericson
db76487f41
doc/rl-next: Add repl-and-logging
2025-05-14 16:58:57 -04:00
Jörg Thalheim
721b09a69f
doc/rl-next: add better-flake-git-errors
2025-05-14 22:57:07 +02:00
Jörg Thalheim
7f07a94b64
doc/rl-next: add repl-continuation
2025-05-14 22:49:05 +02:00
Jörg Thalheim
13dafac243
doc/rl-next: add substituter-timeout
2025-05-14 22:46:08 +02:00
Jörg Thalheim
cbdd0c1035
doc/rl-next: add nix-flake-show
2025-05-14 22:45:57 +02:00
Jörg Thalheim
39d10229e5
doc/rl-next: add github-host-attr
2025-05-14 22:45:38 +02:00
Jörg Thalheim
c12fd7b319
docs/building: fix attribute for nix-cli-ccacheStdenv
2025-05-14 22:22:01 +02:00
Jörg Thalheim
723f2c7352
docs: update cross compilation section from autotools to meson
...
fixes https://github.com/NixOS/nix/issues/12934
Update doc/manual/source/development/building.md
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Update doc/manual/source/development/building.md
Co-authored-by: John Ericson <git@JohnEricson.me>
2025-05-14 22:22:01 +02:00
Robert Hensing
af6e44b116
doc/rl-next: Add c-api
2025-05-14 22:21:01 +02:00
John Ericson
d972f9e2e2
Split out store-open.hh
and store-registration.hh
...
The existing header is a bit too big. Now the following use-cases are
separated, and get their own headers:
- Using or implementing an arbitrary store: remaining `store-api.hh`
This is closer to just being about the `Store` (and `StoreConfig`)
classes, as one would expect.
- Opening a store from a textual description: `store-open.hh`
Opening an aribtrary store implementation like this requires some sort
of store registration mechanism to exists, but the caller doesn't need
to know how it works. This just exposes the functions which use such a
mechanism, without exposing the mechanism itself
- Registering a store implementation: `store-registration.hh`
This requires understanding how the mechanism actually works, and the
mechanism in question involves templated machinery in headers we
rather not expose to things that don't need it, as it would slow down
compilation for no reason.
2025-05-14 16:07:57 -04:00
Jörg Thalheim
a70140b55a
fix various typos in docs
2025-05-14 21:29:17 +02:00
Jörg Thalheim
e088ab3eaf
Merge pull request #13154 from obsidiansystems/split-store-config
...
Stores no longer inherit from their configs
2025-05-14 21:08:40 +02:00
Jörg Thalheim
addb9f8418
Merge pull request #13180 from Jaculabilis/reload-flakes
...
nix repl: remember :load-flake calls for :reload
2025-05-14 20:35:58 +02:00
Jörg Thalheim
a714d3bb3c
Merge pull request #13184 from NixOS/doc-references
...
Document more references concepts
2025-05-14 19:33:43 +02:00
John Ericson
b287438476
Document more references concepts
2025-05-14 12:57:06 -04:00
Eelco Dolstra
893b7a5fc7
Merge pull request #13178 from xokdvium/fix-doc-hash
...
docs: Fix miscellaneous typos and formatting issues
2025-05-14 15:24:16 +02:00
Tim Van Baak
fb510a9e50
nix repl: remember :load-flake calls for :reload
...
Fixes #8753
2025-05-13 20:56:41 -07:00
Sergei Zimmerman
20a724d131
docs: Fix miscellaneous typos and formatting issues
2025-05-13 22:20:11 +00:00
John Ericson
934918ba16
Stores no longer inherit from their configs
...
Fix #10766
See that ticket for details.
Progress (I hope!) towards #11139 .
Co-Authored-By: Sergei Zimmerman <xokdvium@proton.me>
2025-05-13 15:56:35 -04:00
Jörg Thalheim
f0f196cef0
Merge pull request #13175 from xokdvium/optimise-fetchtarball
...
libutil/tarfile: Create the scratch `std::vector` only once
2025-05-13 14:21:26 +02:00
Sergei Zimmerman
7628155d2b
libutil/tarfile: Create the scratch std::vector
only once
...
I can't find a good way to benchmark in isolation from the
git cache, but common sense dictates that creating (and destroying)
a 131KiB std::vector for each regular file from the archive imposes
quite a significant overhead regardless of the IO bound git cache.
AFAICT there is no reason to keep a copy of the data since
it always gets fed into the sink and there are no coroutines/threads
in sight.
2025-05-13 10:50:46 +00:00
Jörg Thalheim
1ac4bf122b
Merge pull request #13173 from NixOS/better-truncated-tar-error
...
Improve 'cannot read file from tarball' error
2025-05-13 12:34:27 +02:00
Jörg Thalheim
542d6f3c79
Merge pull request #13174 from NixOS/test-lock-files
...
Test lock file contents more precisely
2025-05-13 12:34:06 +02:00
Sergei Zimmerman
18a5589f9a
libstore: Depend on boost_regex explicitly
2025-05-13 08:51:46 +00:00
Sergei Zimmerman
f3090ef703
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
```
2025-05-13 08:47:24 +00:00
Eelco Dolstra
824e0d51fe
Test lock file contents more precisely
2025-05-13 10:40:24 +02:00
Eelco Dolstra
bdb3f613dd
Improve 'cannot read file from tarball' error
...
It now says e.g.
error: cannot read file from tarball: Truncated tar archive detected while reading data
2025-05-13 10:32:12 +02:00
Jörg Thalheim
ed521760bc
Merge pull request #13161 from NixOS/remove-final
...
nix flake prefetch: Remove __final
2025-05-13 08:50:36 +02:00
Jörg Thalheim
0f985fea11
Merge pull request #13138 from NixOS/register-builtin-builders
...
Register builtin builders
2025-05-13 08:50:19 +02:00
Jörg Thalheim
6fdb170fb3
Merge pull request #13159 from NixOS/ignore-dir
...
Avoid unnecessarily updating old lock files with 'dir' parameters
2025-05-12 22:34:50 +02:00
Jörg Thalheim
b87b1cbc75
Merge pull request #13165 from bam80/patch-1
...
index.md: add warning for installing as root
2025-05-12 22:25:50 +02:00
Jörg Thalheim
c3745e7895
Merge pull request #13169 from NixOS/improve-build-failure-error
...
Improve build failure error messages
2025-05-12 22:25:31 +02:00
Eelco Dolstra
5a84237209
Improve build failure error messages
...
They're now laid out in a more readable way, and they shows the output
paths (if known).
2025-05-12 15:06:54 +02:00