···2626 boehmgc,
2727 boost,
2828 brotli,
2929+ busybox,
2930 busybox-sandbox-shell,
3031 bzip2,
3132 callPackage,
···140141 # python3.withPackages does not splice properly, see https://github.com/NixOS/nixpkgs/issues/305858
141142 (buildPackages.python3.withPackages (
142143 p:
143143- [
144144- p.python-frontmatter
145145- p.toml
146146- ]
144144+ [ p.python-frontmatter ]
145145+ ++ lib.optionals (lib.versionOlder version "2.94") [ p.toml ]
147146 ++ lib.optionals finalAttrs.doInstallCheck [
148147 p.aiohttp
149148 p.pytest
···203202 ]
204203 ++ lib.optionals hasExternalLixDoc [ lix-doc ]
205204 ++ lib.optionals (!isLegacyParser) [ pegtl ]
205205+ ++ lib.optionals (lib.versionOlder version "2.94") [ libsodium ]
206206 # NOTE(Raito): I'd have expected that the LLVM packaging would inject the
207207 # libunwind library path directly in the wrappers, but it does inject
208208 # -lunwind without injecting the library path...
···286286 ]
287287 ++ lib.optionals stdenv.hostPlatform.isLinux [
288288 (lib.mesonOption "sandbox-shell" "${busybox-sandbox-shell}/bin/busybox")
289289- ];
289289+ ]
290290+ ++
291291+ lib.optionals
292292+ (stdenv.hostPlatform.isLinux && finalAttrs.doInstallCheck && lib.versionAtLeast version "2.94")
293293+ [
294294+ (lib.mesonOption "build-test-shell" "${busybox}/bin")
295295+ ];
290296291297 ninjaFlags = [ "-v" ];
292298
+10-3
pkgs/tools/package-management/lix/default.nix
···166166 attrName = "git";
167167168168 lix-args = rec {
169169- version = "2.94.0-pre-20250807_${builtins.substring 0 12 src.rev}";
169169+ version = "2.94.0-pre-20250912_${builtins.substring 0 12 src.rev}";
170170171171 src = fetchFromGitea {
172172 domain = "git.lix.systems";
173173 owner = "lix-project";
174174 repo = "lix";
175175- rev = "8bbd5e1d0df9c31b4d86ba07bc85beb952e42ccb";
176176- hash = "sha256-P+WiN95OjCqHhfygglS/VOFTSj7qNdL5XQDo2wxhQqg=";
175175+ rev = "d90e4a65812c6d3dd90aed7e44941eba3215f876";
176176+ hash = "sha256-rbf0ptj4BTSwsitKQu3FuaiJwhNDePGBeBJovm5HLdQ=";
177177 };
178178+179179+ patches = [
180180+ # Bumping to toml11 ≥4.0.0 makes integer parsing throw (as it should) instead of saturate on overflow.
181181+ # However, the updated version is not in nixpkgs yet, and the released versions still have the saturation bug.
182182+ # Hence reverting the bump for now seems to be the least bad option.
183183+ ./revert-toml11-bump.patch
184184+ ];
178185179186 cargoDeps = rustPlatform.fetchCargoVendor {
180187 name = "lix-${version}";