[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