about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-03-30 14:14:58 +0100
committerGitHub <noreply@github.com>2019-03-30 14:14:58 +0100
commit04ffaca71a16905d58161e51c1046daebe8dee0b (patch)
treecb9a00e632f44a35f9d2320df2f4d63fb785fc34
parent68d03c0917fb8515436d510822cea5908e9a5285 (diff)
parentb222b6fa7f4607ef1b0e8e5a950295550b3b1db0 (diff)
downloadrust-04ffaca71a16905d58161e51c1046daebe8dee0b.tar.gz
rust-04ffaca71a16905d58161e51c1046daebe8dee0b.zip
Rollup merge of #59544 - cuviper:miri-nightly, r=Centril
manifest: only include miri on the nightly channel

miri needs to build std with xargo, which doesn't allow stable/beta:
<https://github.com/japaric/xargo/pull/204#issuecomment-374888868>

Therefore, at this time there's no point in making miri available on any
but the nightly channel.  If we get a stable way to build `std`, like
[RFC 2663], then we can re-evaluate whether to start including miri,
perhaps still as `miri-preview`.

[RFC 2663]: https://github.com/rust-lang/rfcs/pull/2663
-rw-r--r--src/tools/build-manifest/src/main.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/tools/build-manifest/src/main.rs b/src/tools/build-manifest/src/main.rs
index e61714f583c..0611e53d092 100644
--- a/src/tools/build-manifest/src/main.rs
+++ b/src/tools/build-manifest/src/main.rs
@@ -523,12 +523,18 @@ impl Builder {
                pkgname: &str,
                dst: &mut BTreeMap<String, Package>,
                targets: &[&str]) {
-        let (version, is_present) = self.cached_version(pkgname)
+        let (version, mut is_present) = self.cached_version(pkgname)
             .as_ref()
             .cloned()
             .map(|version| (version, true))
             .unwrap_or_default();
 
+        // miri needs to build std with xargo, which doesn't allow stable/beta:
+        // <https://github.com/japaric/xargo/pull/204#issuecomment-374888868>
+        if pkgname == "miri-preview" && self.rust_release != "nightly" {
+            is_present = false; // ignore it
+        }
+
         let targets = targets.iter().map(|name| {
             if is_present {
                 let filename = self.filename(pkgname, name);