summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/rust/package.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/rust/package.py b/var/spack/repos/builtin/packages/rust/package.py
index d7ed962465..fdcbdc5c85 100644
--- a/var/spack/repos/builtin/packages/rust/package.py
+++ b/var/spack/repos/builtin/packages/rust/package.py
@@ -54,7 +54,6 @@ class Rust(Package):
variant("src", default=True, description="Include standard library source files.")
# Core dependencies
- depends_on("cmake@3.13.4:", type="build")
depends_on("curl+nghttp2")
depends_on("libgit2")
depends_on("libssh2")
@@ -64,6 +63,12 @@ class Rust(Package):
depends_on("python", type="build")
depends_on("zlib-api")
+ # cmake dependency comes from LLVM. Rust has their own fork of LLVM, with tags corresponding
+ # to each Rust release, so it's easy to loop through tags and grep for "cmake_minimum_required"
+ depends_on("cmake@3.4.3:", type="build", when="@:1.51")
+ depends_on("cmake@3.13.4:", type="build", when="@1.52:1.72")
+ depends_on("cmake@3.20.0:", type="build", when="@1.73:")
+
# Compiling Rust requires a previous version of Rust.
# The easiest way to bootstrap a Rust environment is to
# download the binary distribution of the compiler and build with that.