diff --git a/.gitignore b/.gitignore index e69de29..a9378d6 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,307 @@ +/rustc-1.10.0-src.tar.gz +/rustc-1.9.0-i686-unknown-linux-gnu.tar.gz +/rustc-1.9.0-x86_64-unknown-linux-gnu.tar.gz +/rustc-1.11.0-src.tar.gz +/rustc-1.10.0-i686-unknown-linux-gnu.tar.gz +/rustc-1.10.0-x86_64-unknown-linux-gnu.tar.gz +/rustc-1.10.0-armv7-unknown-linux-gnueabihf.tar.gz +/rustc-1.11.0-aarch64-unknown-linux-gnu.tar.gz +/rustc-1.11.0-armv7-unknown-linux-gnueabihf.tar.gz +/rustc-1.11.0-i686-unknown-linux-gnu.tar.gz +/rustc-1.11.0-x86_64-unknown-linux-gnu.tar.gz +/rustc-1.12.0-src.tar.gz +/rustc-1.12.1-src.tar.gz +/rustc-1.13.0-src.tar.gz +/rustc-1.12.1-aarch64-unknown-linux-gnu.tar.gz +/rustc-1.12.1-armv7-unknown-linux-gnueabihf.tar.gz +/rustc-1.12.1-i686-unknown-linux-gnu.tar.gz +/rustc-1.12.1-x86_64-unknown-linux-gnu.tar.gz +/rustc-beta-src.tar.gz +/rustc-1.13.0-aarch64-unknown-linux-gnu.tar.gz +/rustc-1.13.0-armv7-unknown-linux-gnueabihf.tar.gz +/rustc-1.13.0-i686-unknown-linux-gnu.tar.gz +/rustc-1.13.0-powerpc64le-unknown-linux-gnu.tar.gz +/rustc-1.13.0-powerpc64-unknown-linux-gnu.tar.gz +/rustc-1.13.0-s390x-unknown-linux-gnu.tar.gz +/rustc-1.13.0-x86_64-unknown-linux-gnu.tar.gz +/rustc-1.14.0-src.tar.gz +/rustc-1.15.1-src.tar.gz +/rustc-1.14.0-aarch64-unknown-linux-gnu.tar.gz +/rustc-1.14.0-armv7-unknown-linux-gnueabihf.tar.gz +/rustc-1.14.0-i686-unknown-linux-gnu.tar.gz +/rustc-1.14.0-powerpc64le-unknown-linux-gnu.tar.gz +/rustc-1.14.0-powerpc64-unknown-linux-gnu.tar.gz +/rustc-1.14.0-s390x-unknown-linux-gnu.tar.gz +/rustc-1.14.0-x86_64-unknown-linux-gnu.tar.gz +/rust-1.15.1-aarch64-unknown-linux-gnu.tar.gz +/rust-1.15.1-armv7-unknown-linux-gnueabihf.tar.gz +/rust-1.15.1-i686-unknown-linux-gnu.tar.gz +/rust-1.15.1-powerpc64le-unknown-linux-gnu.tar.gz +/rust-1.15.1-powerpc64-unknown-linux-gnu.tar.gz +/rust-1.15.1-s390x-unknown-linux-gnu.tar.gz +/rust-1.15.1-x86_64-unknown-linux-gnu.tar.gz +/rustc-1.16.0-src.tar.gz +/rustc-1.17.0-src.tar.gz +/rust-1.16.0-aarch64-unknown-linux-gnu.tar.gz +/rust-1.16.0-armv7-unknown-linux-gnueabihf.tar.gz +/rust-1.16.0-i686-unknown-linux-gnu.tar.gz +/rust-1.16.0-powerpc64le-unknown-linux-gnu.tar.gz +/rust-1.16.0-powerpc64-unknown-linux-gnu.tar.gz +/rust-1.16.0-s390x-unknown-linux-gnu.tar.gz +/rust-1.16.0-x86_64-unknown-linux-gnu.tar.gz +/rustc-1.18.0-src.tar.gz +/rust-1.17.0-aarch64-unknown-linux-gnu.tar.gz +/rust-1.17.0-armv7-unknown-linux-gnueabihf.tar.gz +/rust-1.17.0-i686-unknown-linux-gnu.tar.gz +/rust-1.17.0-powerpc64le-unknown-linux-gnu.tar.gz +/rust-1.17.0-powerpc64-unknown-linux-gnu.tar.gz +/rust-1.17.0-s390x-unknown-linux-gnu.tar.gz +/rust-1.17.0-x86_64-unknown-linux-gnu.tar.gz +/rustc-1.19.0-src.tar.xz +/rust-1.18.0-aarch64-unknown-linux-gnu.tar.gz +/rust-1.18.0-armv7-unknown-linux-gnueabihf.tar.gz +/rust-1.18.0-i686-unknown-linux-gnu.tar.gz +/rust-1.18.0-powerpc64le-unknown-linux-gnu.tar.gz +/rust-1.18.0-powerpc64-unknown-linux-gnu.tar.gz +/rust-1.18.0-s390x-unknown-linux-gnu.tar.gz +/rust-1.18.0-x86_64-unknown-linux-gnu.tar.gz +/rustc-1.20.0-src.tar.xz +/rust-1.19.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.19.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.19.0-i686-unknown-linux-gnu.tar.xz +/rust-1.19.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.19.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.19.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.19.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.21.0-src.tar.xz +/rust-1.20.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.20.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.20.0-i686-unknown-linux-gnu.tar.xz +/rust-1.20.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.20.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.20.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.20.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.22.1-src.tar.xz +/rust-1.21.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.21.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.21.0-i686-unknown-linux-gnu.tar.xz +/rust-1.21.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.21.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.21.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.21.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.23.0-src.tar.xz +/rust-1.22.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.22.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.22.0-i686-unknown-linux-gnu.tar.xz +/rust-1.22.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.22.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.22.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.22.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.24.0-src.tar.xz +/rust-1.23.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.23.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.23.0-i686-unknown-linux-gnu.tar.xz +/rust-1.23.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.23.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.23.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.23.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.24.1-src.tar.xz +/rustc-1.25.0-src.tar.xz +/rust-1.24.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.24.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.24.0-i686-unknown-linux-gnu.tar.xz +/rust-1.24.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.24.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.24.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.24.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.26.0-src.tar.xz +/rust-1.25.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.25.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.25.0-i686-unknown-linux-gnu.tar.xz +/rust-1.25.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.25.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.25.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.25.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.26.1-src.tar.xz +/rustc-1.26.2-src.tar.xz +/rustc-1.27.0-src.tar.xz +/rust-1.26.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.26.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.26.0-i686-unknown-linux-gnu.tar.xz +/rust-1.26.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.26.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.26.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.26.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.27.1-src.tar.xz +/rustc-1.27.2-src.tar.xz +/rustc-1.28.0-src.tar.xz +/rust-1.27.2-aarch64-unknown-linux-gnu.tar.xz +/rust-1.27.2-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.27.2-i686-unknown-linux-gnu.tar.xz +/rust-1.27.2-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.27.2-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.27.2-s390x-unknown-linux-gnu.tar.xz +/rust-1.27.2-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.29.0-src.tar.xz +/rust-1.28.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.28.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.28.0-i686-unknown-linux-gnu.tar.xz +/rust-1.28.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.28.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.28.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.28.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.29.1-src.tar.xz +/rustc-1.29.2-src.tar.xz +/rustc-1.30.0-src.tar.xz +/rust-1.29.2-aarch64-unknown-linux-gnu.tar.xz +/rust-1.29.2-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.29.2-i686-unknown-linux-gnu.tar.xz +/rust-1.29.2-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.29.2-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.29.2-s390x-unknown-linux-gnu.tar.xz +/rust-1.29.2-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.30.1-src.tar.xz +/rustc-1.31.0-src.tar.xz +/rust-1.30.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.30.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.30.0-i686-unknown-linux-gnu.tar.xz +/rust-1.30.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.30.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.30.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.30.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.31.1-src.tar.xz +/rustc-1.32.0-src.tar.xz +/rust-1.31.1-aarch64-unknown-linux-gnu.tar.xz +/rust-1.31.1-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.31.1-i686-unknown-linux-gnu.tar.xz +/rust-1.31.1-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.31.1-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.31.1-s390x-unknown-linux-gnu.tar.xz +/rust-1.31.1-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.33.0-src.tar.xz +/rust-1.32.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.32.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.32.0-i686-unknown-linux-gnu.tar.xz +/rust-1.32.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.32.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.32.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.32.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.34.0-src.tar.xz +/rust-1.33.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.33.0-i686-unknown-linux-gnu.tar.xz +/rust-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.33.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.33.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.33.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.34.1-src.tar.xz +/rustc-1.34.2-src.tar.xz +/rustc-1.35.0-src.tar.xz +/rust-1.34.2-aarch64-unknown-linux-gnu.tar.xz +/rust-1.34.2-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.34.2-i686-unknown-linux-gnu.tar.xz +/rust-1.34.2-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.34.2-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.34.2-s390x-unknown-linux-gnu.tar.xz +/rust-1.34.2-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.36.0-src.tar.xz +/rust-1.35.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.35.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.35.0-i686-unknown-linux-gnu.tar.xz +/rust-1.35.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.35.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.35.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.35.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.37.0-src.tar.xz +/rust-1.36.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.36.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.36.0-i686-unknown-linux-gnu.tar.xz +/rust-1.36.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.36.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.36.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.36.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.38.0-src.tar.xz +/rust-1.37.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.37.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.37.0-i686-unknown-linux-gnu.tar.xz +/rust-1.37.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.37.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.37.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.37.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.39.0-src.tar.xz +/rust-1.38.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.38.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.38.0-i686-unknown-linux-gnu.tar.xz +/rust-1.38.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.38.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.38.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.38.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.40.0-src.tar.xz +/rust-1.39.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.39.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.39.0-i686-unknown-linux-gnu.tar.xz +/rust-1.39.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.39.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.39.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.39.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.41.0-src.tar.xz +/rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.40.0-i686-unknown-linux-gnu.tar.xz +/rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.40.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.40.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.41.1-src.tar.xz +/rustc-1.42.0-src.tar.xz +/rust-1.41.1-aarch64-unknown-linux-gnu.tar.xz +/rust-1.41.1-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.41.1-i686-unknown-linux-gnu.tar.xz +/rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.41.1-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.41.1-s390x-unknown-linux-gnu.tar.xz +/rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.43.0-src.tar.xz +/rust-1.42.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.42.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.42.0-i686-unknown-linux-gnu.tar.xz +/rust-1.42.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.42.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.42.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.42.0-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.43.1-src.tar.xz +/rustc-1.44.0-src.tar.xz +/rust-1.43.1-aarch64-unknown-linux-gnu.tar.xz +/rust-1.43.1-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.43.1-i686-unknown-linux-gnu.tar.xz +/rust-1.43.1-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.43.1-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.43.1-s390x-unknown-linux-gnu.tar.xz +/rust-1.43.1-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.44.1-src.tar.xz +/rustc-1.45.0-src.tar.xz +/rust-1.44.0-x86_64-unknown-linux-gnu.tar.xz +/rust-1.44.0-i686-unknown-linux-gnu.tar.xz +/rust-1.44.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.44.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.44.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.44.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.44.0-s390x-unknown-linux-gnu.tar.xz +/rustc-1.45.1-src.tar.xz +/rustc-1.45.2-src.tar.xz +/rustc-1.46.0-src.tar.xz +/rust-1.45.2-aarch64-unknown-linux-gnu.tar.xz +/rust-1.45.2-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.45.2-i686-unknown-linux-gnu.tar.xz +/rust-1.45.2-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.45.2-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.45.2-s390x-unknown-linux-gnu.tar.xz +/rust-1.45.2-x86_64-unknown-linux-gnu.tar.xz +/rustc-1.47.0-src.tar.xz +/rust-1.46.0-aarch64-unknown-linux-gnu.tar.xz +/rust-1.46.0-armv7-unknown-linux-gnueabihf.tar.xz +/rust-1.46.0-i686-unknown-linux-gnu.tar.xz +/rust-1.46.0-powerpc64le-unknown-linux-gnu.tar.xz +/rust-1.46.0-powerpc64-unknown-linux-gnu.tar.xz +/rust-1.46.0-s390x-unknown-linux-gnu.tar.xz +/rust-1.46.0-x86_64-unknown-linux-gnu.tar.xz diff --git a/0001-doc-disambiguate-stat-in-MetadataExt-as_raw_stat.patch b/0001-doc-disambiguate-stat-in-MetadataExt-as_raw_stat.patch new file mode 100644 index 0000000..bf6ef9c --- /dev/null +++ b/0001-doc-disambiguate-stat-in-MetadataExt-as_raw_stat.patch @@ -0,0 +1,46 @@ +From f200c1e7afdd04b42c01c0108735e5b14ca07d93 Mon Sep 17 00:00:00 2001 +From: Josh Stone +Date: Fri, 9 Oct 2020 20:12:26 -0700 +Subject: [PATCH] doc: disambiguate stat in MetadataExt::as_raw_stat + +A few architectures in `os::linux::raw` import `libc::stat`, rather than +defining that type directly. However, that also imports the _function_ +called `stat`, which makes this doc link ambiguous: + + error: `crate::os::linux::raw::stat` is both a struct and a function + --> library/std/src/os/linux/fs.rs:21:19 + | + 21 | /// [`stat`]: crate::os::linux::raw::stat + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous link + | + = note: `-D broken-intra-doc-links` implied by `-D warnings` + help: to link to the struct, prefix with the item type + | + 21 | /// [`stat`]: struct@crate::os::linux::raw::stat + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + help: to link to the function, add parentheses + | + 21 | /// [`stat`]: crate::os::linux::raw::stat() + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +We want the `struct`, so it's now prefixed accordingly. +--- + library/std/src/os/linux/fs.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/library/std/src/os/linux/fs.rs b/library/std/src/os/linux/fs.rs +index ff23c3d67e3b..9b7af97616c9 100644 +--- a/library/std/src/os/linux/fs.rs ++++ b/library/std/src/os/linux/fs.rs +@@ -20,7 +20,7 @@ pub trait MetadataExt { + /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the + /// cross-Unix abstractions contained within the raw stat. + /// +- /// [`stat`]: crate::os::linux::raw::stat ++ /// [`stat`]: struct@crate::os::linux::raw::stat + /// + /// # Examples + /// +-- +2.26.2 + diff --git a/0001-use-NativeEndian-in-symbolize-gimli-Context.patch b/0001-use-NativeEndian-in-symbolize-gimli-Context.patch new file mode 100644 index 0000000..81b7a63 --- /dev/null +++ b/0001-use-NativeEndian-in-symbolize-gimli-Context.patch @@ -0,0 +1,28 @@ +From 6f8efee8c936de65bc31610eea30abd5461a5dd1 Mon Sep 17 00:00:00 2001 +From: Josh Stone +Date: Thu, 8 Oct 2020 15:53:49 -0700 +Subject: [PATCH] use NativeEndian in symbolize::gimli::Context + +`Object` uses `NativeEndian`, so the `Context` should too. + +Cc: https://github.com/rust-lang/rust/issues/77410 +--- + src/symbolize/gimli.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/symbolize/gimli.rs b/src/symbolize/gimli.rs +index 58ed8bafca3d..273ff43f1c8c 100644 +--- a/src/symbolize/gimli.rs ++++ b/src/symbolize/gimli.rs +@@ -5,7 +5,7 @@ + //! intended to wholesale replace the `libbacktrace.rs` implementation. + + use self::gimli::read::EndianSlice; +-use self::gimli::LittleEndian as Endian; ++use self::gimli::NativeEndian as Endian; + use self::mmap::Mmap; + use self::stash::Stash; + use super::BytesOrWideString; +-- +2.26.2 + diff --git a/rust.spec b/rust.spec new file mode 100644 index 0000000..6ab2407 --- /dev/null +++ b/rust.spec @@ -0,0 +1,1085 @@ +# Only x86_64 and i686 are Tier 1 platforms at this time. +# https://forge.rust-lang.org/platform-support.html +%global rust_arches x86_64 i686 armv7hl aarch64 ppc64 ppc64le s390x + +# The channel can be stable, beta, or nightly +%{!?channel: %global channel stable} + +# To bootstrap from scratch, set the channel and date from src/stage0.txt +# e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24 +# or nightly wants some beta-YYYY-MM-DD +# Note that cargo matches the program version here, not its crate version. +%global bootstrap_rust 1.46.0 +%global bootstrap_cargo 1.46.0 +%global bootstrap_channel 1.46.0 +%global bootstrap_date 2020-08-27 + +# Only the specified arches will use bootstrap binaries. +#global bootstrap_arches %%{rust_arches} + +# Using llvm-static may be helpful as an opt-in, e.g. to aid LLVM rebases. +%bcond_with llvm_static + +# We can also choose to just use Rust's bundled LLVM, in case the system LLVM +# is insufficient. Rust currently requires LLVM 8.0+. +%bcond_with bundled_llvm + +# Requires stable libgit2 1.0 +%if 0%{?fedora} >= 32 +%bcond_with bundled_libgit2 +%else +%bcond_without bundled_libgit2 +%endif + +%if 0%{?rhel} +# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949) +%bcond_without disabled_libssh2 +%else +%bcond_with disabled_libssh2 +%endif + +%if 0%{?rhel} && 0%{?rhel} < 8 +%bcond_with curl_http2 +%else +%bcond_without curl_http2 +%endif + +# LLDB isn't available everywhere... +%if 0%{?rhel} && 0%{?rhel} < 8 +%bcond_with lldb +%else +%bcond_without lldb +%endif + +Name: rust +Version: 1.47.0 +Release: 2%{?dist} +Summary: The Rust Programming Language +License: (ASL 2.0 or MIT) and (BSD and MIT) +# ^ written as: (rust itself) and (bundled libraries) +URL: https://www.rust-lang.org +ExclusiveArch: %{rust_arches} + +%if "%{channel}" == "stable" +%global rustc_package rustc-%{version}-src +%else +%global rustc_package rustc-%{channel}-src +%endif +Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz + +# https://github.com/rust-lang/backtrace-rs/pull/373 +Patch1: 0001-use-NativeEndian-in-symbolize-gimli-Context.patch + +# https://github.com/rust-lang/rust/pull/77777 +Patch2: 0001-doc-disambiguate-stat-in-MetadataExt-as_raw_stat.patch + +### RHEL-specific patches below ### + +# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949) +Patch100: rustc-1.47.0-disable-libssh2.patch + +# libcurl on RHEL7 doesn't have http2, but since cargo requests it, curl-sys +# will try to build it statically -- instead we turn off the feature. +Patch101: rustc-1.47.0-disable-http2.patch + +# kernel rh1410097 causes too-small stacks for PIE. +# (affects RHEL6 kernels when building for RHEL7) +Patch102: rustc-1.45.0-no-default-pie.patch + + +# Get the Rust triple for any arch. +%{lua: function rust_triple(arch) + local abi = "gnu" + if arch == "armv7hl" then + arch = "armv7" + abi = "gnueabihf" + elseif arch == "ppc64" then + arch = "powerpc64" + elseif arch == "ppc64le" then + arch = "powerpc64le" + elseif arch == "riscv64" then + arch = "riscv64gc" + end + return arch.."-unknown-linux-"..abi +end} + +%global rust_triple %{lua: print(rust_triple(rpm.expand("%{_target_cpu}")))} + +%if %defined bootstrap_arches +# For each bootstrap arch, add an additional binary Source. +# Also define bootstrap_source just for the current target. +%{lua: do + local bootstrap_arches = {} + for arch in string.gmatch(rpm.expand("%{bootstrap_arches}"), "%S+") do + table.insert(bootstrap_arches, arch) + end + local base = rpm.expand("https://static.rust-lang.org/dist/%{bootstrap_date}" + .."/rust-%{bootstrap_channel}") + local target_arch = rpm.expand("%{_target_cpu}") + for i, arch in ipairs(bootstrap_arches) do + print(string.format("Source%d: %s-%s.tar.xz\n", + i, base, rust_triple(arch))) + if arch == target_arch then + rpm.define("bootstrap_source "..i) + end + end +end} +%endif + +%ifarch %{bootstrap_arches} +%global bootstrap_root rust-%{bootstrap_channel}-%{rust_triple} +%global local_rust_root %{_builddir}/%{bootstrap_root}/usr +Provides: bundled(%{name}-bootstrap) = %{bootstrap_rust} +%else +BuildRequires: cargo >= %{bootstrap_cargo} +%if 0%{?rhel} && 0%{?rhel} < 8 +BuildRequires: %{name} >= %{bootstrap_rust} +BuildConflicts: %{name} > %{version} +%else +BuildRequires: (%{name} >= %{bootstrap_rust} with %{name} <= %{version}) +%endif +%global local_rust_root %{_prefix} +%endif + +BuildRequires: make +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: ncurses-devel +BuildRequires: curl +# explicit curl-devel to avoid httpd24-curl (rhbz1540167) +BuildRequires: curl-devel +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(zlib) + +%if %without bundled_libgit2 +BuildRequires: pkgconfig(libgit2) >= 1.0.0 +%endif + +%if %{without disabled_libssh2} && %{without bundled_libssh2} +# needs libssh2_userauth_publickey_frommemory +BuildRequires: pkgconfig(libssh2) >= 1.6.0 +%endif + +%global python python3 +BuildRequires: %{python} + +%if %with bundled_llvm +BuildRequires: cmake3 >= 3.4.3 +Provides: bundled(llvm) = 11.0.0 +%else +BuildRequires: cmake >= 2.8.11 +%if 0%{?epel} == 7 +%global llvm llvm9.0 +%endif +%if %defined llvm +%global llvm_root %{_libdir}/%{llvm} +%else +%global llvm llvm +%global llvm_root %{_prefix} +%endif +BuildRequires: %{llvm}-devel >= 8.0 +%if %with llvm_static +BuildRequires: %{llvm}-static +BuildRequires: libffi-devel +%endif +%endif + +# make check needs "ps" for src/test/run-pass/wait-forked-but-failed-child.rs +BuildRequires: procps-ng + +# debuginfo-gdb tests need gdb +BuildRequires: gdb + +# Virtual provides for folks who attempt "dnf install rustc" +Provides: rustc = %{version}-%{release} +Provides: rustc%{?_isa} = %{version}-%{release} + +# Always require our exact standard library +Requires: %{name}-std-static%{?_isa} = %{version}-%{release} + +# The C compiler is needed at runtime just for linking. Someday rustc might +# invoke the linker directly, and then we'll only need binutils. +# https://github.com/rust-lang/rust/issues/11937 +Requires: /usr/bin/cc + +# ALL Rust libraries are private, because they don't keep an ABI. +%global _privatelibs lib(.*-[[:xdigit:]]{16}*|rustc.*)[.]so.* +%global __provides_exclude ^(%{_privatelibs})$ +%global __requires_exclude ^(%{_privatelibs})$ +%global __provides_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$ +%global __requires_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$ + +# While we don't want to encourage dynamic linking to Rust shared libraries, as +# there's no stable ABI, we still need the unallocated metadata (.rustc) to +# support custom-derive plugins like #[proc_macro_derive(Foo)]. +%if 0%{?rhel} && 0%{?rhel} < 8 +# eu-strip is very eager by default, so we have to limit it to -g, only debugging symbols. +%global _find_debuginfo_opts -g +%undefine _include_minidebuginfo +%else +# Newer find-debuginfo.sh supports --keep-section, which is preferable. rhbz1465997 +%global _find_debuginfo_opts --keep-section .rustc +%endif + +# Use hardening ldflags. +%global rustflags -Clink-arg=-Wl,-z,relro,-z,now + +%if %{without bundled_llvm} +%if "%{llvm_root}" == "%{_prefix}" || 0%{?scl:1} +%global llvm_has_filecheck 1 +%endif +%endif + +%description +Rust is a systems programming language that runs blazingly fast, prevents +segfaults, and guarantees thread safety. + +This package includes the Rust compiler and documentation generator. + + +%package std-static +Summary: Standard library for Rust + +%description std-static +This package includes the standard libraries for building applications +written in Rust. + + +%package debugger-common +Summary: Common debugger pretty printers for Rust +BuildArch: noarch + +%description debugger-common +This package includes the common functionality for %{name}-gdb and %{name}-lldb. + + +%package gdb +Summary: GDB pretty printers for Rust +BuildArch: noarch +Requires: gdb +Requires: %{name}-debugger-common = %{version}-%{release} + +%description gdb +This package includes the rust-gdb script, which allows easier debugging of Rust +programs. + + +%if %with lldb + +%package lldb +Summary: LLDB pretty printers for Rust +BuildArch: noarch +Requires: lldb +Requires: %{python}-lldb +Requires: %{name}-debugger-common = %{version}-%{release} + +%description lldb +This package includes the rust-lldb script, which allows easier debugging of Rust +programs. + +%endif + + +%package doc +Summary: Documentation for Rust +# NOT BuildArch: noarch +# Note, while docs are mostly noarch, some things do vary by target_arch. +# Koji will fail the build in rpmdiff if two architectures build a noarch +# subpackage differently, so instead we have to keep its arch. + +%description doc +This package includes HTML documentation for the Rust programming language and +its standard library. + + +%package -n cargo +Summary: Rust's package manager and build tool +%if %with bundled_libgit2 +Provides: bundled(libgit2) = 1.0.0 +%endif +%if %with bundled_libssh2 +Provides: bundled(libssh2) = 1.9.0~dev +%endif +# For tests: +BuildRequires: git +# Cargo is not much use without Rust +Requires: rust + +# "cargo vendor" is a builtin command starting with 1.37. The Obsoletes and +# Provides are mostly relevant to RHEL, but harmless to have on Fedora/etc. too +Obsoletes: cargo-vendor <= 0.1.23 +Provides: cargo-vendor = %{version}-%{release} + +%description -n cargo +Cargo is a tool that allows Rust projects to declare their various dependencies +and ensure that you'll always get a repeatable build. + + +%package -n cargo-doc +Summary: Documentation for Cargo +BuildArch: noarch +# Cargo no longer builds its own documentation +# https://github.com/rust-lang/cargo/pull/4904 +Requires: rust-doc = %{version}-%{release} + +%description -n cargo-doc +This package includes HTML documentation for Cargo. + + +%package -n rustfmt +Summary: Tool to find and fix Rust formatting issues +Requires: cargo + +# The component/package was rustfmt-preview until Rust 1.31. +Obsoletes: rustfmt-preview < 1.0.0 +Provides: rustfmt-preview = %{version}-%{release} + +%description -n rustfmt +A tool for formatting Rust code according to style guidelines. + + +%package -n rls +Summary: Rust Language Server for IDE integration +%if %with bundled_libgit2 +Provides: bundled(libgit2) = 1.0.0 +%endif +%if %with bundled_libssh2 +Provides: bundled(libssh2) = 1.9.0~dev +%endif +Requires: rust-analysis +# /usr/bin/rls is dynamically linked against internal rustc libs +Requires: %{name}%{?_isa} = %{version}-%{release} + +# The component/package was rls-preview until Rust 1.31. +Obsoletes: rls-preview < 1.31.6 +Provides: rls-preview = %{version}-%{release} + +%description -n rls +The Rust Language Server provides a server that runs in the background, +providing IDEs, editors, and other tools with information about Rust programs. +It supports functionality such as 'goto definition', symbol search, +reformatting, and code completion, and enables renaming and refactorings. + + +%package -n clippy +Summary: Lints to catch common mistakes and improve your Rust code +Requires: cargo +# /usr/bin/clippy-driver is dynamically linked against internal rustc libs +Requires: %{name}%{?_isa} = %{version}-%{release} + +# The component/package was clippy-preview until Rust 1.31. +Obsoletes: clippy-preview <= 0.0.212 +Provides: clippy-preview = %{version}-%{release} + +%description -n clippy +A collection of lints to catch common mistakes and improve your Rust code. + + +%package src +Summary: Sources for the Rust standard library +BuildArch: noarch + +%description src +This package includes source files for the Rust standard library. It may be +useful as a reference for code completion tools in various editors. + + +%package analysis +Summary: Compiler analysis data for the Rust standard library +Requires: rust-std-static%{?_isa} = %{version}-%{release} + +%description analysis +This package contains analysis data files produced with rustc's -Zsave-analysis +feature for the Rust standard library. The RLS (Rust Language Server) uses this +data to provide information about the Rust standard library. + + +%prep + +%ifarch %{bootstrap_arches} +%setup -q -n %{bootstrap_root} -T -b %{bootstrap_source} +./install.sh --components=cargo,rustc,rust-std-%{rust_triple} \ + --prefix=%{local_rust_root} --disable-ldconfig +test -f '%{local_rust_root}/bin/cargo' +test -f '%{local_rust_root}/bin/rustc' +%endif + +%setup -q -n %{rustc_package} + +%patch1 -p1 -d library/backtrace +%patch2 -p1 + +%if %with disabled_libssh2 +%patch100 -p1 +%endif + +%if %without curl_http2 +%patch101 -p1 +rm -rf vendor/libnghttp2-sys/ +%endif + +%if 0%{?rhel} && 0%{?rhel} < 8 +%patch102 -p1 -b .no-pie +%endif + +%if "%{python}" != "python3" +# Use our preferred python first +sed -i.try-python -e '/^try python3 /i try "%{python}" "$@"' ./configure +%endif + +%if %without bundled_llvm +rm -rf src/llvm-project/ +%endif + +# Remove other unused vendored libraries +rm -rf vendor/curl-sys/curl/ +rm -rf vendor/jemalloc-sys/jemalloc/ +rm -rf vendor/libz-sys/src/zlib/ +rm -rf vendor/lzma-sys/xz-*/ +rm -rf vendor/openssl-src/openssl/ + +%if %without bundled_libgit2 +rm -rf vendor/libgit2-sys/libgit2/ +%endif + +%if %without bundled_libssh2 +rm -rf vendor/libssh2-sys/libssh2/ +%endif +%if %with disabled_libssh2 +rm -rf vendor/libssh2-sys/ +%endif + +# This only affects the transient rust-installer, but let it use our dynamic xz-libs +sed -i.lzma -e '/LZMA_API_STATIC/d' src/bootstrap/tool.rs + +%if %{with bundled_llvm} && 0%{?epel} == 7 +mkdir -p cmake-bin +ln -s /usr/bin/cmake3 cmake-bin/cmake +%global cmake_path $PWD/cmake-bin +%endif + +%if %{without bundled_llvm} && %{with llvm_static} +# Static linking to distro LLVM needs to add -lffi +# https://github.com/rust-lang/rust/issues/34486 +sed -i.ffi -e '$a #[link(name = "ffi")] extern {}' \ + src/librustc_llvm/lib.rs +%endif + +# The configure macro will modify some autoconf-related files, which upsets +# cargo when it tries to verify checksums in those files. If we just truncate +# that file list, cargo won't have anything to complain about. +find vendor -name .cargo-checksum.json \ + -exec sed -i.uncheck -e 's/"files":{[^}]*}/"files":{ }/' '{}' '+' + +# Sometimes Rust sources start with #![...] attributes, and "smart" editors think +# it's a shebang and make them executable. Then brp-mangle-shebangs gets upset... +find -name '*.rs' -type f -perm /111 -exec chmod -v -x '{}' '+' + +# Set up shared environment variables for build/install/check +%global rust_env RUSTFLAGS="%{rustflags}" +%if 0%{?cmake_path:1} +%global rust_env %{rust_env} PATH="%{cmake_path}:$PATH" +%endif +%if %without bundled_libgit2 +# convince libgit2-sys to use the distro libgit2 +%global rust_env %{rust_env} LIBGIT2_SYS_USE_PKG_CONFIG=1 +%endif +%if %without bundled_libssh2 +# convince libssh2-sys to use the distro libssh2 +%global rust_env %{rust_env} LIBSSH2_SYS_USE_PKG_CONFIG=1 +%endif + + +%build +export %{rust_env} + +# We're going to override --libdir when configuring to get rustlib into a +# common path, but we'll fix the shared libraries during install. +%global common_libdir %{_prefix}/lib +%global rustlibdir %{common_libdir}/rustlib + +%ifarch %{arm} %{ix86} s390x +# full debuginfo is exhausting memory; just do libstd for now +# https://github.com/rust-lang/rust/issues/45854 +%if 0%{?rhel} && 0%{?rhel} < 8 +# Older rpmbuild didn't work with partial debuginfo coverage. +%global debug_package %{nil} +%define enable_debuginfo --debuginfo-level=0 +%else +%define enable_debuginfo --debuginfo-level=0 --debuginfo-level-std=2 +%endif +%else +%define enable_debuginfo --debuginfo-level=2 +%endif + +# We want the best optimization for std, but it caused problems for rpm-ostree +# on ppc64le to have all of the compiler_builtins in a single object: +# https://bugzilla.redhat.com/show_bug.cgi?id=1713090 +%ifnarch %{power64} +%define codegen_units_std --set rust.codegen-units-std=1 +%endif + +# Some builders have relatively little memory for their CPU count. +# At least 2GB per CPU is a good rule of thumb for building rustc. +ncpus=$(/usr/bin/getconf _NPROCESSORS_ONLN) +max_cpus=$(( ($(free -g | awk '/^Mem:/{print $2}') + 1) / 2 )) +if [ "$max_cpus" -ge 1 -a "$max_cpus" -lt "$ncpus" ]; then + ncpus="$max_cpus" +fi + +%configure --disable-option-checking \ + --libdir=%{common_libdir} \ + --build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple} \ + --python=%{python} \ + --local-rust-root=%{local_rust_root} \ + %{!?with_bundled_llvm: --llvm-root=%{llvm_root} \ + %{!?llvm_has_filecheck: --disable-codegen-tests} \ + %{!?with_llvm_static: --enable-llvm-link-shared } } \ + --disable-rpath \ + %{enable_debuginfo} \ + --enable-extended \ + --tools=analysis,cargo,clippy,rls,rustfmt,src \ + --enable-vendor \ + --enable-verbose-tests \ + %{?codegen_units_std} \ + --release-channel=%{channel} + +%{python} ./x.py build -j "$ncpus" --stage 2 +%{python} ./x.py doc --stage 2 + + +%install +export %{rust_env} + +DESTDIR=%{buildroot} %{python} ./x.py install + +# Make sure the shared libraries are in the proper libdir +%if "%{_libdir}" != "%{common_libdir}" +mkdir -p %{buildroot}%{_libdir} +find %{buildroot}%{common_libdir} -maxdepth 1 -type f -name '*.so' \ + -exec mv -v -t %{buildroot}%{_libdir} '{}' '+' +%endif + +# The shared libraries should be executable for debuginfo extraction. +find %{buildroot}%{_libdir} -maxdepth 1 -type f -name '*.so' \ + -exec chmod -v +x '{}' '+' + +# The libdir libraries are identical to those under rustlib/. It's easier on +# library loading if we keep them in libdir, but we do need them in rustlib/ +# to support dynamic linking for compiler plugins, so we'll symlink. +(cd "%{buildroot}%{rustlibdir}/%{rust_triple}/lib" && + find ../../../../%{_lib} -maxdepth 1 -name '*.so' | + while read lib; do + if [ -f "${lib##*/}" ]; then + # make sure they're actually identical! + cmp "$lib" "${lib##*/}" + ln -v -f -s -t . "$lib" + fi + done) + +# Remove installer artifacts (manifests, uninstall scripts, etc.) +find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+' + +# Remove backup files from %%configure munging +find %{buildroot}%{rustlibdir} -type f -name '*.orig' -exec rm -v '{}' '+' + +# https://fedoraproject.org/wiki/Changes/Make_ambiguous_python_shebangs_error +# We don't actually need to ship any of those python scripts in rust-src anyway. +find %{buildroot}%{rustlibdir}/src -type f -name '*.py' -exec rm -v '{}' '+' + +# FIXME: __os_install_post will strip the rlibs +# -- should we find a way to preserve debuginfo? + +# Remove unwanted documentation files (we already package them) +rm -f %{buildroot}%{_docdir}/%{name}/README.md +rm -f %{buildroot}%{_docdir}/%{name}/COPYRIGHT +rm -f %{buildroot}%{_docdir}/%{name}/LICENSE +rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-APACHE +rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-MIT +rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-THIRD-PARTY +rm -f %{buildroot}%{_docdir}/%{name}/*.old + +# Sanitize the HTML documentation +find %{buildroot}%{_docdir}/%{name}/html -empty -delete +find %{buildroot}%{_docdir}/%{name}/html -type f -exec chmod -x '{}' '+' + +# Create the path for crate-devel packages +mkdir -p %{buildroot}%{_datadir}/cargo/registry + +# Cargo no longer builds its own documentation +# https://github.com/rust-lang/cargo/pull/4904 +mkdir -p %{buildroot}%{_docdir}/cargo +ln -sT ../rust/html/cargo/ %{buildroot}%{_docdir}/cargo/html + +%if %without lldb +rm -f %{buildroot}%{_bindir}/rust-lldb +rm -f %{buildroot}%{rustlibdir}/etc/lldb_* +%endif + + +%check +export %{rust_env} + +# The results are not stable on koji, so mask errors and just log it. +%{python} ./x.py test --no-fail-fast --stage 2 || : +%{python} ./x.py test --no-fail-fast --stage 2 cargo || : +%{python} ./x.py test --no-fail-fast --stage 2 clippy || : +%{python} ./x.py test --no-fail-fast --stage 2 rls || : +%{python} ./x.py test --no-fail-fast --stage 2 rustfmt || : + + +%ldconfig_scriptlets + + +%files +%license COPYRIGHT LICENSE-APACHE LICENSE-MIT +%doc README.md +%{_bindir}/rustc +%{_bindir}/rustdoc +%{_libdir}/*.so +%{_mandir}/man1/rustc.1* +%{_mandir}/man1/rustdoc.1* +%dir %{rustlibdir} +%dir %{rustlibdir}/%{rust_triple} +%dir %{rustlibdir}/%{rust_triple}/lib +%{rustlibdir}/%{rust_triple}/lib/*.so + + +%files std-static +%dir %{rustlibdir} +%dir %{rustlibdir}/%{rust_triple} +%dir %{rustlibdir}/%{rust_triple}/lib +%{rustlibdir}/%{rust_triple}/lib/*.rlib + + +%files debugger-common +%dir %{rustlibdir} +%dir %{rustlibdir}/etc +%{rustlibdir}/etc/rust_*.py* + + +%files gdb +%{_bindir}/rust-gdb +%{rustlibdir}/etc/gdb_* +%exclude %{_bindir}/rust-gdbgui + + +%if %with lldb +%files lldb +%{_bindir}/rust-lldb +%{rustlibdir}/etc/lldb_* +%endif + + +%files doc +%docdir %{_docdir}/%{name} +%dir %{_docdir}/%{name} +%dir %{_docdir}/%{name}/html +%{_docdir}/%{name}/html/*/ +%{_docdir}/%{name}/html/*.html +%{_docdir}/%{name}/html/*.css +%{_docdir}/%{name}/html/*.ico +%{_docdir}/%{name}/html/*.js +%{_docdir}/%{name}/html/*.png +%{_docdir}/%{name}/html/*.svg +%{_docdir}/%{name}/html/*.woff +%license %{_docdir}/%{name}/html/*.txt +%license %{_docdir}/%{name}/html/*.md + + +%files -n cargo +%license src/tools/cargo/LICENSE-APACHE src/tools/cargo/LICENSE-MIT src/tools/cargo/LICENSE-THIRD-PARTY +%doc src/tools/cargo/README.md +%{_bindir}/cargo +%{_mandir}/man1/cargo*.1* +%{_sysconfdir}/bash_completion.d/cargo +%{_datadir}/zsh/site-functions/_cargo +%dir %{_datadir}/cargo +%dir %{_datadir}/cargo/registry + + +%files -n cargo-doc +%docdir %{_docdir}/cargo +%dir %{_docdir}/cargo +%{_docdir}/cargo/html + + +%files -n rustfmt +%{_bindir}/rustfmt +%{_bindir}/cargo-fmt +%doc src/tools/rustfmt/{README,CHANGELOG,Configurations}.md +%license src/tools/rustfmt/LICENSE-{APACHE,MIT} + + +%files -n rls +%{_bindir}/rls +%doc src/tools/rls/{README.md,COPYRIGHT,debugging.md} +%license src/tools/rls/LICENSE-{APACHE,MIT} + + +%files -n clippy +%{_bindir}/cargo-clippy +%{_bindir}/clippy-driver +%doc src/tools/clippy/{README.md,CHANGELOG.md} +%license src/tools/clippy/LICENSE-{APACHE,MIT} + + +%files src +%dir %{rustlibdir} +%{rustlibdir}/src + + +%files analysis +%{rustlibdir}/%{rust_triple}/analysis/ + + +%changelog +* Sat Oct 10 2020 Jeff Law - 1.47.0-2 +- Re-enable LTO + +* Thu Oct 08 2020 Josh Stone - 1.47.0-1 +- Update to 1.47.0. + +* Fri Aug 28 2020 Fabio Valentini - 1.46.0-2 +- Fix LTO with doctests (backported cargo PR#8657). + +* Thu Aug 27 2020 Josh Stone - 1.46.0-1 +- Update to 1.46.0. + +* Mon Aug 03 2020 Josh Stone - 1.45.2-1 +- Update to 1.45.2. + +* Thu Jul 30 2020 Josh Stone - 1.45.1-1 +- Update to 1.45.1. + +* Wed Jul 29 2020 Fedora Release Engineering - 1.45.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 16 2020 Josh Stone - 1.45.0-1 +- Update to 1.45.0. + +* Wed Jul 01 2020 Jeff Law - 1.44.1-2 +- Disable LTO + +* Thu Jun 18 2020 Josh Stone - 1.44.1-1 +- Update to 1.44.1. + +* Thu Jun 04 2020 Josh Stone - 1.44.0-1 +- Update to 1.44.0. + +* Thu May 07 2020 Josh Stone - 1.43.1-1 +- Update to 1.43.1. + +* Thu Apr 23 2020 Josh Stone - 1.43.0-1 +- Update to 1.43.0. + +* Thu Mar 12 2020 Josh Stone - 1.42.0-1 +- Update to 1.42.0. + +* Thu Feb 27 2020 Josh Stone - 1.41.1-1 +- Update to 1.41.1. + +* Thu Feb 20 2020 Josh Stone - 1.41.0-2 +- Rebuild with llvm9.0 + +* Thu Jan 30 2020 Josh Stone - 1.41.0-1 +- Update to 1.41.0. + +* Thu Jan 16 2020 Josh Stone - 1.40.0-3 +- Build compiletest with in-tree libtest + +* Tue Jan 07 2020 Josh Stone - 1.40.0-2 +- Fix compiletest with newer (local-rebuild) libtest +- Fix ARM EHABI unwinding + +* Thu Dec 19 2019 Josh Stone - 1.40.0-1 +- Update to 1.40.0. + +* Tue Nov 12 2019 Josh Stone - 1.39.0-2 +- Fix a couple build and test issues with rustdoc. + +* Thu Nov 07 2019 Josh Stone - 1.39.0-1 +- Update to 1.39.0. + +* Fri Sep 27 2019 Josh Stone - 1.38.0-2 +- Filter the libraries included in rust-std (rhbz1756487) + +* Thu Sep 26 2019 Josh Stone - 1.38.0-1 +- Update to 1.38.0. + +* Thu Aug 15 2019 Josh Stone - 1.37.0-1 +- Update to 1.37.0. + +* Fri Jul 26 2019 Fedora Release Engineering - 1.36.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jul 04 2019 Josh Stone - 1.36.0-1 +- Update to 1.36.0. + +* Wed May 29 2019 Josh Stone - 1.35.0-2 +- Fix compiletest for rebuild testing. + +* Thu May 23 2019 Josh Stone - 1.35.0-1 +- Update to 1.35.0. + +* Tue May 14 2019 Josh Stone - 1.34.2-1 +- Update to 1.34.2 -- fixes CVE-2019-12083. + +* Tue Apr 30 2019 Josh Stone - 1.34.1-3 +- Set rust.codegen-units-std=1 + +* Fri Apr 26 2019 Josh Stone - 1.34.1-2 +- Remove the ThinLTO workaround. + +* Thu Apr 25 2019 Josh Stone - 1.34.1-1 +- Update to 1.34.1. +- Add a ThinLTO fix for rhbz1701339. + +* Thu Apr 11 2019 Josh Stone - 1.34.0-1 +- Update to 1.34.0. + +* Fri Mar 01 2019 Josh Stone - 1.33.0-2 +- Fix deprecations for self-rebuild + +* Thu Feb 28 2019 Josh Stone - 1.33.0-1 +- Update to 1.33.0. + +* Sat Feb 02 2019 Fedora Release Engineering - 1.32.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jan 17 2019 Josh Stone - 1.32.0-1 +- Update to 1.32.0. + +* Mon Jan 07 2019 Josh Stone - 1.31.1-9 +- Update to 1.31.1 for RLS fixes. + +* Thu Dec 06 2018 Josh Stone - 1.31.0-8 +- Update to 1.31.0 -- Rust 2018! +- clippy/rls/rustfmt are no longer -preview + +* Thu Nov 08 2018 Josh Stone - 1.30.1-7 +- Update to 1.30.1. + +* Thu Oct 25 2018 Josh Stone - 1.30.0-6 +- Update to 1.30.0. + +* Mon Oct 22 2018 Josh Stone - 1.29.2-5 +- Rebuild without bootstrap binaries. + +* Sat Oct 20 2018 Josh Stone - 1.29.2-4 +- Re-bootstrap armv7hl due to rhbz#1639485 + +* Fri Oct 12 2018 Josh Stone - 1.29.2-3 +- Update to 1.29.2. + +* Tue Sep 25 2018 Josh Stone - 1.29.1-2 +- Update to 1.29.1. +- Security fix for str::repeat (pending CVE). + +* Thu Sep 13 2018 Josh Stone - 1.29.0-1 +- Update to 1.29.0. +- Add a clippy-preview subpackage + +* Mon Aug 13 2018 Josh Stone - 1.28.0-3 +- Use llvm6.0 instead of llvm-7 for now + +* Tue Aug 07 2018 Josh Stone - 1.28.0-2 +- Rebuild for LLVM ppc64/s390x fixes + +* Thu Aug 02 2018 Josh Stone - 1.28.0-1 +- Update to 1.28.0. + +* Tue Jul 24 2018 Josh Stone - 1.27.2-4 +- Update to 1.27.2. + +* Sat Jul 14 2018 Fedora Release Engineering - 1.27.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jul 10 2018 Josh Stone - 1.27.1-2 +- Update to 1.27.1. +- Security fix for CVE-2018-1000622 + +* Thu Jun 21 2018 Josh Stone - 1.27.0-1 +- Update to 1.27.0. + +* Tue Jun 05 2018 Josh Stone - 1.26.2-4 +- Rebuild without bootstrap binaries. + +* Tue Jun 05 2018 Josh Stone - 1.26.2-3 +- Update to 1.26.2. +- Re-bootstrap to deal with LLVM symbol changes. + +* Tue May 29 2018 Josh Stone - 1.26.1-2 +- Update to 1.26.1. + +* Thu May 10 2018 Josh Stone - 1.26.0-1 +- Update to 1.26.0. + +* Mon Apr 16 2018 Dan Callaghan - 1.25.0-3 +- Add cargo, rls, and analysis + +* Tue Apr 10 2018 Josh Stone - 1.25.0-2 +- Filter codegen-backends from Provides too. + +* Thu Mar 29 2018 Josh Stone - 1.25.0-1 +- Update to 1.25.0. + +* Thu Mar 01 2018 Josh Stone - 1.24.1-1 +- Update to 1.24.1. + +* Wed Feb 21 2018 Josh Stone - 1.24.0-3 +- Backport a rebuild fix for rust#48308. + +* Mon Feb 19 2018 Josh Stone - 1.24.0-2 +- rhbz1546541: drop full-bootstrap; cmp libs before symlinking. +- Backport pr46592 to fix local_rebuild bootstrapping. +- Backport pr48362 to fix relative/absolute libdir. + +* Thu Feb 15 2018 Josh Stone - 1.24.0-1 +- Update to 1.24.0. + +* Mon Feb 12 2018 Iryna Shcherbina - 1.23.0-4 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Tue Feb 06 2018 Josh Stone - 1.23.0-3 +- Use full-bootstrap to work around a rebuild issue. +- Patch binaryen for GCC 8 + +* Thu Feb 01 2018 Igor Gnatenko - 1.23.0-2 +- Switch to %%ldconfig_scriptlets + +* Mon Jan 08 2018 Josh Stone - 1.23.0-1 +- Update to 1.23.0. + +* Thu Nov 23 2017 Josh Stone - 1.22.1-1 +- Update to 1.22.1. + +* Thu Oct 12 2017 Josh Stone - 1.21.0-1 +- Update to 1.21.0. + +* Mon Sep 11 2017 Josh Stone - 1.20.0-2 +- ABI fixes for ppc64 and s390x. + +* Thu Aug 31 2017 Josh Stone - 1.20.0-1 +- Update to 1.20.0. +- Add a rust-src subpackage. + +* Thu Aug 03 2017 Fedora Release Engineering - 1.19.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.19.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 24 2017 Josh Stone - 1.19.0-2 +- Use find-debuginfo.sh --keep-section .rustc + +* Thu Jul 20 2017 Josh Stone - 1.19.0-1 +- Update to 1.19.0. + +* Thu Jun 08 2017 Josh Stone - 1.18.0-1 +- Update to 1.18.0. + +* Mon May 08 2017 Josh Stone - 1.17.0-2 +- Move shared libraries back to libdir and symlink in rustlib + +* Thu Apr 27 2017 Josh Stone - 1.17.0-1 +- Update to 1.17.0. + +* Mon Mar 20 2017 Josh Stone - 1.16.0-3 +- Make rust-lldb arch-specific to deal with lldb deps + +* Fri Mar 17 2017 Josh Stone - 1.16.0-2 +- Limit rust-lldb arches + +* Thu Mar 16 2017 Josh Stone - 1.16.0-1 +- Update to 1.16.0. +- Use rustbuild instead of the old makefiles. +- Update bootstrapping to include rust-std and cargo. +- Add a rust-lldb subpackage. + +* Thu Feb 09 2017 Josh Stone - 1.15.1-1 +- Update to 1.15.1. +- Require rust-rpm-macros for new crate packaging. +- Keep shared libraries under rustlib/, only debug-stripped. +- Merge and clean up conditionals for epel7. + +* Fri Dec 23 2016 Josh Stone - 1.14.0-2 +- Rebuild without bootstrap binaries. + +* Thu Dec 22 2016 Josh Stone - 1.14.0-1 +- Update to 1.14.0. +- Rewrite bootstrap logic to target specific arches. +- Bootstrap ppc64, ppc64le, s390x. (thanks to Sinny Kumari for testing!) + +* Thu Nov 10 2016 Josh Stone - 1.13.0-1 +- Update to 1.13.0. +- Use hardening flags for linking. +- Split the standard library into its own package +- Centralize rustlib/ under /usr/lib/ for multilib integration. + +* Thu Oct 20 2016 Josh Stone - 1.12.1-1 +- Update to 1.12.1. + +* Fri Oct 14 2016 Josh Stone - 1.12.0-7 +- Rebuild with LLVM 3.9. +- Add ncurses-devel for llvm-config's -ltinfo. + +* Thu Oct 13 2016 Josh Stone - 1.12.0-6 +- Rebuild with llvm-static, preparing for 3.9 + +* Fri Oct 07 2016 Josh Stone - 1.12.0-5 +- Rebuild with fixed eu-strip (rhbz1380961) + +* Fri Oct 07 2016 Josh Stone - 1.12.0-4 +- Rebuild without bootstrap binaries. + +* Thu Oct 06 2016 Josh Stone - 1.12.0-3 +- Bootstrap aarch64. +- Use jemalloc's MALLOC_CONF to work around #36944. +- Apply pr36933 to really disable armv7hl NEON. + +* Sat Oct 01 2016 Josh Stone - 1.12.0-2 +- Protect .rustc from rpm stripping. + +* Fri Sep 30 2016 Josh Stone - 1.12.0-1 +- Update to 1.12.0. +- Always use --local-rust-root, even for bootstrap binaries. +- Remove the rebuild conditional - the build system now figures it out. +- Let minidebuginfo do its thing, since metadata is no longer a note. +- Let rust build its own compiler-rt builtins again. + +* Sat Sep 03 2016 Josh Stone - 1.11.0-3 +- Rebuild without bootstrap binaries. + +* Fri Sep 02 2016 Josh Stone - 1.11.0-2 +- Bootstrap armv7hl, with backported no-neon patch. + +* Wed Aug 24 2016 Josh Stone - 1.11.0-1 +- Update to 1.11.0. +- Drop the backported patches. +- Patch get-stage0.py to trust existing bootstrap binaries. +- Use libclang_rt.builtins from compiler-rt, dodging llvm-static issues. +- Use --local-rust-root to make sure the right bootstrap is used. + +* Sat Aug 13 2016 Josh Stone 1.10.0-4 +- Rebuild without bootstrap binaries. + +* Fri Aug 12 2016 Josh Stone - 1.10.0-3 +- Initial import into Fedora (#1356907), bootstrapped +- Format license text as suggested in review. +- Note how the tests already run in parallel. +- Undefine _include_minidebuginfo, because it duplicates ".note.rustc". +- Don't let checks fail the whole build. +- Note that -doc can't be noarch, as rpmdiff doesn't allow variations. + +* Tue Jul 26 2016 Josh Stone - 1.10.0-2 +- Update -doc directory ownership, and mark its licenses. +- Package and declare licenses for libbacktrace and hoedown. +- Set bootstrap_base as a global. +- Explicitly require python2. + +* Thu Jul 14 2016 Josh Stone - 1.10.0-1 +- Initial package, bootstrapped diff --git a/rustc-1.45.0-no-default-pie.patch b/rustc-1.45.0-no-default-pie.patch new file mode 100644 index 0000000..726df24 --- /dev/null +++ b/rustc-1.45.0-no-default-pie.patch @@ -0,0 +1,20 @@ +diff --git a/src/librustc_codegen_ssa/back/link.rs b/src/librustc_codegen_ssa/back/link.rs +index dcce1d45298c..5c11f7276f26 100644 +--- a/src/librustc_codegen_ssa/back/link.rs ++++ b/src/librustc_codegen_ssa/back/link.rs +@@ -1184,10 +1184,12 @@ fn exec_linker( + } + + fn link_output_kind(sess: &Session, crate_type: CrateType) -> LinkOutputKind { +- let kind = match (crate_type, sess.crt_static(Some(crate_type)), sess.relocation_model()) { +- (CrateType::Executable, false, RelocModel::Pic) => LinkOutputKind::DynamicPicExe, ++ // Only use PIE if explicity specified. ++ let explicit_pic = matches!(sess.opts.cg.relocation_model, Some(RelocModel::Pic)); ++ let kind = match (crate_type, sess.crt_static(Some(crate_type)), explicit_pic) { ++ (CrateType::Executable, false, true) => LinkOutputKind::DynamicPicExe, + (CrateType::Executable, false, _) => LinkOutputKind::DynamicNoPicExe, +- (CrateType::Executable, true, RelocModel::Pic) => LinkOutputKind::StaticPicExe, ++ (CrateType::Executable, true, true) => LinkOutputKind::StaticPicExe, + (CrateType::Executable, true, _) => LinkOutputKind::StaticNoPicExe, + (_, true, _) => LinkOutputKind::StaticDylib, + (_, false, _) => LinkOutputKind::DynamicDylib, diff --git a/rustc-1.47.0-disable-http2.patch b/rustc-1.47.0-disable-http2.patch new file mode 100644 index 0000000..e59c892 --- /dev/null +++ b/rustc-1.47.0-disable-http2.patch @@ -0,0 +1,66 @@ +--- rustc-1.47.0-src/Cargo.lock.orig 2020-10-08 12:21:40.516837553 -0700 ++++ rustc-1.47.0-src/Cargo.lock 2020-10-08 12:23:25.327581933 -0700 +@@ -837,7 +837,6 @@ + dependencies = [ + "cc", + "libc", +- "libnghttp2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", +@@ -1642,16 +1641,6 @@ + ] + + [[package]] +-name = "libnghttp2-sys" +-version = "0.1.4+1.41.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "03624ec6df166e79e139a2310ca213283d6b3c30810c54844f307086d4488df1" +-dependencies = [ +- "cc", +- "libc", +-] +- +-[[package]] + name = "libz-sys" + version = "1.0.27" + source = "registry+https://github.com/rust-lang/crates.io-index" +--- rustc-1.47.0-src/src/tools/cargo/Cargo.toml.orig 2020-10-07 01:04:03.000000000 -0700 ++++ rustc-1.47.0-src/src/tools/cargo/Cargo.toml 2020-10-08 12:22:17.830034534 -0700 +@@ -25,7 +25,7 @@ + crates-io = { path = "crates/crates-io", version = "0.31.1" } + crossbeam-utils = "0.7" + crypto-hash = "0.3.1" +-curl = { version = "0.4.23", features = ["http2"] } ++curl = { version = "0.4.23", features = [] } + curl-sys = "0.4.22" + env_logger = "0.7.0" + pretty_env_logger = { version = "0.4", optional = true } +--- rustc-1.47.0-src/src/tools/cargo/src/cargo/core/package.rs.orig 2020-10-07 01:04:03.000000000 -0700 ++++ rustc-1.47.0-src/src/tools/cargo/src/cargo/core/package.rs 2020-10-08 12:23:11.246884961 -0700 +@@ -396,14 +396,8 @@ + // Also note that pipelining is disabled as curl authors have indicated + // that it's buggy, and we've empirically seen that it's buggy with HTTP + // proxies. +- let mut multi = Multi::new(); +- let multiplexing = config.http_config()?.multiplexing.unwrap_or(true); +- multi +- .pipelining(false, multiplexing) +- .chain_err(|| "failed to enable multiplexing/pipelining in curl")?; +- +- // let's not flood crates.io with connections +- multi.set_max_host_connections(2)?; ++ let multi = Multi::new(); ++ let multiplexing = false; + + Ok(PackageSet { + packages: package_ids +@@ -566,7 +560,7 @@ + macro_rules! try_old_curl { + ($e:expr, $msg:expr) => { + let result = $e; +- if cfg!(target_os = "macos") { ++ if cfg!(any(target_os = "linux", target_os = "macos")) { + if let Err(e) = result { + warn!("ignoring libcurl {} error: {}", $msg, e); + } diff --git a/rustc-1.47.0-disable-libssh2.patch b/rustc-1.47.0-disable-libssh2.patch new file mode 100644 index 0000000..5a03b13 --- /dev/null +++ b/rustc-1.47.0-disable-libssh2.patch @@ -0,0 +1,42 @@ +--- rustc-1.47.0-src/Cargo.lock.orig 2020-10-07 00:53:22.000000000 -0700 ++++ rustc-1.47.0-src/Cargo.lock 2020-10-08 12:15:07.361298619 -0700 +@@ -1636,7 +1636,6 @@ + dependencies = [ + "cc", + "libc", +- "libssh2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", +@@ -1653,20 +1652,6 @@ + ] + + [[package]] +-name = "libssh2-sys" +-version = "0.2.18" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "eafa907407504b0e683786d4aba47acf250f114d37357d56608333fd167dd0fc" +-dependencies = [ +- "cc", +- "libc", +- "libz-sys", +- "openssl-sys", +- "pkg-config", +- "vcpkg", +-] +- +-[[package]] + name = "libz-sys" + version = "1.0.27" + source = "registry+https://github.com/rust-lang/crates.io-index" +--- rustc-1.47.0-src/vendor/git2/Cargo.toml.orig 2020-10-07 02:33:31.000000000 -0700 ++++ rustc-1.47.0-src/vendor/git2/Cargo.toml 2020-10-08 12:13:37.697228272 -0700 +@@ -49,7 +49,7 @@ + version = "0.1.39" + + [features] +-default = ["ssh", "https", "ssh_key_from_memory"] ++default = ["https"] + https = ["libgit2-sys/https", "openssl-sys", "openssl-probe"] + ssh = ["libgit2-sys/ssh"] + ssh_key_from_memory = ["libgit2-sys/ssh_key_from_memory"] diff --git a/sources b/sources new file mode 100644 index 0000000..748da43 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (rustc-1.47.0-src.tar.xz) = 6ba83c0158f8130ddeae7e070417a2121d8a548c8fe97e28bce116d84048636c75aaee78e0c92cd43a50f5679a1223fc226cc8c5ba9bbd1465e84c5c6034d5c9 diff --git a/sources-bootstrap b/sources-bootstrap new file mode 100644 index 0000000..2e17a5a --- /dev/null +++ b/sources-bootstrap @@ -0,0 +1,8 @@ +SHA512 (rustc-1.47.0-src.tar.xz) = 6ba83c0158f8130ddeae7e070417a2121d8a548c8fe97e28bce116d84048636c75aaee78e0c92cd43a50f5679a1223fc226cc8c5ba9bbd1465e84c5c6034d5c9 +SHA512 (rust-1.46.0-aarch64-unknown-linux-gnu.tar.xz) = 53e5d8afadaa9505286dce4acbb911126d17bc7bf45ea4685070ff07be7f6c7860e543a7686eeac695e7e3e127ca38ba2f09b73467fbf5f92d0b2195467c51f2 +SHA512 (rust-1.46.0-armv7-unknown-linux-gnueabihf.tar.xz) = c7e320fd5169c99bf8a12fb5bf1c5fb19a05d14f75ce655e4b64cad3456594ef09be1da7ac34a09b5d84da0c857d1a6e5a0695b5ff04cda491ea92fea15d28dc +SHA512 (rust-1.46.0-i686-unknown-linux-gnu.tar.xz) = b01e9b06c9de50e43bc6b5e1a5e6cc49dab1cf28b9cf0a8b974d2630c7ed4c6a5df6f321c872e11eb622c42f1d8cfaec77c1b67254a84365464fe3415acfa07f +SHA512 (rust-1.46.0-powerpc64le-unknown-linux-gnu.tar.xz) = 986f0bf7995f35836b73fb7045cf43ae5efe0c2543c75c66cdcc0f8c1dd3513def3c291e021241e328142deaca690ce113526ffc870c4412a7841f244258a43e +SHA512 (rust-1.46.0-powerpc64-unknown-linux-gnu.tar.xz) = 40f9423d838cab74b9920372e728c4ca7057005d83af587387dd2b164a0bf93de65cebc035320bce25f80914c63ce65b84218b9a776b0b905428e4cba0821b8b +SHA512 (rust-1.46.0-s390x-unknown-linux-gnu.tar.xz) = b6146695225ff6d0516e7bb6bc4620599356bb89b14f429a09d9d7f8715a94e8e218402346d5c9a10eeb54c0bdc40fb179289216b0cb4edd5bdf886f6b69aab4 +SHA512 (rust-1.46.0-x86_64-unknown-linux-gnu.tar.xz) = 95f5adc2d2137010c7e5ac8a0fc70485250b4f9a909cb8b164b35fffff76ab88e9b09d305bfac37324ed080c5fc7643001d2abec5454ca911dc3513f1af52c88