forked from lix-project/lix
Merge changes If0ddec6b,Iaa63ed18 into main
* changes: Add some release notes for things we did packaging: don't build internal api docs by default in dev shells
This commit is contained in:
commit
aceef13682
12
doc/manual/rl-next/nix-copy-is-fast.md
Normal file
12
doc/manual/rl-next/nix-copy-is-fast.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
synopsis: "`nix copy` is now several times faster at `querying info about /nix/store/...`"
|
||||||
|
cls: [1462]
|
||||||
|
issues: [fj#366]
|
||||||
|
credits: [jade]
|
||||||
|
category: Fixes
|
||||||
|
---
|
||||||
|
|
||||||
|
We fixed a locking bug that serialized `querying info about /nix/store/...`
|
||||||
|
onto just one thread such that it was eating `O(paths to copy * latency)` time
|
||||||
|
while setting up to copy paths to s3 and other stores. It is now `nproc` times
|
||||||
|
faster.
|
21
doc/manual/rl-next/old-protocol-removal.md
Normal file
21
doc/manual/rl-next/old-protocol-removal.md
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
synopsis: "Lix no longer speaks the Nix remote-build worker protocol to clients or servers older than CppNix 2.3"
|
||||||
|
cls: [1207, 1208, 1206, 1205, 1204, 1203, 1479]
|
||||||
|
issues: [fj#325]
|
||||||
|
credits: [jade]
|
||||||
|
category: Breaking Changes
|
||||||
|
---
|
||||||
|
|
||||||
|
CppNix 2.3 was released in 2019, and is the new oldest supported version. We
|
||||||
|
will increase our support baseline in the future up to a final version of CppNix
|
||||||
|
2.18 (which may happen soon given that it is the only still-packaged and thus
|
||||||
|
still-tested >2.3 version), but this step already removes a significant amount
|
||||||
|
of dead, untested, code paths.
|
||||||
|
|
||||||
|
Lix speaks the same version of the protocol as CppNix 2.18 and that fact will
|
||||||
|
never change in the future; the Lix plans to replace the protocol for evolution
|
||||||
|
will entail a complete incompatible replacement that will be supported in
|
||||||
|
parallel with the old protocol. Lix will thus retain remote build compatibility
|
||||||
|
with CppNix as long as CppNix maintains protocol compatibility with 2.18, and
|
||||||
|
as long as Lix retains legacy protocol support (which will likely be a long
|
||||||
|
time given that we plan to convert it to a frozen-in-time shim).
|
10
doc/manual/rl-next/sanitizers.md
Normal file
10
doc/manual/rl-next/sanitizers.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
synopsis: "Lix now supports building with UndefinedBehaviorSanitizer"
|
||||||
|
cls: [1483]
|
||||||
|
credits: [jade]
|
||||||
|
category: Development
|
||||||
|
---
|
||||||
|
|
||||||
|
You can now build Lix with the configuration option `-Db_sanitize=undefined` and it will both work and pass tests. AddressSanitizer support is also coming soon.
|
||||||
|
|
||||||
|
For a list of undefined behaviour fixed by sanitizer usage, see [the gerrit topic "undefined-behaviour"](https://gerrit.lix.systems/q/topic:%22undefined-behaviour%22).
|
|
@ -387,7 +387,7 @@
|
||||||
nix = pkgs.callPackage ./package.nix {
|
nix = pkgs.callPackage ./package.nix {
|
||||||
inherit stdenv officialRelease versionSuffix;
|
inherit stdenv officialRelease versionSuffix;
|
||||||
busybox-sandbox-shell = pkgs.busybox-sandbox-shell or pkgs.default-busybox-sandbox;
|
busybox-sandbox-shell = pkgs.busybox-sandbox-shell or pkgs.default-busybox-sandbox;
|
||||||
internalApiDocs = true;
|
internalApiDocs = false;
|
||||||
};
|
};
|
||||||
pre-commit = self.hydraJobs.pre-commit.${pkgs.system} or { };
|
pre-commit = self.hydraJobs.pre-commit.${pkgs.system} or { };
|
||||||
in
|
in
|
||||||
|
|
|
@ -390,6 +390,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
bashInteractive,
|
bashInteractive,
|
||||||
clang-tools,
|
clang-tools,
|
||||||
clangbuildanalyzer,
|
clangbuildanalyzer,
|
||||||
|
doxygen,
|
||||||
glibcLocales,
|
glibcLocales,
|
||||||
just,
|
just,
|
||||||
llvmPackages,
|
llvmPackages,
|
||||||
|
@ -455,6 +456,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
skopeo
|
skopeo
|
||||||
just
|
just
|
||||||
nixfmt
|
nixfmt
|
||||||
|
# Included above when internalApiDocs is true, but we set that to
|
||||||
|
# false intentionally to save dev build time.
|
||||||
|
# To build them in a dev shell, you can set -Dinternal-api-docs=enabled when configuring.
|
||||||
|
doxygen
|
||||||
# Load-bearing order. Must come before clang-unwrapped below, but after clang_tools above.
|
# Load-bearing order. Must come before clang-unwrapped below, but after clang_tools above.
|
||||||
stdenv.cc
|
stdenv.cc
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in a new issue