Unverified Commit 19b96763 authored by Maximilian Bosch's avatar Maximilian Bosch
Browse files

linux: mark <6.12 with Rust as broken, assert on <6.7 with Rust

Linux 6.7 is the oldest kernel with Rust support, so the config part
should fail hard if 6.6 or older requests the Rust feature. Until now
this was silently ignored[1].

It turned out that Rust for Linux 6.11 or older fails for unknown
reasons[2]. We decided to not bother since it's not a longterm kernel
and 6.12 seems fine again. As a result, marking this as broken.

[1] https://github.com/NixOS/nixpkgs/pull/345534#discussion_r1781392312
[2] https://github.com/NixOS/nixpkgs/pull/345534#issuecomment-2391238381
parent 8536e7c5
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -34,7 +34,11 @@ let

  # Currently not enabling Rust by default, as upstream requires rustc 1.81
  defaultRust = false;
  withRust = (forceRust || defaultRust) && kernelSupportsRust;
  withRust =
    assert lib.assertMsg (!(forceRust && !kernelSupportsRust)) ''
      Kernels below 6.7 (the kernel being built is ${version}) don't support Rust.
    '';
    (forceRust || defaultRust) && kernelSupportsRust;

  options = {

+3 −0
Original line number Diff line number Diff line
@@ -396,6 +396,9 @@ let
      requiredSystemFeatures = [ "big-parallel" ];

      meta = {
        # https://github.com/NixOS/nixpkgs/pull/345534#issuecomment-2391238381
        broken = withRust && lib.versionOlder version "6.12";

        description =
          "The Linux kernel" +
          (if kernelPatches == [] then "" else