From 6165d7c42aef91b65de7861cf8e463913322274d Mon Sep 17 00:00:00 2001 From: Scott Talbert Date: Thu, 6 May 2021 17:39:32 -0400 Subject: [PATCH] Adobt Debian patch to avoid warning on C++ ABI mismatches (#1957142) --- wxGTK3-3.0.3-abicheck.patch | 44 ++++++++++++++++++++++++++++--------- wxGTK3.spec | 5 ++++- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/wxGTK3-3.0.3-abicheck.patch b/wxGTK3-3.0.3-abicheck.patch index 03ddcd5..e54b404 100644 --- a/wxGTK3-3.0.3-abicheck.patch +++ b/wxGTK3-3.0.3-abicheck.patch @@ -1,14 +1,38 @@ ---- wxWidgets-3.0.2/src/common/appbase.cpp.abicheck 2015-05-28 12:36:40.697163073 +0900 -+++ wxWidgets-3.0.2/src/common/appbase.cpp 2015-05-28 12:38:30.597154298 +0900 -@@ -762,10 +762,7 @@ +Description: Suppress error about mismatching C++ ABI version + In practice, the differences between recent ABI versions don't seem to be + incompatible since they apparently only affect obscure corner cases. So + suppress this error so we don't have to rebuild the entire wx world in one + go. +Author: Olly Betts +Forwarded: no +Last-Update: 2017-07-26 + +--- a/src/common/appbase.cpp ++++ b/src/common/appbase.cpp +@@ -766,6 +766,26 @@ msg.Printf(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."), lib.c_str(), progName.c_str(), prog.c_str()); -- wxLogFatalError(msg.c_str()); -- -- // normally wxLogFatalError doesn't return -- return false; -+ wxLogWarning(msg.c_str()); - } ++ int l_off = lib.Find("compiler with C++ ABI "); ++ int p_off = prog.Find("compiler with C++ ABI "); ++ if (l_off != wxNOT_FOUND && p_off != wxNOT_FOUND) { ++ int space; ++ space = lib.find(',', l_off + 22); ++ lib.erase(l_off, space - l_off); ++ space = prog.find(',', p_off + 22); ++ prog.erase(p_off, space - p_off); ++ if (lib == prog) { ++ // The only difference is the ABI version, which apparently only ++ // affect obscure cases. We used to warn here, so at least ++ // there was an indication of what's up if there is a problem ++ // due to ABI incompatibilities, but wxLogWarning() can result ++ // in a pop up dialog with some applications, which is just too ++ // intrusive, so just quietly ignore instead. ++ //wxLogWarning(msg.c_str()); ++ return false; ++ } ++ } ++ + wxLogFatalError(msg.c_str()); - return true; + // normally wxLogFatalError doesn't return diff --git a/wxGTK3.spec b/wxGTK3.spec index 06e531e..5ba35bd 100644 --- a/wxGTK3.spec +++ b/wxGTK3.spec @@ -18,7 +18,7 @@ Name: %{wxgtkname} Version: 3.0.5.1 -Release: 3%{?snapshottag}%{?dist} +Release: 4%{?snapshottag}%{?dist} Summary: GTK port of the wxWidgets GUI library License: wxWidgets URL: https://www.wxwidgets.org/ @@ -457,6 +457,9 @@ fi %doc html %changelog +* Thu May 06 2021 Scott Talbert - 3.0.5.1-4 +- Adobt Debian patch to avoid warning on C++ ABI mismatches (#1957142) + * Wed Jan 27 2021 Fedora Release Engineering - 3.0.5.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild