diff options
author | Evgeniy Khramtsov <evgeniy@khramtsov.org> | 2021-09-30 22:34:51 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2021-10-02 00:10:14 +0000 |
commit | dcc587e70268eb898aecad53ab9d08ea50e0bbab (patch) | |
tree | c5f30072d9b1428001dcc01f6301856ee886c46e | |
parent | 60e307c2638a6f1792215695017e9ae185cc70f4 (diff) |
www/firefox: unbreak build with devel/llvm13 (lacks patch-D77776)
Restore patch-bug1628567 to unbreak glslopt crate build due to cc crate
passing Rust target "x86_64-unknown-freebsd" without OS version to clang++:
[glslopt 0.1.9] cargo:warning=/wrkdirs/usr/ports/www/firefox/work/.build/
ist/system_wrappers/new:3:15: fatal error: 'new' file not found
[glslopt 0.1.9] cargo:warning=#include_next <new>
PR: 258837
-rw-r--r-- | www/firefox/files/patch-bug1628567 | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/www/firefox/files/patch-bug1628567 b/www/firefox/files/patch-bug1628567 new file mode 100644 index 000000000000..32b0dc260d22 --- /dev/null +++ b/www/firefox/files/patch-bug1628567 @@ -0,0 +1,32 @@ +Don't pass --target when CC/CXX contains clang + +diff --git third_party/rust/cc/src/lib.rs third_party/rust/cc/src/lib.rs +index 9d133a0..273e520 100644 +--- third_party/rust/cc/src/lib.rs ++++ third_party/rust/cc/src/lib.rs +@@ -2667,24 +2667,7 @@ impl Tool { + } + + fn with_features(path: PathBuf, clang_driver: Option<&str>, cuda: bool) -> Self { +- // Try to detect family of the tool from its name, falling back to Gnu. +- let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) { +- if fname.contains("clang-cl") { +- ToolFamily::Msvc { clang_cl: true } +- } else if fname.ends_with("cl") || fname == "cl.exe" { +- ToolFamily::Msvc { clang_cl: false } +- } else if fname.contains("clang") { +- match clang_driver { +- Some("cl") => ToolFamily::Msvc { clang_cl: true }, +- _ => ToolFamily::Clang, +- } +- } else { +- ToolFamily::Gnu +- } +- } else { +- ToolFamily::Gnu +- }; +- ++ let family = ToolFamily::Gnu; + Tool { + path: path, + cc_wrapper_path: None, |