aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <evgeniy@khramtsov.org>2021-09-30 22:34:51 +0000
committerJan Beich <jbeich@FreeBSD.org>2021-10-02 00:12:08 +0000
commitb7f6e0701703f1efbedf5f92a02eed7c3aa7bbe9 (patch)
treed284d02b1f059ad03b015949c56f63c448766feb
parent70bc9cb3be09f1dfcf91aaaffe44b3a4fc1d532e (diff)
downloadports-b7f6e0701703f1efbedf5f92a02eed7c3aa7bbe9.tar.gz
ports-b7f6e0701703f1efbedf5f92a02eed7c3aa7bbe9.zip
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 (cherry picked from commit dcc587e70268eb898aecad53ab9d08ea50e0bbab)
-rw-r--r--www/firefox/files/patch-bug162856732
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,