[packages/rust] - patch to disable miri build by default (nightly only tool, not meant for stable)
qboosh
qboosh at pld-linux.org
Sun Oct 4 08:12:14 CEST 2020
commit 91aaab500bbdd31bb966a87a655a6b86bceedf38
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Oct 4 08:15:15 2020 +0200
- patch to disable miri build by default (nightly only tool, not meant for stable)
rust-no-miri.patch | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)
---
diff --git a/rust-no-miri.patch b/rust-no-miri.patch
new file mode 100644
index 0000000..3e3619c
--- /dev/null
+++ b/rust-no-miri.patch
@@ -0,0 +1,91 @@
+From 416b010f4087d055febe2d55919f74e261ca8cd6 Mon Sep 17 00:00:00 2001
+From: Ralf Jung <post at ralfj.de>
+Date: Thu, 11 Jun 2020 09:25:06 +0200
+Subject: [PATCH] x.py: do not build Miri by default
+
+---
+ src/bootstrap/builder.rs | 2 ++
+ src/bootstrap/tool.rs | 30 ++++++++++++++++++------------
+ 2 files changed, 20 insertions(+), 12 deletions(-)
+
+diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
+index ffdd8485181f4..c4f29927cf4a8 100644
+--- a/src/bootstrap/builder.rs
++++ b/src/bootstrap/builder.rs
+@@ -52,6 +52,8 @@ pub trait Step: 'static + Clone + Debug + PartialEq + Eq + Hash {
+ /// it's been assembled.
+ type Output: Clone;
+
++ /// Whether this step is run by default as part of its respective phase.
++ /// `true` here can still be overwritten by `should_run` calling `default_condition`.
+ const DEFAULT: bool = false;
+
+ /// If true, then this rule should be skipped if --target was specified, but --host was not
+diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
+index 6cd9f9029c948..9c95de0a81eae 100644
+--- a/src/bootstrap/tool.rs
++++ b/src/bootstrap/tool.rs
+@@ -595,6 +595,7 @@ macro_rules! tool_extended {
+ $toolstate:ident,
+ $path:expr,
+ $tool_name:expr,
++ stable = $stable:expr,
+ $extra_deps:block;)+) => {
+ $(
+ #[derive(Debug, Clone, Hash, PartialEq, Eq)]
+@@ -606,17 +607,22 @@ macro_rules! tool_extended {
+
+ impl Step for $name {
+ type Output = Option<PathBuf>;
+- const DEFAULT: bool = true;
++ const DEFAULT: bool = true; // Overwritten below
+ const ONLY_HOSTS: bool = true;
+
+ fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
+ let builder = run.builder;
+ run.path($path).default_condition(
+ builder.config.extended
+- && builder.config.tools.as_ref().map_or(true, |tools| {
+- tools.iter().any(|tool| match tool.as_ref() {
+- "clippy" => $tool_name == "clippy-driver",
+- x => $tool_name == x,
++ && builder.config.tools.as_ref().map_or(
++ // By default, on nightly/dev enable all tools, else only
++ // build stable tools.
++ $stable || builder.build.unstable_features(),
++ // If `tools` is set, search list for this tool.
++ |tools| {
++ tools.iter().any(|tool| match tool.as_ref() {
++ "clippy" => $tool_name == "clippy-driver",
++ x => $tool_name == x,
+ })
+ }),
+ )
+@@ -652,12 +658,12 @@ macro_rules! tool_extended {
+ // Note: tools need to be also added to `Builder::get_step_descriptions` in `build.rs`
+ // to make `./x.py build <tool>` work.
+ tool_extended!((self, builder),
+- Cargofmt, rustfmt, "src/tools/rustfmt", "cargo-fmt", {};
+- CargoClippy, clippy, "src/tools/clippy", "cargo-clippy", {};
+- Clippy, clippy, "src/tools/clippy", "clippy-driver", {};
+- Miri, miri, "src/tools/miri", "miri", {};
+- CargoMiri, miri, "src/tools/miri/cargo-miri", "cargo-miri", {};
+- Rls, rls, "src/tools/rls", "rls", {
++ Cargofmt, rustfmt, "src/tools/rustfmt", "cargo-fmt", stable=true, {};
++ CargoClippy, clippy, "src/tools/clippy", "cargo-clippy", stable=true, {};
++ Clippy, clippy, "src/tools/clippy", "clippy-driver", stable=true, {};
++ Miri, miri, "src/tools/miri", "miri", stable=false, {};
++ CargoMiri, miri, "src/tools/miri/cargo-miri", "cargo-miri", stable=false, {};
++ Rls, rls, "src/tools/rls", "rls", stable=true, {
+ builder.ensure(Clippy {
+ compiler: self.compiler,
+ target: self.target,
+@@ -665,7 +671,7 @@ tool_extended!((self, builder),
+ });
+ self.extra_features.push("clippy".to_owned());
+ };
+- Rustfmt, rustfmt, "src/tools/rustfmt", "rustfmt", {};
++ Rustfmt, rustfmt, "src/tools/rustfmt", "rustfmt", stable=true, {};
+ );
+
+ impl<'a> Builder<'a> {
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/rust.git/commitdiff/91aaab500bbdd31bb966a87a655a6b86bceedf38
More information about the pld-cvs-commit
mailing list