From f88be12b0c768fa992924c75ad5cfefd695c5922 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 19 Dec 2019 08:54:43 -0800 Subject: [PATCH] Update to 1.40.0. --- .gitignore | 8 + 0001-Hopefully-fix-rustdoc-build.patch | 38 -- ...-67242-ignore-arm-foreign-exceptions.patch | 10 + rust-pr65474-split-rustc-dev.patch | 479 ------------------ rust.spec | 33 +- sources | 2 +- sources-bootstrap | 16 +- 7 files changed, 41 insertions(+), 545 deletions(-) delete mode 100644 0001-Hopefully-fix-rustdoc-build.patch create mode 100644 rust-issue-67242-ignore-arm-foreign-exceptions.patch delete mode 100644 rust-pr65474-split-rustc-dev.patch diff --git a/.gitignore b/.gitignore index 65f499a..1c16ae6 100644 --- a/.gitignore +++ b/.gitignore @@ -236,3 +236,11 @@ /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 diff --git a/0001-Hopefully-fix-rustdoc-build.patch b/0001-Hopefully-fix-rustdoc-build.patch deleted file mode 100644 index 06ca58e..0000000 --- a/0001-Hopefully-fix-rustdoc-build.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 73369f32621f6a844a80a8513ae3ded901e4a406 Mon Sep 17 00:00:00 2001 -From: Mark Rousskov -Date: Tue, 5 Nov 2019 11:16:46 -0500 -Subject: [PATCH] Hopefully fix rustdoc build - -It's super unclear why this broke when we switched to beta but not -previously -- but at least it's hopefully fixed now. ---- - src/bootstrap/builder.rs | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs -index 2748903f2d47..2edcef203ad2 100644 ---- a/src/bootstrap/builder.rs -+++ b/src/bootstrap/builder.rs -@@ -886,7 +886,18 @@ impl<'a> Builder<'a> { - // things still build right, please do! - match mode { - Mode::Std => metadata.push_str("std"), -- _ => {}, -+ // When we're building rustc tools, they're built with a search path -+ // that contains things built during the rustc build. For example, -+ // bitflags is built during the rustc build, and is a dependency of -+ // rustdoc as well. We're building rustdoc in a different target -+ // directory, though, which means that Cargo will rebuild the -+ // dependency. When we go on to build rustdoc, we'll look for -+ // bitflags, and find two different copies: one built during the -+ // rustc step and one that we just built. This isn't always a -+ // problem, somehow -- not really clear why -- but we know that this -+ // fixes things. -+ Mode::ToolRustc => metadata.push_str("tool-rustc"), -+ _ => {} - } - cargo.env("__CARGO_DEFAULT_LIB_METADATA", &metadata); - --- -2.23.0 - diff --git a/rust-issue-67242-ignore-arm-foreign-exceptions.patch b/rust-issue-67242-ignore-arm-foreign-exceptions.patch new file mode 100644 index 0000000..127c435 --- /dev/null +++ b/rust-issue-67242-ignore-arm-foreign-exceptions.patch @@ -0,0 +1,10 @@ +--- rustc-beta-src/src/test/run-make-fulldeps/foreign-exceptions/Makefile.orig 2019-12-07 18:36:56.000000000 -0800 ++++ rustc-beta-src/src/test/run-make-fulldeps/foreign-exceptions/Makefile 2019-12-12 15:49:24.655515206 -0800 +@@ -1,3 +1,7 @@ ++# ignore-arm ++# ignore-armeb ++# https://github.com/rust-lang/rust/issues/67242 ++ + -include ../tools.mk + + all: foo diff --git a/rust-pr65474-split-rustc-dev.patch b/rust-pr65474-split-rustc-dev.patch deleted file mode 100644 index 7e1c57a..0000000 --- a/rust-pr65474-split-rustc-dev.patch +++ /dev/null @@ -1,479 +0,0 @@ -From 8e0007f829661e57d008d2e908c95f6e84b04b25 Mon Sep 17 00:00:00 2001 -From: bors -Date: Thu, 24 Oct 2019 07:27:00 +0000 -Subject: [PATCH] Auto merge of #65474 - Mark-Simulacrum:rustc-dev-split, - r=pietroalbini - -Split the rustc target libraries into separate rustc-dev component - -This is re-applies a squashed version of #64823 as well as including #65337 to fix bugs noted after merging the first PR. - -The second PR is confirmed as fixing windows-gnu, and presumably also fixes other platforms, such as musl (i.e. #65335 should be fixed); `RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly-2019-10-16` can be installed to confirm that this is indeed the case. - -diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs -index b8071b98f707..2748903f2d47 100644 ---- a/src/bootstrap/builder.rs -+++ b/src/bootstrap/builder.rs -@@ -443,6 +443,7 @@ impl<'a> Builder<'a> { - dist::Rustc, - dist::DebuggerScripts, - dist::Std, -+ dist::RustcDev, - dist::Analysis, - dist::Src, - dist::PlainSourceTarball, -diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs -index cadb9a7e441f..df1c72575846 100644 ---- a/src/bootstrap/check.rs -+++ b/src/bootstrap/check.rs -@@ -55,6 +55,7 @@ impl Step for Std { - cargo, - args(builder.kind), - &libstd_stamp(builder, compiler, target), -+ vec![], - true); - - let libdir = builder.sysroot_libdir(compiler, target); -@@ -103,6 +104,7 @@ impl Step for Rustc { - cargo, - args(builder.kind), - &librustc_stamp(builder, compiler, target), -+ vec![], - true); - - let libdir = builder.sysroot_libdir(compiler, target); -@@ -155,6 +157,7 @@ impl Step for CodegenBackend { - cargo, - args(builder.kind), - &codegen_backend_stamp(builder, compiler, target, backend), -+ vec![], - true); - } - } -@@ -199,6 +202,7 @@ impl Step for Rustdoc { - cargo, - args(builder.kind), - &rustdoc_stamp(builder, compiler, target), -+ vec![], - true); - - let libdir = builder.sysroot_libdir(compiler, target); -diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs -index 5074b035789a..da8d43ed49b7 100644 ---- a/src/bootstrap/compile.rs -+++ b/src/bootstrap/compile.rs -@@ -69,7 +69,7 @@ impl Step for Std { - return; - } - -- builder.ensure(StartupObjects { compiler, target }); -+ let mut target_deps = builder.ensure(StartupObjects { compiler, target }); - - let compiler_to_use = builder.compiler_for(compiler.stage, compiler.host, target); - if compiler_to_use != compiler { -@@ -91,7 +91,7 @@ impl Step for Std { - return; - } - -- copy_third_party_objects(builder, &compiler, target); -+ target_deps.extend(copy_third_party_objects(builder, &compiler, target).into_iter()); - - let mut cargo = builder.cargo(compiler, Mode::Std, target, "build"); - std_cargo(builder, &compiler, target, &mut cargo); -@@ -102,6 +102,7 @@ impl Step for Std { - cargo, - vec![], - &libstd_stamp(builder, compiler, target), -+ target_deps, - false); - - builder.ensure(StdLink { -@@ -113,9 +114,22 @@ impl Step for Std { - } - - /// Copies third pary objects needed by various targets. --fn copy_third_party_objects(builder: &Builder<'_>, compiler: &Compiler, target: Interned) { -+fn copy_third_party_objects(builder: &Builder<'_>, compiler: &Compiler, target: Interned) -+ -> Vec -+{ - let libdir = builder.sysroot_libdir(*compiler, target); - -+ let mut target_deps = vec![]; -+ -+ let mut copy_and_stamp = |sourcedir: &Path, name: &str| { -+ let target = libdir.join(name); -+ builder.copy( -+ &sourcedir.join(name), -+ &target, -+ ); -+ target_deps.push(target); -+ }; -+ - // Copies the crt(1,i,n).o startup objects - // - // Since musl supports fully static linking, we can cross link for it even -@@ -123,19 +137,13 @@ fn copy_third_party_objects(builder: &Builder<'_>, compiler: &Compiler, target: - // files. As those shipped with glibc won't work, copy the ones provided by - // musl so we have them on linux-gnu hosts. - if target.contains("musl") { -+ let srcdir = builder.musl_root(target).unwrap().join("lib"); - for &obj in &["crt1.o", "crti.o", "crtn.o"] { -- builder.copy( -- &builder.musl_root(target).unwrap().join("lib").join(obj), -- &libdir.join(obj), -- ); -+ copy_and_stamp(&srcdir, obj); - } - } else if target.ends_with("-wasi") { -- for &obj in &["crt1.o"] { -- builder.copy( -- &builder.wasi_root(target).unwrap().join("lib/wasm32-wasi").join(obj), -- &libdir.join(obj), -- ); -- } -+ let srcdir = builder.wasi_root(target).unwrap().join("lib/wasm32-wasi"); -+ copy_and_stamp(&srcdir, "crt1.o"); - } - - // Copies libunwind.a compiled to be linked wit x86_64-fortanix-unknown-sgx. -@@ -145,11 +153,11 @@ fn copy_third_party_objects(builder: &Builder<'_>, compiler: &Compiler, target: - // which is provided by std for this target. - if target == "x86_64-fortanix-unknown-sgx" { - let src_path_env = "X86_FORTANIX_SGX_LIBS"; -- let obj = "libunwind.a"; - let src = env::var(src_path_env).expect(&format!("{} not found in env", src_path_env)); -- let src = Path::new(&src).join(obj); -- builder.copy(&src, &libdir.join(obj)); -+ copy_and_stamp(Path::new(&src), "libunwind.a"); - } -+ -+ target_deps - } - - /// Configure cargo to compile the standard library, adding appropriate env vars -@@ -306,7 +314,7 @@ pub struct StartupObjects { - } - - impl Step for StartupObjects { -- type Output = (); -+ type Output = Vec; - - fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { - run.path("src/rtstartup") -@@ -325,13 +333,15 @@ impl Step for StartupObjects { - /// They don't require any library support as they're just plain old object - /// files, so we just use the nightly snapshot compiler to always build them (as - /// no other compilers are guaranteed to be available). -- fn run(self, builder: &Builder<'_>) { -+ fn run(self, builder: &Builder<'_>) -> Vec { - let for_compiler = self.compiler; - let target = self.target; - if !target.contains("windows-gnu") { -- return -+ return vec![] - } - -+ let mut target_deps = vec![]; -+ - let src_dir = &builder.src.join("src/rtstartup"); - let dst_dir = &builder.native_dir(target).join("rtstartup"); - let sysroot_dir = &builder.sysroot_libdir(for_compiler, target); -@@ -350,7 +360,9 @@ impl Step for StartupObjects { - .arg(src_file)); - } - -- builder.copy(dst_file, &sysroot_dir.join(file.to_string() + ".o")); -+ let target = sysroot_dir.join(file.to_string() + ".o"); -+ builder.copy(dst_file, &target); -+ target_deps.push(target); - } - - for obj in ["crt2.o", "dllcrt2.o"].iter() { -@@ -358,8 +370,12 @@ impl Step for StartupObjects { - builder.cc(target), - target, - obj); -- builder.copy(&src, &sysroot_dir.join(obj)); -+ let target = sysroot_dir.join(obj); -+ builder.copy(&src, &target); -+ target_deps.push(target); - } -+ -+ target_deps - } - } - -@@ -437,6 +453,7 @@ impl Step for Rustc { - cargo, - vec![], - &librustc_stamp(builder, compiler, target), -+ vec![], - false); - - builder.ensure(RustcLink { -@@ -585,7 +602,7 @@ impl Step for CodegenBackend { - - let tmp_stamp = out_dir.join(".tmp.stamp"); - -- let files = run_cargo(builder, cargo, vec![], &tmp_stamp, false); -+ let files = run_cargo(builder, cargo, vec![], &tmp_stamp, vec![], false); - if builder.config.dry_run { - return; - } -@@ -941,6 +958,7 @@ pub fn run_cargo(builder: &Builder<'_>, - cargo: Cargo, - tail_args: Vec, - stamp: &Path, -+ additional_target_deps: Vec, - is_check: bool) - -> Vec - { -@@ -1057,6 +1075,7 @@ pub fn run_cargo(builder: &Builder<'_>, - deps.push((path_to_add.into(), false)); - } - -+ deps.extend(additional_target_deps.into_iter().map(|d| (d, false))); - deps.sort(); - let mut new_contents = Vec::new(); - for (dep, proc_macro) in deps.iter() { -diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs -index 514ad1144491..93143570b0fe 100644 ---- a/src/bootstrap/dist.rs -+++ b/src/bootstrap/dist.rs -@@ -637,6 +637,28 @@ impl Step for DebuggerScripts { - } - } - -+fn skip_host_target_lib(builder: &Builder<'_>, compiler: Compiler) -> bool { -+ // The only true set of target libraries came from the build triple, so -+ // let's reduce redundant work by only producing archives from that host. -+ if compiler.host != builder.config.build { -+ builder.info("\tskipping, not a build host"); -+ true -+ } else { -+ false -+ } -+} -+ -+/// Copy stamped files into an image's `target/lib` directory. -+fn copy_target_libs(builder: &Builder<'_>, target: &str, image: &Path, stamp: &Path) { -+ let dst = image.join("lib/rustlib").join(target).join("lib"); -+ t!(fs::create_dir_all(&dst)); -+ for (path, host) in builder.read_stamp_file(stamp) { -+ if !host || builder.config.build == target { -+ builder.copy(&path, &dst.join(path.file_name().unwrap())); -+ } -+ } -+} -+ - #[derive(Debug, PartialOrd, Ord, Copy, Clone, Hash, PartialEq, Eq)] - pub struct Std { - pub compiler: Compiler, -@@ -667,44 +689,19 @@ impl Step for Std { - let target = self.target; - - let name = pkgname(builder, "rust-std"); -- -- // The only true set of target libraries came from the build triple, so -- // let's reduce redundant work by only producing archives from that host. -- if compiler.host != builder.config.build { -- builder.info("\tskipping, not a build host"); -- return distdir(builder).join(format!("{}-{}.tar.gz", name, target)); -+ let archive = distdir(builder).join(format!("{}-{}.tar.gz", name, target)); -+ if skip_host_target_lib(builder, compiler) { -+ return archive; - } - -- // We want to package up as many target libraries as possible -- // for the `rust-std` package, so if this is a host target we -- // depend on librustc and otherwise we just depend on libtest. -- if builder.hosts.iter().any(|t| t == target) { -- builder.ensure(compile::Rustc { compiler, target }); -- } else { -- builder.ensure(compile::Std { compiler, target }); -- } -+ builder.ensure(compile::Std { compiler, target }); - - let image = tmpdir(builder).join(format!("{}-{}-image", name, target)); - let _ = fs::remove_dir_all(&image); - -- let dst = image.join("lib/rustlib").join(target); -- t!(fs::create_dir_all(&dst)); -- let mut src = builder.sysroot_libdir(compiler, target).to_path_buf(); -- src.pop(); // Remove the trailing /lib folder from the sysroot_libdir -- builder.cp_filtered(&src, &dst, &|path| { -- if let Some(name) = path.file_name().and_then(|s| s.to_str()) { -- if name == builder.config.rust_codegen_backends_dir.as_str() { -- return false -- } -- if name == "bin" { -- return false -- } -- if name.contains("LLVM") { -- return false -- } -- } -- true -- }); -+ let compiler_to_use = builder.compiler_for(compiler.stage, compiler.host, target); -+ let stamp = compile::libstd_stamp(builder, compiler_to_use, target); -+ copy_target_libs(builder, &target, &image, &stamp); - - let mut cmd = rust_installer(builder); - cmd.arg("generate") -@@ -723,7 +720,73 @@ impl Step for Std { - let _time = timeit(builder); - builder.run(&mut cmd); - builder.remove_dir(&image); -- distdir(builder).join(format!("{}-{}.tar.gz", name, target)) -+ archive -+ } -+} -+ -+#[derive(Debug, PartialOrd, Ord, Copy, Clone, Hash, PartialEq, Eq)] -+pub struct RustcDev { -+ pub compiler: Compiler, -+ pub target: Interned, -+} -+ -+impl Step for RustcDev { -+ type Output = PathBuf; -+ const DEFAULT: bool = true; -+ const ONLY_HOSTS: bool = true; -+ -+ fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { -+ run.path("rustc-dev") -+ } -+ -+ fn make_run(run: RunConfig<'_>) { -+ run.builder.ensure(RustcDev { -+ compiler: run.builder.compiler_for( -+ run.builder.top_stage, -+ run.builder.config.build, -+ run.target, -+ ), -+ target: run.target, -+ }); -+ } -+ -+ fn run(self, builder: &Builder<'_>) -> PathBuf { -+ let compiler = self.compiler; -+ let target = self.target; -+ -+ let name = pkgname(builder, "rustc-dev"); -+ let archive = distdir(builder).join(format!("{}-{}.tar.gz", name, target)); -+ if skip_host_target_lib(builder, compiler) { -+ return archive; -+ } -+ -+ builder.ensure(compile::Rustc { compiler, target }); -+ -+ let image = tmpdir(builder).join(format!("{}-{}-image", name, target)); -+ let _ = fs::remove_dir_all(&image); -+ -+ let compiler_to_use = builder.compiler_for(compiler.stage, compiler.host, target); -+ let stamp = compile::librustc_stamp(builder, compiler_to_use, target); -+ copy_target_libs(builder, &target, &image, &stamp); -+ -+ let mut cmd = rust_installer(builder); -+ cmd.arg("generate") -+ .arg("--product-name=Rust") -+ .arg("--rel-manifest-dir=rustlib") -+ .arg("--success-message=Rust-is-ready-to-develop.") -+ .arg("--image-dir").arg(&image) -+ .arg("--work-dir").arg(&tmpdir(builder)) -+ .arg("--output-dir").arg(&distdir(builder)) -+ .arg(format!("--package-name={}-{}", name, target)) -+ .arg(format!("--component-name=rustc-dev-{}", target)) -+ .arg("--legacy-manifest-dirs=rustlib,cargo"); -+ -+ builder.info(&format!("Dist rustc-dev stage{} ({} -> {})", -+ compiler.stage, &compiler.host, target)); -+ let _time = timeit(builder); -+ builder.run(&mut cmd); -+ builder.remove_dir(&image); -+ archive - } - } - -diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs -index a182405f3b2d..d1cf1cbca784 100644 ---- a/src/bootstrap/lib.rs -+++ b/src/bootstrap/lib.rs -@@ -1137,6 +1137,7 @@ impl Build { - pub fn copy(&self, src: &Path, dst: &Path) { - if self.config.dry_run { return; } - self.verbose_than(1, &format!("Copy {:?} to {:?}", src, dst)); -+ if src == dst { return; } - let _ = fs::remove_file(&dst); - let metadata = t!(src.symlink_metadata()); - if metadata.file_type().is_symlink() { -diff --git a/src/tools/build-manifest/src/main.rs b/src/tools/build-manifest/src/main.rs -index f41e7dd17ede..c0d2deab2f8b 100644 ---- a/src/tools/build-manifest/src/main.rs -+++ b/src/tools/build-manifest/src/main.rs -@@ -399,6 +399,7 @@ impl Builder { - fn add_packages_to(&mut self, manifest: &mut Manifest) { - let mut package = |name, targets| self.package(name, &mut manifest.pkg, targets); - package("rustc", HOSTS); -+ package("rustc-dev", HOSTS); - package("cargo", HOSTS); - package("rust-mingw", MINGW); - package("rust-std", TARGETS); -@@ -426,6 +427,13 @@ impl Builder { - "rls-preview", "rust-src", "llvm-tools-preview", - "lldb-preview", "rust-analysis", "miri-preview" - ]); -+ -+ // The compiler libraries are not stable for end users, but `rustc-dev` was only recently -+ // split out of `rust-std`. We'll include it by default as a transition for nightly users. -+ if self.rust_release == "nightly" { -+ self.extend_profile("default", &mut manifest.profiles, &["rustc-dev"]); -+ self.extend_profile("complete", &mut manifest.profiles, &["rustc-dev"]); -+ } - } - - fn add_renames_to(&self, manifest: &mut Manifest) { -@@ -481,6 +489,15 @@ impl Builder { - components.push(host_component("rust-mingw")); - } - -+ // The compiler libraries are not stable for end users, but `rustc-dev` was only recently -+ // split out of `rust-std`. We'll include it by default as a transition for nightly users, -+ // but ship it as an optional component on the beta and stable channels. -+ if self.rust_release == "nightly" { -+ components.push(host_component("rustc-dev")); -+ } else { -+ extensions.push(host_component("rustc-dev")); -+ } -+ - // Tools are always present in the manifest, - // but might be marked as unavailable if they weren't built. - extensions.extend(vec![ -@@ -498,6 +515,11 @@ impl Builder { - .filter(|&&target| target != host) - .map(|target| Component::from_str("rust-std", target)) - ); -+ extensions.extend( -+ HOSTS.iter() -+ .filter(|&&target| target != host) -+ .map(|target| Component::from_str("rustc-dev", target)) -+ ); - extensions.push(Component::from_str("rust-src", "*")); - - // If the components/extensions don't actually exist for this -@@ -534,6 +556,14 @@ impl Builder { - dst.insert(profile_name.to_owned(), pkgs.iter().map(|s| (*s).to_owned()).collect()); - } - -+ fn extend_profile(&mut self, -+ profile_name: &str, -+ dst: &mut BTreeMap>, -+ pkgs: &[&str]) { -+ dst.get_mut(profile_name).expect("existing profile") -+ .extend(pkgs.iter().map(|s| (*s).to_owned())); -+ } -+ - fn package(&mut self, - pkgname: &str, - dst: &mut BTreeMap, diff --git a/rust.spec b/rust.spec index 5309f63..3813405 100644 --- a/rust.spec +++ b/rust.spec @@ -9,10 +9,10 @@ # 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.38.0 -%global bootstrap_cargo 1.38.0 -%global bootstrap_channel 1.38.0 -%global bootstrap_date 2019-09-26 +%global bootstrap_rust 1.39.0 +%global bootstrap_cargo 1.39.0 +%global bootstrap_channel 1.39.0 +%global bootstrap_date 2019-11-07 # Only the specified arches will use bootstrap binaries. #global bootstrap_arches %%{rust_arches} @@ -48,8 +48,8 @@ %endif Name: rust -Version: 1.39.0 -Release: 2%{?dist} +Version: 1.40.0 +Release: 1%{?dist} Summary: The Rust Programming Language License: (ASL 2.0 or MIT) and (BSD and MIT) # ^ written as: (rust itself) and (bundled libraries) @@ -67,17 +67,13 @@ Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz # We do have the necessary fix in our LLVM 7. Patch1: rust-pr57840-llvm7-debuginfo-variants.patch -# Reduce the size of rust-std -# https://github.com/rust-lang/rust/pull/65474 -Patch2: rust-pr65474-split-rustc-dev.patch - -# Fix conflicting libraries of rustc tools -# https://github.com/rust-lang/rust/commit/73369f32621f6a844a80a8513ae3ded901e4a406 -Patch3: 0001-Hopefully-fix-rustdoc-build.patch - # Fix the bindir used by rustdoc to find rustc # https://github.com/rust-lang/rust/pull/66317 -Patch4: rust-pr66317-bindir-relative.patch +Patch2: rust-pr66317-bindir-relative.patch + +# ARM loops when C++ tries to catch and rethrow a Rust exception +# https://github.com/rust-lang/rust/issues/67242 +Patch3: rust-issue-67242-ignore-arm-foreign-exceptions.patch # Get the Rust triple for any arch. %{lua: function rust_triple(arch) @@ -411,7 +407,6 @@ test -f '%{local_rust_root}/bin/rustc' %patch1 -p1 -R %patch2 -p1 %patch3 -p1 -%patch4 -p1 %if "%{python}" == "python3" sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure @@ -421,9 +416,6 @@ sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure rm -rf src/llvm-project/ %endif -# We never enable emscripten. -rm -rf src/llvm-emscripten/ - # Remove other unused vendored libraries rm -rf vendor/curl-sys/curl/ rm -rf vendor/jemalloc-sys/jemalloc/ @@ -721,6 +713,9 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* %changelog +* 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. diff --git a/sources b/sources index 3be13be..f2f74e3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rustc-1.39.0-src.tar.xz) = 8610b2ec77722087c572bd84ac562a5b7c5f1a644aea58c5d5daa07a9aed242703b7816e73e2eaa049f773d5907859e259744a0de700622df005584fd798dab0 +SHA512 (rustc-1.40.0-src.tar.xz) = b5ac3079acefb62d3c985b77f624d7fb68de23a59396fed9ccb292db61641c064f3146ee54d3cf59067b17ebfaadd14a6b2b466def60316bb5b13ba3aef01e1f diff --git a/sources-bootstrap b/sources-bootstrap index 820432c..b6006b2 100644 --- a/sources-bootstrap +++ b/sources-bootstrap @@ -1,8 +1,8 @@ -SHA512 (rustc-1.39.0-src.tar.xz) = 8610b2ec77722087c572bd84ac562a5b7c5f1a644aea58c5d5daa07a9aed242703b7816e73e2eaa049f773d5907859e259744a0de700622df005584fd798dab0 -SHA512 (rust-1.38.0-aarch64-unknown-linux-gnu.tar.xz) = c9dea8907d05af938c1936139c1fb8673d0db90503552f53645d71637bb7248263fd20b1c16db140694b2d467a12c474015a2077d9b26c782b44e965a01544c6 -SHA512 (rust-1.38.0-armv7-unknown-linux-gnueabihf.tar.xz) = ddbb2c8d2e7112c5871155890c8308080ac800795c685c4b4d06b9dd8c5abd28ee13961686c9be465d1bbd33d476c6478b90af8de0ca5a451f8b07eaff42f97d -SHA512 (rust-1.38.0-i686-unknown-linux-gnu.tar.xz) = ffdea264378510c6df687a173211427f4cb5930553c9d14e33c5776b0e15d435d1be719bba8a1db50f50a3171a38802e090451dc92a6ea764cc8fdca24651f24 -SHA512 (rust-1.38.0-powerpc64le-unknown-linux-gnu.tar.xz) = 5f3e1dd233ef17d8a296dcb55738fa119e40c32b154a7575f149bf1475b64e34f7e805f206b9862dc6499be470f179290d8abb7ad8d2b5cb355cef03d95ae374 -SHA512 (rust-1.38.0-powerpc64-unknown-linux-gnu.tar.xz) = 26240976834e510fa5a47c35b747b42db4651ea8decdb5498704432c9a21563e603046994fcc2b070d06361bf2c36fe02a15c7f02d88161b299a410f1995983a -SHA512 (rust-1.38.0-s390x-unknown-linux-gnu.tar.xz) = 7af64849236e0173d2aea723f3462682fde7d2e1e04d61c28d215163415e1b15cfb8cac57010ce55bdd928ea74076506ef50376d7550999e0fb00f9d20c4f5ff -SHA512 (rust-1.38.0-x86_64-unknown-linux-gnu.tar.xz) = 0b25c3049a7a213e9151c898979ec9b5b45e46a9072f9853d8f048cf401ef7ac343526d6919e68607a490e3e7bd0375b12ed9fb253caed26bb60f46473d3699b +SHA512 (rustc-1.40.0-src.tar.xz) = b5ac3079acefb62d3c985b77f624d7fb68de23a59396fed9ccb292db61641c064f3146ee54d3cf59067b17ebfaadd14a6b2b466def60316bb5b13ba3aef01e1f +SHA512 (rust-1.39.0-aarch64-unknown-linux-gnu.tar.xz) = ad37a8454acb8985a5c2b42d7f8bc4212651a16fb5af6b4314dd97faa47de79893f2f74b516af89cd7e77ef3db64247c4764585eb0a17ac328c9cba5e5b9c407 +SHA512 (rust-1.39.0-armv7-unknown-linux-gnueabihf.tar.xz) = db2b001a5587e2d5c8cdcb53c974f2332e76f58e362cba55fc971d7244754f1fa0b7e708ad7e73e7250652b442f06929dc1e8981536d7d76850b45ade275d406 +SHA512 (rust-1.39.0-i686-unknown-linux-gnu.tar.xz) = 930546e79c0b1105eb0604ae33ccdbd8b00b56e56d069f19f0d802093a052fd3f940eaf1390cdecd79833b0c70457ebfee2ce3b9674fff72df1367076584394a +SHA512 (rust-1.39.0-powerpc64le-unknown-linux-gnu.tar.xz) = e15585150370514e580e171faa749218aeef04ce0493f5ad3928a0cb6cd0bddbf7c75ba8ed0783a2c954bbd7166e0445b4c33be4ab48479b0104f032b3d4b0af +SHA512 (rust-1.39.0-powerpc64-unknown-linux-gnu.tar.xz) = ff99ad6b120631346af8afac092f8b620e50fb8e118ef1e0ff5668103c01f4b9f082fae72e31a767be35d0647fd9fecc7e6b7b215bb1906e06b20bf3e2685619 +SHA512 (rust-1.39.0-s390x-unknown-linux-gnu.tar.xz) = d2b588f802d4fbe153dbd88cb745d34d1f5434cb3134cc9e091ebfb336a48b4c886cd80311cf92b5e1c6a16374302853a67e8a0576b02a89dbcf61d27919a045 +SHA512 (rust-1.39.0-x86_64-unknown-linux-gnu.tar.xz) = 02ca6c821877379d8bd0bcc38281a87e6f86bdbae1270da19e41336cc3a812d9c11c1e976655c192c39153f92cda90ddbd7b4b0bcb4f6787d6d354d2be827a8a