[arch-commits] Commit in wxgtk/trunk (3 files)
Antonio Rojas
arojas at gemini.archlinux.org
Wed Jan 5 10:21:04 UTC 2022
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 <eric at archlinux.org>
+# Maintainer: Antonio Rojas <arojas at archlinux.org>
+# Contributor: Eric Bélanger <eric at 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 <olly at 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
More information about the arch-commits
mailing list