ports/lang/rust/files/patch-vendor_cc.rs
Mikael Urankar 11e425bbfd lang/rust: Update to 1.86.0
Announce:	https://blog.rust-lang.org/2025/04/03/Rust-1.86.0.html
ChangeLog:	https://github.com/rust-lang/rust/releases/tag/1.86.0

Put back rustdoc in _RUST_TOOLS, rustdoc is an integral part of cargo
and has no connection with DOCS.

PR:		285381,285840
Tested by:	mikael,pkubaj
2025-04-08 10:41:10 +02:00

75 lines
4.9 KiB
Rust

When the compiler has "clang" in its name the cc crate will pass
an LLVM target triple to it. Rust uses a triple that lacks the OS
version and LLVM will default to FreeBSD 9 behavior, i.e., it will
default to libstdc++ which is no longer available in newer releases.
To avoid this issue assume we have a GNU compatible toolchain instead
until LLVM can be updated to use libc++ by default.
https://reviews.llvm.org/D77776
--- vendor/cc-1.0.99/src/tool.rs.orig 2024-05-09 18:20:47 UTC
+++ vendor/cc-1.0.99/src/tool.rs
@@ -151,9 +151,7 @@ impl Tool {
match (clang, accepts_cl_style_flags, gcc) {
(clang_cl, true, _) => Ok(ToolFamily::Msvc { clang_cl }),
- (true, false, _) => Ok(ToolFamily::Clang {
- zig_cc: is_zig_cc(path, cargo_output),
- }),
+ (true, false, _) => Ok(ToolFamily::Gnu),
(false, false, true) => Ok(ToolFamily::Gnu),
(false, false, false) => {
cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__` or `_MSC_VER`, fallback to treating it as GNU");
--- vendor/cc-1.1.22/src/tool.rs.orig 2024-05-09 18:20:47 UTC
+++ vendor/cc-1.1.22/src/tool.rs
@@ -174,9 +174,7 @@ impl Tool {
match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) {
(clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }),
- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang {
- zig_cc: is_zig_cc(path, cargo_output),
- }),
+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu),
(false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu),
(false, false, false, false, false) => {
cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU");
--- vendor/cc-1.2.0/src/tool.rs.orig 2024-05-09 18:20:47 UTC
+++ vendor/cc-1.2.0/src/tool.rs
@@ -174,9 +174,7 @@ impl Tool {
match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) {
(clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }),
- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang {
- zig_cc: is_zig_cc(path, cargo_output),
- }),
+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu),
(false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu),
(false, false, false, false, false) => {
cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU");
--- vendor/cc-1.2.10/src/tool.rs.orig 2024-05-09 18:20:47 UTC
+++ vendor/cc-1.2.10/src/tool.rs
@@ -174,9 +174,7 @@ impl Tool {
match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) {
(clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }),
- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang {
- zig_cc: is_zig_cc(path, cargo_output),
- }),
+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu),
(false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu),
(false, false, false, false, false) => {
cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU");
--- vendor/cc-1.2.13/src/tool.rs.orig 2024-05-09 18:20:47 UTC
+++ vendor/cc-1.2.13/src/tool.rs
@@ -174,9 +174,7 @@ impl Tool {
match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) {
(clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }),
- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang {
- zig_cc: is_zig_cc(path, cargo_output),
- }),
+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu),
(false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu),
(false, false, false, false, false) => {
cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU");