Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
Date: 2023-01-11
Initial Package Version: 1.66.0
Upstream Status: Fixed for 1.67.
Origin: Upstream.
Description: Without this, install fails:
thread 'main' panicked at 'missing miri', install.rs:205:14
See https://github.com/rust-lang/rust/issues/105816

From e5c92bc2b6f0bd69856ad3c4d3056c7f0c0ad72d Mon Sep 17 00:00:00 2001
From: Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de>
Date: Mon, 19 Dec 2022 14:48:45 +0000
Subject: [PATCH] Don't panic on stable since miri is not available there

---
 src/bootstrap/install.rs | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs
index c53d0d7e4cb7c..1815a0973072b 100644
--- a/src/bootstrap/install.rs
+++ b/src/bootstrap/install.rs
@@ -200,10 +200,14 @@ install!((self, builder, _config),
         install_sh(builder, "clippy", self.compiler.stage, Some(self.target), &tarball);
     };
     Miri, alias = "miri", Self::should_build(_config), only_hosts: true, {
-        let tarball = builder
-            .ensure(dist::Miri { compiler: self.compiler, target: self.target })
-            .expect("missing miri");
-        install_sh(builder, "miri", self.compiler.stage, Some(self.target), &tarball);
+        if let Some(tarball) = builder.ensure(dist::Miri { compiler: self.compiler, target: self.target }) {
+            install_sh(builder, "miri", self.compiler.stage, Some(self.target), &tarball);
+        } else {
+            // Miri is only available on nightly
+            builder.info(
+                &format!("skipping Install miri stage{} ({})", self.compiler.stage, self.target),
+            );
+        }
     };
     LlvmTools, alias = "llvm-tools", Self::should_build(_config), only_hosts: true, {
         let tarball = builder
