On 6/20/24 11:36, Manos Pitsidianakis wrote:
On Thu, 20 Jun 2024 17:01, Richard Henderson <richard.hender...@linaro.org> 
wrote:
On 6/19/24 13:13, Manos Pitsidianakis wrote:
+# FIXME: These are the latest stable versions, refine to actual minimum ones.
+msrv = {
+  'rustc': '1.79.0',
+  'cargo': '1.79.0',
+  'bindgen': '0.69.4',
+}

A note for other rust newbies:

These versions are pretty darn close to actual minima.  Ubuntu 24.04 packages rust 1.77, which does not support (but has a warning reserving syntax for)

+    println!("cargo::rerun-if-env-changed=MESON_BUILD_DIR");



rerun-if-env-changed is not new, I think, but the `cargo::` instead of `cargo:` syntax is. Is this what the warning is saying?

Source <https://doc.rust-lang.org/cargo/reference/build-scripts.html#outputs-of-the-build-script>:

  Note: The old invocation prefix cargo: (one colon only) is deprecated
  and won’t get any new features. To migrate, use two-colons prefix
  cargo::, which was added in Rust 1.77. If you were using
  cargo:KEY=VALUE for arbitrary links manifest key-value pairs, it is
  encouraged to switch to cargo::metadata=KEY=VALUE. Stick to cargo:
  only if the support of Rust version older than 1.77 is required.

But this is not in any way necessary for us, we can ignore cargo's stale build detection and force it from meson.

Yes indeed.  The exact error reported is

error: unsupported output in build script of `pl011 v0.1.0 (/home/rth/qemu/src/rust/pl011)`: `cargo::rerun-if-env-changed=MESON_BUILD_DIR`
Found a `cargo::key=value` build directive which is reserved for future use.
Either change the directive to `cargo:key=value` syntax (note the single `:`) or upgrade your version of Rust.


r~

Reply via email to