Date: Wednesday, January 5, 2022 @ 10:21:03 Author: arojas Revision: 433434
Completely remove useless and annoying C++ ABI warning Added: wxgtk/trunk/wxgtk-abicheck.patch Modified: wxgtk/trunk/PKGBUILD Deleted: wxgtk/trunk/make-abicheck-non-fatal.patch -------------------------------+ PKGBUILD | 25 +++++++++++-------------- make-abicheck-non-fatal.patch | 15 --------------- wxgtk-abicheck.patch | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 29 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-01-05 09:23:29 UTC (rev 433433) +++ PKGBUILD 2022-01-05 10:21:03 UTC (rev 433434) @@ -1,27 +1,24 @@ -# Maintainer: Eric Bélanger <e...@archlinux.org> +# Maintainer: Antonio Rojas <aro...@archlinux.org> +# Contributor: Eric Bélanger <e...@archlinux.org> pkgbase=wxgtk pkgname=(wxgtk2 wxgtk3 wxgtk-common) pkgver=3.0.5.1 -pkgrel=2 -arch=('x86_64') -url="https://wxwidgets.org" -license=('custom:wxWindows') +pkgrel=3 +arch=(x86_64) +url='https://wxwidgets.org' +license=(custom:wxWindows) makedepends=(gst-plugins-base glu webkit2gtk libnotify gtk2) -options=('!emptydirs') +options=(!emptydirs) source=(https://github.com/wxWidgets/wxWidgets/releases/download/v$pkgver/wxWidgets-$pkgver.tar.bz2 - make-abicheck-non-fatal.patch) + wxgtk-abicheck.patch) sha256sums=('440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807' - '46a1bb97d69163547da13d5e23a4c73e68de27ee601da5d2fb5bc5c417931453') + '53501db871290b71967af08b60aedb738c920a307ef9bd32dd19c30498732cf8') prepare() { - cd wxWidgets-$pkgver + # C++ ABI check is too strict + patch -d wxWidgets-$pkgver -p1 -i ../wxgtk-abicheck.patch - # C++ ABI check is too strict and breaks with GCC 5.1 - # https://bugzilla.redhat.com/show_bug.cgi?id=1200611 - patch -Np1 -i ../make-abicheck-non-fatal.patch - - cd .. cp -r wxWidgets-$pkgver wxWidgets-$pkgver-gtk3 } Deleted: make-abicheck-non-fatal.patch =================================================================== --- make-abicheck-non-fatal.patch 2022-01-05 09:23:29 UTC (rev 433433) +++ make-abicheck-non-fatal.patch 2022-01-05 10:21:03 UTC (rev 433434) @@ -1,15 +0,0 @@ -diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp ---- wxGTK-2.8.12/src/common/appbase.cpp.abicheck 2015-03-12 17:15:18.000000000 +0100 -+++ wxGTK-2.8.12/src/common/appbase.cpp 2015-03-12 17:15:57.000000000 +0100 -@@ -424,10 +424,7 @@ bool wxAppConsole::CheckBuildOptions(con - msg.Printf(_T("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()); - } - #undef wxCMP - Added: wxgtk-abicheck.patch =================================================================== --- wxgtk-abicheck.patch (rev 0) +++ wxgtk-abicheck.patch 2022-01-05 10:21:03 UTC (rev 433434) @@ -0,0 +1,38 @@ +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 <o...@survex.com> +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()); + ++ 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()); + + // normally wxLogFatalError doesn't return