nixpkgs-mozilla icon indicating copy to clipboard operation
nixpkgs-mozilla copied to clipboard

Fix compatibility warning with nixpkgs >= NixOS 24.11

Open FPtje opened this issue 1 year ago • 0 comments

When using nixpkgs-unstable or NixOS 24.11 (not released as of writing), using the rust overlay leads to the following deprecation warning:

evaluation warning: `rust.toRustTarget platform` is deprecated. Use `platform.rust.rustcTarget` instead.
evaluation warning: `rust.toRustTarget platform` is deprecated. Use `platform.rust.rustcTarget` instead.
evaluation warning: `rust.toRustTarget platform` is deprecated. Use `platform.rust.rustcTarget` instead.
evaluation warning: `rust.toRustTarget platform` is deprecated. Use `platform.rust.rustcTarget` instead.
evaluation warning: `rust.toRustTarget platform` is deprecated. Use `platform.rust.rustcTarget` instead.
evaluation warning: `rust.toRustTarget platform` is deprecated. Use `platform.rust.rustcTarget` instead.

Note that in my case, the warning is indeed repeated six times.

The reason why this happens can be seen in this particular release note:

  • The rust.toTargetArch, rust.toTargetOs, rust.toTargetFamily, rust.toTargetVendor, rust.toRustTarget, rust.toRustTargetSpec, rust.toRustTargetSpecShort, and rust.IsNoStdTarget functions are deprecated in favour of the rust.platform.arch, rust.platform.os, rust.platform.target-family, rust.platform.vendor, rust.rustcTarget, rust.rustcTargetSpec, rust.cargoShortTarget, rust.cargoEnvVarTarget, and rust.isNoStdTarget platform attributes respectively.

https://github.com/NixOS/nixpkgs/blob/7881fbfd2e3ed1dfa315fca889b2cfd94be39337/nixos/doc/manual/release-notes/rl-2411.section.md#L293

Since this repo only ever calls rust.toRustTarget, that is the only thing that needs migrating.

Note that the toRustTargetCompat should make sure that the overlay keeps working, even if one is running an older version of Nixpkgs. This seems useful for users of the overlay, as otherwise just updating nixpkgs-mozilla without updating nixpkgs would cause a rather complex evaluation error.

FPtje avatar Oct 18 '24 14:10 FPtje