Browse Source

configure: Don't disable Rust for too old meson version

If the user explicitly specified --enable-rust, don't just fail if meson
is too old for Rust support, but do the same thing as if meson was too
old for the C code: Just download a newer one.

In order to avoid the additional download for people who aren't
intentionally opting in to Rust, keep the automatic disabling based on
the meson version as the default if neither --enable-rust nor
--disable-rust were given.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20250811142923.89983-1-kwolf@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
pull/304/head
Kevin Wolf 8 months ago
parent
commit
65677b7aad
  1. 8
      configure
  2. 4
      pythondeps.toml

8
configure

@ -1186,10 +1186,12 @@ fi
meson_version=$($meson --version)
if test "$rust" != disabled && ! version_ge "$meson_version" 1.8.1; then
if test "$rust" = enabled; then
error_exit "Rust support needs Meson 1.8.1 or newer"
$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
rust=disabled
fi
echo "Rust needs Meson 1.8.1, disabling" 2>&1
rust=disabled
fi
if test "$rust" != disabled && has "$rustc" && $rustc -vV > "${TMPDIR1}/${TMPB}.out"; then
rust_host_triple=$(sed -n 's/^host: //p' "${TMPDIR1}/${TMPB}.out")

4
pythondeps.toml

@ -22,6 +22,10 @@
meson = { accepted = ">=1.5.0", installed = "1.8.1", 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" }
[docs]
# Please keep the installed versions in sync with docs/requirements.txt
sphinx = { accepted = ">=3.4.3", installed = "6.2.1", canary = "sphinx-build" }

Loading…
Cancel
Save