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~