configure: bump Meson to 1.9.0 for use with Rust

Meson 1.9.0 provides mixed linking of Rust and C objects.  As a side effect,
this also allows adding dependencies with "sources: ..." files to Rust crates
that use structured_sources().

It can also clean up up the meson.build files for Rust noticeably, but due
to an issue with doctests (see https://github.com/mesonbuild/meson/pull/14973)
that will have to wait for 1.9.1.

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250908105005.2119297-3-pbonzini@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2025-09-08 12:49:34 +02:00
parent 614fff7c0a
commit 091f115ea5
5 changed files with 6 additions and 6 deletions

4
configure vendored
View file

@ -1184,12 +1184,12 @@ fi
# detect rust triple
meson_version=$($meson --version)
if test "$rust" != disabled && ! version_ge "$meson_version" 1.8.1; then
if test "$rust" != disabled && ! version_ge "$meson_version" 1.9.0; then
if test "$rust" = enabled; then
$mkvenv ensuregroup --dir "${source_path}/python/wheels" \
${source_path}/pythondeps.toml meson-rust || exit 1
else
echo "Rust needs Meson 1.8.1, disabling" 2>&1
echo "Rust needs Meson 1.9.0, disabling" 2>&1
rust=disabled
fi
fi

View file

@ -41,8 +41,8 @@ def main() -> int:
parser.parse_args()
packages = {
"meson==1.8.1":
"374bbf71247e629475fc10b0bd2ef66fc418c2d8f4890572f74de0f97d0d42da",
"meson==1.9.0":
"45e51ddc41e37d961582d06e78c48e0f9039011587f3495c4d6b0781dad92357",
}
vendor_dir = Path(__file__, "..", "..", "wheels").resolve()

Binary file not shown.

View file

@ -19,12 +19,12 @@
[meson]
# The install key should match the version in python/wheels/
meson = { accepted = ">=1.5.0", installed = "1.8.1", canary = "meson" }
meson = { accepted = ">=1.5.0", installed = "1.9.0", canary = "meson" }
pycotap = { accepted = ">=1.1.0", installed = "1.3.1" }
[meson-rust]
# The install key should match the version in python/wheels/
meson = { accepted = ">=1.8.1", installed = "1.8.1", canary = "meson" }
meson = { accepted = ">=1.9.0", installed = "1.9.0", canary = "meson" }
[docs]
# Please keep the installed versions in sync with docs/requirements.txt