From aa8061d1c1a2f583f73aab0d631dec7a7d8afa0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Date: Sun, 16 Sep 2018 07:57:08 +0000 Subject: lang/rust: Update to 1.29.0 Release notes: * https://blog.rust-lang.org/2018/07/20/Rust-1.27.2.html * https://blog.rust-lang.org/2018/08/02/Rust-1.28.html * https://blog.rust-lang.org/2018/09/13/Rust-1.29.html Up to and including Rust 1.27.x, the Rust build system shelled out to a configure script to detect the presence and usability of libunwind. Since Rust 1.28.0, it's using a static result in a `build.rs` file and expects libunwind to be used. It was not the case on FreeBSD so far, so we need a patch to this `build.rs` to disable that. We still need to study if the FreeBSD port should use libunwind and what to do with this patch. But this problem prevented the update to Rust 1.28.0 already, so enough delay. The update also comes with a patch to a few `USE_GECKO`-based ports such as Firefox [1]. Their configure script has some asumptions on the output of `rustc --print target-list` which are not true anymore. The patch was already committed upstream. The aarch64 version is still marked as BROKEN because I didn't find the time to work on it. As a consequence, there is also no aarch64 bootstrap for Rust 1.29.0. PR: 229826 Approved by: jbeich [1] Obtained from: https://bugzilla.mozilla.org/show_bug.cgi?id=1479540 [1] Differential Revision: https://reviews.freebsd.org/D17178 --- lang/rust/files/patch-src_libstd_build.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 lang/rust/files/patch-src_libstd_build.rs (limited to 'lang/rust/files/patch-src_libstd_build.rs') diff --git a/lang/rust/files/patch-src_libstd_build.rs b/lang/rust/files/patch-src_libstd_build.rs new file mode 100644 index 000000000000..89f1bf7b0221 --- /dev/null +++ b/lang/rust/files/patch-src_libstd_build.rs @@ -0,0 +1,22 @@ +--- src/libstd/build.rs.orig 2018-09-03 18:29:12 UTC ++++ src/libstd/build.rs +@@ -94,13 +94,18 @@ fn build_libbacktrace(target: &str) -> Result<(), ()> + .out_dir(&native.out_dir) + .warnings(false) + .file("../libbacktrace/alloc.c") +- .file("../libbacktrace/backtrace.c") + .file("../libbacktrace/dwarf.c") + .file("../libbacktrace/fileline.c") + .file("../libbacktrace/posix.c") + .file("../libbacktrace/read.c") + .file("../libbacktrace/sort.c") + .file("../libbacktrace/state.c"); ++ ++ if target.contains("freebsd") { ++ build.file("../libbacktrace/nounwind.c"); ++ } else { ++ build.file("../libbacktrace/backtrace.c"); ++ } + + if target.contains("darwin") { + build.file("../libbacktrace/macho.c"); -- cgit v1.2.3