Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [WIP] wxWiwdgets, wxPython
@ 2023-09-25  4:42 ahesford
  2023-09-25  5:40 ` classabbyamp
                   ` (28 more replies)
  0 siblings, 29 replies; 30+ messages in thread
From: ahesford @ 2023-09-25  4:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 996 bytes --]

There is a new pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWiwdgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 53760 bytes --]

From 549650d4086430bcc0b5da744aea6fa4c15180f6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/37] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From c6e36d27abf919c4df84767236f3a1b3b88a3db6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/37] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 1e5167386c3bd2dc94037b5a41b09b85c0847f69 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:24:33 -0400
Subject: [PATCH 03/37] dispcalGUI: remove package

This package depends on long-past-EOL Python 2 and an old and
to-be-removed version of wxWidgets.
---
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 srcpkgs/removed-packages/template      |  1 +
 4 files changed, 1 insertion(+), 59 deletions(-)
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index b176739157e3c..99fc49592d2ce 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -85,6 +85,7 @@ replaces="
  deepin-turbo<=0.0.3_1
  deepin-voice-recorder<=5.0.0_2
  dht-node<=0.2.0_3
+ dispcalGUI<=3.8.9.3_5
  distcc-gtk<=3.3.3_6
  djmount<=0.71_8
  dleyna-core<=0.6.0_2

From 28e21b033f2c9c7484e014e9a4b743081a908c61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 04/37] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From af82b296f4e527b688f270759c16082cee0438a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 05/37] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 2d7f32eee393b..c428153380e03 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From c2ed5e5fc3ad42de24e635026e63a0e19e4a9035 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 06/37] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++++--------
 .../patches/nonfatal-abi-check.patch          | 21 +++++-----
 srcpkgs/wxWidgets-gtk3/template               | 39 ++++++++++++++-----
 3 files changed, 56 insertions(+), 36 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index c428153380e03..c10711e8bf83f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..eac05ec7f02bd 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,22 +1,42 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+version=3.2.2.1
+revision=1
+build_style=cmake
+configure_args="
+ -DwxBUILD_TOOLKIT=gtk3
+ -DwxUSE_OPENGL=ON
+ -DwxUSE_LIBMSPACK=ON
+ -DwxUSE_GTKPRINT=ON
+ -DwxUSE_UNICODE=ON
+ -DwxUSE_MEDIACTRL=ON
+ -DwxUSE_REGEX=sys
+ -DwxUSE_ZLIB=sys
+ -DwxUSE_EXPAT=sys
+ -DwxUSE_LIBJPEG=sys
+ -DwxUSE_LIBPNG=sys
+ -DwxUSE_LIBTIFF=sys
+ -DwxUSE_LIBLZMA=sys
+ -DwxUSE_LIBNOTIFY=sys
+ -DwxUSE_LIBSDL=sys
+"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
 	#   - mark this build as native build
 	if [ "$CROSS_BUILD" ]; then
@@ -45,7 +65,6 @@ wxWidgets-common_package() {
 	short_desc+=" - common files"
 	pkg_install() {
 		vmove "usr/lib/libwx_baseu*.so.*"
-		vmove usr/share
 		vlicense docs/licendoc.txt
 		vlicense docs/licence.txt
 	}

From 72deebd75c7ffc93933a5ff41ec928209f62b021 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 07/37] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From cef4352668cf14da1d3b05748ed747ac6be5353f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/37] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..d80e63f027e32 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"

From 0430c92bf3b576f95761d5e368bf8b567fd514a8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/37] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..92d0d3b9090fd 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)

From da57cb1fa08dce9460b146b09aefe08bd5ebe863 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/37] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..219ac3d66adef 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"

From d931848050e16e89f32909f81f143ff367fec196 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/37] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..f13d5e40a04c8 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="

From e197956ac89950e0c4daa5599167bda53bf6ffb7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/37] OpenCPN: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/OpenCPN/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..93aa892056b3b 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
 version=5.2.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON

From 44100edeb5c70e4e93de056b332b57a5bc259d83 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/37] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..6ae1df0d87a19 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower

From 19198c061c86818c99aba44942c70fa13c800287 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/37] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..a88c2e4bc7814 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"

From 86bc32198095fff1758d465109af2fe0d54588fc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 15/37] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..2da95d5702ea7 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"

From d8bf162feb766e6890f742fa36f0a8144cc7a78e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/37] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..ec6c984a06759 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"

From b343c87f86b85161e6705f0f9b3bc79d0f47746d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/37] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65bbbe7540d50 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"

From 5623a273662162073cfa0d9550a2bc88920b7d5a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/37] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..46466d990bed1 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr

From 652af464a639a22e247e7dcfb1afcddf5cdb6675 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/37] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..140fe20d0d26b 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From d2d0d6601b303f6c3a32e3e381c641d83f5bb360 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/37] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..dff1f22362cbd 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 477e457074a657b2f013d9400514f5d26048b767 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/37] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From 977632f2e71f1e41105bea71b9bfc4dae89bafc8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 22/37] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..21a5b44004c55 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"

From 9571a0b965d1fe16c12f03d77942cd8114e1f194 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/37] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..4d1ed212115a6 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"

From 90b186c4c7dc5ad41d35d30c7250afd6fd0f87b7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/37] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..1fd406b6a2f55 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4

From 57c6e1a9a6b9f044539ab3c27d182e62f16e7446 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/37] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..73720781c7191 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"

From b9d7d67d7b97502dcb41caedfe7b2aab098bf02e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/37] kicad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/kicad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..1fb6dd434da42 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,7 +1,7 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON

From 690cca23e6ecb82b1f89714af3284ff90edea37c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/37] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..1b82376b3fbda 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"

From 7932cd7f97d6de5473f553dc0232d6d65ba9c306 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/37] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..77bbea28ff696 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 4d5549687709aa9c53bafac1c2b3c79ad7f60422 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 29/37] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..f83d1fe5cb1f5 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files

From fb4201f62c25301727fbd63bbf2e918b8a8faaba Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/37] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..09ad192af236d 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 9206bff6f114373288f1ba7f44f0de96a859f3bd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/37] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..72747cbb0a024 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"

From 0165d5746dd7f73c248387de0b6dd341b91b5e16 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/37] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..2c4aabc217615 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"

From 9b3e77d8b46b5f10e75c0ea63558eaa8f5fc2865 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/37] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..f02d13fd6bafb 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"

From 0ab0eb8280505ba7e341afdc19691283ea15a560 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/37] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..486e4609a19d6 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"

From 64e02685496d2c563e0f2256ed7e74ad79e08692 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/37] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5ed1b80048846 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"

From 767612ec6694c0e727816d1c7db5ca662e79bb05 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 36/37] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..c391d781c6fd1 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"

From a418fec201f429fb4f2b5446bf7a66ee3d6d4489 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/37] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..06782c1f97743 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
@ 2023-09-25  5:40 ` classabbyamp
  2023-09-25  5:41 ` classabbyamp
                   ` (27 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: classabbyamp @ 2023-09-25  5:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 172 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1732955032

Comment:
this should enable #44849

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
  2023-09-25  5:40 ` classabbyamp
@ 2023-09-25  5:41 ` classabbyamp
  2023-09-25 10:02 ` lemmi
                   ` (26 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: classabbyamp @ 2023-09-25  5:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 192 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1732955032

Comment:
this should enable moving forward with #44849

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
  2023-09-25  5:40 ` classabbyamp
  2023-09-25  5:41 ` classabbyamp
@ 2023-09-25 10:02 ` lemmi
  2023-09-25 12:12 ` [PR PATCH] [Updated] " ahesford
                   ` (25 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: lemmi @ 2023-09-25 10:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 206 bytes --]

New comment by lemmi on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1733350838

Comment:
Yes, if #44849 works with that, we can finally drop `dispcalGUI`. 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (2 preceding siblings ...)
  2023-09-25 10:02 ` lemmi
@ 2023-09-25 12:12 ` ahesford
  2023-09-25 12:35 ` ahesford
                   ` (24 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 12:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWiwdgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 74968 bytes --]

From 549650d4086430bcc0b5da744aea6fa4c15180f6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/44] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From c6e36d27abf919c4df84767236f3a1b3b88a3db6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/44] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 1e5167386c3bd2dc94037b5a41b09b85c0847f69 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:24:33 -0400
Subject: [PATCH 03/44] dispcalGUI: remove package

This package depends on long-past-EOL Python 2 and an old and
to-be-removed version of wxWidgets.
---
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 srcpkgs/removed-packages/template      |  1 +
 4 files changed, 1 insertion(+), 59 deletions(-)
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index b176739157e3c..99fc49592d2ce 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -85,6 +85,7 @@ replaces="
  deepin-turbo<=0.0.3_1
  deepin-voice-recorder<=5.0.0_2
  dht-node<=0.2.0_3
+ dispcalGUI<=3.8.9.3_5
  distcc-gtk<=3.3.3_6
  djmount<=0.71_8
  dleyna-core<=0.6.0_2

From 28e21b033f2c9c7484e014e9a4b743081a908c61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 04/44] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From af82b296f4e527b688f270759c16082cee0438a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 05/44] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 2d7f32eee393b..c428153380e03 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 0cc958f11c22d9677d253d27fdd50bedd75b1f1d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 06/44] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++++--------
 .../patches/nonfatal-abi-check.patch          | 21 +++++-----
 srcpkgs/wxWidgets-gtk3/template               | 39 ++++++++++++++-----
 srcpkgs/wxWidgets-gtk3/update                 |  4 +-
 4 files changed, 57 insertions(+), 39 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index c428153380e03..c10711e8bf83f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..eac05ec7f02bd 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,22 +1,42 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+version=3.2.2.1
+revision=1
+build_style=cmake
+configure_args="
+ -DwxBUILD_TOOLKIT=gtk3
+ -DwxUSE_OPENGL=ON
+ -DwxUSE_LIBMSPACK=ON
+ -DwxUSE_GTKPRINT=ON
+ -DwxUSE_UNICODE=ON
+ -DwxUSE_MEDIACTRL=ON
+ -DwxUSE_REGEX=sys
+ -DwxUSE_ZLIB=sys
+ -DwxUSE_EXPAT=sys
+ -DwxUSE_LIBJPEG=sys
+ -DwxUSE_LIBPNG=sys
+ -DwxUSE_LIBTIFF=sys
+ -DwxUSE_LIBLZMA=sys
+ -DwxUSE_LIBNOTIFY=sys
+ -DwxUSE_LIBSDL=sys
+"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
 	#   - mark this build as native build
 	if [ "$CROSS_BUILD" ]; then
@@ -45,7 +65,6 @@ wxWidgets-common_package() {
 	short_desc+=" - common files"
 	pkg_install() {
 		vmove "usr/lib/libwx_baseu*.so.*"
-		vmove usr/share
 		vlicense docs/licendoc.txt
 		vlicense docs/licence.txt
 	}
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From fbb56bc59b3717b9058dce4a0b71b08204547322 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 07/44] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/{wxPython4 => wxPython}/template      | 30 +++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 8 files changed, 17 insertions(+), 214 deletions(-)
 rename srcpkgs/{wxPython4 => wxPython}/template (73%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 73%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..bc4873fb541aa 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,25 +9,21 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
-}
-
 pre_build() {
 	chmod -R go+rX $wrksrc
 	PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}$wrksrc"
@@ -48,3 +44,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From 0acd574685934dce33e3bc952197285f8a977cbb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/44] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From d951667d89b11410198f50701c9591b9ad5db0d0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/44] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..d80e63f027e32 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"

From d48838f383f0a5ed0666f169d69dbf37e6354b08 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/44] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..92d0d3b9090fd 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)

From 9b8908812947c49fa3013ae6fa95f07612c58b12 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/44] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..219ac3d66adef 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"

From 0698676165193d9250067510084ddcda569908a3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/44] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..f13d5e40a04c8 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="

From 6cf619bbc7ee5637b182c97c4cf26753b0522994 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/44] OpenCPN: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/OpenCPN/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..93aa892056b3b 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
 version=5.2.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON

From d75d2b3cd2cc32adcd20fa416242409a2ae250f9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/44] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..6ae1df0d87a19 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower

From 28e75fa334c6b8d2c8e3a7a2fb3ac446a2d85f5c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/44] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..a88c2e4bc7814 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"

From e2ea19238907c7fc60c7a98378b88e5fc62f185e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/44] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..2da95d5702ea7 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"

From b13bf0db86ea5eba5ea8d02d54910a3eec08a150 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/44] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..ec6c984a06759 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"

From 0e8c25dad89ff99b6974140ace8601dc8c73ad2e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/44] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65bbbe7540d50 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"

From 8a4aadee13be4a69068fec41b27973adccc1b434 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/44] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..46466d990bed1 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr

From 812655f7612aba30ed58db93d667ac50ea88508e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/44] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..140fe20d0d26b 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 2dfb80d51d2053f3185db4bed3728a45a6966437 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/44] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..dff1f22362cbd 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 5987d8b61db1b4b4e687625bdde32527150c18a9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/44] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From 508269183efd4e1dbe4800d0e29ec892ed23c329 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/44] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..21a5b44004c55 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"

From 952cfccf106a68d1d7a67326def51b83568ab66e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/44] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..4d1ed212115a6 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"

From e6bc38e02c68a48a1c3310e00b03faebe3cafddd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/44] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..1fd406b6a2f55 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4

From 5866050114f1c4331b42cbe649dcf74418ea6b91 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/44] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..73720781c7191 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"

From 32c24b1a1f377a88f0b2167e3ca08c95f6e3e27f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/44] kicad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/kicad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..1fb6dd434da42 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,7 +1,7 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON

From 1261395353d0e3e26e88953dc61c80b5a3541588 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/44] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..1b82376b3fbda 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"

From 3846268938dfb54e96ced6e2a489b1f548bfa65d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 29/44] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..77bbea28ff696 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 53f8ab344c7a4668588cdc5e3e84442a46765d0e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/44] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..f83d1fe5cb1f5 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files

From 0a0ea4fc0401528c3bea1bf619f06fb967f171bc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/44] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..09ad192af236d 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 62973310ea7712ada6f8703b84cace48938ba88a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/44] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..72747cbb0a024 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"

From e945637d9734277b5cb753bfa86ceb8c522553ba Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/44] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..2c4aabc217615 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"

From b08f3f66b2c156ba20ee7f56c0ac53fe5c754306 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/44] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..f02d13fd6bafb 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"

From 18be72b65e4a4a4d7d4b42ad7fbc09caab29875b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/44] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..486e4609a19d6 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"

From ae4e8e3c5693289a8a1ed06279baa08d03779f61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 36/44] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5ed1b80048846 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"

From 39b5c8882a9ee76fbb904869e5b8436f474a36d9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/44] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..c391d781c6fd1 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"

From 4f3c1daf914d7659e59104fd1981799eebf95beb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 38/44] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..06782c1f97743 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"

From 69fb1cc874a9dfc3542fb4a8658b7d367d97ad54 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 39/44] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From 644237d747352e9cf6748fadfa6b8d2496682381 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 40/44] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From 7066f23d8df3bf61578c827791d19d435ac125d5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:21 -0400
Subject: [PATCH 41/44] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1fb6dd434da42..3c86fae2066c7 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,7 +1,7 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=3
+revision=4
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
@@ -9,10 +9,11 @@ configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,7 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi

From 33d67c8dfe4368f6bbea3e1d5df48f15f72e62bc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 42/44] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From 940d436b21770427db8201df163df767e3b7c591 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 43/44] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From cffca6aeab7bdf9814ac25157a9461e08a4da4d9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 44/44] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (3 preceding siblings ...)
  2023-09-25 12:12 ` [PR PATCH] [Updated] " ahesford
@ 2023-09-25 12:35 ` ahesford
  2023-09-25 13:52 ` ahesford
                   ` (23 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 12:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWiwdgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 74604 bytes --]

From 549650d4086430bcc0b5da744aea6fa4c15180f6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/44] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From c6e36d27abf919c4df84767236f3a1b3b88a3db6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/44] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 1e5167386c3bd2dc94037b5a41b09b85c0847f69 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:24:33 -0400
Subject: [PATCH 03/44] dispcalGUI: remove package

This package depends on long-past-EOL Python 2 and an old and
to-be-removed version of wxWidgets.
---
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 srcpkgs/removed-packages/template      |  1 +
 4 files changed, 1 insertion(+), 59 deletions(-)
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index b176739157e3c..99fc49592d2ce 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -85,6 +85,7 @@ replaces="
  deepin-turbo<=0.0.3_1
  deepin-voice-recorder<=5.0.0_2
  dht-node<=0.2.0_3
+ dispcalGUI<=3.8.9.3_5
  distcc-gtk<=3.3.3_6
  djmount<=0.71_8
  dleyna-core<=0.6.0_2

From 28e21b033f2c9c7484e014e9a4b743081a908c61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 04/44] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From af82b296f4e527b688f270759c16082cee0438a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 05/44] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 2d7f32eee393b..c428153380e03 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 82e325d1dd32abae9c6596bd1dbe578f74939ba0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 06/44] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++++++----------
 .../patches/nonfatal-abi-check.patch          | 21 ++++++------
 srcpkgs/wxWidgets-gtk3/template               | 22 ++++++++-----
 srcpkgs/wxWidgets-gtk3/update                 |  4 +--
 4 files changed, 42 insertions(+), 37 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index c428153380e03..c10711e8bf83f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..cac6df48f93fe 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,22 +1,28 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
+version=3.2.2.1
+revision=1
 build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+configure_args="--with-gtk=3 --with-opengl --with-libmspack --enable-mediactrl
+ --enable-unicode --with-libnotify --with-regex --with-zlib --with-expat
+ --with-libjpeg --with-libpng --with-libtiff --with-liblzma"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
 	#   - mark this build as native build
 	if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 99eaae89d2bd97e3272e98c8a4b28094cd278353 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 07/44] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/{wxPython4 => wxPython}/template      | 30 +++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 8 files changed, 17 insertions(+), 214 deletions(-)
 rename srcpkgs/{wxPython4 => wxPython}/template (73%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 73%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..bc4873fb541aa 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,25 +9,21 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
-}
-
 pre_build() {
 	chmod -R go+rX $wrksrc
 	PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}$wrksrc"
@@ -48,3 +44,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From debd4fedba507bc40091e023dd222c3c19ef9302 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/44] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From 23207b38398a0b8dec35419826bcdf2efa9e4147 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/44] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..d80e63f027e32 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"

From 2d4e009bb3d38cf14f5ac5fffa5dd46236796040 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/44] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..92d0d3b9090fd 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)

From 52698700eef91a1fbe27bbe75ad1c82716157f65 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/44] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..219ac3d66adef 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"

From cc2975efde9f9bbf05e18df973bb4b5caced6c71 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/44] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..f13d5e40a04c8 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="

From bfd72b716c0450f8e4e24ef04c63a1438111519e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/44] OpenCPN: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/OpenCPN/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..93aa892056b3b 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
 version=5.2.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON

From 5e205bd74c0a9fda9dbe8cb862d476d0c8d58532 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/44] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..6ae1df0d87a19 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower

From 97f0b7cb5cb09a4c68dabb49510c6c180a388347 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/44] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..a88c2e4bc7814 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"

From 909387b65906634bebd59355568671a410af7c15 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/44] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..2da95d5702ea7 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"

From fd94a646f727ae6ba3f024b41e759d74982c5ba7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/44] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..ec6c984a06759 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"

From 98f71d36b9337356b026f910e0639742cd3e49ee Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/44] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65bbbe7540d50 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"

From b37bdc917fbf3fc5278902e5f60b08f6b38111a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/44] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..46466d990bed1 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr

From bea302d28e4ce7b196e740d2581601e44a30e77b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/44] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..140fe20d0d26b 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 49649c5d9d51b6167a98e0705858158a5f7a6452 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/44] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..dff1f22362cbd 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From e542c7e87327c43b2edcd18fcd4649154c5684cc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/44] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From 862b46801d3f2e992818e038fb7eb3fb1b80cae7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/44] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..21a5b44004c55 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"

From ece0c6414ec4376110a59b4e736d02a6804f3ed2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/44] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..4d1ed212115a6 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"

From 57ab68e9f217cfd5c453e83d970881afe087099a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/44] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..1fd406b6a2f55 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4

From 62754afdd3f50e9b0539db777177822dbac88967 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/44] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..73720781c7191 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"

From a82a254da2dd317cc93e8e07c869e58454386e62 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/44] kicad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/kicad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..1fb6dd434da42 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,7 +1,7 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON

From 625dc2ad52477c3ca388fc6641aa1c94b6b6befe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/44] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..1b82376b3fbda 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"

From 7e736cd86240edf1c9482603c5c5b1a6387c0e3c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 29/44] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..77bbea28ff696 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From b209c876a6ad71cbead7c577202a49e1571caba1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/44] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..f83d1fe5cb1f5 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files

From 9179636e48bb17c46598ccffb6ae6d7efb6f0ee1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/44] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..09ad192af236d 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 91aef034cec1e91a31d85f48181b9db3bf2b32bd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/44] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..72747cbb0a024 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"

From 50f5bab33bff0230edf7950f78ab0664e195455e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/44] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..2c4aabc217615 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"

From e8ee0205ada6dbcc5d6825141db452dc94a4a798 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/44] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..f02d13fd6bafb 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"

From 7836a7809b88b0fccb0a8441b4b0a6463ce16a85 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/44] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..486e4609a19d6 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"

From 43c4df7a196242a5084a782f9abe4702fb73bc21 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 36/44] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5ed1b80048846 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"

From 76406ce5375d3b0e10d2baf4e65ab76254c996a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/44] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..c391d781c6fd1 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"

From d462dac6b8d79f3911c497d358934d8bd14554ba Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 38/44] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..06782c1f97743 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"

From 7de9f3edee018f8a8eb5174c8c6a8d10ec7d7074 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 39/44] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From 2c3311c07320b1ca552b84efd46cd815acd21bef Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 40/44] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From 4cb551d6f820e0f853a175a04bd095bbb3f5eff4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:21 -0400
Subject: [PATCH 41/44] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1fb6dd434da42..3c86fae2066c7 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,7 +1,7 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=3
+revision=4
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
@@ -9,10 +9,11 @@ configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,7 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi

From 2e44db068d0b67f609cd8d52555cea13b6f7e3ca Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 42/44] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From c04b78c4f613c6fbedfd0037ad3d3f32e4a07aa9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 43/44] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From 6a821c3c9fb5651de2bc7eadc109c83ca7c4f422 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 44/44] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (4 preceding siblings ...)
  2023-09-25 12:35 ` ahesford
@ 2023-09-25 13:52 ` ahesford
  2023-09-25 14:14 ` ahesford
                   ` (22 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 13:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1733756634

Comment:
There are five failures on an `x86_64` build:
- [ ] OpenCPN
- [ ] audacity
- [ ] codeblocks
- [ ] codelite
- [ ] kicad

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (5 preceding siblings ...)
  2023-09-25 13:52 ` ahesford
@ 2023-09-25 14:14 ` ahesford
  2023-09-25 14:15 ` ahesford
                   ` (21 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 14:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1733756634

Comment:
There are five failures on an `x86_64` build:
- [ ] OpenCPN
- [ ] audacity
- [ ] codeblocks
- [ ] codelite
- [x] kicad

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (6 preceding siblings ...)
  2023-09-25 14:14 ` ahesford
@ 2023-09-25 14:15 ` ahesford
  2023-09-25 14:17 ` [PR PATCH] [Updated] " ahesford
                   ` (20 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 14:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1733756634

Comment:
There are five failures on an `x86_64` build:
- [ ] OpenCPN
- [ ] audacity
- [ ] codeblocks
- [x] codelite
- [x] kicad

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (7 preceding siblings ...)
  2023-09-25 14:15 ` ahesford
@ 2023-09-25 14:17 ` ahesford
  2023-09-25 15:21 ` ahesford
                   ` (19 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 14:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWiwdgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 80487 bytes --]

From 549650d4086430bcc0b5da744aea6fa4c15180f6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/44] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From c6e36d27abf919c4df84767236f3a1b3b88a3db6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/44] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 1e5167386c3bd2dc94037b5a41b09b85c0847f69 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:24:33 -0400
Subject: [PATCH 03/44] dispcalGUI: remove package

This package depends on long-past-EOL Python 2 and an old and
to-be-removed version of wxWidgets.
---
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 srcpkgs/removed-packages/template      |  1 +
 4 files changed, 1 insertion(+), 59 deletions(-)
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index b176739157e3c..99fc49592d2ce 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -85,6 +85,7 @@ replaces="
  deepin-turbo<=0.0.3_1
  deepin-voice-recorder<=5.0.0_2
  dht-node<=0.2.0_3
+ dispcalGUI<=3.8.9.3_5
  distcc-gtk<=3.3.3_6
  djmount<=0.71_8
  dleyna-core<=0.6.0_2

From 28e21b033f2c9c7484e014e9a4b743081a908c61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 04/44] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From af82b296f4e527b688f270759c16082cee0438a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 05/44] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 2d7f32eee393b..c428153380e03 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 82e325d1dd32abae9c6596bd1dbe578f74939ba0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 06/44] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++++++----------
 .../patches/nonfatal-abi-check.patch          | 21 ++++++------
 srcpkgs/wxWidgets-gtk3/template               | 22 ++++++++-----
 srcpkgs/wxWidgets-gtk3/update                 |  4 +--
 4 files changed, 42 insertions(+), 37 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index c428153380e03..c10711e8bf83f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..cac6df48f93fe 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,22 +1,28 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
+version=3.2.2.1
+revision=1
 build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+configure_args="--with-gtk=3 --with-opengl --with-libmspack --enable-mediactrl
+ --enable-unicode --with-libnotify --with-regex --with-zlib --with-expat
+ --with-libjpeg --with-libpng --with-libtiff --with-liblzma"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
 	#   - mark this build as native build
 	if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 99eaae89d2bd97e3272e98c8a4b28094cd278353 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 07/44] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/{wxPython4 => wxPython}/template      | 30 +++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 8 files changed, 17 insertions(+), 214 deletions(-)
 rename srcpkgs/{wxPython4 => wxPython}/template (73%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 73%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..bc4873fb541aa 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,25 +9,21 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
-}
-
 pre_build() {
 	chmod -R go+rX $wrksrc
 	PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}$wrksrc"
@@ -48,3 +44,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From debd4fedba507bc40091e023dd222c3c19ef9302 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/44] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From 23207b38398a0b8dec35419826bcdf2efa9e4147 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/44] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..d80e63f027e32 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"

From 2d4e009bb3d38cf14f5ac5fffa5dd46236796040 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/44] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..92d0d3b9090fd 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)

From 52698700eef91a1fbe27bbe75ad1c82716157f65 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/44] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..219ac3d66adef 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"

From cc2975efde9f9bbf05e18df973bb4b5caced6c71 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/44] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..f13d5e40a04c8 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="

From bfd72b716c0450f8e4e24ef04c63a1438111519e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/44] OpenCPN: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/OpenCPN/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..93aa892056b3b 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
 version=5.2.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON

From 5e205bd74c0a9fda9dbe8cb862d476d0c8d58532 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/44] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..6ae1df0d87a19 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower

From 97f0b7cb5cb09a4c68dabb49510c6c180a388347 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/44] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..a88c2e4bc7814 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"

From 909387b65906634bebd59355568671a410af7c15 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/44] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..2da95d5702ea7 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"

From fd94a646f727ae6ba3f024b41e759d74982c5ba7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/44] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..ec6c984a06759 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"

From 98f71d36b9337356b026f910e0639742cd3e49ee Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/44] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65bbbe7540d50 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"

From b37bdc917fbf3fc5278902e5f60b08f6b38111a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/44] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..46466d990bed1 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr

From 150fa0437e7be26a054be1e196c0d950665a4940 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/44] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   2 +-
 2 files changed, 132 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..140fe20d0d26b 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From f86dac4b8657db1cd44548a2b06e9dcf6c667763 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/44] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..dff1f22362cbd 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From ecd97a67281c1cc5dda4bbe49a0b27573188dd99 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/44] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From 38a1fcc581f142815f7ef56617ea0e448229ad1a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/44] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..21a5b44004c55 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"

From 5a0a105854a63a91dc8f1fca1151506258047dfe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/44] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..4d1ed212115a6 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"

From be351df25263dad67d7b87204c21900aa6afb724 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/44] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..1fd406b6a2f55 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4

From 52d4ea8bc929e7d26ae2464202bd50d5543d541f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/44] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..73720781c7191 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"

From b2939771f648c24459bf17fc759f6ca7a007f076 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/44] kicad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/kicad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..1fb6dd434da42 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,7 +1,7 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON

From 51f5211e484033a4da4dcbfbd0ab24af2f6d7508 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/44] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..1b82376b3fbda 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"

From df3d99e2c434aff0041608adb45c8507eac25e15 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 29/44] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..77bbea28ff696 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 990601df0fff401b046acb21b29e186f91c71b40 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/44] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..f83d1fe5cb1f5 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files

From 2b49b7e34c69ec7919be4f32aeb1b27c50192e1d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/44] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..09ad192af236d 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 99cffc367de7be19d59d49ebdcd6af715e18736c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/44] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..72747cbb0a024 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"

From d01be65b5adec5616ef642b051be504acc64b354 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/44] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..2c4aabc217615 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"

From f1a3a55f286f8b746f8a058ba45697c5c5b71bed Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/44] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..f02d13fd6bafb 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"

From c045ba96ed5e13d25de26bfb244fa53868e0cb5f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/44] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..486e4609a19d6 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"

From ac199af876ec1e8f777efea07be623d184bdc7fe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 36/44] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5ed1b80048846 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"

From 3c19730124cc91cf6a487caad0398939e25ebf65 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/44] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..c391d781c6fd1 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"

From 088eebdb69f0a99daee39263d257b1cc81f7db78 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 38/44] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..06782c1f97743 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"

From 41550da491d8325925b369975e004421681cca92 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 39/44] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From 19cbb88b69d49736c4c3ece8142cca547bafb6dd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 40/44] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From 7a8490e96d2062202233e8c463c4d5e2aad3fb97 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:21 -0400
Subject: [PATCH 41/44] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1fb6dd434da42..624180e9c6d0c 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=3
+revision=4
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,7 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi

From 498d244aa3577f6876ed54d30ec101396ee73cd8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 42/44] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From 495a1ea5d06aca3e0345e292132580b50396e628 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 43/44] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From 7c4d3ff753f2733b75337e56b595c9ae1b0dd061 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 44/44] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (8 preceding siblings ...)
  2023-09-25 14:17 ` [PR PATCH] [Updated] " ahesford
@ 2023-09-25 15:21 ` ahesford
  2023-09-25 15:21 ` [PR PATCH] [Updated] " ahesford
                   ` (18 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 15:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1733756634

Comment:
There are five failures on an `x86_64` build:
- [ ] OpenCPN
- [x] audacity
- [ ] codeblocks
- [x] codelite
- [x] kicad

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (9 preceding siblings ...)
  2023-09-25 15:21 ` ahesford
@ 2023-09-25 15:21 ` ahesford
  2023-09-25 15:21 ` ahesford
                   ` (17 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 15:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWiwdgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 127959 bytes --]

From 549650d4086430bcc0b5da744aea6fa4c15180f6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/44] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From c6e36d27abf919c4df84767236f3a1b3b88a3db6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/44] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 1e5167386c3bd2dc94037b5a41b09b85c0847f69 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:24:33 -0400
Subject: [PATCH 03/44] dispcalGUI: remove package

This package depends on long-past-EOL Python 2 and an old and
to-be-removed version of wxWidgets.
---
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 srcpkgs/removed-packages/template      |  1 +
 4 files changed, 1 insertion(+), 59 deletions(-)
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index b176739157e3c..99fc49592d2ce 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -85,6 +85,7 @@ replaces="
  deepin-turbo<=0.0.3_1
  deepin-voice-recorder<=5.0.0_2
  dht-node<=0.2.0_3
+ dispcalGUI<=3.8.9.3_5
  distcc-gtk<=3.3.3_6
  djmount<=0.71_8
  dleyna-core<=0.6.0_2

From 28e21b033f2c9c7484e014e9a4b743081a908c61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 04/44] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From af82b296f4e527b688f270759c16082cee0438a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 05/44] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 2d7f32eee393b..c428153380e03 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 82e325d1dd32abae9c6596bd1dbe578f74939ba0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 06/44] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++++++----------
 .../patches/nonfatal-abi-check.patch          | 21 ++++++------
 srcpkgs/wxWidgets-gtk3/template               | 22 ++++++++-----
 srcpkgs/wxWidgets-gtk3/update                 |  4 +--
 4 files changed, 42 insertions(+), 37 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index c428153380e03..c10711e8bf83f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..cac6df48f93fe 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,22 +1,28 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
+version=3.2.2.1
+revision=1
 build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+configure_args="--with-gtk=3 --with-opengl --with-libmspack --enable-mediactrl
+ --enable-unicode --with-libnotify --with-regex --with-zlib --with-expat
+ --with-libjpeg --with-libpng --with-libtiff --with-liblzma"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
 	#   - mark this build as native build
 	if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 99eaae89d2bd97e3272e98c8a4b28094cd278353 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 07/44] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/{wxPython4 => wxPython}/template      | 30 +++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 8 files changed, 17 insertions(+), 214 deletions(-)
 rename srcpkgs/{wxPython4 => wxPython}/template (73%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 73%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..bc4873fb541aa 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,25 +9,21 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
-}
-
 pre_build() {
 	chmod -R go+rX $wrksrc
 	PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}$wrksrc"
@@ -48,3 +44,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From debd4fedba507bc40091e023dd222c3c19ef9302 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/44] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From 23207b38398a0b8dec35419826bcdf2efa9e4147 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/44] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..d80e63f027e32 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"

From 2d4e009bb3d38cf14f5ac5fffa5dd46236796040 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/44] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..92d0d3b9090fd 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)

From 52698700eef91a1fbe27bbe75ad1c82716157f65 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/44] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..219ac3d66adef 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"

From cc2975efde9f9bbf05e18df973bb4b5caced6c71 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/44] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..f13d5e40a04c8 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="

From bfd72b716c0450f8e4e24ef04c63a1438111519e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/44] OpenCPN: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/OpenCPN/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..93aa892056b3b 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
 version=5.2.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON

From 5e205bd74c0a9fda9dbe8cb862d476d0c8d58532 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/44] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..6ae1df0d87a19 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower

From 97f0b7cb5cb09a4c68dabb49510c6c180a388347 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/44] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..a88c2e4bc7814 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"

From 909387b65906634bebd59355568671a410af7c15 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/44] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..2da95d5702ea7 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"

From 4cdaa170beaa2d5d1a181948bf92cae081500499 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/44] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/patches/wx-3.2.patch         | 26 ++++++++++++++++
 .../patches/wx-widget-has-basque.patch        | 22 +++++++++++++
 srcpkgs/audacity/patches/wxbitmap.patch       | 31 +++++++++++++++++++
 srcpkgs/audacity/template                     |  5 +--
 4 files changed, 82 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/audacity/patches/wx-3.2.patch
 create mode 100644 srcpkgs/audacity/patches/wx-widget-has-basque.patch
 create mode 100644 srcpkgs/audacity/patches/wxbitmap.patch

diff --git a/srcpkgs/audacity/patches/wx-3.2.patch b/srcpkgs/audacity/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..d42ae09f30f6e
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-3.2.patch
@@ -0,0 +1,26 @@
+Index: audacity-Audacity-2.4.1/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/configure
++++ audacity-Audacity-2.4.1/configure
+@@ -19918,7 +19918,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
+Index: audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/lib-src/lib-widget-extra/configure
++++ audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+@@ -16633,7 +16633,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
diff --git a/srcpkgs/audacity/patches/wx-widget-has-basque.patch b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
new file mode 100644
index 0000000000000..4dd24e79ec8e2
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
@@ -0,0 +1,22 @@
+Index: audacity-Audacity-2.4.1/src/AudacityApp.cpp
+===================================================================
+--- audacity-Audacity-2.4.1.orig/src/AudacityApp.cpp
++++ audacity-Audacity-2.4.1/src/AudacityApp.cpp
+@@ -1102,7 +1102,7 @@ locations of the missing files.").Format
+ #define WL(lang,sublang)
+ #endif
+ 
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+ wxLanguageInfo userLangs[] =
+ {
+    // Bosnian is defined in wxWidgets already
+@@ -1366,7 +1366,7 @@ bool AudacityApp::OnInit()
+    //
+    // TODO:  The whole Language initialization really need to be reworked.
+    //        It's all over the place.
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+    for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++)
+    {
+       wxLocale::AddLanguage(userLangs[i]);
diff --git a/srcpkgs/audacity/patches/wxbitmap.patch b/srcpkgs/audacity/patches/wxbitmap.patch
new file mode 100644
index 0000000000000..af18bd1cb6524
--- /dev/null
+++ b/srcpkgs/audacity/patches/wxbitmap.patch
@@ -0,0 +1,31 @@
+From 55383fccd0c281b4f189d9b07699b21bb802c736 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney@ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH] Call the proper wxBitmap constructor for XPM data
+
+wxBitmap back to at least 3.0.0 did not have a constructor for an XPM
+image that took a size parameter, it would only take the XPM data
+itself.
+
+I don't know how this compiled until now, but it doesn't anymore when
+the size is included and built against wx 3.1.6 in Fedora.
+---
+ src/MixerBoard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+ 
+ Technically this patch is under GPLv3+ because it was contributed after
+ re licensing
+
+diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp
+index 54b5f146cc7..7fe81615474 100644
+--- a/src/MixerBoard.cpp
++++ b/src/MixerBoard.cpp
+@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments()
+    wxMemoryDC dc;
+ 
+    for (const auto &data : table) {
+-      auto bmp = std::make_unique<wxBitmap>(data.bitmap,24);
++      auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+       dc.SelectObject(*bmp);
+       AColor::Bevel(dc, false, bev);
+       mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..6992ffa771b9a 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"
@@ -13,7 +13,8 @@ makedepends="jack-devel wxWidgets-gtk3-devel gtk+3-devel
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Graphical cross-platform audio editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
+# Patches are GPL3+, so bump the license for the whole package
+license="GPL-3.0-or-later"
 homepage="https://www.audacityteam.org"
 distfiles="https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"
 checksum=50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f

From 08d5b69c23449d6530b57b5038d7dddfc3b85419 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/44] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65bbbe7540d50 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"

From a74bb3bd61df74e2e009c400ff70fa79e67e9fbf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/44] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/patches/000.r11991.patch   |  27 +
 ...0.v20.03-r12008.patch => 000.r12008.patch} |   0
 ...1.v20.03-r12012.patch => 000.r12012.patch} |   0
 srcpkgs/codeblocks/patches/000.r12532.patch   |  13 +
 srcpkgs/codeblocks/patches/000.r12580.patch   | 944 ++++++++++++++++++
 srcpkgs/codeblocks/patches/000.r12707.patch   | 120 +++
 srcpkgs/codeblocks/patches/wx-3.2.patch       |  21 +
 srcpkgs/codeblocks/template                   |   2 +-
 8 files changed, 1126 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codeblocks/patches/000.r11991.patch
 rename srcpkgs/codeblocks/patches/{000.v20.03-r12008.patch => 000.r12008.patch} (100%)
 rename srcpkgs/codeblocks/patches/{001.v20.03-r12012.patch => 000.r12012.patch} (100%)
 create mode 100644 srcpkgs/codeblocks/patches/000.r12532.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12580.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12707.patch
 create mode 100644 srcpkgs/codeblocks/patches/wx-3.2.patch

diff --git a/srcpkgs/codeblocks/patches/000.r11991.patch b/srcpkgs/codeblocks/patches/000.r11991.patch
new file mode 100644
index 0000000000000..0cdb7251fdced
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r11991.patch
@@ -0,0 +1,27 @@
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 11990)
++++ b/src/src/main.cpp	(revision 11991)
+@@ -2680,8 +2680,6 @@
+     else
+     {
+         wxBusyCursor useless;
+-        wxPaintEvent e;
+-        ProcessEvent(e);
+         for (unsigned int i = 0; i < files.GetCount(); ++i)
+           success &= OpenGeneric(files[i]);
+     }
+Index: src/src/watchesdlg.cpp
+===================================================================
+--- a/src/src/watchesdlg.cpp	(revision 11990)
++++ b/src/src/watchesdlg.cpp	(revision 11991)
+@@ -103,8 +103,7 @@
+                                   cb_unused const wxPoint& pos,
+                                   cb_unused const wxSize& sz) const override
+     {
+-        wxPGWindowList const list;
+-        return list;
++        return wxPGWindowList(nullptr, nullptr);
+     }
+     void UpdateControl(cb_unused wxPGProperty* property, cb_unused wxWindow* ctrl) const override {}
+     bool OnEvent(cb_unused wxPropertyGrid* propgrid, cb_unused wxPGProperty* property,
diff --git a/srcpkgs/codeblocks/patches/000.v20.03-r12008.patch b/srcpkgs/codeblocks/patches/000.r12008.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/000.v20.03-r12008.patch
rename to srcpkgs/codeblocks/patches/000.r12008.patch
diff --git a/srcpkgs/codeblocks/patches/001.v20.03-r12012.patch b/srcpkgs/codeblocks/patches/000.r12012.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/001.v20.03-r12012.patch
rename to srcpkgs/codeblocks/patches/000.r12012.patch
diff --git a/srcpkgs/codeblocks/patches/000.r12532.patch b/srcpkgs/codeblocks/patches/000.r12532.patch
new file mode 100644
index 0000000000000..15a2fff28e2e7
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12532.patch
@@ -0,0 +1,13 @@
+Index: src/include/ccmanager.h
+===================================================================
+--- a/src/include/ccmanager.h	(revision 12531)
++++ b/src/include/ccmanager.h	(revision 12532)
+@@ -44,7 +44,7 @@
+  * list or the doxygen popup, the scroll event is instead sent there (and skipped for the editor
+  * window).
+  */
+-class DLLIMPORT CCManager : public Mgr<CCManager>, wxEvtHandler
++class DLLIMPORT CCManager : public Mgr<CCManager>, public wxEvtHandler
+ {
+     public:
+         friend class Mgr<CCManager>;
diff --git a/srcpkgs/codeblocks/patches/000.r12580.patch b/srcpkgs/codeblocks/patches/000.r12580.patch
new file mode 100644
index 0000000000000..7930c5c5677b2
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12580.patch
@@ -0,0 +1,944 @@
+Index: src/src/notebookstyles.h
+===================================================================
+--- a/src/src/notebookstyles.h	(revision 12579)
++++ b/src/src/notebookstyles.h	(revision 12580)
+@@ -8,14 +8,6 @@
+ 
+ #include "cbauibook.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-#endif
+-
+-
+ class wxDC;
+ class wxWindow;
+ class wxRect;
+@@ -53,35 +45,4 @@
+                             const wxSize& required_bmp_size) override;
+ };
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-class NbStyleGTK : public wxAuiDefaultTabArt
+-{
+-public:
+-    NbStyleGTK();
+-
+-    virtual wxAuiTabArt* Clone();
+-    virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+-    virtual void DrawTab(wxDC& dc,
+-                         wxWindow* wnd,
+-                         const wxAuiNotebookPage& page,
+-                         const wxRect& in_rect,
+-                         int close_button_state,
+-                         wxRect* out_tab_rect,
+-                         wxRect* out_button_rect,
+-                         int* x_extent);
+-    void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
+-                    int button_state, int orientation, wxRect* out_rect);
+-    int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
+-                            const wxSize& required_bmp_size);
+-    virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active,
+-                              int close_button_state, int* x_extent);
+-private:
+-    int m_Xthickness;
+-    int m_Ythickness;
+-    int m_TabHBorder;
+-    int m_TabVBorder;
+-    wxBitmap m_ActiveCloseButton;
+-};
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+ #endif // NOTEBOOKSTYLES_H
+Index: src/plugins/compilergcc/compileroptionsdlg.cpp
+===================================================================
+--- a/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12579)
++++ b/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12580)
+@@ -677,13 +677,9 @@
+     wxPGProperty *root = m_FlagsPG->GetRoot();
+     if (root)
+     {
+-        unsigned count = root->GetChildCount();
++        const unsigned count = root->GetChildCount();
+         for (unsigned ii = 0; ii < count; ++ii)
+-#if wxCHECK_VERSION(3, 0, 0)
+             m_FlagsPG->SortChildren(root->Item(ii), wxPG_RECURSE);
+-#else
+-            m_FlagsPG->Sort(root->Item(ii));
+-#endif
+     }
+     m_FlagsPG->Thaw();
+ } // DoFillOptions
+@@ -2118,11 +2114,7 @@
+     CompilerFactory::SetDefaultCompiler(idx);
+     wxString msg;
+     Compiler* compiler = CompilerFactory::GetDefaultCompiler();
+-    #if wxCHECK_VERSION(3, 0, 0)
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().wx_str() : _("[invalid]").wx_str());
+-    #else
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().c_str() : _("[invalid]"));
+-    #endif
++    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName() : _("[invalid]"));
+     cbMessageBox(msg);
+ } // OnSetDefaultCompilerClick
+ 
+Index: src/sdk/templatemanager.cpp
+===================================================================
+--- a/src/sdk/templatemanager.cpp	(revision 12579)
++++ b/src/sdk/templatemanager.cpp	(revision 12580)
+@@ -186,11 +186,7 @@
+             ++count;
+         }
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+     if (count != total_count)
+         cbMessageBox(_("Some files could not be loaded with the template..."), _("Error"), wxICON_ERROR);
+@@ -303,21 +299,13 @@
+     {
+         wxString src = (*it)->file.GetFullPath();
+         wxString dst = templ + (*it)->relativeToCommonTopLevelPath;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.wx_str(), dst.wx_str()));
+-        #else
+-        Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.c_str(), dst.c_str()));
+-        #endif
+         if (!CreateDirRecursively(dst))
+             Manager::Get()->GetLogManager()->DebugLog(_T("Failed creating directory for ") + dst);
+         if (wxCopyFile(src, dst, true))
+             ++count;
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+ 
+     // cbProject doesn't have a GetRelativeToCommonTopLevelPath() function, so we simulate it here
+Index: src/src/associations.cpp
+===================================================================
+--- a/src/src/associations.cpp	(revision 12579)
++++ b/src/src/associations.cpp	(revision 12580)
+@@ -201,11 +201,7 @@
+     if (key.Exists())
+     {
+         wxString s;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         if (key.QueryValue(wxEmptyString, s) && s.StartsWith(_T("CodeBlocks")))
+-        #else
+-        if (key.QueryValue(NULL, s) && s.StartsWith(_T("CodeBlocks")))
+-        #endif
+             key.DeleteSelf();
+     }
+ 
+Index: src/src/dlgabout.cpp
+===================================================================
+--- a/src/src/dlgabout.cpp	(revision 12579)
++++ b/src/src/dlgabout.cpp	(revision 12580)
+@@ -20,9 +20,7 @@
+     #include <wx/string.h>
+     #include <wx/textctrl.h>
+     #include <wx/xrc/xmlres.h>
+-    #if wxCHECK_VERSION(3, 0, 0)
+-        #include <wx/versioninfo.h>
+-    #endif // wxCHECK_VERSION
++    #include <wx/versioninfo.h>
+ 
+     #include "licenses.h"
+     #include "configmanager.h"
+@@ -146,15 +144,11 @@
+     wxTextCtrl *txtLicense = XRCCTRL(*this, "txtLicense", wxTextCtrl);
+     txtLicense->SetValue(LICENSE_GPL);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     const wxVersionInfo scintillaVersion = wxScintilla::GetLibraryVersionInfo();
+     const wxString scintillaStr = wxString::Format(wxT("%d.%d.%d"),
+                                                    scintillaVersion.GetMajor(),
+                                                    scintillaVersion.GetMinor(),
+                                                    scintillaVersion.GetMicro());
+-#else
+-    const wxString scintillaStr = wxSCINTILLA_VERSION;
+-#endif // wxCHECK_VERSION
+ 
+     struct Item
+     {
+@@ -218,9 +212,7 @@
+         information += wxT(": ") + item.value + wxT("\n");
+     }
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     information += wxT("\n") + wxGetLibraryVersionInfo().GetDescription();
+-#endif // wxCHECK_VERSION(3, 0, 0)
+ 
+     wxTextCtrl *txtInformation = XRCCTRL(*this, "txtInformation", wxTextCtrl);
+     txtInformation->SetValue(information);
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 12579)
++++ b/src/src/main.cpp	(revision 12580)
+@@ -2075,11 +2075,7 @@
+         {
+             if (!items[i]->IsCheckable())
+                 continue;
+-#if wxCHECK_VERSION(3, 0, 0)
+             items[i]->Check(items[i]->GetItemLabel().IsSameAs(name));
+-#else
+-            items[i]->Check(items[i]->GetText().IsSameAs(name));
+-#endif
+         }
+ 
+         if (!m_LastLayoutIsTemp)
+@@ -2401,12 +2397,7 @@
+             break;
+ 
+         default: // default style
+-            #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-            target->SetArtProvider(new NbStyleGTK());
+-            #else
+             target->SetArtProvider(new wxAuiDefaultTabArt());
+-            #endif
+-            break;
+     }
+ 
+     target->SetTabCtrlHeight(-1);
+@@ -4801,13 +4792,9 @@
+ 
+     if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor())
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         // Execute the code to update the status bar outside of the paint event for scintilla.
+         // Executing this function directly in the event handler causes redraw problems on Windows.
+         CallAfter(&MainFrame::DoUpdateStatusBar);
+-#else
+-        DoUpdateStatusBar();
+-#endif // defined(__wxMSW__) && wxCHECK_VERSION(3, 0, 0)
+     }
+ 
+     event.Skip();
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12579)
++++ b/src/src/notebookstyles.cpp	(revision 12580)
+@@ -13,14 +13,6 @@
+ #include "prep.h"
+ #include "notebookstyles.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-    #include <wx/renderer.h>
+-#endif
+-
+ #include <wx/dc.h>
+ #include <wx/dcclient.h>
+ 
+@@ -42,15 +34,9 @@
+ {
+     NbStyleVC71* clone = new NbStyleVC71();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -75,11 +61,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 3;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 3;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -166,17 +148,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -186,21 +161,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -227,11 +193,7 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+@@ -246,15 +208,9 @@
+ {
+     NbStyleFF2* clone = new NbStyleFF2();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -272,11 +228,7 @@
+     wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+                                     page.active, close_button_state, x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 2;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 2;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -360,17 +312,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -380,21 +325,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -421,533 +357,9 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+     return s.y + 6;
+ }
+-
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+-namespace
+-{
+-
+-static GtkWidget *g_window = nullptr;
+-static GtkWidget *g_container = nullptr;
+-static GtkWidget *g_notebook = nullptr;
+-static GtkWidget *g_button = nullptr;
+-static int s_CloseIconSize = 16; // default size
+-
+-static void setup_widget_prototype(GtkWidget* widget)
+-{
+-    if (!g_window)
+-    {
+-        g_window = gtk_window_new(GTK_WINDOW_POPUP);
+-        gtk_widget_realize(g_window);
+-    }
+-    if (!g_container)
+-    {
+-        g_container = gtk_fixed_new();
+-        gtk_container_add(GTK_CONTAINER(g_window), g_container);
+-    }
+-
+-    gtk_container_add(GTK_CONTAINER(g_container), widget);
+-    gtk_widget_realize(widget);
+-}
+-
+-static GtkStyle * get_style_button()
+-{
+-    if (!g_button)
+-    {
+-        g_button = gtk_button_new();
+-        setup_widget_prototype(g_button);
+-    }
+-    return gtk_widget_get_style(g_button);
+-}
+-
+-static GtkStyle * get_style_notebook()
+-{
+-    if (!g_notebook)
+-    {
+-        g_notebook = gtk_notebook_new();
+-        setup_widget_prototype(g_notebook);
+-    }
+-    return gtk_widget_get_style(g_notebook);
+-}
+-
+-}
+-
+-NbStyleGTK::NbStyleGTK():
+-    m_Xthickness(0),
+-    m_Ythickness(0),
+-    m_TabHBorder(0),
+-    m_TabVBorder(0)
+-
+-{
+-}
+-
+-wxAuiTabArt* NbStyleGTK::Clone()
+-{
+-    NbStyleGTK* clone = new NbStyleGTK();
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    clone->SetNormalFont(m_normalFont);
+-    clone->SetSelectedFont(m_normalFont);
+-    clone->SetMeasuringFont(m_normalFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_normal_font);
+-    clone->SetMeasuringFont(m_normal_font);
+-#endif
+-
+-    return clone;
+-}
+-
+-void NbStyleGTK::DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect)
+-{
+-    GtkStyle* style_notebook = get_style_notebook();
+-    GtkNotebook* notebook = GTK_NOTEBOOK (g_notebook);
+-
+-    // if one of the parameters have changed, the height needs to be recalculated, so we force it,
+-    if(m_Xthickness  != style_notebook->xthickness ||
+-       m_Ythickness  != style_notebook->ythickness ||
+-       m_TabVBorder != notebook->tab_vborder ||
+-       m_TabHBorder != notebook->tab_hborder)
+-    {
+-        m_Xthickness  = style_notebook->xthickness;
+-        m_Ythickness  = style_notebook->ythickness;
+-        m_TabVBorder = notebook->tab_vborder;
+-        m_TabHBorder = notebook->tab_hborder;
+-        wxAuiNotebook* nb = nullptr;
+-        if(wnd)
+-             nb = (cbAuiNotebook*)wnd->GetParent();
+-        if(nb)
+-            nb->SetTabCtrlHeight(-1);
+-    }
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_style_apply_default_background(style_notebook, pWin, 1, GTK_STATE_NORMAL, nullptr,
+-                                       rect.x, rect.y, rect.width, rect.height);
+-}
+-
+-void ButtonStateAndShadow(int button_state, GtkStateType &state, GtkShadowType &shadow)
+-{
+-
+-    if (button_state & wxAUI_BUTTON_STATE_DISABLED)
+-    {
+-        state = GTK_STATE_INSENSITIVE;
+-        shadow = GTK_SHADOW_ETCHED_IN;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        state = GTK_STATE_PRELIGHT;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        state = GTK_STATE_ACTIVE;
+-        shadow = GTK_SHADOW_IN;
+-    }
+-    else
+-    {
+-        state = GTK_STATE_NORMAL;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-}
+-
+-wxRect DrawCloseButton(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GdkRectangle* clipRect)
+-{
+-    GtkStyle *style_button = get_style_button();
+-    int xthickness = style_button->xthickness;
+-    int ythickness = style_button->ythickness;
+-
+-    wxBitmap bmp;
+-    bmp.SetPixbuf(gtk_widget_render_icon(widget, GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR, "tab"));
+-
+-    if(bmp.GetWidth() != s_CloseIconSize || bmp.GetHeight() != s_CloseIconSize)
+-    {
+-        wxImage img = bmp.ConvertToImage();
+-        img.Rescale(s_CloseIconSize, s_CloseIconSize);
+-        bmp = img;
+-    }
+-
+-    int button_size = s_CloseIconSize + 2 * xthickness;
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x - ythickness;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - button_size - ythickness;
+-
+-    out_rect.y = in_rect.y + (in_rect.height - button_size) / 2;
+-    out_rect.width = button_size;
+-    out_rect.height = button_size;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-    else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_ACTIVE, GTK_SHADOW_IN, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-
+-
+-    dc.DrawBitmap(bmp, out_rect.x + xthickness, out_rect.y + ythickness, true);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
+-                             const wxRect& in_rect, int close_button_state, wxRect* out_tab_rect,
+-                             wxRect* out_button_rect, int* x_extent)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    GtkStyle *style_notebook = get_style_notebook();
+-
+-    wxRect const &window_rect = wnd->GetRect();
+-
+-    int focus_width = 0;
+-
+-    gtk_widget_style_get(g_notebook,
+-                         "focus-line-width", &focus_width,
+-                         NULL);
+-
+-    int tab_pos;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        tab_pos = wxAUI_NB_BOTTOM;
+-    else //if (m_flags & wxAUI_NB_TOP) {}
+-        tab_pos = wxAUI_NB_TOP;
+-
+-    // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+-    // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+-
+-    // figure out the size of the tab
+-    wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+-                                    page.active, close_button_state, x_extent);
+-
+-    wxRect tab_rect = in_rect;
+-    tab_rect.width = tab_size.x;
+-    tab_rect.height = tab_size.y;
+-    tab_rect.y += 2 * m_TabHBorder;
+-
+-    if (page.active)
+-        tab_rect.height += 2 * m_TabHBorder;
+-#if wxCHECK_VERSION(3, 0, 0)
+-    // if no bitmap is set, we need a tiny correction
+-    if (! page.bitmap.IsOk())
+-        tab_rect.height += 1;
+-#endif
+-
+-    int gap_rect_height = 6 * m_TabHBorder;
+-    int gap_rect_x = 1, gap_start = 0, gap_width = 0;
+-    int gap_rect_y = tab_rect.y - gap_rect_height;
+-    int gap_rect_width = window_rect.width;
+-
+-    switch (tab_pos)
+-    {
+-        case wxAUI_NB_TOP:
+-            tab_rect.y -= 2 * m_TabHBorder;
+-            if (!page.active)
+-                tab_rect.y += 2 * m_TabHBorder;
+-            gap_rect_y = tab_rect.y + tab_rect.height - m_TabHBorder / 2;
+-            // fall through
+-        case wxAUI_NB_BOTTOM:
+-            gap_start = tab_rect.x - m_TabVBorder / 2;
+-            gap_width = tab_rect.width;
+-            break;
+-        default:
+-            break;
+-    }
+-    tab_rect.y += m_TabHBorder / 2;
+-    gap_rect_y += m_TabHBorder / 2;
+-
+-    int padding = focus_width + m_TabHBorder;
+-
+-    int clip_width = tab_rect.width;
+-    if (tab_rect.x + tab_rect.width > in_rect.x + in_rect.width)
+-        clip_width = (in_rect.x + in_rect.width) - tab_rect.x;
+-
+-    dc.SetClippingRegion(tab_rect.x, tab_rect.y - m_TabVBorder, clip_width, tab_rect.height + m_TabVBorder);
+-
+-    GdkRectangle area;
+-    area.x = tab_rect.x - m_TabVBorder;
+-    area.y = tab_rect.y - 2 * m_TabHBorder;
+-    area.width = clip_width + m_TabVBorder;
+-    area.height = tab_rect.height + 2 * m_TabHBorder;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (tab_pos == wxAUI_NB_BOTTOM)
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_BOTTOM, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_TOP);
+-    }
+-    else
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_TOP, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_BOTTOM);
+-    }
+-
+-    wxCoord textX = tab_rect.x + padding + m_Xthickness;
+-
+-    int bitmap_offset = 0;
+-    if (page.bitmap.IsOk())
+-    {
+-        bitmap_offset = textX;
+-
+-        // draw bitmap
+-        int bitmapY = tab_rect.y +(tab_rect.height - page.bitmap.GetHeight()) / 2;
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                bitmapY += m_Ythickness / 2;
+-            else
+-                bitmapY -= m_Ythickness / 2;
+-        }
+-        dc.DrawBitmap(page.bitmap,
+-                      bitmap_offset,
+-                      bitmapY,
+-                      true);
+-
+-        textX += page.bitmap.GetWidth() + padding;
+-    }
+-
+-    wxCoord textW, textH, textY;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    dc.SetFont(m_normalFont);
+-#else
+-    dc.SetFont(m_normal_font);
+-#endif
+-    dc.GetTextExtent(page.caption, &textW, &textH);
+-    textY = tab_rect.y + (tab_rect.height - textH) / 2;
+-    if(!page.active)
+-    {
+-        if (tab_pos == wxAUI_NB_TOP)
+-            textY += m_Ythickness / 2;
+-        else
+-            textY -= m_Ythickness / 2;
+-    }
+-
+-    // draw tab text
+-    GdkColor text_colour = page.active ? style_notebook->fg[GTK_STATE_NORMAL] : style_notebook->fg[GTK_STATE_ACTIVE];
+-    dc.SetTextForeground(wxColor(text_colour));
+-    GdkRectangle focus_area;
+-
+-    int padding_focus = padding - focus_width;
+-    focus_area.x = tab_rect.x + padding_focus;
+-    focus_area.y = textY - focus_width;
+-    focus_area.width = tab_rect.width - 2 * padding_focus;
+-    focus_area.height = textH + 2 * focus_width;
+-
+-    if(page.active && (wnd->FindFocus() == wnd) && focus_area.x <= (area.x + area.width))
+-    {
+-        // clipping seems not to work here, so we we have to recalc the focus-area manually
+-        if((focus_area.x + focus_area.width) > (area.x + area.width))
+-            focus_area.width = area.x + area.width - focus_area.x + focus_width - m_TabVBorder;
+-        gtk_paint_focus (style_notebook, pWin,
+-                         GTK_STATE_ACTIVE, NULL, widget, "tab",
+-                         focus_area.x, focus_area.y, focus_area.width, focus_area.height);
+-    }
+-
+-    dc.DrawText(page.caption, textX, textY);
+-
+-    // draw close-button on tab (if enabled)
+-    if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+-    {
+-        wxRect rect(tab_rect.x, tab_rect.y, tab_rect.width - m_Xthickness, tab_rect.height);
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                rect.y += m_Ythickness / 2;
+-            else
+-                rect.y -= m_Ythickness / 2;
+-        }
+-        *out_button_rect = DrawCloseButton(dc, widget, close_button_state, rect, wxRIGHT, &area);
+-    }
+-
+-    tab_rect.width = std::min(tab_rect.width, clip_width);
+-    *out_tab_rect = tab_rect;
+-
+-    dc.DestroyClippingRegion();
+-}
+-
+-wxRect DrawSimpleArrow(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GtkArrowType arrow_type)
+-{
+-    int scroll_arrow_hlength, scroll_arrow_vlength;
+-    gtk_widget_style_get(widget,
+-                         "scroll-arrow-hlength", &scroll_arrow_hlength,
+-                         "scroll-arrow-vlength", &scroll_arrow_vlength,
+-                         NULL);
+-
+-    GtkStateType state;
+-    GtkShadowType shadow;
+-    ButtonStateAndShadow(button_state, state, shadow);
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - scroll_arrow_hlength;
+-    out_rect.y = (in_rect.y + in_rect.height - 3 * get_style_notebook()->ythickness - scroll_arrow_vlength) / 2;
+-    out_rect.width = scroll_arrow_hlength;
+-    out_rect.height = scroll_arrow_vlength;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_paint_arrow (get_style_button(), pWin, state, shadow, nullptr, widget, "notebook",
+-                     arrow_type, TRUE, out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawButton(wxDC& dc, wxWindow* wnd,
+-                            const wxRect& in_rect,
+-                            int bitmap_id,
+-                            int button_state,
+-                            int orientation,
+-                            wxRect* out_rect)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    wxRect rect = in_rect;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        rect.y += 2 * get_style_button()->ythickness;
+-
+-    switch (bitmap_id)
+-    {
+-        case wxAUI_BUTTON_CLOSE:
+-            rect.y -= 2 * get_style_button()->ythickness;
+-            rect = DrawCloseButton(dc, widget, button_state, rect, orientation, NULL);
+-            break;
+-
+-        case wxAUI_BUTTON_LEFT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_LEFT);
+-            break;
+-
+-        case wxAUI_BUTTON_RIGHT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_RIGHT);
+-            break;
+-
+-        case wxAUI_BUTTON_WINDOWLIST:
+-            {
+-                rect.height -= 4 * get_style_button()->ythickness;
+-                rect.width = rect.height;
+-                rect.x = in_rect.x + in_rect.width - rect.width;
+-
+-                if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_CURRENT);
+-                else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_PRESSED);
+-                else
+-                    wxRendererNative::Get().DrawDropArrow(wnd, dc, rect);
+-            }
+-            break;
+-
+-        default:
+-            break;
+-    }
+-
+-    *out_rect = rect;
+-}
+-
+-
+-int NbStyleGTK::GetBestTabCtrlSize(wxWindow* wnd,
+-                                   const wxAuiNotebookPageArray& pages,
+-                                   const wxSize& required_bmp_size)
+-{
+-#if wxCHECK_VERSION(3, 0, 0)
+-    SetMeasuringFont(m_normalFont);
+-    SetSelectedFont(m_normalFont);
+-#else
+-    SetMeasuringFont(m_normal_font);
+-    SetSelectedFont(m_normal_font);
+-#endif
+-    int tab_height = 3 * get_style_notebook()->ythickness + wxAuiDefaultTabArt::GetBestTabCtrlSize(wnd, pages, required_bmp_size);
+-    return tab_height;
+-}
+-
+-wxSize NbStyleGTK::GetTabSize(wxDC& dc,
+-                              wxWindow* wnd,
+-                              const wxString& caption,
+-                              const wxBitmap& bitmap,
+-                              bool active,
+-                              int close_button_state,
+-                              int* x_extent)
+-{
+-    wxSize s = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
+-
+-    int overlap = 0;
+-    gtk_widget_style_get (wnd->GetHandle(),
+-        "focus-line-width", &overlap,
+-        NULL);
+-    *x_extent -= overlap;
+-    return s;
+-}
+-
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+Index: src/src/projectmanagerui.cpp
+===================================================================
+--- a/src/src/projectmanagerui.cpp	(revision 12579)
++++ b/src/src/projectmanagerui.cpp	(revision 12580)
+@@ -1875,11 +1875,7 @@
+ {
+     size_t operator()(const wxString& s) const
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         return std::hash<std::wstring>()(s.ToStdWstring());
+-#else
+-        return std::hash<std::wstring>()(s.wc_str());
+-#endif // wxCHECK_VERSION
+     }
+ };
+ 
diff --git a/srcpkgs/codeblocks/patches/000.r12707.patch b/srcpkgs/codeblocks/patches/000.r12707.patch
new file mode 100644
index 0000000000000..bca974fbe5770
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12707.patch
@@ -0,0 +1,120 @@
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12706)
++++ b/src/src/notebookstyles.cpp	(revision 12707)
+@@ -124,8 +124,16 @@
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -132,6 +140,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -161,13 +170,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
+@@ -285,11 +304,20 @@
+     int text_offset = tab_x + 8;
+ 
+     int bitmap_offset = 0;
++
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -296,6 +324,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -303,7 +332,6 @@
+         text_offset = tab_x + 8;
+     }
+ 
+-
+     // if the caption is empty, measure some temporary text
+     wxString caption = page.caption;
+     if (caption.empty())
+@@ -325,13 +353,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
diff --git a/srcpkgs/codeblocks/patches/wx-3.2.patch b/srcpkgs/codeblocks/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..0400ce6346178
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/wx-3.2.patch
@@ -0,0 +1,21 @@
+Index: codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+===================================================================
+--- codeblocks-20.03.orig/src/sdk/scripting/bindings/sc_wxtypes.cpp
++++ codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+@@ -322,6 +322,7 @@ namespace ScriptBindings
+         typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
+         typedef bool(wxFileName::*WXFN_ISFILEWRITEABLE)()const;
++        typedef bool(wxFileName::*WXFN_NORMALIZE)(int, const wxString&, wxPathFormat);
+ 
+         SqPlus::SQClassDef<wxFileName>("wxFileName").
+                 emptyCtor().
+@@ -354,7 +355,7 @@ namespace ScriptBindings
+                 func(&wxFileName::IsDir, "IsDir").
+                 func(&wxFileName::MakeAbsolute, "MakeAbsolute").
+                 func(&wxFileName::MakeRelativeTo, "MakeRelativeTo").
+-                func(&wxFileName::Normalize, "Normalize").
++                func<WXFN_NORMALIZE>(&wxFileName::Normalize, "Normalize").
+                 func(&wxFileName::PrependDir, "PrependDir").
+                 func(&wxFileName::RemoveDir, "RemoveDir").
+                 func(&wxFileName::RemoveLastDir, "RemoveLastDir").
diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..46466d990bed1 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr

From c7eb27cb71856873281bdb8563ae34fa6eaa38f0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/44] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   2 +-
 2 files changed, 132 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..140fe20d0d26b 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 461b0a01f1f7c4c1de07b5a52ab3ac7bcb73fd60 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/44] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..dff1f22362cbd 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From a316102d9b96684c8381cc58596fb1bf132e3fc1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/44] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From 14f7df0804d505cff51bc5788ffaf2a071ae0b39 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/44] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..21a5b44004c55 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"

From b475fd686055c5391ac6c89a0f5230772f6f9cd4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/44] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..4d1ed212115a6 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"

From 5cba96661b9d6c17d62e3272d647d6db43a91d6f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/44] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..1fd406b6a2f55 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4

From d742561851fd6b9f417c24fb3c70686c770edfc0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/44] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..73720781c7191 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"

From 18892499bbc670621c5d42afbe0a47238d95f6ac Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/44] kicad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/kicad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..1fb6dd434da42 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,7 +1,7 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON

From 45d507b7a880641640e98addb56e8ebace1efbfb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/44] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..1b82376b3fbda 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"

From 28fec12124d276c5c4ffc52c8c988bfa02225d34 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 29/44] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..77bbea28ff696 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From d3a6f8b023c4a943c64e6f93f2fd34e19290688a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/44] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..f83d1fe5cb1f5 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files

From 7206f6d0ca08666677b969b5dda7371cf0f8d635 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/44] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..09ad192af236d 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 24da0c8c8208af9551d8dc4f85712a9ca7e6baa3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/44] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..72747cbb0a024 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"

From 22e38c60919facbac62a166098bc78cce45322bf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/44] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..2c4aabc217615 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"

From ba3a48a62ea65ee24a00c622ea2b1c0ac98d9704 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/44] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..f02d13fd6bafb 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"

From a2e1c4a6078e7994ec5ef6b05b5ed4b3c0549416 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/44] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..486e4609a19d6 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"

From 1f3d182b19391401a276bae1142817d0316693ed Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 36/44] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5ed1b80048846 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"

From 4b027d7092764638e4a37e83e2377e43df07c8a2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/44] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..c391d781c6fd1 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"

From ca4998daf382feeb72289004bb2504cbd1e96d4c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 38/44] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..06782c1f97743 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"

From 82f0611ccafc59e33eee54e00dd43c712ffa6884 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 39/44] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From f09400447e28bc4e91f851c35daac4c951923d9c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 40/44] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From dd2933f7a6675a6e94ade89e18ff13ac07406184 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:21 -0400
Subject: [PATCH 41/44] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1fb6dd434da42..624180e9c6d0c 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=3
+revision=4
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,7 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi

From 3e80f0b3dc04c808a04fcaad25e5864451d898a8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 42/44] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From bd53118145eba57b6f085e896d2d0dea75c1c752 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 43/44] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From 47d219d66a99e464e62694e030d0f2534e57dd55 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 44/44] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (10 preceding siblings ...)
  2023-09-25 15:21 ` [PR PATCH] [Updated] " ahesford
@ 2023-09-25 15:21 ` ahesford
  2023-09-25 15:52 ` [PR PATCH] [Updated] " ahesford
                   ` (16 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 15:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1733756634

Comment:
There are five failures on an `x86_64` build:
- [ ] OpenCPN
- [x] audacity
- [x] codeblocks
- [x] codelite
- [x] kicad

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (11 preceding siblings ...)
  2023-09-25 15:21 ` ahesford
@ 2023-09-25 15:52 ` ahesford
  2023-09-25 15:55 ` ahesford
                   ` (15 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 15:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWiwdgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 132260 bytes --]

From 549650d4086430bcc0b5da744aea6fa4c15180f6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/44] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From c6e36d27abf919c4df84767236f3a1b3b88a3db6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/44] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 1e5167386c3bd2dc94037b5a41b09b85c0847f69 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:24:33 -0400
Subject: [PATCH 03/44] dispcalGUI: remove package

This package depends on long-past-EOL Python 2 and an old and
to-be-removed version of wxWidgets.
---
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 srcpkgs/removed-packages/template      |  1 +
 4 files changed, 1 insertion(+), 59 deletions(-)
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index b176739157e3c..99fc49592d2ce 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -85,6 +85,7 @@ replaces="
  deepin-turbo<=0.0.3_1
  deepin-voice-recorder<=5.0.0_2
  dht-node<=0.2.0_3
+ dispcalGUI<=3.8.9.3_5
  distcc-gtk<=3.3.3_6
  djmount<=0.71_8
  dleyna-core<=0.6.0_2

From 28e21b033f2c9c7484e014e9a4b743081a908c61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 04/44] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From af82b296f4e527b688f270759c16082cee0438a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 05/44] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 2d7f32eee393b..c428153380e03 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 82e325d1dd32abae9c6596bd1dbe578f74939ba0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 06/44] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++++++----------
 .../patches/nonfatal-abi-check.patch          | 21 ++++++------
 srcpkgs/wxWidgets-gtk3/template               | 22 ++++++++-----
 srcpkgs/wxWidgets-gtk3/update                 |  4 +--
 4 files changed, 42 insertions(+), 37 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index c428153380e03..c10711e8bf83f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..cac6df48f93fe 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,22 +1,28 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
+version=3.2.2.1
+revision=1
 build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+configure_args="--with-gtk=3 --with-opengl --with-libmspack --enable-mediactrl
+ --enable-unicode --with-libnotify --with-regex --with-zlib --with-expat
+ --with-libjpeg --with-libpng --with-libtiff --with-liblzma"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
 	#   - mark this build as native build
 	if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 99eaae89d2bd97e3272e98c8a4b28094cd278353 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 07/44] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/{wxPython4 => wxPython}/template      | 30 +++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 8 files changed, 17 insertions(+), 214 deletions(-)
 rename srcpkgs/{wxPython4 => wxPython}/template (73%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 73%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..bc4873fb541aa 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,25 +9,21 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
-}
-
 pre_build() {
 	chmod -R go+rX $wrksrc
 	PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}$wrksrc"
@@ -48,3 +44,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From debd4fedba507bc40091e023dd222c3c19ef9302 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/44] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From 23207b38398a0b8dec35419826bcdf2efa9e4147 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/44] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..d80e63f027e32 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"

From 2d4e009bb3d38cf14f5ac5fffa5dd46236796040 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/44] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..92d0d3b9090fd 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)

From 52698700eef91a1fbe27bbe75ad1c82716157f65 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/44] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..219ac3d66adef 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"

From cc2975efde9f9bbf05e18df973bb4b5caced6c71 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/44] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..f13d5e40a04c8 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="

From 6428ecb0212eab9340ce0db543015979ae6eabef Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/44] OpenCPN: update to 5.8.4.

---
 .../OpenCPN/patches/actually-set-arch.patch   | 28 ------------------
 srcpkgs/OpenCPN/patches/musl.patch            | 29 +++++++++----------
 srcpkgs/OpenCPN/template                      | 13 +++++----
 3 files changed, 20 insertions(+), 50 deletions(-)
 delete mode 100644 srcpkgs/OpenCPN/patches/actually-set-arch.patch

diff --git a/srcpkgs/OpenCPN/patches/actually-set-arch.patch b/srcpkgs/OpenCPN/patches/actually-set-arch.patch
deleted file mode 100644
index d152c40928867..0000000000000
--- a/srcpkgs/OpenCPN/patches/actually-set-arch.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-+++ b/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-@@ -14,6 +14,25 @@
-     # default
-     set (ARCH "i386")
-     set (LIB_INSTALL_DIR "lib")
-+    IF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "aarch64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "armhf")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc*" OR CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "ppc64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "powerpc")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "x86_64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "i386")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-     if (EXISTS /etc/debian_version)
-       set (PACKAGE_FORMAT "DEB")
-       set (PACKAGE_RECS "xcalib,xdg-utils")
diff --git a/srcpkgs/OpenCPN/patches/musl.patch b/srcpkgs/OpenCPN/patches/musl.patch
index 75923e019b2bc..f9877f9a0e651 100644
--- a/srcpkgs/OpenCPN/patches/musl.patch
+++ b/srcpkgs/OpenCPN/patches/musl.patch
@@ -1,26 +1,16 @@
 --- a/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
 +++ b/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-@@ -20,9 +20,7 @@
+@@ -20,15 +20,14 @@
  #define WIN32_LEAN_AND_MEAN
  #include <winsock2.h>
  #else
--    #ifndef __WXOSX__
--        #include <error.h>
--    #else    
-+    #ifdef __WXOSX__
-         #include <mach/error.h> 
+-#ifndef __WXOSX__
+-#include <error.h>
+-#else
++#ifdef __WXOSX__
+ #include <mach/error.h>
  #endif
  
-@@ -424,4 +422,4 @@
-     }
- }
- 
--#endif // ZEROCONF_DETAIL_HPP
-\ No newline at end of file
-+#endif // ZEROCONF_DETAIL_HPP
---- a/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-@@ -27,6 +27,7 @@
  #include <string.h>
  #include <unistd.h>
  #include <sys/socket.h>
@@ -28,3 +18,10 @@
  #include <netinet/in.h>
  #endif
  
+@@ -385,4 +384,4 @@
+ }  // namespace Detail
+ }  // namespace Zeroconf
+ 
+-#endif  // ZEROCONF_DETAIL_HPP
+\ No newline at end of file
++#endif  // ZEROCONF_DETAIL_HPP
diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..d3b57804fa880 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
-version=5.2.0
-revision=2
+version=5.8.4
+revision=1
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
@@ -10,16 +10,17 @@ configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
  -DOCPN_USE_BUNDLED_LIBS=OFF"
 hostmakedepends="gettext pkg-config"
 makedepends="gtk+3-devel libcurl-devel portaudio-devel tinyxml-devel
- wxWidgets-gtk3-devel $(vopt_if exif 'libexif-devel') glu-devel
- $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel') $(vopt_if lzma 'liblzma-devel')"
+ wxWidgets-gtk3-devel glu-devel glew-devel rapidjson gtest-devel
+ $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel')
+ $(vopt_if exif 'libexif-devel') $(vopt_if lzma 'liblzma-devel')"
 depends="gpsd hicolor-icon-theme OpenCPN-tcdata-${version}_${revision}
  OpenCPN-gshhs-crude"
 short_desc="Concise ChartPlotter/Navigator"
 maintainer="John <me@johnnynator.dev>"
 license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, MIT, WxWindows-exception-3.1, JasPer-2.0, BSD-3-Clause, SGI-B-2.0"
 homepage="https://opencpn.org/"
-distfiles="https://github.com/OpenCPN/OpenCPN/archive/v${version}.tar.gz"
-checksum=f6ec38989bc38f5a7f63234c5e0230adeb73f5626b4e3d3dfa680f0c240badc7
+distfiles="https://github.com/OpenCPN/OpenCPN/archive/Release_${version}.tar.gz"
+checksum=7552726e5afce5eb401e307beedd8f3aa2c66725602fc27ab3ad1845f40b87a0
 
 build_options="lzma libarchive exif crashreport"
 build_options_default="lzma libarchive exif"

From 3037a1846e379ca21d98f98e0e21dedbd04be49a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/44] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..6ae1df0d87a19 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower

From 8a779c06de3e798373a33bc28d4149a538a8a3ad Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/44] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..a88c2e4bc7814 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"

From bae64284ae4d5ae70ca266c2ccd3b798a2193482 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/44] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..2da95d5702ea7 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"

From 6e085d15ae7e3f1273d54de66a788045041ef207 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/44] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/patches/wx-3.2.patch         | 26 ++++++++++++++++
 .../patches/wx-widget-has-basque.patch        | 22 +++++++++++++
 srcpkgs/audacity/patches/wxbitmap.patch       | 31 +++++++++++++++++++
 srcpkgs/audacity/template                     |  5 +--
 4 files changed, 82 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/audacity/patches/wx-3.2.patch
 create mode 100644 srcpkgs/audacity/patches/wx-widget-has-basque.patch
 create mode 100644 srcpkgs/audacity/patches/wxbitmap.patch

diff --git a/srcpkgs/audacity/patches/wx-3.2.patch b/srcpkgs/audacity/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..d42ae09f30f6e
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-3.2.patch
@@ -0,0 +1,26 @@
+Index: audacity-Audacity-2.4.1/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/configure
++++ audacity-Audacity-2.4.1/configure
+@@ -19918,7 +19918,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
+Index: audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/lib-src/lib-widget-extra/configure
++++ audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+@@ -16633,7 +16633,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
diff --git a/srcpkgs/audacity/patches/wx-widget-has-basque.patch b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
new file mode 100644
index 0000000000000..4dd24e79ec8e2
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
@@ -0,0 +1,22 @@
+Index: audacity-Audacity-2.4.1/src/AudacityApp.cpp
+===================================================================
+--- audacity-Audacity-2.4.1.orig/src/AudacityApp.cpp
++++ audacity-Audacity-2.4.1/src/AudacityApp.cpp
+@@ -1102,7 +1102,7 @@ locations of the missing files.").Format
+ #define WL(lang,sublang)
+ #endif
+ 
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+ wxLanguageInfo userLangs[] =
+ {
+    // Bosnian is defined in wxWidgets already
+@@ -1366,7 +1366,7 @@ bool AudacityApp::OnInit()
+    //
+    // TODO:  The whole Language initialization really need to be reworked.
+    //        It's all over the place.
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+    for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++)
+    {
+       wxLocale::AddLanguage(userLangs[i]);
diff --git a/srcpkgs/audacity/patches/wxbitmap.patch b/srcpkgs/audacity/patches/wxbitmap.patch
new file mode 100644
index 0000000000000..af18bd1cb6524
--- /dev/null
+++ b/srcpkgs/audacity/patches/wxbitmap.patch
@@ -0,0 +1,31 @@
+From 55383fccd0c281b4f189d9b07699b21bb802c736 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney@ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH] Call the proper wxBitmap constructor for XPM data
+
+wxBitmap back to at least 3.0.0 did not have a constructor for an XPM
+image that took a size parameter, it would only take the XPM data
+itself.
+
+I don't know how this compiled until now, but it doesn't anymore when
+the size is included and built against wx 3.1.6 in Fedora.
+---
+ src/MixerBoard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+ 
+ Technically this patch is under GPLv3+ because it was contributed after
+ re licensing
+
+diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp
+index 54b5f146cc7..7fe81615474 100644
+--- a/src/MixerBoard.cpp
++++ b/src/MixerBoard.cpp
+@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments()
+    wxMemoryDC dc;
+ 
+    for (const auto &data : table) {
+-      auto bmp = std::make_unique<wxBitmap>(data.bitmap,24);
++      auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+       dc.SelectObject(*bmp);
+       AColor::Bevel(dc, false, bev);
+       mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..6992ffa771b9a 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"
@@ -13,7 +13,8 @@ makedepends="jack-devel wxWidgets-gtk3-devel gtk+3-devel
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Graphical cross-platform audio editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
+# Patches are GPL3+, so bump the license for the whole package
+license="GPL-3.0-or-later"
 homepage="https://www.audacityteam.org"
 distfiles="https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"
 checksum=50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f

From 320a3894a292651533659f36c3982116a83ac9a5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/44] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65bbbe7540d50 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"

From 26b0e8e601e7b0f2be9fba1aa2b6e1c8aaf805fc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/44] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/patches/000.r11991.patch   |  27 +
 ...0.v20.03-r12008.patch => 000.r12008.patch} |   0
 ...1.v20.03-r12012.patch => 000.r12012.patch} |   0
 srcpkgs/codeblocks/patches/000.r12532.patch   |  13 +
 srcpkgs/codeblocks/patches/000.r12580.patch   | 944 ++++++++++++++++++
 srcpkgs/codeblocks/patches/000.r12707.patch   | 120 +++
 srcpkgs/codeblocks/patches/wx-3.2.patch       |  21 +
 srcpkgs/codeblocks/template                   |   2 +-
 8 files changed, 1126 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codeblocks/patches/000.r11991.patch
 rename srcpkgs/codeblocks/patches/{000.v20.03-r12008.patch => 000.r12008.patch} (100%)
 rename srcpkgs/codeblocks/patches/{001.v20.03-r12012.patch => 000.r12012.patch} (100%)
 create mode 100644 srcpkgs/codeblocks/patches/000.r12532.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12580.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12707.patch
 create mode 100644 srcpkgs/codeblocks/patches/wx-3.2.patch

diff --git a/srcpkgs/codeblocks/patches/000.r11991.patch b/srcpkgs/codeblocks/patches/000.r11991.patch
new file mode 100644
index 0000000000000..0cdb7251fdced
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r11991.patch
@@ -0,0 +1,27 @@
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 11990)
++++ b/src/src/main.cpp	(revision 11991)
+@@ -2680,8 +2680,6 @@
+     else
+     {
+         wxBusyCursor useless;
+-        wxPaintEvent e;
+-        ProcessEvent(e);
+         for (unsigned int i = 0; i < files.GetCount(); ++i)
+           success &= OpenGeneric(files[i]);
+     }
+Index: src/src/watchesdlg.cpp
+===================================================================
+--- a/src/src/watchesdlg.cpp	(revision 11990)
++++ b/src/src/watchesdlg.cpp	(revision 11991)
+@@ -103,8 +103,7 @@
+                                   cb_unused const wxPoint& pos,
+                                   cb_unused const wxSize& sz) const override
+     {
+-        wxPGWindowList const list;
+-        return list;
++        return wxPGWindowList(nullptr, nullptr);
+     }
+     void UpdateControl(cb_unused wxPGProperty* property, cb_unused wxWindow* ctrl) const override {}
+     bool OnEvent(cb_unused wxPropertyGrid* propgrid, cb_unused wxPGProperty* property,
diff --git a/srcpkgs/codeblocks/patches/000.v20.03-r12008.patch b/srcpkgs/codeblocks/patches/000.r12008.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/000.v20.03-r12008.patch
rename to srcpkgs/codeblocks/patches/000.r12008.patch
diff --git a/srcpkgs/codeblocks/patches/001.v20.03-r12012.patch b/srcpkgs/codeblocks/patches/000.r12012.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/001.v20.03-r12012.patch
rename to srcpkgs/codeblocks/patches/000.r12012.patch
diff --git a/srcpkgs/codeblocks/patches/000.r12532.patch b/srcpkgs/codeblocks/patches/000.r12532.patch
new file mode 100644
index 0000000000000..15a2fff28e2e7
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12532.patch
@@ -0,0 +1,13 @@
+Index: src/include/ccmanager.h
+===================================================================
+--- a/src/include/ccmanager.h	(revision 12531)
++++ b/src/include/ccmanager.h	(revision 12532)
+@@ -44,7 +44,7 @@
+  * list or the doxygen popup, the scroll event is instead sent there (and skipped for the editor
+  * window).
+  */
+-class DLLIMPORT CCManager : public Mgr<CCManager>, wxEvtHandler
++class DLLIMPORT CCManager : public Mgr<CCManager>, public wxEvtHandler
+ {
+     public:
+         friend class Mgr<CCManager>;
diff --git a/srcpkgs/codeblocks/patches/000.r12580.patch b/srcpkgs/codeblocks/patches/000.r12580.patch
new file mode 100644
index 0000000000000..7930c5c5677b2
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12580.patch
@@ -0,0 +1,944 @@
+Index: src/src/notebookstyles.h
+===================================================================
+--- a/src/src/notebookstyles.h	(revision 12579)
++++ b/src/src/notebookstyles.h	(revision 12580)
+@@ -8,14 +8,6 @@
+ 
+ #include "cbauibook.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-#endif
+-
+-
+ class wxDC;
+ class wxWindow;
+ class wxRect;
+@@ -53,35 +45,4 @@
+                             const wxSize& required_bmp_size) override;
+ };
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-class NbStyleGTK : public wxAuiDefaultTabArt
+-{
+-public:
+-    NbStyleGTK();
+-
+-    virtual wxAuiTabArt* Clone();
+-    virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+-    virtual void DrawTab(wxDC& dc,
+-                         wxWindow* wnd,
+-                         const wxAuiNotebookPage& page,
+-                         const wxRect& in_rect,
+-                         int close_button_state,
+-                         wxRect* out_tab_rect,
+-                         wxRect* out_button_rect,
+-                         int* x_extent);
+-    void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
+-                    int button_state, int orientation, wxRect* out_rect);
+-    int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
+-                            const wxSize& required_bmp_size);
+-    virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active,
+-                              int close_button_state, int* x_extent);
+-private:
+-    int m_Xthickness;
+-    int m_Ythickness;
+-    int m_TabHBorder;
+-    int m_TabVBorder;
+-    wxBitmap m_ActiveCloseButton;
+-};
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+ #endif // NOTEBOOKSTYLES_H
+Index: src/plugins/compilergcc/compileroptionsdlg.cpp
+===================================================================
+--- a/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12579)
++++ b/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12580)
+@@ -677,13 +677,9 @@
+     wxPGProperty *root = m_FlagsPG->GetRoot();
+     if (root)
+     {
+-        unsigned count = root->GetChildCount();
++        const unsigned count = root->GetChildCount();
+         for (unsigned ii = 0; ii < count; ++ii)
+-#if wxCHECK_VERSION(3, 0, 0)
+             m_FlagsPG->SortChildren(root->Item(ii), wxPG_RECURSE);
+-#else
+-            m_FlagsPG->Sort(root->Item(ii));
+-#endif
+     }
+     m_FlagsPG->Thaw();
+ } // DoFillOptions
+@@ -2118,11 +2114,7 @@
+     CompilerFactory::SetDefaultCompiler(idx);
+     wxString msg;
+     Compiler* compiler = CompilerFactory::GetDefaultCompiler();
+-    #if wxCHECK_VERSION(3, 0, 0)
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().wx_str() : _("[invalid]").wx_str());
+-    #else
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().c_str() : _("[invalid]"));
+-    #endif
++    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName() : _("[invalid]"));
+     cbMessageBox(msg);
+ } // OnSetDefaultCompilerClick
+ 
+Index: src/sdk/templatemanager.cpp
+===================================================================
+--- a/src/sdk/templatemanager.cpp	(revision 12579)
++++ b/src/sdk/templatemanager.cpp	(revision 12580)
+@@ -186,11 +186,7 @@
+             ++count;
+         }
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+     if (count != total_count)
+         cbMessageBox(_("Some files could not be loaded with the template..."), _("Error"), wxICON_ERROR);
+@@ -303,21 +299,13 @@
+     {
+         wxString src = (*it)->file.GetFullPath();
+         wxString dst = templ + (*it)->relativeToCommonTopLevelPath;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.wx_str(), dst.wx_str()));
+-        #else
+-        Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.c_str(), dst.c_str()));
+-        #endif
+         if (!CreateDirRecursively(dst))
+             Manager::Get()->GetLogManager()->DebugLog(_T("Failed creating directory for ") + dst);
+         if (wxCopyFile(src, dst, true))
+             ++count;
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+ 
+     // cbProject doesn't have a GetRelativeToCommonTopLevelPath() function, so we simulate it here
+Index: src/src/associations.cpp
+===================================================================
+--- a/src/src/associations.cpp	(revision 12579)
++++ b/src/src/associations.cpp	(revision 12580)
+@@ -201,11 +201,7 @@
+     if (key.Exists())
+     {
+         wxString s;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         if (key.QueryValue(wxEmptyString, s) && s.StartsWith(_T("CodeBlocks")))
+-        #else
+-        if (key.QueryValue(NULL, s) && s.StartsWith(_T("CodeBlocks")))
+-        #endif
+             key.DeleteSelf();
+     }
+ 
+Index: src/src/dlgabout.cpp
+===================================================================
+--- a/src/src/dlgabout.cpp	(revision 12579)
++++ b/src/src/dlgabout.cpp	(revision 12580)
+@@ -20,9 +20,7 @@
+     #include <wx/string.h>
+     #include <wx/textctrl.h>
+     #include <wx/xrc/xmlres.h>
+-    #if wxCHECK_VERSION(3, 0, 0)
+-        #include <wx/versioninfo.h>
+-    #endif // wxCHECK_VERSION
++    #include <wx/versioninfo.h>
+ 
+     #include "licenses.h"
+     #include "configmanager.h"
+@@ -146,15 +144,11 @@
+     wxTextCtrl *txtLicense = XRCCTRL(*this, "txtLicense", wxTextCtrl);
+     txtLicense->SetValue(LICENSE_GPL);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     const wxVersionInfo scintillaVersion = wxScintilla::GetLibraryVersionInfo();
+     const wxString scintillaStr = wxString::Format(wxT("%d.%d.%d"),
+                                                    scintillaVersion.GetMajor(),
+                                                    scintillaVersion.GetMinor(),
+                                                    scintillaVersion.GetMicro());
+-#else
+-    const wxString scintillaStr = wxSCINTILLA_VERSION;
+-#endif // wxCHECK_VERSION
+ 
+     struct Item
+     {
+@@ -218,9 +212,7 @@
+         information += wxT(": ") + item.value + wxT("\n");
+     }
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     information += wxT("\n") + wxGetLibraryVersionInfo().GetDescription();
+-#endif // wxCHECK_VERSION(3, 0, 0)
+ 
+     wxTextCtrl *txtInformation = XRCCTRL(*this, "txtInformation", wxTextCtrl);
+     txtInformation->SetValue(information);
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 12579)
++++ b/src/src/main.cpp	(revision 12580)
+@@ -2075,11 +2075,7 @@
+         {
+             if (!items[i]->IsCheckable())
+                 continue;
+-#if wxCHECK_VERSION(3, 0, 0)
+             items[i]->Check(items[i]->GetItemLabel().IsSameAs(name));
+-#else
+-            items[i]->Check(items[i]->GetText().IsSameAs(name));
+-#endif
+         }
+ 
+         if (!m_LastLayoutIsTemp)
+@@ -2401,12 +2397,7 @@
+             break;
+ 
+         default: // default style
+-            #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-            target->SetArtProvider(new NbStyleGTK());
+-            #else
+             target->SetArtProvider(new wxAuiDefaultTabArt());
+-            #endif
+-            break;
+     }
+ 
+     target->SetTabCtrlHeight(-1);
+@@ -4801,13 +4792,9 @@
+ 
+     if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor())
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         // Execute the code to update the status bar outside of the paint event for scintilla.
+         // Executing this function directly in the event handler causes redraw problems on Windows.
+         CallAfter(&MainFrame::DoUpdateStatusBar);
+-#else
+-        DoUpdateStatusBar();
+-#endif // defined(__wxMSW__) && wxCHECK_VERSION(3, 0, 0)
+     }
+ 
+     event.Skip();
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12579)
++++ b/src/src/notebookstyles.cpp	(revision 12580)
+@@ -13,14 +13,6 @@
+ #include "prep.h"
+ #include "notebookstyles.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-    #include <wx/renderer.h>
+-#endif
+-
+ #include <wx/dc.h>
+ #include <wx/dcclient.h>
+ 
+@@ -42,15 +34,9 @@
+ {
+     NbStyleVC71* clone = new NbStyleVC71();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -75,11 +61,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 3;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 3;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -166,17 +148,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -186,21 +161,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -227,11 +193,7 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+@@ -246,15 +208,9 @@
+ {
+     NbStyleFF2* clone = new NbStyleFF2();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -272,11 +228,7 @@
+     wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+                                     page.active, close_button_state, x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 2;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 2;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -360,17 +312,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -380,21 +325,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -421,533 +357,9 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+     return s.y + 6;
+ }
+-
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+-namespace
+-{
+-
+-static GtkWidget *g_window = nullptr;
+-static GtkWidget *g_container = nullptr;
+-static GtkWidget *g_notebook = nullptr;
+-static GtkWidget *g_button = nullptr;
+-static int s_CloseIconSize = 16; // default size
+-
+-static void setup_widget_prototype(GtkWidget* widget)
+-{
+-    if (!g_window)
+-    {
+-        g_window = gtk_window_new(GTK_WINDOW_POPUP);
+-        gtk_widget_realize(g_window);
+-    }
+-    if (!g_container)
+-    {
+-        g_container = gtk_fixed_new();
+-        gtk_container_add(GTK_CONTAINER(g_window), g_container);
+-    }
+-
+-    gtk_container_add(GTK_CONTAINER(g_container), widget);
+-    gtk_widget_realize(widget);
+-}
+-
+-static GtkStyle * get_style_button()
+-{
+-    if (!g_button)
+-    {
+-        g_button = gtk_button_new();
+-        setup_widget_prototype(g_button);
+-    }
+-    return gtk_widget_get_style(g_button);
+-}
+-
+-static GtkStyle * get_style_notebook()
+-{
+-    if (!g_notebook)
+-    {
+-        g_notebook = gtk_notebook_new();
+-        setup_widget_prototype(g_notebook);
+-    }
+-    return gtk_widget_get_style(g_notebook);
+-}
+-
+-}
+-
+-NbStyleGTK::NbStyleGTK():
+-    m_Xthickness(0),
+-    m_Ythickness(0),
+-    m_TabHBorder(0),
+-    m_TabVBorder(0)
+-
+-{
+-}
+-
+-wxAuiTabArt* NbStyleGTK::Clone()
+-{
+-    NbStyleGTK* clone = new NbStyleGTK();
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    clone->SetNormalFont(m_normalFont);
+-    clone->SetSelectedFont(m_normalFont);
+-    clone->SetMeasuringFont(m_normalFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_normal_font);
+-    clone->SetMeasuringFont(m_normal_font);
+-#endif
+-
+-    return clone;
+-}
+-
+-void NbStyleGTK::DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect)
+-{
+-    GtkStyle* style_notebook = get_style_notebook();
+-    GtkNotebook* notebook = GTK_NOTEBOOK (g_notebook);
+-
+-    // if one of the parameters have changed, the height needs to be recalculated, so we force it,
+-    if(m_Xthickness  != style_notebook->xthickness ||
+-       m_Ythickness  != style_notebook->ythickness ||
+-       m_TabVBorder != notebook->tab_vborder ||
+-       m_TabHBorder != notebook->tab_hborder)
+-    {
+-        m_Xthickness  = style_notebook->xthickness;
+-        m_Ythickness  = style_notebook->ythickness;
+-        m_TabVBorder = notebook->tab_vborder;
+-        m_TabHBorder = notebook->tab_hborder;
+-        wxAuiNotebook* nb = nullptr;
+-        if(wnd)
+-             nb = (cbAuiNotebook*)wnd->GetParent();
+-        if(nb)
+-            nb->SetTabCtrlHeight(-1);
+-    }
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_style_apply_default_background(style_notebook, pWin, 1, GTK_STATE_NORMAL, nullptr,
+-                                       rect.x, rect.y, rect.width, rect.height);
+-}
+-
+-void ButtonStateAndShadow(int button_state, GtkStateType &state, GtkShadowType &shadow)
+-{
+-
+-    if (button_state & wxAUI_BUTTON_STATE_DISABLED)
+-    {
+-        state = GTK_STATE_INSENSITIVE;
+-        shadow = GTK_SHADOW_ETCHED_IN;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        state = GTK_STATE_PRELIGHT;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        state = GTK_STATE_ACTIVE;
+-        shadow = GTK_SHADOW_IN;
+-    }
+-    else
+-    {
+-        state = GTK_STATE_NORMAL;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-}
+-
+-wxRect DrawCloseButton(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GdkRectangle* clipRect)
+-{
+-    GtkStyle *style_button = get_style_button();
+-    int xthickness = style_button->xthickness;
+-    int ythickness = style_button->ythickness;
+-
+-    wxBitmap bmp;
+-    bmp.SetPixbuf(gtk_widget_render_icon(widget, GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR, "tab"));
+-
+-    if(bmp.GetWidth() != s_CloseIconSize || bmp.GetHeight() != s_CloseIconSize)
+-    {
+-        wxImage img = bmp.ConvertToImage();
+-        img.Rescale(s_CloseIconSize, s_CloseIconSize);
+-        bmp = img;
+-    }
+-
+-    int button_size = s_CloseIconSize + 2 * xthickness;
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x - ythickness;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - button_size - ythickness;
+-
+-    out_rect.y = in_rect.y + (in_rect.height - button_size) / 2;
+-    out_rect.width = button_size;
+-    out_rect.height = button_size;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-    else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_ACTIVE, GTK_SHADOW_IN, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-
+-
+-    dc.DrawBitmap(bmp, out_rect.x + xthickness, out_rect.y + ythickness, true);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
+-                             const wxRect& in_rect, int close_button_state, wxRect* out_tab_rect,
+-                             wxRect* out_button_rect, int* x_extent)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    GtkStyle *style_notebook = get_style_notebook();
+-
+-    wxRect const &window_rect = wnd->GetRect();
+-
+-    int focus_width = 0;
+-
+-    gtk_widget_style_get(g_notebook,
+-                         "focus-line-width", &focus_width,
+-                         NULL);
+-
+-    int tab_pos;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        tab_pos = wxAUI_NB_BOTTOM;
+-    else //if (m_flags & wxAUI_NB_TOP) {}
+-        tab_pos = wxAUI_NB_TOP;
+-
+-    // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+-    // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+-
+-    // figure out the size of the tab
+-    wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+-                                    page.active, close_button_state, x_extent);
+-
+-    wxRect tab_rect = in_rect;
+-    tab_rect.width = tab_size.x;
+-    tab_rect.height = tab_size.y;
+-    tab_rect.y += 2 * m_TabHBorder;
+-
+-    if (page.active)
+-        tab_rect.height += 2 * m_TabHBorder;
+-#if wxCHECK_VERSION(3, 0, 0)
+-    // if no bitmap is set, we need a tiny correction
+-    if (! page.bitmap.IsOk())
+-        tab_rect.height += 1;
+-#endif
+-
+-    int gap_rect_height = 6 * m_TabHBorder;
+-    int gap_rect_x = 1, gap_start = 0, gap_width = 0;
+-    int gap_rect_y = tab_rect.y - gap_rect_height;
+-    int gap_rect_width = window_rect.width;
+-
+-    switch (tab_pos)
+-    {
+-        case wxAUI_NB_TOP:
+-            tab_rect.y -= 2 * m_TabHBorder;
+-            if (!page.active)
+-                tab_rect.y += 2 * m_TabHBorder;
+-            gap_rect_y = tab_rect.y + tab_rect.height - m_TabHBorder / 2;
+-            // fall through
+-        case wxAUI_NB_BOTTOM:
+-            gap_start = tab_rect.x - m_TabVBorder / 2;
+-            gap_width = tab_rect.width;
+-            break;
+-        default:
+-            break;
+-    }
+-    tab_rect.y += m_TabHBorder / 2;
+-    gap_rect_y += m_TabHBorder / 2;
+-
+-    int padding = focus_width + m_TabHBorder;
+-
+-    int clip_width = tab_rect.width;
+-    if (tab_rect.x + tab_rect.width > in_rect.x + in_rect.width)
+-        clip_width = (in_rect.x + in_rect.width) - tab_rect.x;
+-
+-    dc.SetClippingRegion(tab_rect.x, tab_rect.y - m_TabVBorder, clip_width, tab_rect.height + m_TabVBorder);
+-
+-    GdkRectangle area;
+-    area.x = tab_rect.x - m_TabVBorder;
+-    area.y = tab_rect.y - 2 * m_TabHBorder;
+-    area.width = clip_width + m_TabVBorder;
+-    area.height = tab_rect.height + 2 * m_TabHBorder;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (tab_pos == wxAUI_NB_BOTTOM)
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_BOTTOM, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_TOP);
+-    }
+-    else
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_TOP, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_BOTTOM);
+-    }
+-
+-    wxCoord textX = tab_rect.x + padding + m_Xthickness;
+-
+-    int bitmap_offset = 0;
+-    if (page.bitmap.IsOk())
+-    {
+-        bitmap_offset = textX;
+-
+-        // draw bitmap
+-        int bitmapY = tab_rect.y +(tab_rect.height - page.bitmap.GetHeight()) / 2;
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                bitmapY += m_Ythickness / 2;
+-            else
+-                bitmapY -= m_Ythickness / 2;
+-        }
+-        dc.DrawBitmap(page.bitmap,
+-                      bitmap_offset,
+-                      bitmapY,
+-                      true);
+-
+-        textX += page.bitmap.GetWidth() + padding;
+-    }
+-
+-    wxCoord textW, textH, textY;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    dc.SetFont(m_normalFont);
+-#else
+-    dc.SetFont(m_normal_font);
+-#endif
+-    dc.GetTextExtent(page.caption, &textW, &textH);
+-    textY = tab_rect.y + (tab_rect.height - textH) / 2;
+-    if(!page.active)
+-    {
+-        if (tab_pos == wxAUI_NB_TOP)
+-            textY += m_Ythickness / 2;
+-        else
+-            textY -= m_Ythickness / 2;
+-    }
+-
+-    // draw tab text
+-    GdkColor text_colour = page.active ? style_notebook->fg[GTK_STATE_NORMAL] : style_notebook->fg[GTK_STATE_ACTIVE];
+-    dc.SetTextForeground(wxColor(text_colour));
+-    GdkRectangle focus_area;
+-
+-    int padding_focus = padding - focus_width;
+-    focus_area.x = tab_rect.x + padding_focus;
+-    focus_area.y = textY - focus_width;
+-    focus_area.width = tab_rect.width - 2 * padding_focus;
+-    focus_area.height = textH + 2 * focus_width;
+-
+-    if(page.active && (wnd->FindFocus() == wnd) && focus_area.x <= (area.x + area.width))
+-    {
+-        // clipping seems not to work here, so we we have to recalc the focus-area manually
+-        if((focus_area.x + focus_area.width) > (area.x + area.width))
+-            focus_area.width = area.x + area.width - focus_area.x + focus_width - m_TabVBorder;
+-        gtk_paint_focus (style_notebook, pWin,
+-                         GTK_STATE_ACTIVE, NULL, widget, "tab",
+-                         focus_area.x, focus_area.y, focus_area.width, focus_area.height);
+-    }
+-
+-    dc.DrawText(page.caption, textX, textY);
+-
+-    // draw close-button on tab (if enabled)
+-    if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+-    {
+-        wxRect rect(tab_rect.x, tab_rect.y, tab_rect.width - m_Xthickness, tab_rect.height);
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                rect.y += m_Ythickness / 2;
+-            else
+-                rect.y -= m_Ythickness / 2;
+-        }
+-        *out_button_rect = DrawCloseButton(dc, widget, close_button_state, rect, wxRIGHT, &area);
+-    }
+-
+-    tab_rect.width = std::min(tab_rect.width, clip_width);
+-    *out_tab_rect = tab_rect;
+-
+-    dc.DestroyClippingRegion();
+-}
+-
+-wxRect DrawSimpleArrow(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GtkArrowType arrow_type)
+-{
+-    int scroll_arrow_hlength, scroll_arrow_vlength;
+-    gtk_widget_style_get(widget,
+-                         "scroll-arrow-hlength", &scroll_arrow_hlength,
+-                         "scroll-arrow-vlength", &scroll_arrow_vlength,
+-                         NULL);
+-
+-    GtkStateType state;
+-    GtkShadowType shadow;
+-    ButtonStateAndShadow(button_state, state, shadow);
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - scroll_arrow_hlength;
+-    out_rect.y = (in_rect.y + in_rect.height - 3 * get_style_notebook()->ythickness - scroll_arrow_vlength) / 2;
+-    out_rect.width = scroll_arrow_hlength;
+-    out_rect.height = scroll_arrow_vlength;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_paint_arrow (get_style_button(), pWin, state, shadow, nullptr, widget, "notebook",
+-                     arrow_type, TRUE, out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawButton(wxDC& dc, wxWindow* wnd,
+-                            const wxRect& in_rect,
+-                            int bitmap_id,
+-                            int button_state,
+-                            int orientation,
+-                            wxRect* out_rect)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    wxRect rect = in_rect;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        rect.y += 2 * get_style_button()->ythickness;
+-
+-    switch (bitmap_id)
+-    {
+-        case wxAUI_BUTTON_CLOSE:
+-            rect.y -= 2 * get_style_button()->ythickness;
+-            rect = DrawCloseButton(dc, widget, button_state, rect, orientation, NULL);
+-            break;
+-
+-        case wxAUI_BUTTON_LEFT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_LEFT);
+-            break;
+-
+-        case wxAUI_BUTTON_RIGHT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_RIGHT);
+-            break;
+-
+-        case wxAUI_BUTTON_WINDOWLIST:
+-            {
+-                rect.height -= 4 * get_style_button()->ythickness;
+-                rect.width = rect.height;
+-                rect.x = in_rect.x + in_rect.width - rect.width;
+-
+-                if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_CURRENT);
+-                else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_PRESSED);
+-                else
+-                    wxRendererNative::Get().DrawDropArrow(wnd, dc, rect);
+-            }
+-            break;
+-
+-        default:
+-            break;
+-    }
+-
+-    *out_rect = rect;
+-}
+-
+-
+-int NbStyleGTK::GetBestTabCtrlSize(wxWindow* wnd,
+-                                   const wxAuiNotebookPageArray& pages,
+-                                   const wxSize& required_bmp_size)
+-{
+-#if wxCHECK_VERSION(3, 0, 0)
+-    SetMeasuringFont(m_normalFont);
+-    SetSelectedFont(m_normalFont);
+-#else
+-    SetMeasuringFont(m_normal_font);
+-    SetSelectedFont(m_normal_font);
+-#endif
+-    int tab_height = 3 * get_style_notebook()->ythickness + wxAuiDefaultTabArt::GetBestTabCtrlSize(wnd, pages, required_bmp_size);
+-    return tab_height;
+-}
+-
+-wxSize NbStyleGTK::GetTabSize(wxDC& dc,
+-                              wxWindow* wnd,
+-                              const wxString& caption,
+-                              const wxBitmap& bitmap,
+-                              bool active,
+-                              int close_button_state,
+-                              int* x_extent)
+-{
+-    wxSize s = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
+-
+-    int overlap = 0;
+-    gtk_widget_style_get (wnd->GetHandle(),
+-        "focus-line-width", &overlap,
+-        NULL);
+-    *x_extent -= overlap;
+-    return s;
+-}
+-
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+Index: src/src/projectmanagerui.cpp
+===================================================================
+--- a/src/src/projectmanagerui.cpp	(revision 12579)
++++ b/src/src/projectmanagerui.cpp	(revision 12580)
+@@ -1875,11 +1875,7 @@
+ {
+     size_t operator()(const wxString& s) const
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         return std::hash<std::wstring>()(s.ToStdWstring());
+-#else
+-        return std::hash<std::wstring>()(s.wc_str());
+-#endif // wxCHECK_VERSION
+     }
+ };
+ 
diff --git a/srcpkgs/codeblocks/patches/000.r12707.patch b/srcpkgs/codeblocks/patches/000.r12707.patch
new file mode 100644
index 0000000000000..bca974fbe5770
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12707.patch
@@ -0,0 +1,120 @@
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12706)
++++ b/src/src/notebookstyles.cpp	(revision 12707)
+@@ -124,8 +124,16 @@
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -132,6 +140,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -161,13 +170,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
+@@ -285,11 +304,20 @@
+     int text_offset = tab_x + 8;
+ 
+     int bitmap_offset = 0;
++
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -296,6 +324,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -303,7 +332,6 @@
+         text_offset = tab_x + 8;
+     }
+ 
+-
+     // if the caption is empty, measure some temporary text
+     wxString caption = page.caption;
+     if (caption.empty())
+@@ -325,13 +353,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
diff --git a/srcpkgs/codeblocks/patches/wx-3.2.patch b/srcpkgs/codeblocks/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..0400ce6346178
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/wx-3.2.patch
@@ -0,0 +1,21 @@
+Index: codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+===================================================================
+--- codeblocks-20.03.orig/src/sdk/scripting/bindings/sc_wxtypes.cpp
++++ codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+@@ -322,6 +322,7 @@ namespace ScriptBindings
+         typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
+         typedef bool(wxFileName::*WXFN_ISFILEWRITEABLE)()const;
++        typedef bool(wxFileName::*WXFN_NORMALIZE)(int, const wxString&, wxPathFormat);
+ 
+         SqPlus::SQClassDef<wxFileName>("wxFileName").
+                 emptyCtor().
+@@ -354,7 +355,7 @@ namespace ScriptBindings
+                 func(&wxFileName::IsDir, "IsDir").
+                 func(&wxFileName::MakeAbsolute, "MakeAbsolute").
+                 func(&wxFileName::MakeRelativeTo, "MakeRelativeTo").
+-                func(&wxFileName::Normalize, "Normalize").
++                func<WXFN_NORMALIZE>(&wxFileName::Normalize, "Normalize").
+                 func(&wxFileName::PrependDir, "PrependDir").
+                 func(&wxFileName::RemoveDir, "RemoveDir").
+                 func(&wxFileName::RemoveLastDir, "RemoveLastDir").
diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..46466d990bed1 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr

From 437a3d38ab24dce51652b9c41a674fd3a3b9748b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/44] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   2 +-
 2 files changed, 132 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..140fe20d0d26b 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From aae02b0e0fc0b6c392e20a834c7e33bff895c642 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/44] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..dff1f22362cbd 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 12d8cc60691a438d1ec08c4bfa8560f6f9f41edd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/44] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From a2fdd3c912599b72a92ec504eb06eda15be9fdfe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/44] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..21a5b44004c55 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"

From 609e48e4a2797ad5e75bfd4c8d0a72548401d88e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/44] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..4d1ed212115a6 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"

From 6c8a668e551bbf78f1833030934ecfcf4d434f71 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/44] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..1fd406b6a2f55 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4

From d582596feae913ac3d67655b40fe225c81fe014d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/44] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..73720781c7191 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"

From 0fa5d48139bac72c8a4081cf4aca43c2bec16d6c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/44] kicad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/kicad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..1fb6dd434da42 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,7 +1,7 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON

From 84ee8342dae9c66ea8d8ae6f257d51a45342ada3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/44] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..1b82376b3fbda 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"

From 725eb8e0ea1ff8f8d50e47cf81d2926ca10ebbaf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 29/44] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..77bbea28ff696 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 4eefb9e35b33fe94775457e1e48dc9e5c491512f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/44] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..f83d1fe5cb1f5 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files

From 1d67ebd9b189711ce027f13aaea647d0b5438404 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/44] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..09ad192af236d 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 715195289f00aded9ddc9391a14115b0dbf9fad3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/44] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..72747cbb0a024 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"

From 60d6474c6cf840d9c2471af28cb9f1e3530d5667 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/44] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..2c4aabc217615 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"

From 0429384b302cff798b304ff9b6b1d3b2fa161e6d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/44] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..f02d13fd6bafb 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"

From b68a512a175607ee6c2d571673d244faf8442663 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/44] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..486e4609a19d6 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"

From aba240aad7b9cd0c67fd2f593857339c87e4afbb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 36/44] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5ed1b80048846 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"

From 1d5b3ddeeebba15e6068243dbec854f202a8e1da Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/44] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..c391d781c6fd1 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"

From 0bd3ac9dae140ef5f45e21c54b80ec04d909cba6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 38/44] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..06782c1f97743 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"

From 0c1aa7c0d2ed95586df8a9f4d31c5f12b15d9439 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 39/44] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From a27a17316039b67b3d8b149dd650da3c06ee9633 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 40/44] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From dfac7f822bd314696edeb137e77f6c0e483465ce Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:21 -0400
Subject: [PATCH 41/44] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1fb6dd434da42..624180e9c6d0c 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=3
+revision=4
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,7 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi

From ba051b7cec75663af0205c8cd14c19682e11bbfc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 42/44] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From db888f650318cb09b8c7b14b022bd55fabf8edca Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 43/44] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From f76f1d342aea1c764d7ab8fb5676abce9972a22b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 44/44] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (12 preceding siblings ...)
  2023-09-25 15:52 ` [PR PATCH] [Updated] " ahesford
@ 2023-09-25 15:55 ` ahesford
  2023-09-25 15:57 ` ahesford
                   ` (14 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 15:55 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1733756634

Comment:
There are five failures on an `x86_64` build:
- [x] OpenCPN
- [x] audacity
- [x] codeblocks
- [x] codelite
- [x] kicad

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (13 preceding siblings ...)
  2023-09-25 15:55 ` ahesford
@ 2023-09-25 15:57 ` ahesford
  2023-09-25 16:19 ` [PR PATCH] [Updated] " ahesford
                   ` (13 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 15:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 384 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1734035348

Comment:
All packages build natively after adopting some patches from @sgn in #39491 (plus a few extra for `codeblocks`) and updating `OpenCPN` to 5.8.4 (cc @Johnnynator). I'll start running through all other architectures and also do some run tests.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (14 preceding siblings ...)
  2023-09-25 15:57 ` ahesford
@ 2023-09-25 16:19 ` ahesford
  2023-09-25 17:00 ` classabbyamp
                   ` (12 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 16:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWiwdgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 133187 bytes --]

From 549650d4086430bcc0b5da744aea6fa4c15180f6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/44] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From c6e36d27abf919c4df84767236f3a1b3b88a3db6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/44] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 1e5167386c3bd2dc94037b5a41b09b85c0847f69 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:24:33 -0400
Subject: [PATCH 03/44] dispcalGUI: remove package

This package depends on long-past-EOL Python 2 and an old and
to-be-removed version of wxWidgets.
---
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 srcpkgs/removed-packages/template      |  1 +
 4 files changed, 1 insertion(+), 59 deletions(-)
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index b176739157e3c..99fc49592d2ce 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -85,6 +85,7 @@ replaces="
  deepin-turbo<=0.0.3_1
  deepin-voice-recorder<=5.0.0_2
  dht-node<=0.2.0_3
+ dispcalGUI<=3.8.9.3_5
  distcc-gtk<=3.3.3_6
  djmount<=0.71_8
  dleyna-core<=0.6.0_2

From 28e21b033f2c9c7484e014e9a4b743081a908c61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 04/44] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From af82b296f4e527b688f270759c16082cee0438a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 05/44] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 2d7f32eee393b..c428153380e03 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 82e325d1dd32abae9c6596bd1dbe578f74939ba0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 06/44] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++++++----------
 .../patches/nonfatal-abi-check.patch          | 21 ++++++------
 srcpkgs/wxWidgets-gtk3/template               | 22 ++++++++-----
 srcpkgs/wxWidgets-gtk3/update                 |  4 +--
 4 files changed, 42 insertions(+), 37 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index c428153380e03..c10711e8bf83f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..cac6df48f93fe 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,22 +1,28 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
+version=3.2.2.1
+revision=1
 build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+configure_args="--with-gtk=3 --with-opengl --with-libmspack --enable-mediactrl
+ --enable-unicode --with-libnotify --with-regex --with-zlib --with-expat
+ --with-libjpeg --with-libpng --with-libtiff --with-liblzma"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
 	#   - mark this build as native build
 	if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 009c020fa8e91b35bd1719aaa27d9662e7155803 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 07/44] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/wxPython/files/no-stacktrace.patch    | 15 +++
 srcpkgs/{wxPython4 => wxPython}/template      | 32 ++++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 9 files changed, 36 insertions(+), 212 deletions(-)
 create mode 100644 srcpkgs/wxPython/files/no-stacktrace.patch
 rename srcpkgs/{wxPython4 => wxPython}/template (68%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython/files/no-stacktrace.patch b/srcpkgs/wxPython/files/no-stacktrace.patch
new file mode 100644
index 0000000000000..e64548bea8c17
--- /dev/null
+++ b/srcpkgs/wxPython/files/no-stacktrace.patch
@@ -0,0 +1,15 @@
+Taken from Alpine:
+
+https://git.alpinelinux.org/aports/plain/community/py3-wxpython/no-stacktrace.patch
+
+--- a/sip/cpp/sip_corewxAppTraits.cpp
++++ b/sip/cpp/sip_corewxAppTraits.cpp
+@@ -471,7 +471,7 @@
+             PyErr_Clear();
+ 
+             Py_BEGIN_ALLOW_THREADS
+-            sipRes = new  ::wxString((sipSelfWasArg ? sipCpp-> ::wxAppTraits::GetAssertStackTrace() : sipCpp->GetAssertStackTrace()));
++            sipRes = new  ::wxString("");
+             Py_END_ALLOW_THREADS
+ 
+             if (PyErr_Occurred())
diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 68%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..815ee0382cb59 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,23 +9,25 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
+post_patch() {
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/no-stacktrace.patch"
+	fi
 }
 
 pre_build() {
@@ -48,3 +50,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From a71d7c8935079660fdad797ff60731768c75e86a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/44] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From 2a9533d8e24e0d95e7a5bd2ffeca8900aab139dc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/44] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..d80e63f027e32 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"

From ad2c274090554609682d1f893882ea103d77b4d9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/44] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..92d0d3b9090fd 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)

From c78e5ec09db3cd7f1a2a67ec1a685db6280f18e3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/44] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..219ac3d66adef 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"

From 99a22a113143ec6d0193d7cc349be0641d3f1f78 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/44] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..f13d5e40a04c8 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="

From 27eb6da92ca53ebbe9d8820f79a3db38ca2c3f14 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/44] OpenCPN: update to 5.8.4.

---
 .../OpenCPN/patches/actually-set-arch.patch   | 28 ------------------
 srcpkgs/OpenCPN/patches/musl.patch            | 29 +++++++++----------
 srcpkgs/OpenCPN/template                      | 13 +++++----
 3 files changed, 20 insertions(+), 50 deletions(-)
 delete mode 100644 srcpkgs/OpenCPN/patches/actually-set-arch.patch

diff --git a/srcpkgs/OpenCPN/patches/actually-set-arch.patch b/srcpkgs/OpenCPN/patches/actually-set-arch.patch
deleted file mode 100644
index d152c40928867..0000000000000
--- a/srcpkgs/OpenCPN/patches/actually-set-arch.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-+++ b/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-@@ -14,6 +14,25 @@
-     # default
-     set (ARCH "i386")
-     set (LIB_INSTALL_DIR "lib")
-+    IF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "aarch64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "armhf")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc*" OR CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "ppc64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "powerpc")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "x86_64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "i386")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-     if (EXISTS /etc/debian_version)
-       set (PACKAGE_FORMAT "DEB")
-       set (PACKAGE_RECS "xcalib,xdg-utils")
diff --git a/srcpkgs/OpenCPN/patches/musl.patch b/srcpkgs/OpenCPN/patches/musl.patch
index 75923e019b2bc..f9877f9a0e651 100644
--- a/srcpkgs/OpenCPN/patches/musl.patch
+++ b/srcpkgs/OpenCPN/patches/musl.patch
@@ -1,26 +1,16 @@
 --- a/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
 +++ b/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-@@ -20,9 +20,7 @@
+@@ -20,15 +20,14 @@
  #define WIN32_LEAN_AND_MEAN
  #include <winsock2.h>
  #else
--    #ifndef __WXOSX__
--        #include <error.h>
--    #else    
-+    #ifdef __WXOSX__
-         #include <mach/error.h> 
+-#ifndef __WXOSX__
+-#include <error.h>
+-#else
++#ifdef __WXOSX__
+ #include <mach/error.h>
  #endif
  
-@@ -424,4 +422,4 @@
-     }
- }
- 
--#endif // ZEROCONF_DETAIL_HPP
-\ No newline at end of file
-+#endif // ZEROCONF_DETAIL_HPP
---- a/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-@@ -27,6 +27,7 @@
  #include <string.h>
  #include <unistd.h>
  #include <sys/socket.h>
@@ -28,3 +18,10 @@
  #include <netinet/in.h>
  #endif
  
+@@ -385,4 +384,4 @@
+ }  // namespace Detail
+ }  // namespace Zeroconf
+ 
+-#endif  // ZEROCONF_DETAIL_HPP
+\ No newline at end of file
++#endif  // ZEROCONF_DETAIL_HPP
diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..d3b57804fa880 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
-version=5.2.0
-revision=2
+version=5.8.4
+revision=1
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
@@ -10,16 +10,17 @@ configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
  -DOCPN_USE_BUNDLED_LIBS=OFF"
 hostmakedepends="gettext pkg-config"
 makedepends="gtk+3-devel libcurl-devel portaudio-devel tinyxml-devel
- wxWidgets-gtk3-devel $(vopt_if exif 'libexif-devel') glu-devel
- $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel') $(vopt_if lzma 'liblzma-devel')"
+ wxWidgets-gtk3-devel glu-devel glew-devel rapidjson gtest-devel
+ $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel')
+ $(vopt_if exif 'libexif-devel') $(vopt_if lzma 'liblzma-devel')"
 depends="gpsd hicolor-icon-theme OpenCPN-tcdata-${version}_${revision}
  OpenCPN-gshhs-crude"
 short_desc="Concise ChartPlotter/Navigator"
 maintainer="John <me@johnnynator.dev>"
 license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, MIT, WxWindows-exception-3.1, JasPer-2.0, BSD-3-Clause, SGI-B-2.0"
 homepage="https://opencpn.org/"
-distfiles="https://github.com/OpenCPN/OpenCPN/archive/v${version}.tar.gz"
-checksum=f6ec38989bc38f5a7f63234c5e0230adeb73f5626b4e3d3dfa680f0c240badc7
+distfiles="https://github.com/OpenCPN/OpenCPN/archive/Release_${version}.tar.gz"
+checksum=7552726e5afce5eb401e307beedd8f3aa2c66725602fc27ab3ad1845f40b87a0
 
 build_options="lzma libarchive exif crashreport"
 build_options_default="lzma libarchive exif"

From f72c648190a26b28c8a5257df8363aa0988c21e3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/44] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..6ae1df0d87a19 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower

From 33d2105294157911e03e32b11f284586c9d4d3e3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/44] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..a88c2e4bc7814 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"

From 2003038b5700fcef22c1e40b501e05aebba0296f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/44] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..2da95d5702ea7 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"

From b2357cda97cd322c09a81640f4492b08e5f5364c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/44] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/patches/wx-3.2.patch         | 26 ++++++++++++++++
 .../patches/wx-widget-has-basque.patch        | 22 +++++++++++++
 srcpkgs/audacity/patches/wxbitmap.patch       | 31 +++++++++++++++++++
 srcpkgs/audacity/template                     |  5 +--
 4 files changed, 82 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/audacity/patches/wx-3.2.patch
 create mode 100644 srcpkgs/audacity/patches/wx-widget-has-basque.patch
 create mode 100644 srcpkgs/audacity/patches/wxbitmap.patch

diff --git a/srcpkgs/audacity/patches/wx-3.2.patch b/srcpkgs/audacity/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..d42ae09f30f6e
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-3.2.patch
@@ -0,0 +1,26 @@
+Index: audacity-Audacity-2.4.1/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/configure
++++ audacity-Audacity-2.4.1/configure
+@@ -19918,7 +19918,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
+Index: audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/lib-src/lib-widget-extra/configure
++++ audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+@@ -16633,7 +16633,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
diff --git a/srcpkgs/audacity/patches/wx-widget-has-basque.patch b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
new file mode 100644
index 0000000000000..4dd24e79ec8e2
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
@@ -0,0 +1,22 @@
+Index: audacity-Audacity-2.4.1/src/AudacityApp.cpp
+===================================================================
+--- audacity-Audacity-2.4.1.orig/src/AudacityApp.cpp
++++ audacity-Audacity-2.4.1/src/AudacityApp.cpp
+@@ -1102,7 +1102,7 @@ locations of the missing files.").Format
+ #define WL(lang,sublang)
+ #endif
+ 
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+ wxLanguageInfo userLangs[] =
+ {
+    // Bosnian is defined in wxWidgets already
+@@ -1366,7 +1366,7 @@ bool AudacityApp::OnInit()
+    //
+    // TODO:  The whole Language initialization really need to be reworked.
+    //        It's all over the place.
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+    for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++)
+    {
+       wxLocale::AddLanguage(userLangs[i]);
diff --git a/srcpkgs/audacity/patches/wxbitmap.patch b/srcpkgs/audacity/patches/wxbitmap.patch
new file mode 100644
index 0000000000000..af18bd1cb6524
--- /dev/null
+++ b/srcpkgs/audacity/patches/wxbitmap.patch
@@ -0,0 +1,31 @@
+From 55383fccd0c281b4f189d9b07699b21bb802c736 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney@ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH] Call the proper wxBitmap constructor for XPM data
+
+wxBitmap back to at least 3.0.0 did not have a constructor for an XPM
+image that took a size parameter, it would only take the XPM data
+itself.
+
+I don't know how this compiled until now, but it doesn't anymore when
+the size is included and built against wx 3.1.6 in Fedora.
+---
+ src/MixerBoard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+ 
+ Technically this patch is under GPLv3+ because it was contributed after
+ re licensing
+
+diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp
+index 54b5f146cc7..7fe81615474 100644
+--- a/src/MixerBoard.cpp
++++ b/src/MixerBoard.cpp
+@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments()
+    wxMemoryDC dc;
+ 
+    for (const auto &data : table) {
+-      auto bmp = std::make_unique<wxBitmap>(data.bitmap,24);
++      auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+       dc.SelectObject(*bmp);
+       AColor::Bevel(dc, false, bev);
+       mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..6992ffa771b9a 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"
@@ -13,7 +13,8 @@ makedepends="jack-devel wxWidgets-gtk3-devel gtk+3-devel
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Graphical cross-platform audio editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
+# Patches are GPL3+, so bump the license for the whole package
+license="GPL-3.0-or-later"
 homepage="https://www.audacityteam.org"
 distfiles="https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"
 checksum=50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f

From fbbf0a5a285fc517f824dd07dca46a057a117f7d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/44] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65bbbe7540d50 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"

From aedfc763ae4a1ac825129b8a64be2729ee2f7075 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/44] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/patches/000.r11991.patch   |  27 +
 ...0.v20.03-r12008.patch => 000.r12008.patch} |   0
 ...1.v20.03-r12012.patch => 000.r12012.patch} |   0
 srcpkgs/codeblocks/patches/000.r12532.patch   |  13 +
 srcpkgs/codeblocks/patches/000.r12580.patch   | 944 ++++++++++++++++++
 srcpkgs/codeblocks/patches/000.r12707.patch   | 120 +++
 srcpkgs/codeblocks/patches/wx-3.2.patch       |  21 +
 srcpkgs/codeblocks/template                   |   2 +-
 8 files changed, 1126 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codeblocks/patches/000.r11991.patch
 rename srcpkgs/codeblocks/patches/{000.v20.03-r12008.patch => 000.r12008.patch} (100%)
 rename srcpkgs/codeblocks/patches/{001.v20.03-r12012.patch => 000.r12012.patch} (100%)
 create mode 100644 srcpkgs/codeblocks/patches/000.r12532.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12580.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12707.patch
 create mode 100644 srcpkgs/codeblocks/patches/wx-3.2.patch

diff --git a/srcpkgs/codeblocks/patches/000.r11991.patch b/srcpkgs/codeblocks/patches/000.r11991.patch
new file mode 100644
index 0000000000000..0cdb7251fdced
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r11991.patch
@@ -0,0 +1,27 @@
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 11990)
++++ b/src/src/main.cpp	(revision 11991)
+@@ -2680,8 +2680,6 @@
+     else
+     {
+         wxBusyCursor useless;
+-        wxPaintEvent e;
+-        ProcessEvent(e);
+         for (unsigned int i = 0; i < files.GetCount(); ++i)
+           success &= OpenGeneric(files[i]);
+     }
+Index: src/src/watchesdlg.cpp
+===================================================================
+--- a/src/src/watchesdlg.cpp	(revision 11990)
++++ b/src/src/watchesdlg.cpp	(revision 11991)
+@@ -103,8 +103,7 @@
+                                   cb_unused const wxPoint& pos,
+                                   cb_unused const wxSize& sz) const override
+     {
+-        wxPGWindowList const list;
+-        return list;
++        return wxPGWindowList(nullptr, nullptr);
+     }
+     void UpdateControl(cb_unused wxPGProperty* property, cb_unused wxWindow* ctrl) const override {}
+     bool OnEvent(cb_unused wxPropertyGrid* propgrid, cb_unused wxPGProperty* property,
diff --git a/srcpkgs/codeblocks/patches/000.v20.03-r12008.patch b/srcpkgs/codeblocks/patches/000.r12008.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/000.v20.03-r12008.patch
rename to srcpkgs/codeblocks/patches/000.r12008.patch
diff --git a/srcpkgs/codeblocks/patches/001.v20.03-r12012.patch b/srcpkgs/codeblocks/patches/000.r12012.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/001.v20.03-r12012.patch
rename to srcpkgs/codeblocks/patches/000.r12012.patch
diff --git a/srcpkgs/codeblocks/patches/000.r12532.patch b/srcpkgs/codeblocks/patches/000.r12532.patch
new file mode 100644
index 0000000000000..15a2fff28e2e7
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12532.patch
@@ -0,0 +1,13 @@
+Index: src/include/ccmanager.h
+===================================================================
+--- a/src/include/ccmanager.h	(revision 12531)
++++ b/src/include/ccmanager.h	(revision 12532)
+@@ -44,7 +44,7 @@
+  * list or the doxygen popup, the scroll event is instead sent there (and skipped for the editor
+  * window).
+  */
+-class DLLIMPORT CCManager : public Mgr<CCManager>, wxEvtHandler
++class DLLIMPORT CCManager : public Mgr<CCManager>, public wxEvtHandler
+ {
+     public:
+         friend class Mgr<CCManager>;
diff --git a/srcpkgs/codeblocks/patches/000.r12580.patch b/srcpkgs/codeblocks/patches/000.r12580.patch
new file mode 100644
index 0000000000000..7930c5c5677b2
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12580.patch
@@ -0,0 +1,944 @@
+Index: src/src/notebookstyles.h
+===================================================================
+--- a/src/src/notebookstyles.h	(revision 12579)
++++ b/src/src/notebookstyles.h	(revision 12580)
+@@ -8,14 +8,6 @@
+ 
+ #include "cbauibook.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-#endif
+-
+-
+ class wxDC;
+ class wxWindow;
+ class wxRect;
+@@ -53,35 +45,4 @@
+                             const wxSize& required_bmp_size) override;
+ };
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-class NbStyleGTK : public wxAuiDefaultTabArt
+-{
+-public:
+-    NbStyleGTK();
+-
+-    virtual wxAuiTabArt* Clone();
+-    virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+-    virtual void DrawTab(wxDC& dc,
+-                         wxWindow* wnd,
+-                         const wxAuiNotebookPage& page,
+-                         const wxRect& in_rect,
+-                         int close_button_state,
+-                         wxRect* out_tab_rect,
+-                         wxRect* out_button_rect,
+-                         int* x_extent);
+-    void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
+-                    int button_state, int orientation, wxRect* out_rect);
+-    int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
+-                            const wxSize& required_bmp_size);
+-    virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active,
+-                              int close_button_state, int* x_extent);
+-private:
+-    int m_Xthickness;
+-    int m_Ythickness;
+-    int m_TabHBorder;
+-    int m_TabVBorder;
+-    wxBitmap m_ActiveCloseButton;
+-};
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+ #endif // NOTEBOOKSTYLES_H
+Index: src/plugins/compilergcc/compileroptionsdlg.cpp
+===================================================================
+--- a/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12579)
++++ b/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12580)
+@@ -677,13 +677,9 @@
+     wxPGProperty *root = m_FlagsPG->GetRoot();
+     if (root)
+     {
+-        unsigned count = root->GetChildCount();
++        const unsigned count = root->GetChildCount();
+         for (unsigned ii = 0; ii < count; ++ii)
+-#if wxCHECK_VERSION(3, 0, 0)
+             m_FlagsPG->SortChildren(root->Item(ii), wxPG_RECURSE);
+-#else
+-            m_FlagsPG->Sort(root->Item(ii));
+-#endif
+     }
+     m_FlagsPG->Thaw();
+ } // DoFillOptions
+@@ -2118,11 +2114,7 @@
+     CompilerFactory::SetDefaultCompiler(idx);
+     wxString msg;
+     Compiler* compiler = CompilerFactory::GetDefaultCompiler();
+-    #if wxCHECK_VERSION(3, 0, 0)
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().wx_str() : _("[invalid]").wx_str());
+-    #else
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().c_str() : _("[invalid]"));
+-    #endif
++    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName() : _("[invalid]"));
+     cbMessageBox(msg);
+ } // OnSetDefaultCompilerClick
+ 
+Index: src/sdk/templatemanager.cpp
+===================================================================
+--- a/src/sdk/templatemanager.cpp	(revision 12579)
++++ b/src/sdk/templatemanager.cpp	(revision 12580)
+@@ -186,11 +186,7 @@
+             ++count;
+         }
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+     if (count != total_count)
+         cbMessageBox(_("Some files could not be loaded with the template..."), _("Error"), wxICON_ERROR);
+@@ -303,21 +299,13 @@
+     {
+         wxString src = (*it)->file.GetFullPath();
+         wxString dst = templ + (*it)->relativeToCommonTopLevelPath;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.wx_str(), dst.wx_str()));
+-        #else
+-        Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.c_str(), dst.c_str()));
+-        #endif
+         if (!CreateDirRecursively(dst))
+             Manager::Get()->GetLogManager()->DebugLog(_T("Failed creating directory for ") + dst);
+         if (wxCopyFile(src, dst, true))
+             ++count;
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+ 
+     // cbProject doesn't have a GetRelativeToCommonTopLevelPath() function, so we simulate it here
+Index: src/src/associations.cpp
+===================================================================
+--- a/src/src/associations.cpp	(revision 12579)
++++ b/src/src/associations.cpp	(revision 12580)
+@@ -201,11 +201,7 @@
+     if (key.Exists())
+     {
+         wxString s;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         if (key.QueryValue(wxEmptyString, s) && s.StartsWith(_T("CodeBlocks")))
+-        #else
+-        if (key.QueryValue(NULL, s) && s.StartsWith(_T("CodeBlocks")))
+-        #endif
+             key.DeleteSelf();
+     }
+ 
+Index: src/src/dlgabout.cpp
+===================================================================
+--- a/src/src/dlgabout.cpp	(revision 12579)
++++ b/src/src/dlgabout.cpp	(revision 12580)
+@@ -20,9 +20,7 @@
+     #include <wx/string.h>
+     #include <wx/textctrl.h>
+     #include <wx/xrc/xmlres.h>
+-    #if wxCHECK_VERSION(3, 0, 0)
+-        #include <wx/versioninfo.h>
+-    #endif // wxCHECK_VERSION
++    #include <wx/versioninfo.h>
+ 
+     #include "licenses.h"
+     #include "configmanager.h"
+@@ -146,15 +144,11 @@
+     wxTextCtrl *txtLicense = XRCCTRL(*this, "txtLicense", wxTextCtrl);
+     txtLicense->SetValue(LICENSE_GPL);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     const wxVersionInfo scintillaVersion = wxScintilla::GetLibraryVersionInfo();
+     const wxString scintillaStr = wxString::Format(wxT("%d.%d.%d"),
+                                                    scintillaVersion.GetMajor(),
+                                                    scintillaVersion.GetMinor(),
+                                                    scintillaVersion.GetMicro());
+-#else
+-    const wxString scintillaStr = wxSCINTILLA_VERSION;
+-#endif // wxCHECK_VERSION
+ 
+     struct Item
+     {
+@@ -218,9 +212,7 @@
+         information += wxT(": ") + item.value + wxT("\n");
+     }
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     information += wxT("\n") + wxGetLibraryVersionInfo().GetDescription();
+-#endif // wxCHECK_VERSION(3, 0, 0)
+ 
+     wxTextCtrl *txtInformation = XRCCTRL(*this, "txtInformation", wxTextCtrl);
+     txtInformation->SetValue(information);
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 12579)
++++ b/src/src/main.cpp	(revision 12580)
+@@ -2075,11 +2075,7 @@
+         {
+             if (!items[i]->IsCheckable())
+                 continue;
+-#if wxCHECK_VERSION(3, 0, 0)
+             items[i]->Check(items[i]->GetItemLabel().IsSameAs(name));
+-#else
+-            items[i]->Check(items[i]->GetText().IsSameAs(name));
+-#endif
+         }
+ 
+         if (!m_LastLayoutIsTemp)
+@@ -2401,12 +2397,7 @@
+             break;
+ 
+         default: // default style
+-            #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-            target->SetArtProvider(new NbStyleGTK());
+-            #else
+             target->SetArtProvider(new wxAuiDefaultTabArt());
+-            #endif
+-            break;
+     }
+ 
+     target->SetTabCtrlHeight(-1);
+@@ -4801,13 +4792,9 @@
+ 
+     if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor())
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         // Execute the code to update the status bar outside of the paint event for scintilla.
+         // Executing this function directly in the event handler causes redraw problems on Windows.
+         CallAfter(&MainFrame::DoUpdateStatusBar);
+-#else
+-        DoUpdateStatusBar();
+-#endif // defined(__wxMSW__) && wxCHECK_VERSION(3, 0, 0)
+     }
+ 
+     event.Skip();
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12579)
++++ b/src/src/notebookstyles.cpp	(revision 12580)
+@@ -13,14 +13,6 @@
+ #include "prep.h"
+ #include "notebookstyles.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-    #include <wx/renderer.h>
+-#endif
+-
+ #include <wx/dc.h>
+ #include <wx/dcclient.h>
+ 
+@@ -42,15 +34,9 @@
+ {
+     NbStyleVC71* clone = new NbStyleVC71();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -75,11 +61,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 3;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 3;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -166,17 +148,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -186,21 +161,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -227,11 +193,7 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+@@ -246,15 +208,9 @@
+ {
+     NbStyleFF2* clone = new NbStyleFF2();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -272,11 +228,7 @@
+     wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+                                     page.active, close_button_state, x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 2;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 2;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -360,17 +312,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -380,21 +325,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -421,533 +357,9 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+     return s.y + 6;
+ }
+-
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+-namespace
+-{
+-
+-static GtkWidget *g_window = nullptr;
+-static GtkWidget *g_container = nullptr;
+-static GtkWidget *g_notebook = nullptr;
+-static GtkWidget *g_button = nullptr;
+-static int s_CloseIconSize = 16; // default size
+-
+-static void setup_widget_prototype(GtkWidget* widget)
+-{
+-    if (!g_window)
+-    {
+-        g_window = gtk_window_new(GTK_WINDOW_POPUP);
+-        gtk_widget_realize(g_window);
+-    }
+-    if (!g_container)
+-    {
+-        g_container = gtk_fixed_new();
+-        gtk_container_add(GTK_CONTAINER(g_window), g_container);
+-    }
+-
+-    gtk_container_add(GTK_CONTAINER(g_container), widget);
+-    gtk_widget_realize(widget);
+-}
+-
+-static GtkStyle * get_style_button()
+-{
+-    if (!g_button)
+-    {
+-        g_button = gtk_button_new();
+-        setup_widget_prototype(g_button);
+-    }
+-    return gtk_widget_get_style(g_button);
+-}
+-
+-static GtkStyle * get_style_notebook()
+-{
+-    if (!g_notebook)
+-    {
+-        g_notebook = gtk_notebook_new();
+-        setup_widget_prototype(g_notebook);
+-    }
+-    return gtk_widget_get_style(g_notebook);
+-}
+-
+-}
+-
+-NbStyleGTK::NbStyleGTK():
+-    m_Xthickness(0),
+-    m_Ythickness(0),
+-    m_TabHBorder(0),
+-    m_TabVBorder(0)
+-
+-{
+-}
+-
+-wxAuiTabArt* NbStyleGTK::Clone()
+-{
+-    NbStyleGTK* clone = new NbStyleGTK();
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    clone->SetNormalFont(m_normalFont);
+-    clone->SetSelectedFont(m_normalFont);
+-    clone->SetMeasuringFont(m_normalFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_normal_font);
+-    clone->SetMeasuringFont(m_normal_font);
+-#endif
+-
+-    return clone;
+-}
+-
+-void NbStyleGTK::DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect)
+-{
+-    GtkStyle* style_notebook = get_style_notebook();
+-    GtkNotebook* notebook = GTK_NOTEBOOK (g_notebook);
+-
+-    // if one of the parameters have changed, the height needs to be recalculated, so we force it,
+-    if(m_Xthickness  != style_notebook->xthickness ||
+-       m_Ythickness  != style_notebook->ythickness ||
+-       m_TabVBorder != notebook->tab_vborder ||
+-       m_TabHBorder != notebook->tab_hborder)
+-    {
+-        m_Xthickness  = style_notebook->xthickness;
+-        m_Ythickness  = style_notebook->ythickness;
+-        m_TabVBorder = notebook->tab_vborder;
+-        m_TabHBorder = notebook->tab_hborder;
+-        wxAuiNotebook* nb = nullptr;
+-        if(wnd)
+-             nb = (cbAuiNotebook*)wnd->GetParent();
+-        if(nb)
+-            nb->SetTabCtrlHeight(-1);
+-    }
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_style_apply_default_background(style_notebook, pWin, 1, GTK_STATE_NORMAL, nullptr,
+-                                       rect.x, rect.y, rect.width, rect.height);
+-}
+-
+-void ButtonStateAndShadow(int button_state, GtkStateType &state, GtkShadowType &shadow)
+-{
+-
+-    if (button_state & wxAUI_BUTTON_STATE_DISABLED)
+-    {
+-        state = GTK_STATE_INSENSITIVE;
+-        shadow = GTK_SHADOW_ETCHED_IN;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        state = GTK_STATE_PRELIGHT;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        state = GTK_STATE_ACTIVE;
+-        shadow = GTK_SHADOW_IN;
+-    }
+-    else
+-    {
+-        state = GTK_STATE_NORMAL;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-}
+-
+-wxRect DrawCloseButton(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GdkRectangle* clipRect)
+-{
+-    GtkStyle *style_button = get_style_button();
+-    int xthickness = style_button->xthickness;
+-    int ythickness = style_button->ythickness;
+-
+-    wxBitmap bmp;
+-    bmp.SetPixbuf(gtk_widget_render_icon(widget, GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR, "tab"));
+-
+-    if(bmp.GetWidth() != s_CloseIconSize || bmp.GetHeight() != s_CloseIconSize)
+-    {
+-        wxImage img = bmp.ConvertToImage();
+-        img.Rescale(s_CloseIconSize, s_CloseIconSize);
+-        bmp = img;
+-    }
+-
+-    int button_size = s_CloseIconSize + 2 * xthickness;
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x - ythickness;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - button_size - ythickness;
+-
+-    out_rect.y = in_rect.y + (in_rect.height - button_size) / 2;
+-    out_rect.width = button_size;
+-    out_rect.height = button_size;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-    else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_ACTIVE, GTK_SHADOW_IN, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-
+-
+-    dc.DrawBitmap(bmp, out_rect.x + xthickness, out_rect.y + ythickness, true);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
+-                             const wxRect& in_rect, int close_button_state, wxRect* out_tab_rect,
+-                             wxRect* out_button_rect, int* x_extent)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    GtkStyle *style_notebook = get_style_notebook();
+-
+-    wxRect const &window_rect = wnd->GetRect();
+-
+-    int focus_width = 0;
+-
+-    gtk_widget_style_get(g_notebook,
+-                         "focus-line-width", &focus_width,
+-                         NULL);
+-
+-    int tab_pos;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        tab_pos = wxAUI_NB_BOTTOM;
+-    else //if (m_flags & wxAUI_NB_TOP) {}
+-        tab_pos = wxAUI_NB_TOP;
+-
+-    // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+-    // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+-
+-    // figure out the size of the tab
+-    wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+-                                    page.active, close_button_state, x_extent);
+-
+-    wxRect tab_rect = in_rect;
+-    tab_rect.width = tab_size.x;
+-    tab_rect.height = tab_size.y;
+-    tab_rect.y += 2 * m_TabHBorder;
+-
+-    if (page.active)
+-        tab_rect.height += 2 * m_TabHBorder;
+-#if wxCHECK_VERSION(3, 0, 0)
+-    // if no bitmap is set, we need a tiny correction
+-    if (! page.bitmap.IsOk())
+-        tab_rect.height += 1;
+-#endif
+-
+-    int gap_rect_height = 6 * m_TabHBorder;
+-    int gap_rect_x = 1, gap_start = 0, gap_width = 0;
+-    int gap_rect_y = tab_rect.y - gap_rect_height;
+-    int gap_rect_width = window_rect.width;
+-
+-    switch (tab_pos)
+-    {
+-        case wxAUI_NB_TOP:
+-            tab_rect.y -= 2 * m_TabHBorder;
+-            if (!page.active)
+-                tab_rect.y += 2 * m_TabHBorder;
+-            gap_rect_y = tab_rect.y + tab_rect.height - m_TabHBorder / 2;
+-            // fall through
+-        case wxAUI_NB_BOTTOM:
+-            gap_start = tab_rect.x - m_TabVBorder / 2;
+-            gap_width = tab_rect.width;
+-            break;
+-        default:
+-            break;
+-    }
+-    tab_rect.y += m_TabHBorder / 2;
+-    gap_rect_y += m_TabHBorder / 2;
+-
+-    int padding = focus_width + m_TabHBorder;
+-
+-    int clip_width = tab_rect.width;
+-    if (tab_rect.x + tab_rect.width > in_rect.x + in_rect.width)
+-        clip_width = (in_rect.x + in_rect.width) - tab_rect.x;
+-
+-    dc.SetClippingRegion(tab_rect.x, tab_rect.y - m_TabVBorder, clip_width, tab_rect.height + m_TabVBorder);
+-
+-    GdkRectangle area;
+-    area.x = tab_rect.x - m_TabVBorder;
+-    area.y = tab_rect.y - 2 * m_TabHBorder;
+-    area.width = clip_width + m_TabVBorder;
+-    area.height = tab_rect.height + 2 * m_TabHBorder;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (tab_pos == wxAUI_NB_BOTTOM)
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_BOTTOM, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_TOP);
+-    }
+-    else
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_TOP, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_BOTTOM);
+-    }
+-
+-    wxCoord textX = tab_rect.x + padding + m_Xthickness;
+-
+-    int bitmap_offset = 0;
+-    if (page.bitmap.IsOk())
+-    {
+-        bitmap_offset = textX;
+-
+-        // draw bitmap
+-        int bitmapY = tab_rect.y +(tab_rect.height - page.bitmap.GetHeight()) / 2;
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                bitmapY += m_Ythickness / 2;
+-            else
+-                bitmapY -= m_Ythickness / 2;
+-        }
+-        dc.DrawBitmap(page.bitmap,
+-                      bitmap_offset,
+-                      bitmapY,
+-                      true);
+-
+-        textX += page.bitmap.GetWidth() + padding;
+-    }
+-
+-    wxCoord textW, textH, textY;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    dc.SetFont(m_normalFont);
+-#else
+-    dc.SetFont(m_normal_font);
+-#endif
+-    dc.GetTextExtent(page.caption, &textW, &textH);
+-    textY = tab_rect.y + (tab_rect.height - textH) / 2;
+-    if(!page.active)
+-    {
+-        if (tab_pos == wxAUI_NB_TOP)
+-            textY += m_Ythickness / 2;
+-        else
+-            textY -= m_Ythickness / 2;
+-    }
+-
+-    // draw tab text
+-    GdkColor text_colour = page.active ? style_notebook->fg[GTK_STATE_NORMAL] : style_notebook->fg[GTK_STATE_ACTIVE];
+-    dc.SetTextForeground(wxColor(text_colour));
+-    GdkRectangle focus_area;
+-
+-    int padding_focus = padding - focus_width;
+-    focus_area.x = tab_rect.x + padding_focus;
+-    focus_area.y = textY - focus_width;
+-    focus_area.width = tab_rect.width - 2 * padding_focus;
+-    focus_area.height = textH + 2 * focus_width;
+-
+-    if(page.active && (wnd->FindFocus() == wnd) && focus_area.x <= (area.x + area.width))
+-    {
+-        // clipping seems not to work here, so we we have to recalc the focus-area manually
+-        if((focus_area.x + focus_area.width) > (area.x + area.width))
+-            focus_area.width = area.x + area.width - focus_area.x + focus_width - m_TabVBorder;
+-        gtk_paint_focus (style_notebook, pWin,
+-                         GTK_STATE_ACTIVE, NULL, widget, "tab",
+-                         focus_area.x, focus_area.y, focus_area.width, focus_area.height);
+-    }
+-
+-    dc.DrawText(page.caption, textX, textY);
+-
+-    // draw close-button on tab (if enabled)
+-    if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+-    {
+-        wxRect rect(tab_rect.x, tab_rect.y, tab_rect.width - m_Xthickness, tab_rect.height);
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                rect.y += m_Ythickness / 2;
+-            else
+-                rect.y -= m_Ythickness / 2;
+-        }
+-        *out_button_rect = DrawCloseButton(dc, widget, close_button_state, rect, wxRIGHT, &area);
+-    }
+-
+-    tab_rect.width = std::min(tab_rect.width, clip_width);
+-    *out_tab_rect = tab_rect;
+-
+-    dc.DestroyClippingRegion();
+-}
+-
+-wxRect DrawSimpleArrow(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GtkArrowType arrow_type)
+-{
+-    int scroll_arrow_hlength, scroll_arrow_vlength;
+-    gtk_widget_style_get(widget,
+-                         "scroll-arrow-hlength", &scroll_arrow_hlength,
+-                         "scroll-arrow-vlength", &scroll_arrow_vlength,
+-                         NULL);
+-
+-    GtkStateType state;
+-    GtkShadowType shadow;
+-    ButtonStateAndShadow(button_state, state, shadow);
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - scroll_arrow_hlength;
+-    out_rect.y = (in_rect.y + in_rect.height - 3 * get_style_notebook()->ythickness - scroll_arrow_vlength) / 2;
+-    out_rect.width = scroll_arrow_hlength;
+-    out_rect.height = scroll_arrow_vlength;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_paint_arrow (get_style_button(), pWin, state, shadow, nullptr, widget, "notebook",
+-                     arrow_type, TRUE, out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawButton(wxDC& dc, wxWindow* wnd,
+-                            const wxRect& in_rect,
+-                            int bitmap_id,
+-                            int button_state,
+-                            int orientation,
+-                            wxRect* out_rect)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    wxRect rect = in_rect;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        rect.y += 2 * get_style_button()->ythickness;
+-
+-    switch (bitmap_id)
+-    {
+-        case wxAUI_BUTTON_CLOSE:
+-            rect.y -= 2 * get_style_button()->ythickness;
+-            rect = DrawCloseButton(dc, widget, button_state, rect, orientation, NULL);
+-            break;
+-
+-        case wxAUI_BUTTON_LEFT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_LEFT);
+-            break;
+-
+-        case wxAUI_BUTTON_RIGHT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_RIGHT);
+-            break;
+-
+-        case wxAUI_BUTTON_WINDOWLIST:
+-            {
+-                rect.height -= 4 * get_style_button()->ythickness;
+-                rect.width = rect.height;
+-                rect.x = in_rect.x + in_rect.width - rect.width;
+-
+-                if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_CURRENT);
+-                else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_PRESSED);
+-                else
+-                    wxRendererNative::Get().DrawDropArrow(wnd, dc, rect);
+-            }
+-            break;
+-
+-        default:
+-            break;
+-    }
+-
+-    *out_rect = rect;
+-}
+-
+-
+-int NbStyleGTK::GetBestTabCtrlSize(wxWindow* wnd,
+-                                   const wxAuiNotebookPageArray& pages,
+-                                   const wxSize& required_bmp_size)
+-{
+-#if wxCHECK_VERSION(3, 0, 0)
+-    SetMeasuringFont(m_normalFont);
+-    SetSelectedFont(m_normalFont);
+-#else
+-    SetMeasuringFont(m_normal_font);
+-    SetSelectedFont(m_normal_font);
+-#endif
+-    int tab_height = 3 * get_style_notebook()->ythickness + wxAuiDefaultTabArt::GetBestTabCtrlSize(wnd, pages, required_bmp_size);
+-    return tab_height;
+-}
+-
+-wxSize NbStyleGTK::GetTabSize(wxDC& dc,
+-                              wxWindow* wnd,
+-                              const wxString& caption,
+-                              const wxBitmap& bitmap,
+-                              bool active,
+-                              int close_button_state,
+-                              int* x_extent)
+-{
+-    wxSize s = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
+-
+-    int overlap = 0;
+-    gtk_widget_style_get (wnd->GetHandle(),
+-        "focus-line-width", &overlap,
+-        NULL);
+-    *x_extent -= overlap;
+-    return s;
+-}
+-
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+Index: src/src/projectmanagerui.cpp
+===================================================================
+--- a/src/src/projectmanagerui.cpp	(revision 12579)
++++ b/src/src/projectmanagerui.cpp	(revision 12580)
+@@ -1875,11 +1875,7 @@
+ {
+     size_t operator()(const wxString& s) const
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         return std::hash<std::wstring>()(s.ToStdWstring());
+-#else
+-        return std::hash<std::wstring>()(s.wc_str());
+-#endif // wxCHECK_VERSION
+     }
+ };
+ 
diff --git a/srcpkgs/codeblocks/patches/000.r12707.patch b/srcpkgs/codeblocks/patches/000.r12707.patch
new file mode 100644
index 0000000000000..bca974fbe5770
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12707.patch
@@ -0,0 +1,120 @@
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12706)
++++ b/src/src/notebookstyles.cpp	(revision 12707)
+@@ -124,8 +124,16 @@
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -132,6 +140,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -161,13 +170,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
+@@ -285,11 +304,20 @@
+     int text_offset = tab_x + 8;
+ 
+     int bitmap_offset = 0;
++
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -296,6 +324,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -303,7 +332,6 @@
+         text_offset = tab_x + 8;
+     }
+ 
+-
+     // if the caption is empty, measure some temporary text
+     wxString caption = page.caption;
+     if (caption.empty())
+@@ -325,13 +353,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
diff --git a/srcpkgs/codeblocks/patches/wx-3.2.patch b/srcpkgs/codeblocks/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..0400ce6346178
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/wx-3.2.patch
@@ -0,0 +1,21 @@
+Index: codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+===================================================================
+--- codeblocks-20.03.orig/src/sdk/scripting/bindings/sc_wxtypes.cpp
++++ codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+@@ -322,6 +322,7 @@ namespace ScriptBindings
+         typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
+         typedef bool(wxFileName::*WXFN_ISFILEWRITEABLE)()const;
++        typedef bool(wxFileName::*WXFN_NORMALIZE)(int, const wxString&, wxPathFormat);
+ 
+         SqPlus::SQClassDef<wxFileName>("wxFileName").
+                 emptyCtor().
+@@ -354,7 +355,7 @@ namespace ScriptBindings
+                 func(&wxFileName::IsDir, "IsDir").
+                 func(&wxFileName::MakeAbsolute, "MakeAbsolute").
+                 func(&wxFileName::MakeRelativeTo, "MakeRelativeTo").
+-                func(&wxFileName::Normalize, "Normalize").
++                func<WXFN_NORMALIZE>(&wxFileName::Normalize, "Normalize").
+                 func(&wxFileName::PrependDir, "PrependDir").
+                 func(&wxFileName::RemoveDir, "RemoveDir").
+                 func(&wxFileName::RemoveLastDir, "RemoveLastDir").
diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..46466d990bed1 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr

From b37f71a7201aaa894f4487320aed806433d5ce69 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/44] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   2 +-
 2 files changed, 132 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..140fe20d0d26b 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From b86003a9077120b772ee82f5b673bc68b64115e7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/44] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..dff1f22362cbd 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 9db92b2c830f15d0d424d8478b5efeebb172ec7d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/44] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From 8491e7ddfb59f6613ea39ddbe5babdcd3c000bf6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/44] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..21a5b44004c55 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"

From 499e3c3ff26a3e562374c4cd6227255e75908158 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/44] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..4d1ed212115a6 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"

From 73b374e10ef0d391e04274336281ad4e75e9a9fa Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/44] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..1fd406b6a2f55 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4

From e768929b6da1feb893e1af8a7e4fa9e6db38c36f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/44] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..73720781c7191 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"

From d1ee2ab77f723d3201db470a3856879cfaa8966d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/44] kicad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/kicad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..1fb6dd434da42 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,7 +1,7 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON

From c22a3f2ba90db7e8f4dc72d3a1d6f7908a82195a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/44] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..1b82376b3fbda 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"

From cd48bdc8770f5ad208a09b232b654ffe2b358cbe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 29/44] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..77bbea28ff696 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From c64775819f70e47bb98919fccc933d209c18e1dc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/44] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..f83d1fe5cb1f5 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files

From 90dd7efca94012c8864f71514df6917eddfaec8b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/44] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..09ad192af236d 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From c336a95991f0f0eac5dfea0b22b7f916fda69b8f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/44] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..72747cbb0a024 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"

From 534477eeed4d2101bb14baeca94c03d98e73e8a6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/44] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..2c4aabc217615 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"

From 012c30e976bb534e6060ad415770a047f362c02b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/44] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..f02d13fd6bafb 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"

From 8b1cd047bd0a7ace4b3b82f789701086b7203ea3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/44] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..486e4609a19d6 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"

From 429bd6f736bfa5a7ad9800ffaafe552603673bb2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 36/44] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5ed1b80048846 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"

From a257542eddd6e9bead657cbfb0a95e57c243d67d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/44] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..c391d781c6fd1 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"

From ad13242d304d8f1fc72396cb4b5bdc2a9efa0bb6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 38/44] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..06782c1f97743 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"

From 143be43567c50ca066bba7f130f893aa30bcf78e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 39/44] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From 24e20f6d1aa8fb5b7e5ff434ceca51707a40901f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 40/44] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From 96bfd826337b8c03133b6de617edf297a086310c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:21 -0400
Subject: [PATCH 41/44] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1fb6dd434da42..624180e9c6d0c 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=3
+revision=4
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,7 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi

From 5a03f5e8518255f2888c62bf96cec2c614b8f484 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 42/44] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From ee6226c163f871a599fa7bef3d84dec2b0a0bd81 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 43/44] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From 91b6993f0ddd52c91e9e5cd016d6fa89cfe18554 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 44/44] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (15 preceding siblings ...)
  2023-09-25 16:19 ` [PR PATCH] [Updated] " ahesford
@ 2023-09-25 17:00 ` classabbyamp
  2023-09-25 17:02 ` classabbyamp
                   ` (11 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: classabbyamp @ 2023-09-25 17:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 378 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1734139182

Comment:
can confirm that DisplayCAL (the fork) works with this PR on x86_64, you can grab [this commit](https://github.com/void-linux/void-packages/commit/a4d727cb7a72164ad132be3b393c587fec84b02f.patch) instead of the removal if you'd like

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (16 preceding siblings ...)
  2023-09-25 17:00 ` classabbyamp
@ 2023-09-25 17:02 ` classabbyamp
  2023-09-25 17:03 ` classabbyamp
                   ` (10 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: classabbyamp @ 2023-09-25 17:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 212 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1734141115

Comment:
also you have a double revbump for kicad, not sure if intentional

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWiwdgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (17 preceding siblings ...)
  2023-09-25 17:02 ` classabbyamp
@ 2023-09-25 17:03 ` classabbyamp
  2023-09-25 20:03 ` [PR PATCH] [Updated] [WIP] wxWidgets, wxPython ahesford
                   ` (9 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: classabbyamp @ 2023-09-25 17:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 439 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1734139182

Comment:
can confirm that DisplayCAL (the fork) works (runs without the previous errors) with this PR on x86_64, you can grab [this commit](https://github.com/void-linux/void-packages/commit/a4d727cb7a72164ad132be3b393c587fec84b02f.patch) instead of the removal if you'd like and @lemmi is ok with it 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWidgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (18 preceding siblings ...)
  2023-09-25 17:03 ` classabbyamp
@ 2023-09-25 20:03 ` ahesford
  2023-09-25 20:12 ` ahesford
                   ` (8 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 20:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1000 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWidgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 141596 bytes --]

From 2eae1755a439e57b81b5d96287b85a4c298343a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/43] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From 01b8c33651ddc6b6805af867821ee923806f4695 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/43] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 4ad4ee431144f1c24ebfdfdb4cfafc4e17622546 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 03/43] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From c6d1e5724f7e680fd68fdf7b87cbfc84a4dc9f09 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 04/43] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 9c2060bc45a67..da7f2739dc5ed 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 45e2f425e5668065d8b997a4751b219cd424c193 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 05/43] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++-----
 .../wxWidgets-gtk3/files/musl-locale-l.patch  | 34 +++++++++++
 .../patches/invalid-header-syntax.patch       | 16 +++++
 .../wxWidgets-gtk3/patches/largefile.patch    | 16 +++++
 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch | 45 ++++++++++++++
 .../patches/nonfatal-abi-check.patch          | 21 +++----
 srcpkgs/wxWidgets-gtk3/template               | 60 +++++++++++++------
 srcpkgs/wxWidgets-gtk3/update                 |  4 +-
 8 files changed, 180 insertions(+), 48 deletions(-)
 create mode 100644 srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/largefile.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch

diff --git a/common/shlibs b/common/shlibs
index da7f2739dc5ed..85ead20844ecc 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
new file mode 100644
index 0000000000000..dc5f1df6a2502
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
@@ -0,0 +1,34 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/musl-locale-l.patch
+
+these macro'd away functions don't exist in musl (yet)
+diff --git a/include/wx/xlocale.h b/include/wx/xlocale.h
+index c433d25..794cf0b 100644
+--- a/include/wx/xlocale.h
++++ b/include/wx/xlocale.h
+@@ -33,6 +33,26 @@
+ #include "wx/crt.h"     // Includes wx/chartype.h, wx/wxcrt.h(wx/string.h)
+ #include "wx/intl.h"    // wxLanguage
+ 
++#ifndef strtol_l
++#define strtol_l(s, p, base, l) strtol(s, p, base)
++#endif
++
++#ifndef strtoul_l
++#define strtoul_l(s, p, base, l) strtoul(s, p, base)
++#endif
++
++#ifndef wcstod_l
++#define wcstod_l(s, p, l) wcstod(s, p)
++#endif
++
++#ifndef wcstol_l
++#define wcstol_l(s, p, base, l) wcstol(s, p, base)
++#endif
++
++#ifndef wcstoul_l
++#define wcstoul_l(s, p, base, l) wcstoul(s, p, base)
++#endif
++
+ // The platform-specific locale type
+ // If wxXLocale_t is not defined, then only "C" locale support is provided
+ #ifdef wxHAS_XLOCALE_SUPPORT
diff --git a/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
new file mode 100644
index 0000000000000..fd4fc4ceca1aa
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/invalid-header-syntax.patch
+
+diff --git a/include/wx/matrix.h b/include/wx/matrix.h
+index 3b3225d..e77fb1a 100644
+--- a/include/wx/matrix.h
++++ b/include/wx/matrix.h
+@@ -37,8 +37,8 @@
+ //  at a certain coordinate and angle within another parent picture.
+ //  At all times m_isIdentity is set if the matrix itself is an Identity matrix.
+ //  It is used where possible to optimize calculations.
+-class
+ wxDEPRECATED_EXPORT_CORE("use wxAffineMatrix2D instead")
++class
+ wxTransformMatrix: public wxObject
+ {
+ public:
diff --git a/srcpkgs/wxWidgets-gtk3/patches/largefile.patch b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
new file mode 100644
index 0000000000000..9e5a81b31b94d
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/largefile.patch
+
+nothing sets this to 0, but for some reason it gets undef'd
+diff --git a/build/cmake/setup.h.in b/build/cmake/setup.h.in
+index e4c9e83..e9ef8dc 100644
+--- a/build/cmake/setup.h.in
++++ b/build/cmake/setup.h.in
+@@ -867,7 +867,7 @@
+ /*
+  * Define if large (64 bit file offsets) files are supported.
+  */
+-#cmakedefine HAVE_LARGEFILE_SUPPORT 1
++#define HAVE_LARGEFILE_SUPPORT 1
+ 
+ /*
+  * Use OpenGL
diff --git a/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
new file mode 100644
index 0000000000000..1303dd6074004
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
@@ -0,0 +1,45 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/no-glvnd.patch
+
+find_package(OpenGL) only works with glvnd and hardcodes glvnd paths, even
+though all these components are easily found with pkgconfig..
+diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
+index ef28c99..b4df830 100644
+--- a/build/cmake/init.cmake
++++ b/build/cmake/init.cmake
+@@ -408,17 +408,26 @@ if(wxUSE_GUI)
+             set(OPENGL_FOUND TRUE)
+             set(OPENGL_LIBRARIES "-framework OpenGLES" "-framework QuartzCore" "-framework GLKit")
+         else()
+-            find_package(OpenGL)
+-            if(OPENGL_FOUND)
+-                foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
+-                    if(TARGET ${gltarget})
+-                        set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
+-                    endif()
+-                endforeach()
+-            endif()
+-            if(WXGTK3 AND OpenGL_EGL_FOUND AND wxUSE_GLCANVAS_EGL)
++            # find_package(OpenGL)
++            # if(OPENGL_FOUND)
++            #     foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
++            #         if(TARGET ${gltarget})
++            #             set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
++            #         endif()
++            #     endforeach()
++            # endif()
++            find_package(PkgConfig REQUIRED)
++            pkg_check_modules(GLU REQUIRED glu IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GLU ALIAS PkgConfig::GLU)
++            pkg_check_modules(GL REQUIRED gl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GL ALIAS PkgConfig::GL)
++            pkg_check_modules(EGL REQUIRED egl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::EGL ALIAS PkgConfig::EGL)
++            set(OPENGL_FOUND TRUE)
++            set(OpenGL_EGL_FOUND TRUE)
++            if(WXGTK3 AND wxUSE_GLCANVAS_EGL)
+                 if(TARGET OpenGL::EGL)
+-                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES})
++                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES} GL)
+                 endif()
+                 set(OPENGL_INCLUDE_DIR ${OPENGL_INCLUDE_DIR} ${OPENGL_EGL_INCLUDE_DIRS})
+                 find_package(WAYLANDEGL)
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..2bcb207e7686d 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,37 +1,54 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+version=3.2.2.1
+revision=1
+build_style=cmake
+cmake_builddir="build-gtk3"
+configure_args="-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_OPENGL=ON -DwxUSE_LIBMSPACK=ON
+ -DwxUSE_GTKPRINT=ON -DwxUSE_UNICODE=ON -DwxUSE_MEDIACTRL=ON
+ -DwxUSE_PRIVATE_FONTS=ON -DwxUSE_REGEX=sys -DwxUSE_ZLIB=sys -DwxUSE_EXPAT=sys
+ -DwxUSE_LIBJPEG=sys -DwxUSE_LIBPNG=sys -DwxUSE_LIBTIFF=sys -DwxUSE_LIBLZMA=sys
+ -DwxUSE_LIBNOTIFY=sys -DwxUSE_LIBSDL=sys"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
+
+CXXFLAGS="-D_FILE_OFFSET_BITS=64 -DLARGEFILE_SOURCE=1"
+
+post_patch() {
+	if [ "${XBPS_TARGET_LIBC}" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/musl-locale-l.patch"
+	fi
+}
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
-	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
-	#   - mark this build as native build
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	if [ "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
+		# Remove $XBPS_CROSS_TRIPLET from cmake helper...
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			${DESTDIR}/usr/lib/cmake/wxWidgets/wxWidgetsTargets.cmake
 
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
+		# ...and the output of the wx-config utility
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			-e "s@/builddir/[^/]\+/wrappers/${XBPS_CROSS_TRIPLET}-@@" \
 			${DESTDIR}/usr/lib/wx/config/${_config}
 	fi
+
+	# Remove generic wx-config, link to toolkit-specific version
 	rm -f ${DESTDIR}/usr/bin/wx-config
 	ln -sf ../lib/wx/config/${_config} ${DESTDIR}/usr/bin/wx-config-gtk3
+
 	#   - ignore --host option; breaks configure scripts when
 	#     cross compiling (isn’t necessary in our case anyway)
 	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
@@ -39,13 +56,16 @@ post_install() {
 		-e '/--\*=\*)/i --host=\*) continue;;' \
 		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
 		$DESTDIR/usr/lib/wx/config/${_config}
+
+	# Make sure to install the autotools macro, CMake does not
+	vmkdir usr/share/aclocal
+	vinstall wxwin.m4 644 usr/share/aclocal
 }
 
 wxWidgets-common_package() {
 	short_desc+=" - common files"
 	pkg_install() {
 		vmove "usr/lib/libwx_baseu*.so.*"
-		vmove usr/share
 		vlicense docs/licendoc.txt
 		vlicense docs/licence.txt
 	}
@@ -58,6 +78,7 @@ wxWidgets-common-devel_package() {
 		vmove "usr/bin/wxrc*"
 		vmove "usr/lib/libwx_baseu*.so"
 		vmove usr/include
+		vmove usr/share/aclocal
 	}
 }
 
@@ -68,5 +89,6 @@ wxWidgets-gtk3-devel_package() {
 		vmove usr/bin
 		vmove "usr/lib/*.so"
 		vmove usr/lib/wx
+		vmove usr/lib/cmake
 	}
 }
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 1638b3688729a750c4b047c9e0029750d1f720e8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 06/43] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/wxPython/files/no-stacktrace.patch    | 15 +++
 srcpkgs/{wxPython4 => wxPython}/template      | 32 ++++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 9 files changed, 36 insertions(+), 212 deletions(-)
 create mode 100644 srcpkgs/wxPython/files/no-stacktrace.patch
 rename srcpkgs/{wxPython4 => wxPython}/template (68%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython/files/no-stacktrace.patch b/srcpkgs/wxPython/files/no-stacktrace.patch
new file mode 100644
index 0000000000000..e64548bea8c17
--- /dev/null
+++ b/srcpkgs/wxPython/files/no-stacktrace.patch
@@ -0,0 +1,15 @@
+Taken from Alpine:
+
+https://git.alpinelinux.org/aports/plain/community/py3-wxpython/no-stacktrace.patch
+
+--- a/sip/cpp/sip_corewxAppTraits.cpp
++++ b/sip/cpp/sip_corewxAppTraits.cpp
+@@ -471,7 +471,7 @@
+             PyErr_Clear();
+ 
+             Py_BEGIN_ALLOW_THREADS
+-            sipRes = new  ::wxString((sipSelfWasArg ? sipCpp-> ::wxAppTraits::GetAssertStackTrace() : sipCpp->GetAssertStackTrace()));
++            sipRes = new  ::wxString("");
+             Py_END_ALLOW_THREADS
+ 
+             if (PyErr_Occurred())
diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 68%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..815ee0382cb59 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,23 +9,25 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
+post_patch() {
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/no-stacktrace.patch"
+	fi
 }
 
 pre_build() {
@@ -48,3 +50,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From 6ab51d34b9298b9f0254fbf0034c75cddcf127b3 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 25 Sep 2023 13:46:55 -0400
Subject: [PATCH 07/43] dispcalGUI: update to 3.9.11, replace with python3 fork

---
 srcpkgs/DisplayCAL/template            | 25 +++++++++++++++++++
 srcpkgs/dispcalGUI                     |  1 +
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 5 files changed, 26 insertions(+), 59 deletions(-)
 create mode 100644 srcpkgs/DisplayCAL/template
 create mode 120000 srcpkgs/dispcalGUI
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/DisplayCAL/template b/srcpkgs/DisplayCAL/template
new file mode 100644
index 0000000000000..962d66e29bf68
--- /dev/null
+++ b/srcpkgs/DisplayCAL/template
@@ -0,0 +1,25 @@
+# Template file for 'DisplayCAL'
+pkgname=DisplayCAL
+version=3.9.11
+revision=1
+build_style=python3-module
+hostmakedepends="python3"
+makedepends="python3-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
+depends="python3-dbus python3-numpy wxPython argyllcms"
+short_desc="Display Calibration and Characterization"
+maintainer="lemmi <lemmi@nerd2nerd.org>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/eoyilmaz/displaycal-py3"
+distfiles="https://github.com/eoyilmaz/displaycal-py3/archive/refs/tags/${version}.tar.gz"
+checksum=7769d19551c228d797fd98cb2469730cee84ff27bd0bf5d0463e191753921a5e
+
+pre_configure() {
+	vsed -i misc/displaycal-vrml-to-x3d-converter.desktop \
+		-e 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|'
+}
+
+dispcalGUI_package() {
+	build_style=meta
+	short_desc+=" (transitional dummy package)"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/dispcalGUI b/srcpkgs/dispcalGUI
new file mode 120000
index 0000000000000..7b2ae7fe8eb1e
--- /dev/null
+++ b/srcpkgs/dispcalGUI
@@ -0,0 +1 @@
+DisplayCAL
\ No newline at end of file
diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"

From f02b691fa1cbae7e6e350c5f9f2f091b25f5086f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/43] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From 52b205d4b114b9dc0053294f0c8c6ab608ba127f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/43] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..d80e63f027e32 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"

From bd7b0557d6aade25b1e41257808d90f876877449 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/43] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..92d0d3b9090fd 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)

From 032f9b25c2533289af60bd5218bac9faf4405619 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/43] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..219ac3d66adef 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"

From 1e88a1ee91f9c8495e053b1d9ea2ff69be43771e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/43] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..f13d5e40a04c8 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="

From 371ebadcfc5045dc186be218b4510a4e8ccda045 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/43] OpenCPN: update to 5.8.4.

---
 .../OpenCPN/patches/actually-set-arch.patch   | 28 ------------------
 srcpkgs/OpenCPN/patches/musl.patch            | 29 +++++++++----------
 srcpkgs/OpenCPN/template                      | 13 +++++----
 3 files changed, 20 insertions(+), 50 deletions(-)
 delete mode 100644 srcpkgs/OpenCPN/patches/actually-set-arch.patch

diff --git a/srcpkgs/OpenCPN/patches/actually-set-arch.patch b/srcpkgs/OpenCPN/patches/actually-set-arch.patch
deleted file mode 100644
index d152c40928867..0000000000000
--- a/srcpkgs/OpenCPN/patches/actually-set-arch.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-+++ b/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-@@ -14,6 +14,25 @@
-     # default
-     set (ARCH "i386")
-     set (LIB_INSTALL_DIR "lib")
-+    IF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "aarch64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "armhf")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc*" OR CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "ppc64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "powerpc")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "x86_64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "i386")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-     if (EXISTS /etc/debian_version)
-       set (PACKAGE_FORMAT "DEB")
-       set (PACKAGE_RECS "xcalib,xdg-utils")
diff --git a/srcpkgs/OpenCPN/patches/musl.patch b/srcpkgs/OpenCPN/patches/musl.patch
index 75923e019b2bc..f9877f9a0e651 100644
--- a/srcpkgs/OpenCPN/patches/musl.patch
+++ b/srcpkgs/OpenCPN/patches/musl.patch
@@ -1,26 +1,16 @@
 --- a/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
 +++ b/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-@@ -20,9 +20,7 @@
+@@ -20,15 +20,14 @@
  #define WIN32_LEAN_AND_MEAN
  #include <winsock2.h>
  #else
--    #ifndef __WXOSX__
--        #include <error.h>
--    #else    
-+    #ifdef __WXOSX__
-         #include <mach/error.h> 
+-#ifndef __WXOSX__
+-#include <error.h>
+-#else
++#ifdef __WXOSX__
+ #include <mach/error.h>
  #endif
  
-@@ -424,4 +422,4 @@
-     }
- }
- 
--#endif // ZEROCONF_DETAIL_HPP
-\ No newline at end of file
-+#endif // ZEROCONF_DETAIL_HPP
---- a/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-@@ -27,6 +27,7 @@
  #include <string.h>
  #include <unistd.h>
  #include <sys/socket.h>
@@ -28,3 +18,10 @@
  #include <netinet/in.h>
  #endif
  
+@@ -385,4 +384,4 @@
+ }  // namespace Detail
+ }  // namespace Zeroconf
+ 
+-#endif  // ZEROCONF_DETAIL_HPP
+\ No newline at end of file
++#endif  // ZEROCONF_DETAIL_HPP
diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..d3b57804fa880 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
-version=5.2.0
-revision=2
+version=5.8.4
+revision=1
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
@@ -10,16 +10,17 @@ configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
  -DOCPN_USE_BUNDLED_LIBS=OFF"
 hostmakedepends="gettext pkg-config"
 makedepends="gtk+3-devel libcurl-devel portaudio-devel tinyxml-devel
- wxWidgets-gtk3-devel $(vopt_if exif 'libexif-devel') glu-devel
- $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel') $(vopt_if lzma 'liblzma-devel')"
+ wxWidgets-gtk3-devel glu-devel glew-devel rapidjson gtest-devel
+ $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel')
+ $(vopt_if exif 'libexif-devel') $(vopt_if lzma 'liblzma-devel')"
 depends="gpsd hicolor-icon-theme OpenCPN-tcdata-${version}_${revision}
  OpenCPN-gshhs-crude"
 short_desc="Concise ChartPlotter/Navigator"
 maintainer="John <me@johnnynator.dev>"
 license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, MIT, WxWindows-exception-3.1, JasPer-2.0, BSD-3-Clause, SGI-B-2.0"
 homepage="https://opencpn.org/"
-distfiles="https://github.com/OpenCPN/OpenCPN/archive/v${version}.tar.gz"
-checksum=f6ec38989bc38f5a7f63234c5e0230adeb73f5626b4e3d3dfa680f0c240badc7
+distfiles="https://github.com/OpenCPN/OpenCPN/archive/Release_${version}.tar.gz"
+checksum=7552726e5afce5eb401e307beedd8f3aa2c66725602fc27ab3ad1845f40b87a0
 
 build_options="lzma libarchive exif crashreport"
 build_options_default="lzma libarchive exif"

From 1c2337e3aa353445e758b20e08de58be3321d429 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/43] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..6ae1df0d87a19 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower

From 2ac72cec921bc79dffd757af819d27cbd0dbe9cf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/43] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..a88c2e4bc7814 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"

From 130b6aa2d2ed92d96c37f56037b049a75d3c9e36 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/43] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..2da95d5702ea7 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"

From 396cdff581f784aa0d868b51cd240f61fd630a2b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/43] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/patches/wx-3.2.patch         | 26 ++++++++++++++++
 .../patches/wx-widget-has-basque.patch        | 22 +++++++++++++
 srcpkgs/audacity/patches/wxbitmap.patch       | 31 +++++++++++++++++++
 srcpkgs/audacity/template                     |  5 +--
 4 files changed, 82 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/audacity/patches/wx-3.2.patch
 create mode 100644 srcpkgs/audacity/patches/wx-widget-has-basque.patch
 create mode 100644 srcpkgs/audacity/patches/wxbitmap.patch

diff --git a/srcpkgs/audacity/patches/wx-3.2.patch b/srcpkgs/audacity/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..d42ae09f30f6e
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-3.2.patch
@@ -0,0 +1,26 @@
+Index: audacity-Audacity-2.4.1/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/configure
++++ audacity-Audacity-2.4.1/configure
+@@ -19918,7 +19918,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
+Index: audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/lib-src/lib-widget-extra/configure
++++ audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+@@ -16633,7 +16633,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
diff --git a/srcpkgs/audacity/patches/wx-widget-has-basque.patch b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
new file mode 100644
index 0000000000000..4dd24e79ec8e2
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
@@ -0,0 +1,22 @@
+Index: audacity-Audacity-2.4.1/src/AudacityApp.cpp
+===================================================================
+--- audacity-Audacity-2.4.1.orig/src/AudacityApp.cpp
++++ audacity-Audacity-2.4.1/src/AudacityApp.cpp
+@@ -1102,7 +1102,7 @@ locations of the missing files.").Format
+ #define WL(lang,sublang)
+ #endif
+ 
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+ wxLanguageInfo userLangs[] =
+ {
+    // Bosnian is defined in wxWidgets already
+@@ -1366,7 +1366,7 @@ bool AudacityApp::OnInit()
+    //
+    // TODO:  The whole Language initialization really need to be reworked.
+    //        It's all over the place.
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+    for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++)
+    {
+       wxLocale::AddLanguage(userLangs[i]);
diff --git a/srcpkgs/audacity/patches/wxbitmap.patch b/srcpkgs/audacity/patches/wxbitmap.patch
new file mode 100644
index 0000000000000..af18bd1cb6524
--- /dev/null
+++ b/srcpkgs/audacity/patches/wxbitmap.patch
@@ -0,0 +1,31 @@
+From 55383fccd0c281b4f189d9b07699b21bb802c736 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney@ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH] Call the proper wxBitmap constructor for XPM data
+
+wxBitmap back to at least 3.0.0 did not have a constructor for an XPM
+image that took a size parameter, it would only take the XPM data
+itself.
+
+I don't know how this compiled until now, but it doesn't anymore when
+the size is included and built against wx 3.1.6 in Fedora.
+---
+ src/MixerBoard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+ 
+ Technically this patch is under GPLv3+ because it was contributed after
+ re licensing
+
+diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp
+index 54b5f146cc7..7fe81615474 100644
+--- a/src/MixerBoard.cpp
++++ b/src/MixerBoard.cpp
+@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments()
+    wxMemoryDC dc;
+ 
+    for (const auto &data : table) {
+-      auto bmp = std::make_unique<wxBitmap>(data.bitmap,24);
++      auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+       dc.SelectObject(*bmp);
+       AColor::Bevel(dc, false, bev);
+       mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..6992ffa771b9a 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"
@@ -13,7 +13,8 @@ makedepends="jack-devel wxWidgets-gtk3-devel gtk+3-devel
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Graphical cross-platform audio editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
+# Patches are GPL3+, so bump the license for the whole package
+license="GPL-3.0-or-later"
 homepage="https://www.audacityteam.org"
 distfiles="https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"
 checksum=50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f

From ca9f66ea244845077d1f4dd70b3fa417479c9f24 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/43] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65bbbe7540d50 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"

From f65c4bb721ccb14ffa5a4042755b38938ba3f558 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/43] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/patches/000.r11991.patch   |  27 +
 ...0.v20.03-r12008.patch => 000.r12008.patch} |   0
 ...1.v20.03-r12012.patch => 000.r12012.patch} |   0
 srcpkgs/codeblocks/patches/000.r12532.patch   |  13 +
 srcpkgs/codeblocks/patches/000.r12580.patch   | 944 ++++++++++++++++++
 srcpkgs/codeblocks/patches/000.r12707.patch   | 120 +++
 srcpkgs/codeblocks/patches/wx-3.2.patch       |  21 +
 srcpkgs/codeblocks/template                   |   2 +-
 8 files changed, 1126 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codeblocks/patches/000.r11991.patch
 rename srcpkgs/codeblocks/patches/{000.v20.03-r12008.patch => 000.r12008.patch} (100%)
 rename srcpkgs/codeblocks/patches/{001.v20.03-r12012.patch => 000.r12012.patch} (100%)
 create mode 100644 srcpkgs/codeblocks/patches/000.r12532.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12580.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12707.patch
 create mode 100644 srcpkgs/codeblocks/patches/wx-3.2.patch

diff --git a/srcpkgs/codeblocks/patches/000.r11991.patch b/srcpkgs/codeblocks/patches/000.r11991.patch
new file mode 100644
index 0000000000000..0cdb7251fdced
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r11991.patch
@@ -0,0 +1,27 @@
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 11990)
++++ b/src/src/main.cpp	(revision 11991)
+@@ -2680,8 +2680,6 @@
+     else
+     {
+         wxBusyCursor useless;
+-        wxPaintEvent e;
+-        ProcessEvent(e);
+         for (unsigned int i = 0; i < files.GetCount(); ++i)
+           success &= OpenGeneric(files[i]);
+     }
+Index: src/src/watchesdlg.cpp
+===================================================================
+--- a/src/src/watchesdlg.cpp	(revision 11990)
++++ b/src/src/watchesdlg.cpp	(revision 11991)
+@@ -103,8 +103,7 @@
+                                   cb_unused const wxPoint& pos,
+                                   cb_unused const wxSize& sz) const override
+     {
+-        wxPGWindowList const list;
+-        return list;
++        return wxPGWindowList(nullptr, nullptr);
+     }
+     void UpdateControl(cb_unused wxPGProperty* property, cb_unused wxWindow* ctrl) const override {}
+     bool OnEvent(cb_unused wxPropertyGrid* propgrid, cb_unused wxPGProperty* property,
diff --git a/srcpkgs/codeblocks/patches/000.v20.03-r12008.patch b/srcpkgs/codeblocks/patches/000.r12008.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/000.v20.03-r12008.patch
rename to srcpkgs/codeblocks/patches/000.r12008.patch
diff --git a/srcpkgs/codeblocks/patches/001.v20.03-r12012.patch b/srcpkgs/codeblocks/patches/000.r12012.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/001.v20.03-r12012.patch
rename to srcpkgs/codeblocks/patches/000.r12012.patch
diff --git a/srcpkgs/codeblocks/patches/000.r12532.patch b/srcpkgs/codeblocks/patches/000.r12532.patch
new file mode 100644
index 0000000000000..15a2fff28e2e7
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12532.patch
@@ -0,0 +1,13 @@
+Index: src/include/ccmanager.h
+===================================================================
+--- a/src/include/ccmanager.h	(revision 12531)
++++ b/src/include/ccmanager.h	(revision 12532)
+@@ -44,7 +44,7 @@
+  * list or the doxygen popup, the scroll event is instead sent there (and skipped for the editor
+  * window).
+  */
+-class DLLIMPORT CCManager : public Mgr<CCManager>, wxEvtHandler
++class DLLIMPORT CCManager : public Mgr<CCManager>, public wxEvtHandler
+ {
+     public:
+         friend class Mgr<CCManager>;
diff --git a/srcpkgs/codeblocks/patches/000.r12580.patch b/srcpkgs/codeblocks/patches/000.r12580.patch
new file mode 100644
index 0000000000000..7930c5c5677b2
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12580.patch
@@ -0,0 +1,944 @@
+Index: src/src/notebookstyles.h
+===================================================================
+--- a/src/src/notebookstyles.h	(revision 12579)
++++ b/src/src/notebookstyles.h	(revision 12580)
+@@ -8,14 +8,6 @@
+ 
+ #include "cbauibook.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-#endif
+-
+-
+ class wxDC;
+ class wxWindow;
+ class wxRect;
+@@ -53,35 +45,4 @@
+                             const wxSize& required_bmp_size) override;
+ };
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-class NbStyleGTK : public wxAuiDefaultTabArt
+-{
+-public:
+-    NbStyleGTK();
+-
+-    virtual wxAuiTabArt* Clone();
+-    virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+-    virtual void DrawTab(wxDC& dc,
+-                         wxWindow* wnd,
+-                         const wxAuiNotebookPage& page,
+-                         const wxRect& in_rect,
+-                         int close_button_state,
+-                         wxRect* out_tab_rect,
+-                         wxRect* out_button_rect,
+-                         int* x_extent);
+-    void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
+-                    int button_state, int orientation, wxRect* out_rect);
+-    int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
+-                            const wxSize& required_bmp_size);
+-    virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active,
+-                              int close_button_state, int* x_extent);
+-private:
+-    int m_Xthickness;
+-    int m_Ythickness;
+-    int m_TabHBorder;
+-    int m_TabVBorder;
+-    wxBitmap m_ActiveCloseButton;
+-};
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+ #endif // NOTEBOOKSTYLES_H
+Index: src/plugins/compilergcc/compileroptionsdlg.cpp
+===================================================================
+--- a/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12579)
++++ b/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12580)
+@@ -677,13 +677,9 @@
+     wxPGProperty *root = m_FlagsPG->GetRoot();
+     if (root)
+     {
+-        unsigned count = root->GetChildCount();
++        const unsigned count = root->GetChildCount();
+         for (unsigned ii = 0; ii < count; ++ii)
+-#if wxCHECK_VERSION(3, 0, 0)
+             m_FlagsPG->SortChildren(root->Item(ii), wxPG_RECURSE);
+-#else
+-            m_FlagsPG->Sort(root->Item(ii));
+-#endif
+     }
+     m_FlagsPG->Thaw();
+ } // DoFillOptions
+@@ -2118,11 +2114,7 @@
+     CompilerFactory::SetDefaultCompiler(idx);
+     wxString msg;
+     Compiler* compiler = CompilerFactory::GetDefaultCompiler();
+-    #if wxCHECK_VERSION(3, 0, 0)
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().wx_str() : _("[invalid]").wx_str());
+-    #else
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().c_str() : _("[invalid]"));
+-    #endif
++    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName() : _("[invalid]"));
+     cbMessageBox(msg);
+ } // OnSetDefaultCompilerClick
+ 
+Index: src/sdk/templatemanager.cpp
+===================================================================
+--- a/src/sdk/templatemanager.cpp	(revision 12579)
++++ b/src/sdk/templatemanager.cpp	(revision 12580)
+@@ -186,11 +186,7 @@
+             ++count;
+         }
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+     if (count != total_count)
+         cbMessageBox(_("Some files could not be loaded with the template..."), _("Error"), wxICON_ERROR);
+@@ -303,21 +299,13 @@
+     {
+         wxString src = (*it)->file.GetFullPath();
+         wxString dst = templ + (*it)->relativeToCommonTopLevelPath;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.wx_str(), dst.wx_str()));
+-        #else
+-        Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.c_str(), dst.c_str()));
+-        #endif
+         if (!CreateDirRecursively(dst))
+             Manager::Get()->GetLogManager()->DebugLog(_T("Failed creating directory for ") + dst);
+         if (wxCopyFile(src, dst, true))
+             ++count;
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+ 
+     // cbProject doesn't have a GetRelativeToCommonTopLevelPath() function, so we simulate it here
+Index: src/src/associations.cpp
+===================================================================
+--- a/src/src/associations.cpp	(revision 12579)
++++ b/src/src/associations.cpp	(revision 12580)
+@@ -201,11 +201,7 @@
+     if (key.Exists())
+     {
+         wxString s;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         if (key.QueryValue(wxEmptyString, s) && s.StartsWith(_T("CodeBlocks")))
+-        #else
+-        if (key.QueryValue(NULL, s) && s.StartsWith(_T("CodeBlocks")))
+-        #endif
+             key.DeleteSelf();
+     }
+ 
+Index: src/src/dlgabout.cpp
+===================================================================
+--- a/src/src/dlgabout.cpp	(revision 12579)
++++ b/src/src/dlgabout.cpp	(revision 12580)
+@@ -20,9 +20,7 @@
+     #include <wx/string.h>
+     #include <wx/textctrl.h>
+     #include <wx/xrc/xmlres.h>
+-    #if wxCHECK_VERSION(3, 0, 0)
+-        #include <wx/versioninfo.h>
+-    #endif // wxCHECK_VERSION
++    #include <wx/versioninfo.h>
+ 
+     #include "licenses.h"
+     #include "configmanager.h"
+@@ -146,15 +144,11 @@
+     wxTextCtrl *txtLicense = XRCCTRL(*this, "txtLicense", wxTextCtrl);
+     txtLicense->SetValue(LICENSE_GPL);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     const wxVersionInfo scintillaVersion = wxScintilla::GetLibraryVersionInfo();
+     const wxString scintillaStr = wxString::Format(wxT("%d.%d.%d"),
+                                                    scintillaVersion.GetMajor(),
+                                                    scintillaVersion.GetMinor(),
+                                                    scintillaVersion.GetMicro());
+-#else
+-    const wxString scintillaStr = wxSCINTILLA_VERSION;
+-#endif // wxCHECK_VERSION
+ 
+     struct Item
+     {
+@@ -218,9 +212,7 @@
+         information += wxT(": ") + item.value + wxT("\n");
+     }
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     information += wxT("\n") + wxGetLibraryVersionInfo().GetDescription();
+-#endif // wxCHECK_VERSION(3, 0, 0)
+ 
+     wxTextCtrl *txtInformation = XRCCTRL(*this, "txtInformation", wxTextCtrl);
+     txtInformation->SetValue(information);
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 12579)
++++ b/src/src/main.cpp	(revision 12580)
+@@ -2075,11 +2075,7 @@
+         {
+             if (!items[i]->IsCheckable())
+                 continue;
+-#if wxCHECK_VERSION(3, 0, 0)
+             items[i]->Check(items[i]->GetItemLabel().IsSameAs(name));
+-#else
+-            items[i]->Check(items[i]->GetText().IsSameAs(name));
+-#endif
+         }
+ 
+         if (!m_LastLayoutIsTemp)
+@@ -2401,12 +2397,7 @@
+             break;
+ 
+         default: // default style
+-            #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-            target->SetArtProvider(new NbStyleGTK());
+-            #else
+             target->SetArtProvider(new wxAuiDefaultTabArt());
+-            #endif
+-            break;
+     }
+ 
+     target->SetTabCtrlHeight(-1);
+@@ -4801,13 +4792,9 @@
+ 
+     if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor())
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         // Execute the code to update the status bar outside of the paint event for scintilla.
+         // Executing this function directly in the event handler causes redraw problems on Windows.
+         CallAfter(&MainFrame::DoUpdateStatusBar);
+-#else
+-        DoUpdateStatusBar();
+-#endif // defined(__wxMSW__) && wxCHECK_VERSION(3, 0, 0)
+     }
+ 
+     event.Skip();
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12579)
++++ b/src/src/notebookstyles.cpp	(revision 12580)
+@@ -13,14 +13,6 @@
+ #include "prep.h"
+ #include "notebookstyles.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-    #include <wx/renderer.h>
+-#endif
+-
+ #include <wx/dc.h>
+ #include <wx/dcclient.h>
+ 
+@@ -42,15 +34,9 @@
+ {
+     NbStyleVC71* clone = new NbStyleVC71();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -75,11 +61,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 3;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 3;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -166,17 +148,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -186,21 +161,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -227,11 +193,7 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+@@ -246,15 +208,9 @@
+ {
+     NbStyleFF2* clone = new NbStyleFF2();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -272,11 +228,7 @@
+     wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+                                     page.active, close_button_state, x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 2;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 2;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -360,17 +312,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -380,21 +325,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -421,533 +357,9 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+     return s.y + 6;
+ }
+-
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+-namespace
+-{
+-
+-static GtkWidget *g_window = nullptr;
+-static GtkWidget *g_container = nullptr;
+-static GtkWidget *g_notebook = nullptr;
+-static GtkWidget *g_button = nullptr;
+-static int s_CloseIconSize = 16; // default size
+-
+-static void setup_widget_prototype(GtkWidget* widget)
+-{
+-    if (!g_window)
+-    {
+-        g_window = gtk_window_new(GTK_WINDOW_POPUP);
+-        gtk_widget_realize(g_window);
+-    }
+-    if (!g_container)
+-    {
+-        g_container = gtk_fixed_new();
+-        gtk_container_add(GTK_CONTAINER(g_window), g_container);
+-    }
+-
+-    gtk_container_add(GTK_CONTAINER(g_container), widget);
+-    gtk_widget_realize(widget);
+-}
+-
+-static GtkStyle * get_style_button()
+-{
+-    if (!g_button)
+-    {
+-        g_button = gtk_button_new();
+-        setup_widget_prototype(g_button);
+-    }
+-    return gtk_widget_get_style(g_button);
+-}
+-
+-static GtkStyle * get_style_notebook()
+-{
+-    if (!g_notebook)
+-    {
+-        g_notebook = gtk_notebook_new();
+-        setup_widget_prototype(g_notebook);
+-    }
+-    return gtk_widget_get_style(g_notebook);
+-}
+-
+-}
+-
+-NbStyleGTK::NbStyleGTK():
+-    m_Xthickness(0),
+-    m_Ythickness(0),
+-    m_TabHBorder(0),
+-    m_TabVBorder(0)
+-
+-{
+-}
+-
+-wxAuiTabArt* NbStyleGTK::Clone()
+-{
+-    NbStyleGTK* clone = new NbStyleGTK();
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    clone->SetNormalFont(m_normalFont);
+-    clone->SetSelectedFont(m_normalFont);
+-    clone->SetMeasuringFont(m_normalFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_normal_font);
+-    clone->SetMeasuringFont(m_normal_font);
+-#endif
+-
+-    return clone;
+-}
+-
+-void NbStyleGTK::DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect)
+-{
+-    GtkStyle* style_notebook = get_style_notebook();
+-    GtkNotebook* notebook = GTK_NOTEBOOK (g_notebook);
+-
+-    // if one of the parameters have changed, the height needs to be recalculated, so we force it,
+-    if(m_Xthickness  != style_notebook->xthickness ||
+-       m_Ythickness  != style_notebook->ythickness ||
+-       m_TabVBorder != notebook->tab_vborder ||
+-       m_TabHBorder != notebook->tab_hborder)
+-    {
+-        m_Xthickness  = style_notebook->xthickness;
+-        m_Ythickness  = style_notebook->ythickness;
+-        m_TabVBorder = notebook->tab_vborder;
+-        m_TabHBorder = notebook->tab_hborder;
+-        wxAuiNotebook* nb = nullptr;
+-        if(wnd)
+-             nb = (cbAuiNotebook*)wnd->GetParent();
+-        if(nb)
+-            nb->SetTabCtrlHeight(-1);
+-    }
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_style_apply_default_background(style_notebook, pWin, 1, GTK_STATE_NORMAL, nullptr,
+-                                       rect.x, rect.y, rect.width, rect.height);
+-}
+-
+-void ButtonStateAndShadow(int button_state, GtkStateType &state, GtkShadowType &shadow)
+-{
+-
+-    if (button_state & wxAUI_BUTTON_STATE_DISABLED)
+-    {
+-        state = GTK_STATE_INSENSITIVE;
+-        shadow = GTK_SHADOW_ETCHED_IN;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        state = GTK_STATE_PRELIGHT;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        state = GTK_STATE_ACTIVE;
+-        shadow = GTK_SHADOW_IN;
+-    }
+-    else
+-    {
+-        state = GTK_STATE_NORMAL;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-}
+-
+-wxRect DrawCloseButton(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GdkRectangle* clipRect)
+-{
+-    GtkStyle *style_button = get_style_button();
+-    int xthickness = style_button->xthickness;
+-    int ythickness = style_button->ythickness;
+-
+-    wxBitmap bmp;
+-    bmp.SetPixbuf(gtk_widget_render_icon(widget, GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR, "tab"));
+-
+-    if(bmp.GetWidth() != s_CloseIconSize || bmp.GetHeight() != s_CloseIconSize)
+-    {
+-        wxImage img = bmp.ConvertToImage();
+-        img.Rescale(s_CloseIconSize, s_CloseIconSize);
+-        bmp = img;
+-    }
+-
+-    int button_size = s_CloseIconSize + 2 * xthickness;
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x - ythickness;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - button_size - ythickness;
+-
+-    out_rect.y = in_rect.y + (in_rect.height - button_size) / 2;
+-    out_rect.width = button_size;
+-    out_rect.height = button_size;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-    else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_ACTIVE, GTK_SHADOW_IN, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-
+-
+-    dc.DrawBitmap(bmp, out_rect.x + xthickness, out_rect.y + ythickness, true);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
+-                             const wxRect& in_rect, int close_button_state, wxRect* out_tab_rect,
+-                             wxRect* out_button_rect, int* x_extent)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    GtkStyle *style_notebook = get_style_notebook();
+-
+-    wxRect const &window_rect = wnd->GetRect();
+-
+-    int focus_width = 0;
+-
+-    gtk_widget_style_get(g_notebook,
+-                         "focus-line-width", &focus_width,
+-                         NULL);
+-
+-    int tab_pos;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        tab_pos = wxAUI_NB_BOTTOM;
+-    else //if (m_flags & wxAUI_NB_TOP) {}
+-        tab_pos = wxAUI_NB_TOP;
+-
+-    // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+-    // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+-
+-    // figure out the size of the tab
+-    wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+-                                    page.active, close_button_state, x_extent);
+-
+-    wxRect tab_rect = in_rect;
+-    tab_rect.width = tab_size.x;
+-    tab_rect.height = tab_size.y;
+-    tab_rect.y += 2 * m_TabHBorder;
+-
+-    if (page.active)
+-        tab_rect.height += 2 * m_TabHBorder;
+-#if wxCHECK_VERSION(3, 0, 0)
+-    // if no bitmap is set, we need a tiny correction
+-    if (! page.bitmap.IsOk())
+-        tab_rect.height += 1;
+-#endif
+-
+-    int gap_rect_height = 6 * m_TabHBorder;
+-    int gap_rect_x = 1, gap_start = 0, gap_width = 0;
+-    int gap_rect_y = tab_rect.y - gap_rect_height;
+-    int gap_rect_width = window_rect.width;
+-
+-    switch (tab_pos)
+-    {
+-        case wxAUI_NB_TOP:
+-            tab_rect.y -= 2 * m_TabHBorder;
+-            if (!page.active)
+-                tab_rect.y += 2 * m_TabHBorder;
+-            gap_rect_y = tab_rect.y + tab_rect.height - m_TabHBorder / 2;
+-            // fall through
+-        case wxAUI_NB_BOTTOM:
+-            gap_start = tab_rect.x - m_TabVBorder / 2;
+-            gap_width = tab_rect.width;
+-            break;
+-        default:
+-            break;
+-    }
+-    tab_rect.y += m_TabHBorder / 2;
+-    gap_rect_y += m_TabHBorder / 2;
+-
+-    int padding = focus_width + m_TabHBorder;
+-
+-    int clip_width = tab_rect.width;
+-    if (tab_rect.x + tab_rect.width > in_rect.x + in_rect.width)
+-        clip_width = (in_rect.x + in_rect.width) - tab_rect.x;
+-
+-    dc.SetClippingRegion(tab_rect.x, tab_rect.y - m_TabVBorder, clip_width, tab_rect.height + m_TabVBorder);
+-
+-    GdkRectangle area;
+-    area.x = tab_rect.x - m_TabVBorder;
+-    area.y = tab_rect.y - 2 * m_TabHBorder;
+-    area.width = clip_width + m_TabVBorder;
+-    area.height = tab_rect.height + 2 * m_TabHBorder;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (tab_pos == wxAUI_NB_BOTTOM)
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_BOTTOM, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_TOP);
+-    }
+-    else
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_TOP, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_BOTTOM);
+-    }
+-
+-    wxCoord textX = tab_rect.x + padding + m_Xthickness;
+-
+-    int bitmap_offset = 0;
+-    if (page.bitmap.IsOk())
+-    {
+-        bitmap_offset = textX;
+-
+-        // draw bitmap
+-        int bitmapY = tab_rect.y +(tab_rect.height - page.bitmap.GetHeight()) / 2;
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                bitmapY += m_Ythickness / 2;
+-            else
+-                bitmapY -= m_Ythickness / 2;
+-        }
+-        dc.DrawBitmap(page.bitmap,
+-                      bitmap_offset,
+-                      bitmapY,
+-                      true);
+-
+-        textX += page.bitmap.GetWidth() + padding;
+-    }
+-
+-    wxCoord textW, textH, textY;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    dc.SetFont(m_normalFont);
+-#else
+-    dc.SetFont(m_normal_font);
+-#endif
+-    dc.GetTextExtent(page.caption, &textW, &textH);
+-    textY = tab_rect.y + (tab_rect.height - textH) / 2;
+-    if(!page.active)
+-    {
+-        if (tab_pos == wxAUI_NB_TOP)
+-            textY += m_Ythickness / 2;
+-        else
+-            textY -= m_Ythickness / 2;
+-    }
+-
+-    // draw tab text
+-    GdkColor text_colour = page.active ? style_notebook->fg[GTK_STATE_NORMAL] : style_notebook->fg[GTK_STATE_ACTIVE];
+-    dc.SetTextForeground(wxColor(text_colour));
+-    GdkRectangle focus_area;
+-
+-    int padding_focus = padding - focus_width;
+-    focus_area.x = tab_rect.x + padding_focus;
+-    focus_area.y = textY - focus_width;
+-    focus_area.width = tab_rect.width - 2 * padding_focus;
+-    focus_area.height = textH + 2 * focus_width;
+-
+-    if(page.active && (wnd->FindFocus() == wnd) && focus_area.x <= (area.x + area.width))
+-    {
+-        // clipping seems not to work here, so we we have to recalc the focus-area manually
+-        if((focus_area.x + focus_area.width) > (area.x + area.width))
+-            focus_area.width = area.x + area.width - focus_area.x + focus_width - m_TabVBorder;
+-        gtk_paint_focus (style_notebook, pWin,
+-                         GTK_STATE_ACTIVE, NULL, widget, "tab",
+-                         focus_area.x, focus_area.y, focus_area.width, focus_area.height);
+-    }
+-
+-    dc.DrawText(page.caption, textX, textY);
+-
+-    // draw close-button on tab (if enabled)
+-    if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+-    {
+-        wxRect rect(tab_rect.x, tab_rect.y, tab_rect.width - m_Xthickness, tab_rect.height);
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                rect.y += m_Ythickness / 2;
+-            else
+-                rect.y -= m_Ythickness / 2;
+-        }
+-        *out_button_rect = DrawCloseButton(dc, widget, close_button_state, rect, wxRIGHT, &area);
+-    }
+-
+-    tab_rect.width = std::min(tab_rect.width, clip_width);
+-    *out_tab_rect = tab_rect;
+-
+-    dc.DestroyClippingRegion();
+-}
+-
+-wxRect DrawSimpleArrow(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GtkArrowType arrow_type)
+-{
+-    int scroll_arrow_hlength, scroll_arrow_vlength;
+-    gtk_widget_style_get(widget,
+-                         "scroll-arrow-hlength", &scroll_arrow_hlength,
+-                         "scroll-arrow-vlength", &scroll_arrow_vlength,
+-                         NULL);
+-
+-    GtkStateType state;
+-    GtkShadowType shadow;
+-    ButtonStateAndShadow(button_state, state, shadow);
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - scroll_arrow_hlength;
+-    out_rect.y = (in_rect.y + in_rect.height - 3 * get_style_notebook()->ythickness - scroll_arrow_vlength) / 2;
+-    out_rect.width = scroll_arrow_hlength;
+-    out_rect.height = scroll_arrow_vlength;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_paint_arrow (get_style_button(), pWin, state, shadow, nullptr, widget, "notebook",
+-                     arrow_type, TRUE, out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawButton(wxDC& dc, wxWindow* wnd,
+-                            const wxRect& in_rect,
+-                            int bitmap_id,
+-                            int button_state,
+-                            int orientation,
+-                            wxRect* out_rect)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    wxRect rect = in_rect;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        rect.y += 2 * get_style_button()->ythickness;
+-
+-    switch (bitmap_id)
+-    {
+-        case wxAUI_BUTTON_CLOSE:
+-            rect.y -= 2 * get_style_button()->ythickness;
+-            rect = DrawCloseButton(dc, widget, button_state, rect, orientation, NULL);
+-            break;
+-
+-        case wxAUI_BUTTON_LEFT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_LEFT);
+-            break;
+-
+-        case wxAUI_BUTTON_RIGHT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_RIGHT);
+-            break;
+-
+-        case wxAUI_BUTTON_WINDOWLIST:
+-            {
+-                rect.height -= 4 * get_style_button()->ythickness;
+-                rect.width = rect.height;
+-                rect.x = in_rect.x + in_rect.width - rect.width;
+-
+-                if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_CURRENT);
+-                else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_PRESSED);
+-                else
+-                    wxRendererNative::Get().DrawDropArrow(wnd, dc, rect);
+-            }
+-            break;
+-
+-        default:
+-            break;
+-    }
+-
+-    *out_rect = rect;
+-}
+-
+-
+-int NbStyleGTK::GetBestTabCtrlSize(wxWindow* wnd,
+-                                   const wxAuiNotebookPageArray& pages,
+-                                   const wxSize& required_bmp_size)
+-{
+-#if wxCHECK_VERSION(3, 0, 0)
+-    SetMeasuringFont(m_normalFont);
+-    SetSelectedFont(m_normalFont);
+-#else
+-    SetMeasuringFont(m_normal_font);
+-    SetSelectedFont(m_normal_font);
+-#endif
+-    int tab_height = 3 * get_style_notebook()->ythickness + wxAuiDefaultTabArt::GetBestTabCtrlSize(wnd, pages, required_bmp_size);
+-    return tab_height;
+-}
+-
+-wxSize NbStyleGTK::GetTabSize(wxDC& dc,
+-                              wxWindow* wnd,
+-                              const wxString& caption,
+-                              const wxBitmap& bitmap,
+-                              bool active,
+-                              int close_button_state,
+-                              int* x_extent)
+-{
+-    wxSize s = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
+-
+-    int overlap = 0;
+-    gtk_widget_style_get (wnd->GetHandle(),
+-        "focus-line-width", &overlap,
+-        NULL);
+-    *x_extent -= overlap;
+-    return s;
+-}
+-
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+Index: src/src/projectmanagerui.cpp
+===================================================================
+--- a/src/src/projectmanagerui.cpp	(revision 12579)
++++ b/src/src/projectmanagerui.cpp	(revision 12580)
+@@ -1875,11 +1875,7 @@
+ {
+     size_t operator()(const wxString& s) const
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         return std::hash<std::wstring>()(s.ToStdWstring());
+-#else
+-        return std::hash<std::wstring>()(s.wc_str());
+-#endif // wxCHECK_VERSION
+     }
+ };
+ 
diff --git a/srcpkgs/codeblocks/patches/000.r12707.patch b/srcpkgs/codeblocks/patches/000.r12707.patch
new file mode 100644
index 0000000000000..bca974fbe5770
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12707.patch
@@ -0,0 +1,120 @@
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12706)
++++ b/src/src/notebookstyles.cpp	(revision 12707)
+@@ -124,8 +124,16 @@
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -132,6 +140,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -161,13 +170,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
+@@ -285,11 +304,20 @@
+     int text_offset = tab_x + 8;
+ 
+     int bitmap_offset = 0;
++
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -296,6 +324,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -303,7 +332,6 @@
+         text_offset = tab_x + 8;
+     }
+ 
+-
+     // if the caption is empty, measure some temporary text
+     wxString caption = page.caption;
+     if (caption.empty())
+@@ -325,13 +353,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
diff --git a/srcpkgs/codeblocks/patches/wx-3.2.patch b/srcpkgs/codeblocks/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..0400ce6346178
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/wx-3.2.patch
@@ -0,0 +1,21 @@
+Index: codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+===================================================================
+--- codeblocks-20.03.orig/src/sdk/scripting/bindings/sc_wxtypes.cpp
++++ codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+@@ -322,6 +322,7 @@ namespace ScriptBindings
+         typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
+         typedef bool(wxFileName::*WXFN_ISFILEWRITEABLE)()const;
++        typedef bool(wxFileName::*WXFN_NORMALIZE)(int, const wxString&, wxPathFormat);
+ 
+         SqPlus::SQClassDef<wxFileName>("wxFileName").
+                 emptyCtor().
+@@ -354,7 +355,7 @@ namespace ScriptBindings
+                 func(&wxFileName::IsDir, "IsDir").
+                 func(&wxFileName::MakeAbsolute, "MakeAbsolute").
+                 func(&wxFileName::MakeRelativeTo, "MakeRelativeTo").
+-                func(&wxFileName::Normalize, "Normalize").
++                func<WXFN_NORMALIZE>(&wxFileName::Normalize, "Normalize").
+                 func(&wxFileName::PrependDir, "PrependDir").
+                 func(&wxFileName::RemoveDir, "RemoveDir").
+                 func(&wxFileName::RemoveLastDir, "RemoveLastDir").
diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..46466d990bed1 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr

From e235199224005e19a526749acf9b97a9aeac4d7a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/43] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   2 +-
 2 files changed, 132 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..140fe20d0d26b 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 49ea28b10c84d93a0ccb8adda905bc38941a8d56 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/43] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..dff1f22362cbd 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 498c045813e798cd838ee448bbe80d6f36a17c4c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/43] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From e4ef06bddeba84a1bc784b92311e86b85acc47b8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/43] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..21a5b44004c55 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"

From 894cda78cef699b55f104b652327a6b1eb63c777 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/43] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..4d1ed212115a6 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"

From 9a5d68fdc898468d9cca903bff2fd89b604fe117 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/43] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..1fd406b6a2f55 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4

From 6c3397cc358f527a4d49f9e1184353800c9d98f8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/43] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..73720781c7191 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"

From 5d44e57aad336c612001c451260f67df3251f70a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/43] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..1b82376b3fbda 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"

From 817ac9e82cf109c9fb3f8631c8fcad3e36fedd18 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/43] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..77bbea28ff696 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 026cc7471745c26cd76ba5a34fdc08256081c54b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 29/43] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..f83d1fe5cb1f5 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files

From 6a82cb3d78d4bf96ed4609a25e80a22063066dd3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/43] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..09ad192af236d 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 7f50457c04243f6f8d4cba828ed449e5e0efedee Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/43] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..72747cbb0a024 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"

From bcb11638dcc3da3fc2183a36d784fa43f01a73f6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/43] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..2c4aabc217615 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"

From 9530f5c99f31b86c07e34eb48d1c767bdcf67b5c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/43] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..f02d13fd6bafb 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"

From eb6370ae40f636164addd02b9a962c0d222a6869 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/43] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..486e4609a19d6 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"

From d9b4aeff2345796fb67e707b1a0606c13b641437 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/43] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5ed1b80048846 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"

From 72631dc42e41e1522ce1270907934a033c57c52c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 36/43] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..c391d781c6fd1 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"

From ee78ed1c054b2e5f22eaacb37dd5e3a2a3134b82 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/43] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..06782c1f97743 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"

From a01a3b840bafbe343be8612a7bd4fe319f07862c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 38/43] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From ae1d3eed6d26e4de95ea6dc17262534a07a7cb9e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 39/43] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From 61510308a9d16dbf765b2a43202dbf3545b5a763 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 40/43] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..bfb7120acd280 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,7 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi

From 7699eaf608d1fe02b6fb0b22e4b2bb344170ee0f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 41/43] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From 807c55f9614756a72c02f23779df68ef06635e8d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 42/43] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From b3a4ba2d0f2a4f366288dea6865b20d1e96ebe47 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 43/43] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [WIP] wxWidgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (19 preceding siblings ...)
  2023-09-25 20:03 ` [PR PATCH] [Updated] [WIP] wxWidgets, wxPython ahesford
@ 2023-09-25 20:12 ` ahesford
  2023-09-25 20:18 ` [PR PATCH] [Updated] " ahesford
                   ` (7 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 20:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 328 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/46237#issuecomment-1734396117

Comment:
I pulled in the DisplayCAL changes and fixed the double revbump; now I'm shaking out some bugs when building with other arches. When everything builds cleanly, I'll do some run testing.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWidgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (20 preceding siblings ...)
  2023-09-25 20:12 ` ahesford
@ 2023-09-25 20:18 ` ahesford
  2023-09-25 20:35 ` ahesford
                   ` (6 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 20:18 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1000 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWidgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 141787 bytes --]

From 2eae1755a439e57b81b5d96287b85a4c298343a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/43] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From 01b8c33651ddc6b6805af867821ee923806f4695 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/43] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 4ad4ee431144f1c24ebfdfdb4cfafc4e17622546 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 03/43] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From c6d1e5724f7e680fd68fdf7b87cbfc84a4dc9f09 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 04/43] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 9c2060bc45a67..da7f2739dc5ed 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 45e2f425e5668065d8b997a4751b219cd424c193 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 05/43] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++-----
 .../wxWidgets-gtk3/files/musl-locale-l.patch  | 34 +++++++++++
 .../patches/invalid-header-syntax.patch       | 16 +++++
 .../wxWidgets-gtk3/patches/largefile.patch    | 16 +++++
 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch | 45 ++++++++++++++
 .../patches/nonfatal-abi-check.patch          | 21 +++----
 srcpkgs/wxWidgets-gtk3/template               | 60 +++++++++++++------
 srcpkgs/wxWidgets-gtk3/update                 |  4 +-
 8 files changed, 180 insertions(+), 48 deletions(-)
 create mode 100644 srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/largefile.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch

diff --git a/common/shlibs b/common/shlibs
index da7f2739dc5ed..85ead20844ecc 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
new file mode 100644
index 0000000000000..dc5f1df6a2502
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
@@ -0,0 +1,34 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/musl-locale-l.patch
+
+these macro'd away functions don't exist in musl (yet)
+diff --git a/include/wx/xlocale.h b/include/wx/xlocale.h
+index c433d25..794cf0b 100644
+--- a/include/wx/xlocale.h
++++ b/include/wx/xlocale.h
+@@ -33,6 +33,26 @@
+ #include "wx/crt.h"     // Includes wx/chartype.h, wx/wxcrt.h(wx/string.h)
+ #include "wx/intl.h"    // wxLanguage
+ 
++#ifndef strtol_l
++#define strtol_l(s, p, base, l) strtol(s, p, base)
++#endif
++
++#ifndef strtoul_l
++#define strtoul_l(s, p, base, l) strtoul(s, p, base)
++#endif
++
++#ifndef wcstod_l
++#define wcstod_l(s, p, l) wcstod(s, p)
++#endif
++
++#ifndef wcstol_l
++#define wcstol_l(s, p, base, l) wcstol(s, p, base)
++#endif
++
++#ifndef wcstoul_l
++#define wcstoul_l(s, p, base, l) wcstoul(s, p, base)
++#endif
++
+ // The platform-specific locale type
+ // If wxXLocale_t is not defined, then only "C" locale support is provided
+ #ifdef wxHAS_XLOCALE_SUPPORT
diff --git a/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
new file mode 100644
index 0000000000000..fd4fc4ceca1aa
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/invalid-header-syntax.patch
+
+diff --git a/include/wx/matrix.h b/include/wx/matrix.h
+index 3b3225d..e77fb1a 100644
+--- a/include/wx/matrix.h
++++ b/include/wx/matrix.h
+@@ -37,8 +37,8 @@
+ //  at a certain coordinate and angle within another parent picture.
+ //  At all times m_isIdentity is set if the matrix itself is an Identity matrix.
+ //  It is used where possible to optimize calculations.
+-class
+ wxDEPRECATED_EXPORT_CORE("use wxAffineMatrix2D instead")
++class
+ wxTransformMatrix: public wxObject
+ {
+ public:
diff --git a/srcpkgs/wxWidgets-gtk3/patches/largefile.patch b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
new file mode 100644
index 0000000000000..9e5a81b31b94d
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/largefile.patch
+
+nothing sets this to 0, but for some reason it gets undef'd
+diff --git a/build/cmake/setup.h.in b/build/cmake/setup.h.in
+index e4c9e83..e9ef8dc 100644
+--- a/build/cmake/setup.h.in
++++ b/build/cmake/setup.h.in
+@@ -867,7 +867,7 @@
+ /*
+  * Define if large (64 bit file offsets) files are supported.
+  */
+-#cmakedefine HAVE_LARGEFILE_SUPPORT 1
++#define HAVE_LARGEFILE_SUPPORT 1
+ 
+ /*
+  * Use OpenGL
diff --git a/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
new file mode 100644
index 0000000000000..1303dd6074004
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
@@ -0,0 +1,45 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/no-glvnd.patch
+
+find_package(OpenGL) only works with glvnd and hardcodes glvnd paths, even
+though all these components are easily found with pkgconfig..
+diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
+index ef28c99..b4df830 100644
+--- a/build/cmake/init.cmake
++++ b/build/cmake/init.cmake
+@@ -408,17 +408,26 @@ if(wxUSE_GUI)
+             set(OPENGL_FOUND TRUE)
+             set(OPENGL_LIBRARIES "-framework OpenGLES" "-framework QuartzCore" "-framework GLKit")
+         else()
+-            find_package(OpenGL)
+-            if(OPENGL_FOUND)
+-                foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
+-                    if(TARGET ${gltarget})
+-                        set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
+-                    endif()
+-                endforeach()
+-            endif()
+-            if(WXGTK3 AND OpenGL_EGL_FOUND AND wxUSE_GLCANVAS_EGL)
++            # find_package(OpenGL)
++            # if(OPENGL_FOUND)
++            #     foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
++            #         if(TARGET ${gltarget})
++            #             set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
++            #         endif()
++            #     endforeach()
++            # endif()
++            find_package(PkgConfig REQUIRED)
++            pkg_check_modules(GLU REQUIRED glu IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GLU ALIAS PkgConfig::GLU)
++            pkg_check_modules(GL REQUIRED gl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GL ALIAS PkgConfig::GL)
++            pkg_check_modules(EGL REQUIRED egl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::EGL ALIAS PkgConfig::EGL)
++            set(OPENGL_FOUND TRUE)
++            set(OpenGL_EGL_FOUND TRUE)
++            if(WXGTK3 AND wxUSE_GLCANVAS_EGL)
+                 if(TARGET OpenGL::EGL)
+-                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES})
++                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES} GL)
+                 endif()
+                 set(OPENGL_INCLUDE_DIR ${OPENGL_INCLUDE_DIR} ${OPENGL_EGL_INCLUDE_DIRS})
+                 find_package(WAYLANDEGL)
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..2bcb207e7686d 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,37 +1,54 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+version=3.2.2.1
+revision=1
+build_style=cmake
+cmake_builddir="build-gtk3"
+configure_args="-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_OPENGL=ON -DwxUSE_LIBMSPACK=ON
+ -DwxUSE_GTKPRINT=ON -DwxUSE_UNICODE=ON -DwxUSE_MEDIACTRL=ON
+ -DwxUSE_PRIVATE_FONTS=ON -DwxUSE_REGEX=sys -DwxUSE_ZLIB=sys -DwxUSE_EXPAT=sys
+ -DwxUSE_LIBJPEG=sys -DwxUSE_LIBPNG=sys -DwxUSE_LIBTIFF=sys -DwxUSE_LIBLZMA=sys
+ -DwxUSE_LIBNOTIFY=sys -DwxUSE_LIBSDL=sys"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
+
+CXXFLAGS="-D_FILE_OFFSET_BITS=64 -DLARGEFILE_SOURCE=1"
+
+post_patch() {
+	if [ "${XBPS_TARGET_LIBC}" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/musl-locale-l.patch"
+	fi
+}
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
-	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
-	#   - mark this build as native build
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	if [ "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
+		# Remove $XBPS_CROSS_TRIPLET from cmake helper...
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			${DESTDIR}/usr/lib/cmake/wxWidgets/wxWidgetsTargets.cmake
 
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
+		# ...and the output of the wx-config utility
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			-e "s@/builddir/[^/]\+/wrappers/${XBPS_CROSS_TRIPLET}-@@" \
 			${DESTDIR}/usr/lib/wx/config/${_config}
 	fi
+
+	# Remove generic wx-config, link to toolkit-specific version
 	rm -f ${DESTDIR}/usr/bin/wx-config
 	ln -sf ../lib/wx/config/${_config} ${DESTDIR}/usr/bin/wx-config-gtk3
+
 	#   - ignore --host option; breaks configure scripts when
 	#     cross compiling (isn’t necessary in our case anyway)
 	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
@@ -39,13 +56,16 @@ post_install() {
 		-e '/--\*=\*)/i --host=\*) continue;;' \
 		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
 		$DESTDIR/usr/lib/wx/config/${_config}
+
+	# Make sure to install the autotools macro, CMake does not
+	vmkdir usr/share/aclocal
+	vinstall wxwin.m4 644 usr/share/aclocal
 }
 
 wxWidgets-common_package() {
 	short_desc+=" - common files"
 	pkg_install() {
 		vmove "usr/lib/libwx_baseu*.so.*"
-		vmove usr/share
 		vlicense docs/licendoc.txt
 		vlicense docs/licence.txt
 	}
@@ -58,6 +78,7 @@ wxWidgets-common-devel_package() {
 		vmove "usr/bin/wxrc*"
 		vmove "usr/lib/libwx_baseu*.so"
 		vmove usr/include
+		vmove usr/share/aclocal
 	}
 }
 
@@ -68,5 +89,6 @@ wxWidgets-gtk3-devel_package() {
 		vmove usr/bin
 		vmove "usr/lib/*.so"
 		vmove usr/lib/wx
+		vmove usr/lib/cmake
 	}
 }
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 1638b3688729a750c4b047c9e0029750d1f720e8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 06/43] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/wxPython/files/no-stacktrace.patch    | 15 +++
 srcpkgs/{wxPython4 => wxPython}/template      | 32 ++++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 9 files changed, 36 insertions(+), 212 deletions(-)
 create mode 100644 srcpkgs/wxPython/files/no-stacktrace.patch
 rename srcpkgs/{wxPython4 => wxPython}/template (68%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython/files/no-stacktrace.patch b/srcpkgs/wxPython/files/no-stacktrace.patch
new file mode 100644
index 0000000000000..e64548bea8c17
--- /dev/null
+++ b/srcpkgs/wxPython/files/no-stacktrace.patch
@@ -0,0 +1,15 @@
+Taken from Alpine:
+
+https://git.alpinelinux.org/aports/plain/community/py3-wxpython/no-stacktrace.patch
+
+--- a/sip/cpp/sip_corewxAppTraits.cpp
++++ b/sip/cpp/sip_corewxAppTraits.cpp
+@@ -471,7 +471,7 @@
+             PyErr_Clear();
+ 
+             Py_BEGIN_ALLOW_THREADS
+-            sipRes = new  ::wxString((sipSelfWasArg ? sipCpp-> ::wxAppTraits::GetAssertStackTrace() : sipCpp->GetAssertStackTrace()));
++            sipRes = new  ::wxString("");
+             Py_END_ALLOW_THREADS
+ 
+             if (PyErr_Occurred())
diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 68%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..815ee0382cb59 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,23 +9,25 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
+post_patch() {
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/no-stacktrace.patch"
+	fi
 }
 
 pre_build() {
@@ -48,3 +50,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From 6ab51d34b9298b9f0254fbf0034c75cddcf127b3 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 25 Sep 2023 13:46:55 -0400
Subject: [PATCH 07/43] dispcalGUI: update to 3.9.11, replace with python3 fork

---
 srcpkgs/DisplayCAL/template            | 25 +++++++++++++++++++
 srcpkgs/dispcalGUI                     |  1 +
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 5 files changed, 26 insertions(+), 59 deletions(-)
 create mode 100644 srcpkgs/DisplayCAL/template
 create mode 120000 srcpkgs/dispcalGUI
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/DisplayCAL/template b/srcpkgs/DisplayCAL/template
new file mode 100644
index 0000000000000..962d66e29bf68
--- /dev/null
+++ b/srcpkgs/DisplayCAL/template
@@ -0,0 +1,25 @@
+# Template file for 'DisplayCAL'
+pkgname=DisplayCAL
+version=3.9.11
+revision=1
+build_style=python3-module
+hostmakedepends="python3"
+makedepends="python3-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
+depends="python3-dbus python3-numpy wxPython argyllcms"
+short_desc="Display Calibration and Characterization"
+maintainer="lemmi <lemmi@nerd2nerd.org>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/eoyilmaz/displaycal-py3"
+distfiles="https://github.com/eoyilmaz/displaycal-py3/archive/refs/tags/${version}.tar.gz"
+checksum=7769d19551c228d797fd98cb2469730cee84ff27bd0bf5d0463e191753921a5e
+
+pre_configure() {
+	vsed -i misc/displaycal-vrml-to-x3d-converter.desktop \
+		-e 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|'
+}
+
+dispcalGUI_package() {
+	build_style=meta
+	short_desc+=" (transitional dummy package)"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/dispcalGUI b/srcpkgs/dispcalGUI
new file mode 120000
index 0000000000000..7b2ae7fe8eb1e
--- /dev/null
+++ b/srcpkgs/dispcalGUI
@@ -0,0 +1 @@
+DisplayCAL
\ No newline at end of file
diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"

From f02b691fa1cbae7e6e350c5f9f2f091b25f5086f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/43] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From 52b205d4b114b9dc0053294f0c8c6ab608ba127f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/43] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..d80e63f027e32 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"

From bd7b0557d6aade25b1e41257808d90f876877449 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/43] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..92d0d3b9090fd 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)

From 032f9b25c2533289af60bd5218bac9faf4405619 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/43] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..219ac3d66adef 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"

From 1e88a1ee91f9c8495e053b1d9ea2ff69be43771e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/43] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..f13d5e40a04c8 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="

From 371ebadcfc5045dc186be218b4510a4e8ccda045 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/43] OpenCPN: update to 5.8.4.

---
 .../OpenCPN/patches/actually-set-arch.patch   | 28 ------------------
 srcpkgs/OpenCPN/patches/musl.patch            | 29 +++++++++----------
 srcpkgs/OpenCPN/template                      | 13 +++++----
 3 files changed, 20 insertions(+), 50 deletions(-)
 delete mode 100644 srcpkgs/OpenCPN/patches/actually-set-arch.patch

diff --git a/srcpkgs/OpenCPN/patches/actually-set-arch.patch b/srcpkgs/OpenCPN/patches/actually-set-arch.patch
deleted file mode 100644
index d152c40928867..0000000000000
--- a/srcpkgs/OpenCPN/patches/actually-set-arch.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-+++ b/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-@@ -14,6 +14,25 @@
-     # default
-     set (ARCH "i386")
-     set (LIB_INSTALL_DIR "lib")
-+    IF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "aarch64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "armhf")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc*" OR CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "ppc64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "powerpc")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "x86_64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "i386")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-     if (EXISTS /etc/debian_version)
-       set (PACKAGE_FORMAT "DEB")
-       set (PACKAGE_RECS "xcalib,xdg-utils")
diff --git a/srcpkgs/OpenCPN/patches/musl.patch b/srcpkgs/OpenCPN/patches/musl.patch
index 75923e019b2bc..f9877f9a0e651 100644
--- a/srcpkgs/OpenCPN/patches/musl.patch
+++ b/srcpkgs/OpenCPN/patches/musl.patch
@@ -1,26 +1,16 @@
 --- a/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
 +++ b/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-@@ -20,9 +20,7 @@
+@@ -20,15 +20,14 @@
  #define WIN32_LEAN_AND_MEAN
  #include <winsock2.h>
  #else
--    #ifndef __WXOSX__
--        #include <error.h>
--    #else    
-+    #ifdef __WXOSX__
-         #include <mach/error.h> 
+-#ifndef __WXOSX__
+-#include <error.h>
+-#else
++#ifdef __WXOSX__
+ #include <mach/error.h>
  #endif
  
-@@ -424,4 +422,4 @@
-     }
- }
- 
--#endif // ZEROCONF_DETAIL_HPP
-\ No newline at end of file
-+#endif // ZEROCONF_DETAIL_HPP
---- a/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-@@ -27,6 +27,7 @@
  #include <string.h>
  #include <unistd.h>
  #include <sys/socket.h>
@@ -28,3 +18,10 @@
  #include <netinet/in.h>
  #endif
  
+@@ -385,4 +384,4 @@
+ }  // namespace Detail
+ }  // namespace Zeroconf
+ 
+-#endif  // ZEROCONF_DETAIL_HPP
+\ No newline at end of file
++#endif  // ZEROCONF_DETAIL_HPP
diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..d3b57804fa880 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
-version=5.2.0
-revision=2
+version=5.8.4
+revision=1
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
@@ -10,16 +10,17 @@ configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
  -DOCPN_USE_BUNDLED_LIBS=OFF"
 hostmakedepends="gettext pkg-config"
 makedepends="gtk+3-devel libcurl-devel portaudio-devel tinyxml-devel
- wxWidgets-gtk3-devel $(vopt_if exif 'libexif-devel') glu-devel
- $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel') $(vopt_if lzma 'liblzma-devel')"
+ wxWidgets-gtk3-devel glu-devel glew-devel rapidjson gtest-devel
+ $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel')
+ $(vopt_if exif 'libexif-devel') $(vopt_if lzma 'liblzma-devel')"
 depends="gpsd hicolor-icon-theme OpenCPN-tcdata-${version}_${revision}
  OpenCPN-gshhs-crude"
 short_desc="Concise ChartPlotter/Navigator"
 maintainer="John <me@johnnynator.dev>"
 license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, MIT, WxWindows-exception-3.1, JasPer-2.0, BSD-3-Clause, SGI-B-2.0"
 homepage="https://opencpn.org/"
-distfiles="https://github.com/OpenCPN/OpenCPN/archive/v${version}.tar.gz"
-checksum=f6ec38989bc38f5a7f63234c5e0230adeb73f5626b4e3d3dfa680f0c240badc7
+distfiles="https://github.com/OpenCPN/OpenCPN/archive/Release_${version}.tar.gz"
+checksum=7552726e5afce5eb401e307beedd8f3aa2c66725602fc27ab3ad1845f40b87a0
 
 build_options="lzma libarchive exif crashreport"
 build_options_default="lzma libarchive exif"

From 1c2337e3aa353445e758b20e08de58be3321d429 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/43] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..6ae1df0d87a19 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower

From 2ac72cec921bc79dffd757af819d27cbd0dbe9cf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/43] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..a88c2e4bc7814 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"

From 130b6aa2d2ed92d96c37f56037b049a75d3c9e36 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/43] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..2da95d5702ea7 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"

From 396cdff581f784aa0d868b51cd240f61fd630a2b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/43] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/patches/wx-3.2.patch         | 26 ++++++++++++++++
 .../patches/wx-widget-has-basque.patch        | 22 +++++++++++++
 srcpkgs/audacity/patches/wxbitmap.patch       | 31 +++++++++++++++++++
 srcpkgs/audacity/template                     |  5 +--
 4 files changed, 82 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/audacity/patches/wx-3.2.patch
 create mode 100644 srcpkgs/audacity/patches/wx-widget-has-basque.patch
 create mode 100644 srcpkgs/audacity/patches/wxbitmap.patch

diff --git a/srcpkgs/audacity/patches/wx-3.2.patch b/srcpkgs/audacity/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..d42ae09f30f6e
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-3.2.patch
@@ -0,0 +1,26 @@
+Index: audacity-Audacity-2.4.1/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/configure
++++ audacity-Audacity-2.4.1/configure
+@@ -19918,7 +19918,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
+Index: audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/lib-src/lib-widget-extra/configure
++++ audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+@@ -16633,7 +16633,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
diff --git a/srcpkgs/audacity/patches/wx-widget-has-basque.patch b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
new file mode 100644
index 0000000000000..4dd24e79ec8e2
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
@@ -0,0 +1,22 @@
+Index: audacity-Audacity-2.4.1/src/AudacityApp.cpp
+===================================================================
+--- audacity-Audacity-2.4.1.orig/src/AudacityApp.cpp
++++ audacity-Audacity-2.4.1/src/AudacityApp.cpp
+@@ -1102,7 +1102,7 @@ locations of the missing files.").Format
+ #define WL(lang,sublang)
+ #endif
+ 
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+ wxLanguageInfo userLangs[] =
+ {
+    // Bosnian is defined in wxWidgets already
+@@ -1366,7 +1366,7 @@ bool AudacityApp::OnInit()
+    //
+    // TODO:  The whole Language initialization really need to be reworked.
+    //        It's all over the place.
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+    for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++)
+    {
+       wxLocale::AddLanguage(userLangs[i]);
diff --git a/srcpkgs/audacity/patches/wxbitmap.patch b/srcpkgs/audacity/patches/wxbitmap.patch
new file mode 100644
index 0000000000000..af18bd1cb6524
--- /dev/null
+++ b/srcpkgs/audacity/patches/wxbitmap.patch
@@ -0,0 +1,31 @@
+From 55383fccd0c281b4f189d9b07699b21bb802c736 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney@ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH] Call the proper wxBitmap constructor for XPM data
+
+wxBitmap back to at least 3.0.0 did not have a constructor for an XPM
+image that took a size parameter, it would only take the XPM data
+itself.
+
+I don't know how this compiled until now, but it doesn't anymore when
+the size is included and built against wx 3.1.6 in Fedora.
+---
+ src/MixerBoard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+ 
+ Technically this patch is under GPLv3+ because it was contributed after
+ re licensing
+
+diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp
+index 54b5f146cc7..7fe81615474 100644
+--- a/src/MixerBoard.cpp
++++ b/src/MixerBoard.cpp
+@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments()
+    wxMemoryDC dc;
+ 
+    for (const auto &data : table) {
+-      auto bmp = std::make_unique<wxBitmap>(data.bitmap,24);
++      auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+       dc.SelectObject(*bmp);
+       AColor::Bevel(dc, false, bev);
+       mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..6992ffa771b9a 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"
@@ -13,7 +13,8 @@ makedepends="jack-devel wxWidgets-gtk3-devel gtk+3-devel
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Graphical cross-platform audio editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
+# Patches are GPL3+, so bump the license for the whole package
+license="GPL-3.0-or-later"
 homepage="https://www.audacityteam.org"
 distfiles="https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"
 checksum=50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f

From ca9f66ea244845077d1f4dd70b3fa417479c9f24 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/43] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65bbbe7540d50 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"

From f65c4bb721ccb14ffa5a4042755b38938ba3f558 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/43] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/patches/000.r11991.patch   |  27 +
 ...0.v20.03-r12008.patch => 000.r12008.patch} |   0
 ...1.v20.03-r12012.patch => 000.r12012.patch} |   0
 srcpkgs/codeblocks/patches/000.r12532.patch   |  13 +
 srcpkgs/codeblocks/patches/000.r12580.patch   | 944 ++++++++++++++++++
 srcpkgs/codeblocks/patches/000.r12707.patch   | 120 +++
 srcpkgs/codeblocks/patches/wx-3.2.patch       |  21 +
 srcpkgs/codeblocks/template                   |   2 +-
 8 files changed, 1126 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codeblocks/patches/000.r11991.patch
 rename srcpkgs/codeblocks/patches/{000.v20.03-r12008.patch => 000.r12008.patch} (100%)
 rename srcpkgs/codeblocks/patches/{001.v20.03-r12012.patch => 000.r12012.patch} (100%)
 create mode 100644 srcpkgs/codeblocks/patches/000.r12532.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12580.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12707.patch
 create mode 100644 srcpkgs/codeblocks/patches/wx-3.2.patch

diff --git a/srcpkgs/codeblocks/patches/000.r11991.patch b/srcpkgs/codeblocks/patches/000.r11991.patch
new file mode 100644
index 0000000000000..0cdb7251fdced
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r11991.patch
@@ -0,0 +1,27 @@
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 11990)
++++ b/src/src/main.cpp	(revision 11991)
+@@ -2680,8 +2680,6 @@
+     else
+     {
+         wxBusyCursor useless;
+-        wxPaintEvent e;
+-        ProcessEvent(e);
+         for (unsigned int i = 0; i < files.GetCount(); ++i)
+           success &= OpenGeneric(files[i]);
+     }
+Index: src/src/watchesdlg.cpp
+===================================================================
+--- a/src/src/watchesdlg.cpp	(revision 11990)
++++ b/src/src/watchesdlg.cpp	(revision 11991)
+@@ -103,8 +103,7 @@
+                                   cb_unused const wxPoint& pos,
+                                   cb_unused const wxSize& sz) const override
+     {
+-        wxPGWindowList const list;
+-        return list;
++        return wxPGWindowList(nullptr, nullptr);
+     }
+     void UpdateControl(cb_unused wxPGProperty* property, cb_unused wxWindow* ctrl) const override {}
+     bool OnEvent(cb_unused wxPropertyGrid* propgrid, cb_unused wxPGProperty* property,
diff --git a/srcpkgs/codeblocks/patches/000.v20.03-r12008.patch b/srcpkgs/codeblocks/patches/000.r12008.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/000.v20.03-r12008.patch
rename to srcpkgs/codeblocks/patches/000.r12008.patch
diff --git a/srcpkgs/codeblocks/patches/001.v20.03-r12012.patch b/srcpkgs/codeblocks/patches/000.r12012.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/001.v20.03-r12012.patch
rename to srcpkgs/codeblocks/patches/000.r12012.patch
diff --git a/srcpkgs/codeblocks/patches/000.r12532.patch b/srcpkgs/codeblocks/patches/000.r12532.patch
new file mode 100644
index 0000000000000..15a2fff28e2e7
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12532.patch
@@ -0,0 +1,13 @@
+Index: src/include/ccmanager.h
+===================================================================
+--- a/src/include/ccmanager.h	(revision 12531)
++++ b/src/include/ccmanager.h	(revision 12532)
+@@ -44,7 +44,7 @@
+  * list or the doxygen popup, the scroll event is instead sent there (and skipped for the editor
+  * window).
+  */
+-class DLLIMPORT CCManager : public Mgr<CCManager>, wxEvtHandler
++class DLLIMPORT CCManager : public Mgr<CCManager>, public wxEvtHandler
+ {
+     public:
+         friend class Mgr<CCManager>;
diff --git a/srcpkgs/codeblocks/patches/000.r12580.patch b/srcpkgs/codeblocks/patches/000.r12580.patch
new file mode 100644
index 0000000000000..7930c5c5677b2
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12580.patch
@@ -0,0 +1,944 @@
+Index: src/src/notebookstyles.h
+===================================================================
+--- a/src/src/notebookstyles.h	(revision 12579)
++++ b/src/src/notebookstyles.h	(revision 12580)
+@@ -8,14 +8,6 @@
+ 
+ #include "cbauibook.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-#endif
+-
+-
+ class wxDC;
+ class wxWindow;
+ class wxRect;
+@@ -53,35 +45,4 @@
+                             const wxSize& required_bmp_size) override;
+ };
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-class NbStyleGTK : public wxAuiDefaultTabArt
+-{
+-public:
+-    NbStyleGTK();
+-
+-    virtual wxAuiTabArt* Clone();
+-    virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+-    virtual void DrawTab(wxDC& dc,
+-                         wxWindow* wnd,
+-                         const wxAuiNotebookPage& page,
+-                         const wxRect& in_rect,
+-                         int close_button_state,
+-                         wxRect* out_tab_rect,
+-                         wxRect* out_button_rect,
+-                         int* x_extent);
+-    void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
+-                    int button_state, int orientation, wxRect* out_rect);
+-    int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
+-                            const wxSize& required_bmp_size);
+-    virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active,
+-                              int close_button_state, int* x_extent);
+-private:
+-    int m_Xthickness;
+-    int m_Ythickness;
+-    int m_TabHBorder;
+-    int m_TabVBorder;
+-    wxBitmap m_ActiveCloseButton;
+-};
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+ #endif // NOTEBOOKSTYLES_H
+Index: src/plugins/compilergcc/compileroptionsdlg.cpp
+===================================================================
+--- a/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12579)
++++ b/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12580)
+@@ -677,13 +677,9 @@
+     wxPGProperty *root = m_FlagsPG->GetRoot();
+     if (root)
+     {
+-        unsigned count = root->GetChildCount();
++        const unsigned count = root->GetChildCount();
+         for (unsigned ii = 0; ii < count; ++ii)
+-#if wxCHECK_VERSION(3, 0, 0)
+             m_FlagsPG->SortChildren(root->Item(ii), wxPG_RECURSE);
+-#else
+-            m_FlagsPG->Sort(root->Item(ii));
+-#endif
+     }
+     m_FlagsPG->Thaw();
+ } // DoFillOptions
+@@ -2118,11 +2114,7 @@
+     CompilerFactory::SetDefaultCompiler(idx);
+     wxString msg;
+     Compiler* compiler = CompilerFactory::GetDefaultCompiler();
+-    #if wxCHECK_VERSION(3, 0, 0)
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().wx_str() : _("[invalid]").wx_str());
+-    #else
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().c_str() : _("[invalid]"));
+-    #endif
++    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName() : _("[invalid]"));
+     cbMessageBox(msg);
+ } // OnSetDefaultCompilerClick
+ 
+Index: src/sdk/templatemanager.cpp
+===================================================================
+--- a/src/sdk/templatemanager.cpp	(revision 12579)
++++ b/src/sdk/templatemanager.cpp	(revision 12580)
+@@ -186,11 +186,7 @@
+             ++count;
+         }
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+     if (count != total_count)
+         cbMessageBox(_("Some files could not be loaded with the template..."), _("Error"), wxICON_ERROR);
+@@ -303,21 +299,13 @@
+     {
+         wxString src = (*it)->file.GetFullPath();
+         wxString dst = templ + (*it)->relativeToCommonTopLevelPath;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.wx_str(), dst.wx_str()));
+-        #else
+-        Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.c_str(), dst.c_str()));
+-        #endif
+         if (!CreateDirRecursively(dst))
+             Manager::Get()->GetLogManager()->DebugLog(_T("Failed creating directory for ") + dst);
+         if (wxCopyFile(src, dst, true))
+             ++count;
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+ 
+     // cbProject doesn't have a GetRelativeToCommonTopLevelPath() function, so we simulate it here
+Index: src/src/associations.cpp
+===================================================================
+--- a/src/src/associations.cpp	(revision 12579)
++++ b/src/src/associations.cpp	(revision 12580)
+@@ -201,11 +201,7 @@
+     if (key.Exists())
+     {
+         wxString s;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         if (key.QueryValue(wxEmptyString, s) && s.StartsWith(_T("CodeBlocks")))
+-        #else
+-        if (key.QueryValue(NULL, s) && s.StartsWith(_T("CodeBlocks")))
+-        #endif
+             key.DeleteSelf();
+     }
+ 
+Index: src/src/dlgabout.cpp
+===================================================================
+--- a/src/src/dlgabout.cpp	(revision 12579)
++++ b/src/src/dlgabout.cpp	(revision 12580)
+@@ -20,9 +20,7 @@
+     #include <wx/string.h>
+     #include <wx/textctrl.h>
+     #include <wx/xrc/xmlres.h>
+-    #if wxCHECK_VERSION(3, 0, 0)
+-        #include <wx/versioninfo.h>
+-    #endif // wxCHECK_VERSION
++    #include <wx/versioninfo.h>
+ 
+     #include "licenses.h"
+     #include "configmanager.h"
+@@ -146,15 +144,11 @@
+     wxTextCtrl *txtLicense = XRCCTRL(*this, "txtLicense", wxTextCtrl);
+     txtLicense->SetValue(LICENSE_GPL);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     const wxVersionInfo scintillaVersion = wxScintilla::GetLibraryVersionInfo();
+     const wxString scintillaStr = wxString::Format(wxT("%d.%d.%d"),
+                                                    scintillaVersion.GetMajor(),
+                                                    scintillaVersion.GetMinor(),
+                                                    scintillaVersion.GetMicro());
+-#else
+-    const wxString scintillaStr = wxSCINTILLA_VERSION;
+-#endif // wxCHECK_VERSION
+ 
+     struct Item
+     {
+@@ -218,9 +212,7 @@
+         information += wxT(": ") + item.value + wxT("\n");
+     }
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     information += wxT("\n") + wxGetLibraryVersionInfo().GetDescription();
+-#endif // wxCHECK_VERSION(3, 0, 0)
+ 
+     wxTextCtrl *txtInformation = XRCCTRL(*this, "txtInformation", wxTextCtrl);
+     txtInformation->SetValue(information);
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 12579)
++++ b/src/src/main.cpp	(revision 12580)
+@@ -2075,11 +2075,7 @@
+         {
+             if (!items[i]->IsCheckable())
+                 continue;
+-#if wxCHECK_VERSION(3, 0, 0)
+             items[i]->Check(items[i]->GetItemLabel().IsSameAs(name));
+-#else
+-            items[i]->Check(items[i]->GetText().IsSameAs(name));
+-#endif
+         }
+ 
+         if (!m_LastLayoutIsTemp)
+@@ -2401,12 +2397,7 @@
+             break;
+ 
+         default: // default style
+-            #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-            target->SetArtProvider(new NbStyleGTK());
+-            #else
+             target->SetArtProvider(new wxAuiDefaultTabArt());
+-            #endif
+-            break;
+     }
+ 
+     target->SetTabCtrlHeight(-1);
+@@ -4801,13 +4792,9 @@
+ 
+     if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor())
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         // Execute the code to update the status bar outside of the paint event for scintilla.
+         // Executing this function directly in the event handler causes redraw problems on Windows.
+         CallAfter(&MainFrame::DoUpdateStatusBar);
+-#else
+-        DoUpdateStatusBar();
+-#endif // defined(__wxMSW__) && wxCHECK_VERSION(3, 0, 0)
+     }
+ 
+     event.Skip();
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12579)
++++ b/src/src/notebookstyles.cpp	(revision 12580)
+@@ -13,14 +13,6 @@
+ #include "prep.h"
+ #include "notebookstyles.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-    #include <wx/renderer.h>
+-#endif
+-
+ #include <wx/dc.h>
+ #include <wx/dcclient.h>
+ 
+@@ -42,15 +34,9 @@
+ {
+     NbStyleVC71* clone = new NbStyleVC71();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -75,11 +61,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 3;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 3;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -166,17 +148,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -186,21 +161,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -227,11 +193,7 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+@@ -246,15 +208,9 @@
+ {
+     NbStyleFF2* clone = new NbStyleFF2();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -272,11 +228,7 @@
+     wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+                                     page.active, close_button_state, x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 2;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 2;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -360,17 +312,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -380,21 +325,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -421,533 +357,9 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+     return s.y + 6;
+ }
+-
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+-namespace
+-{
+-
+-static GtkWidget *g_window = nullptr;
+-static GtkWidget *g_container = nullptr;
+-static GtkWidget *g_notebook = nullptr;
+-static GtkWidget *g_button = nullptr;
+-static int s_CloseIconSize = 16; // default size
+-
+-static void setup_widget_prototype(GtkWidget* widget)
+-{
+-    if (!g_window)
+-    {
+-        g_window = gtk_window_new(GTK_WINDOW_POPUP);
+-        gtk_widget_realize(g_window);
+-    }
+-    if (!g_container)
+-    {
+-        g_container = gtk_fixed_new();
+-        gtk_container_add(GTK_CONTAINER(g_window), g_container);
+-    }
+-
+-    gtk_container_add(GTK_CONTAINER(g_container), widget);
+-    gtk_widget_realize(widget);
+-}
+-
+-static GtkStyle * get_style_button()
+-{
+-    if (!g_button)
+-    {
+-        g_button = gtk_button_new();
+-        setup_widget_prototype(g_button);
+-    }
+-    return gtk_widget_get_style(g_button);
+-}
+-
+-static GtkStyle * get_style_notebook()
+-{
+-    if (!g_notebook)
+-    {
+-        g_notebook = gtk_notebook_new();
+-        setup_widget_prototype(g_notebook);
+-    }
+-    return gtk_widget_get_style(g_notebook);
+-}
+-
+-}
+-
+-NbStyleGTK::NbStyleGTK():
+-    m_Xthickness(0),
+-    m_Ythickness(0),
+-    m_TabHBorder(0),
+-    m_TabVBorder(0)
+-
+-{
+-}
+-
+-wxAuiTabArt* NbStyleGTK::Clone()
+-{
+-    NbStyleGTK* clone = new NbStyleGTK();
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    clone->SetNormalFont(m_normalFont);
+-    clone->SetSelectedFont(m_normalFont);
+-    clone->SetMeasuringFont(m_normalFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_normal_font);
+-    clone->SetMeasuringFont(m_normal_font);
+-#endif
+-
+-    return clone;
+-}
+-
+-void NbStyleGTK::DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect)
+-{
+-    GtkStyle* style_notebook = get_style_notebook();
+-    GtkNotebook* notebook = GTK_NOTEBOOK (g_notebook);
+-
+-    // if one of the parameters have changed, the height needs to be recalculated, so we force it,
+-    if(m_Xthickness  != style_notebook->xthickness ||
+-       m_Ythickness  != style_notebook->ythickness ||
+-       m_TabVBorder != notebook->tab_vborder ||
+-       m_TabHBorder != notebook->tab_hborder)
+-    {
+-        m_Xthickness  = style_notebook->xthickness;
+-        m_Ythickness  = style_notebook->ythickness;
+-        m_TabVBorder = notebook->tab_vborder;
+-        m_TabHBorder = notebook->tab_hborder;
+-        wxAuiNotebook* nb = nullptr;
+-        if(wnd)
+-             nb = (cbAuiNotebook*)wnd->GetParent();
+-        if(nb)
+-            nb->SetTabCtrlHeight(-1);
+-    }
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_style_apply_default_background(style_notebook, pWin, 1, GTK_STATE_NORMAL, nullptr,
+-                                       rect.x, rect.y, rect.width, rect.height);
+-}
+-
+-void ButtonStateAndShadow(int button_state, GtkStateType &state, GtkShadowType &shadow)
+-{
+-
+-    if (button_state & wxAUI_BUTTON_STATE_DISABLED)
+-    {
+-        state = GTK_STATE_INSENSITIVE;
+-        shadow = GTK_SHADOW_ETCHED_IN;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        state = GTK_STATE_PRELIGHT;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        state = GTK_STATE_ACTIVE;
+-        shadow = GTK_SHADOW_IN;
+-    }
+-    else
+-    {
+-        state = GTK_STATE_NORMAL;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-}
+-
+-wxRect DrawCloseButton(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GdkRectangle* clipRect)
+-{
+-    GtkStyle *style_button = get_style_button();
+-    int xthickness = style_button->xthickness;
+-    int ythickness = style_button->ythickness;
+-
+-    wxBitmap bmp;
+-    bmp.SetPixbuf(gtk_widget_render_icon(widget, GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR, "tab"));
+-
+-    if(bmp.GetWidth() != s_CloseIconSize || bmp.GetHeight() != s_CloseIconSize)
+-    {
+-        wxImage img = bmp.ConvertToImage();
+-        img.Rescale(s_CloseIconSize, s_CloseIconSize);
+-        bmp = img;
+-    }
+-
+-    int button_size = s_CloseIconSize + 2 * xthickness;
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x - ythickness;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - button_size - ythickness;
+-
+-    out_rect.y = in_rect.y + (in_rect.height - button_size) / 2;
+-    out_rect.width = button_size;
+-    out_rect.height = button_size;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-    else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_ACTIVE, GTK_SHADOW_IN, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-
+-
+-    dc.DrawBitmap(bmp, out_rect.x + xthickness, out_rect.y + ythickness, true);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
+-                             const wxRect& in_rect, int close_button_state, wxRect* out_tab_rect,
+-                             wxRect* out_button_rect, int* x_extent)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    GtkStyle *style_notebook = get_style_notebook();
+-
+-    wxRect const &window_rect = wnd->GetRect();
+-
+-    int focus_width = 0;
+-
+-    gtk_widget_style_get(g_notebook,
+-                         "focus-line-width", &focus_width,
+-                         NULL);
+-
+-    int tab_pos;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        tab_pos = wxAUI_NB_BOTTOM;
+-    else //if (m_flags & wxAUI_NB_TOP) {}
+-        tab_pos = wxAUI_NB_TOP;
+-
+-    // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+-    // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+-
+-    // figure out the size of the tab
+-    wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+-                                    page.active, close_button_state, x_extent);
+-
+-    wxRect tab_rect = in_rect;
+-    tab_rect.width = tab_size.x;
+-    tab_rect.height = tab_size.y;
+-    tab_rect.y += 2 * m_TabHBorder;
+-
+-    if (page.active)
+-        tab_rect.height += 2 * m_TabHBorder;
+-#if wxCHECK_VERSION(3, 0, 0)
+-    // if no bitmap is set, we need a tiny correction
+-    if (! page.bitmap.IsOk())
+-        tab_rect.height += 1;
+-#endif
+-
+-    int gap_rect_height = 6 * m_TabHBorder;
+-    int gap_rect_x = 1, gap_start = 0, gap_width = 0;
+-    int gap_rect_y = tab_rect.y - gap_rect_height;
+-    int gap_rect_width = window_rect.width;
+-
+-    switch (tab_pos)
+-    {
+-        case wxAUI_NB_TOP:
+-            tab_rect.y -= 2 * m_TabHBorder;
+-            if (!page.active)
+-                tab_rect.y += 2 * m_TabHBorder;
+-            gap_rect_y = tab_rect.y + tab_rect.height - m_TabHBorder / 2;
+-            // fall through
+-        case wxAUI_NB_BOTTOM:
+-            gap_start = tab_rect.x - m_TabVBorder / 2;
+-            gap_width = tab_rect.width;
+-            break;
+-        default:
+-            break;
+-    }
+-    tab_rect.y += m_TabHBorder / 2;
+-    gap_rect_y += m_TabHBorder / 2;
+-
+-    int padding = focus_width + m_TabHBorder;
+-
+-    int clip_width = tab_rect.width;
+-    if (tab_rect.x + tab_rect.width > in_rect.x + in_rect.width)
+-        clip_width = (in_rect.x + in_rect.width) - tab_rect.x;
+-
+-    dc.SetClippingRegion(tab_rect.x, tab_rect.y - m_TabVBorder, clip_width, tab_rect.height + m_TabVBorder);
+-
+-    GdkRectangle area;
+-    area.x = tab_rect.x - m_TabVBorder;
+-    area.y = tab_rect.y - 2 * m_TabHBorder;
+-    area.width = clip_width + m_TabVBorder;
+-    area.height = tab_rect.height + 2 * m_TabHBorder;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (tab_pos == wxAUI_NB_BOTTOM)
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_BOTTOM, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_TOP);
+-    }
+-    else
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_TOP, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_BOTTOM);
+-    }
+-
+-    wxCoord textX = tab_rect.x + padding + m_Xthickness;
+-
+-    int bitmap_offset = 0;
+-    if (page.bitmap.IsOk())
+-    {
+-        bitmap_offset = textX;
+-
+-        // draw bitmap
+-        int bitmapY = tab_rect.y +(tab_rect.height - page.bitmap.GetHeight()) / 2;
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                bitmapY += m_Ythickness / 2;
+-            else
+-                bitmapY -= m_Ythickness / 2;
+-        }
+-        dc.DrawBitmap(page.bitmap,
+-                      bitmap_offset,
+-                      bitmapY,
+-                      true);
+-
+-        textX += page.bitmap.GetWidth() + padding;
+-    }
+-
+-    wxCoord textW, textH, textY;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    dc.SetFont(m_normalFont);
+-#else
+-    dc.SetFont(m_normal_font);
+-#endif
+-    dc.GetTextExtent(page.caption, &textW, &textH);
+-    textY = tab_rect.y + (tab_rect.height - textH) / 2;
+-    if(!page.active)
+-    {
+-        if (tab_pos == wxAUI_NB_TOP)
+-            textY += m_Ythickness / 2;
+-        else
+-            textY -= m_Ythickness / 2;
+-    }
+-
+-    // draw tab text
+-    GdkColor text_colour = page.active ? style_notebook->fg[GTK_STATE_NORMAL] : style_notebook->fg[GTK_STATE_ACTIVE];
+-    dc.SetTextForeground(wxColor(text_colour));
+-    GdkRectangle focus_area;
+-
+-    int padding_focus = padding - focus_width;
+-    focus_area.x = tab_rect.x + padding_focus;
+-    focus_area.y = textY - focus_width;
+-    focus_area.width = tab_rect.width - 2 * padding_focus;
+-    focus_area.height = textH + 2 * focus_width;
+-
+-    if(page.active && (wnd->FindFocus() == wnd) && focus_area.x <= (area.x + area.width))
+-    {
+-        // clipping seems not to work here, so we we have to recalc the focus-area manually
+-        if((focus_area.x + focus_area.width) > (area.x + area.width))
+-            focus_area.width = area.x + area.width - focus_area.x + focus_width - m_TabVBorder;
+-        gtk_paint_focus (style_notebook, pWin,
+-                         GTK_STATE_ACTIVE, NULL, widget, "tab",
+-                         focus_area.x, focus_area.y, focus_area.width, focus_area.height);
+-    }
+-
+-    dc.DrawText(page.caption, textX, textY);
+-
+-    // draw close-button on tab (if enabled)
+-    if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+-    {
+-        wxRect rect(tab_rect.x, tab_rect.y, tab_rect.width - m_Xthickness, tab_rect.height);
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                rect.y += m_Ythickness / 2;
+-            else
+-                rect.y -= m_Ythickness / 2;
+-        }
+-        *out_button_rect = DrawCloseButton(dc, widget, close_button_state, rect, wxRIGHT, &area);
+-    }
+-
+-    tab_rect.width = std::min(tab_rect.width, clip_width);
+-    *out_tab_rect = tab_rect;
+-
+-    dc.DestroyClippingRegion();
+-}
+-
+-wxRect DrawSimpleArrow(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GtkArrowType arrow_type)
+-{
+-    int scroll_arrow_hlength, scroll_arrow_vlength;
+-    gtk_widget_style_get(widget,
+-                         "scroll-arrow-hlength", &scroll_arrow_hlength,
+-                         "scroll-arrow-vlength", &scroll_arrow_vlength,
+-                         NULL);
+-
+-    GtkStateType state;
+-    GtkShadowType shadow;
+-    ButtonStateAndShadow(button_state, state, shadow);
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - scroll_arrow_hlength;
+-    out_rect.y = (in_rect.y + in_rect.height - 3 * get_style_notebook()->ythickness - scroll_arrow_vlength) / 2;
+-    out_rect.width = scroll_arrow_hlength;
+-    out_rect.height = scroll_arrow_vlength;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_paint_arrow (get_style_button(), pWin, state, shadow, nullptr, widget, "notebook",
+-                     arrow_type, TRUE, out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawButton(wxDC& dc, wxWindow* wnd,
+-                            const wxRect& in_rect,
+-                            int bitmap_id,
+-                            int button_state,
+-                            int orientation,
+-                            wxRect* out_rect)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    wxRect rect = in_rect;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        rect.y += 2 * get_style_button()->ythickness;
+-
+-    switch (bitmap_id)
+-    {
+-        case wxAUI_BUTTON_CLOSE:
+-            rect.y -= 2 * get_style_button()->ythickness;
+-            rect = DrawCloseButton(dc, widget, button_state, rect, orientation, NULL);
+-            break;
+-
+-        case wxAUI_BUTTON_LEFT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_LEFT);
+-            break;
+-
+-        case wxAUI_BUTTON_RIGHT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_RIGHT);
+-            break;
+-
+-        case wxAUI_BUTTON_WINDOWLIST:
+-            {
+-                rect.height -= 4 * get_style_button()->ythickness;
+-                rect.width = rect.height;
+-                rect.x = in_rect.x + in_rect.width - rect.width;
+-
+-                if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_CURRENT);
+-                else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_PRESSED);
+-                else
+-                    wxRendererNative::Get().DrawDropArrow(wnd, dc, rect);
+-            }
+-            break;
+-
+-        default:
+-            break;
+-    }
+-
+-    *out_rect = rect;
+-}
+-
+-
+-int NbStyleGTK::GetBestTabCtrlSize(wxWindow* wnd,
+-                                   const wxAuiNotebookPageArray& pages,
+-                                   const wxSize& required_bmp_size)
+-{
+-#if wxCHECK_VERSION(3, 0, 0)
+-    SetMeasuringFont(m_normalFont);
+-    SetSelectedFont(m_normalFont);
+-#else
+-    SetMeasuringFont(m_normal_font);
+-    SetSelectedFont(m_normal_font);
+-#endif
+-    int tab_height = 3 * get_style_notebook()->ythickness + wxAuiDefaultTabArt::GetBestTabCtrlSize(wnd, pages, required_bmp_size);
+-    return tab_height;
+-}
+-
+-wxSize NbStyleGTK::GetTabSize(wxDC& dc,
+-                              wxWindow* wnd,
+-                              const wxString& caption,
+-                              const wxBitmap& bitmap,
+-                              bool active,
+-                              int close_button_state,
+-                              int* x_extent)
+-{
+-    wxSize s = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
+-
+-    int overlap = 0;
+-    gtk_widget_style_get (wnd->GetHandle(),
+-        "focus-line-width", &overlap,
+-        NULL);
+-    *x_extent -= overlap;
+-    return s;
+-}
+-
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+Index: src/src/projectmanagerui.cpp
+===================================================================
+--- a/src/src/projectmanagerui.cpp	(revision 12579)
++++ b/src/src/projectmanagerui.cpp	(revision 12580)
+@@ -1875,11 +1875,7 @@
+ {
+     size_t operator()(const wxString& s) const
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         return std::hash<std::wstring>()(s.ToStdWstring());
+-#else
+-        return std::hash<std::wstring>()(s.wc_str());
+-#endif // wxCHECK_VERSION
+     }
+ };
+ 
diff --git a/srcpkgs/codeblocks/patches/000.r12707.patch b/srcpkgs/codeblocks/patches/000.r12707.patch
new file mode 100644
index 0000000000000..bca974fbe5770
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12707.patch
@@ -0,0 +1,120 @@
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12706)
++++ b/src/src/notebookstyles.cpp	(revision 12707)
+@@ -124,8 +124,16 @@
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -132,6 +140,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -161,13 +170,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
+@@ -285,11 +304,20 @@
+     int text_offset = tab_x + 8;
+ 
+     int bitmap_offset = 0;
++
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -296,6 +324,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -303,7 +332,6 @@
+         text_offset = tab_x + 8;
+     }
+ 
+-
+     // if the caption is empty, measure some temporary text
+     wxString caption = page.caption;
+     if (caption.empty())
+@@ -325,13 +353,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
diff --git a/srcpkgs/codeblocks/patches/wx-3.2.patch b/srcpkgs/codeblocks/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..0400ce6346178
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/wx-3.2.patch
@@ -0,0 +1,21 @@
+Index: codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+===================================================================
+--- codeblocks-20.03.orig/src/sdk/scripting/bindings/sc_wxtypes.cpp
++++ codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+@@ -322,6 +322,7 @@ namespace ScriptBindings
+         typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
+         typedef bool(wxFileName::*WXFN_ISFILEWRITEABLE)()const;
++        typedef bool(wxFileName::*WXFN_NORMALIZE)(int, const wxString&, wxPathFormat);
+ 
+         SqPlus::SQClassDef<wxFileName>("wxFileName").
+                 emptyCtor().
+@@ -354,7 +355,7 @@ namespace ScriptBindings
+                 func(&wxFileName::IsDir, "IsDir").
+                 func(&wxFileName::MakeAbsolute, "MakeAbsolute").
+                 func(&wxFileName::MakeRelativeTo, "MakeRelativeTo").
+-                func(&wxFileName::Normalize, "Normalize").
++                func<WXFN_NORMALIZE>(&wxFileName::Normalize, "Normalize").
+                 func(&wxFileName::PrependDir, "PrependDir").
+                 func(&wxFileName::RemoveDir, "RemoveDir").
+                 func(&wxFileName::RemoveLastDir, "RemoveLastDir").
diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..46466d990bed1 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr

From e235199224005e19a526749acf9b97a9aeac4d7a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/43] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   2 +-
 2 files changed, 132 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..140fe20d0d26b 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 49ea28b10c84d93a0ccb8adda905bc38941a8d56 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/43] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..dff1f22362cbd 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 498c045813e798cd838ee448bbe80d6f36a17c4c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/43] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From e4ef06bddeba84a1bc784b92311e86b85acc47b8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/43] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..21a5b44004c55 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"

From 6b5ee7950101071642ec1ecaf200fed6b855ca3e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/43] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..c4d9dcb2a894c 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"
@@ -21,6 +21,8 @@ fi
 
 alternatives="gnuplot:gnuplot:/usr/bin/gnuplot-x11"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	# fix fonts location
 	sed -i \

From 957a3c8ff37303f0ec5e0bc3b24d2925e11bd85c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/43] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..1fd406b6a2f55 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4

From 2b79bc7793026fcaa73124d565c68646c0a1f8a2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/43] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..73720781c7191 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"

From f29865b81bd1aa82351c3a098e3957210708543c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/43] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..1b82376b3fbda 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"

From 871e6b4bcacaa50c19052b34159b312c19d883bc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/43] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..77bbea28ff696 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 413164fddebf228da94710035dc419963e82df6f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 29/43] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..f83d1fe5cb1f5 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files

From 6e14287f91bd8fd01d52916b83a9e7cbd947766b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/43] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..09ad192af236d 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 2c5433d6e67cc8654272bcf0b162e1c3905db529 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/43] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..72747cbb0a024 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"

From 4b2800fb2dc85f485b92688cf1d537f3d1c94bc3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/43] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..2c4aabc217615 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"

From bb59ef3f22d9c930d425e7dcdf27d3da35df6b6f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/43] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..f02d13fd6bafb 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"

From b3475b5b10d24bc898ec4379e465a3eeba58c9ab Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/43] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..486e4609a19d6 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"

From dc9607a1b73ef2b28182831d808ffb172bac1f45 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/43] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5ed1b80048846 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"

From 2f4860d419baf3c6cbcd554e34221f6900c110fd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 36/43] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..c391d781c6fd1 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"

From 3edba4e3eb9926a4909c849f5d0c840a9b8fe538 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/43] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..06782c1f97743 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"

From 6c037dc21c7a1527409c387f1fdb6a193558cd86 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 38/43] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From 994bebd9b0d4acd445fdb38199458790edf37cf6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 39/43] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From 3345c9ca7170a85224661903f5b59246365f6676 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 40/43] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..bfb7120acd280 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,7 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi

From 61a1c6ea9dbce2c1575aea25883a6d1adddf1ad3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 41/43] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From dc64b829fcc1f502e6b346af4cbb214ccb1314ad Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 42/43] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From 40579cfcd642fc41e9787eeb5b19d48769e3f8c2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 43/43] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWidgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (21 preceding siblings ...)
  2023-09-25 20:18 ` [PR PATCH] [Updated] " ahesford
@ 2023-09-25 20:35 ` ahesford
  2023-09-25 20:49 ` ahesford
                   ` (5 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 20:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1000 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWidgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 142775 bytes --]

From 2eae1755a439e57b81b5d96287b85a4c298343a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/43] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From 01b8c33651ddc6b6805af867821ee923806f4695 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/43] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 4ad4ee431144f1c24ebfdfdb4cfafc4e17622546 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 03/43] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From c6d1e5724f7e680fd68fdf7b87cbfc84a4dc9f09 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 04/43] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 9c2060bc45a67..da7f2739dc5ed 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 70842783025638a63a894126c5aa5a61c370babc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 05/43] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++-----
 .../wxWidgets-gtk3/files/musl-locale-l.patch  | 34 +++++++++++
 .../patches/invalid-header-syntax.patch       | 16 +++++
 .../wxWidgets-gtk3/patches/largefile.patch    | 16 +++++
 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch | 45 ++++++++++++++
 .../patches/nonfatal-abi-check.patch          | 21 +++----
 srcpkgs/wxWidgets-gtk3/template               | 60 +++++++++++++------
 srcpkgs/wxWidgets-gtk3/update                 |  4 +-
 8 files changed, 180 insertions(+), 48 deletions(-)
 create mode 100644 srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/largefile.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch

diff --git a/common/shlibs b/common/shlibs
index da7f2739dc5ed..85ead20844ecc 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
new file mode 100644
index 0000000000000..dc5f1df6a2502
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
@@ -0,0 +1,34 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/musl-locale-l.patch
+
+these macro'd away functions don't exist in musl (yet)
+diff --git a/include/wx/xlocale.h b/include/wx/xlocale.h
+index c433d25..794cf0b 100644
+--- a/include/wx/xlocale.h
++++ b/include/wx/xlocale.h
+@@ -33,6 +33,26 @@
+ #include "wx/crt.h"     // Includes wx/chartype.h, wx/wxcrt.h(wx/string.h)
+ #include "wx/intl.h"    // wxLanguage
+ 
++#ifndef strtol_l
++#define strtol_l(s, p, base, l) strtol(s, p, base)
++#endif
++
++#ifndef strtoul_l
++#define strtoul_l(s, p, base, l) strtoul(s, p, base)
++#endif
++
++#ifndef wcstod_l
++#define wcstod_l(s, p, l) wcstod(s, p)
++#endif
++
++#ifndef wcstol_l
++#define wcstol_l(s, p, base, l) wcstol(s, p, base)
++#endif
++
++#ifndef wcstoul_l
++#define wcstoul_l(s, p, base, l) wcstoul(s, p, base)
++#endif
++
+ // The platform-specific locale type
+ // If wxXLocale_t is not defined, then only "C" locale support is provided
+ #ifdef wxHAS_XLOCALE_SUPPORT
diff --git a/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
new file mode 100644
index 0000000000000..fd4fc4ceca1aa
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/invalid-header-syntax.patch
+
+diff --git a/include/wx/matrix.h b/include/wx/matrix.h
+index 3b3225d..e77fb1a 100644
+--- a/include/wx/matrix.h
++++ b/include/wx/matrix.h
+@@ -37,8 +37,8 @@
+ //  at a certain coordinate and angle within another parent picture.
+ //  At all times m_isIdentity is set if the matrix itself is an Identity matrix.
+ //  It is used where possible to optimize calculations.
+-class
+ wxDEPRECATED_EXPORT_CORE("use wxAffineMatrix2D instead")
++class
+ wxTransformMatrix: public wxObject
+ {
+ public:
diff --git a/srcpkgs/wxWidgets-gtk3/patches/largefile.patch b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
new file mode 100644
index 0000000000000..9e5a81b31b94d
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/largefile.patch
+
+nothing sets this to 0, but for some reason it gets undef'd
+diff --git a/build/cmake/setup.h.in b/build/cmake/setup.h.in
+index e4c9e83..e9ef8dc 100644
+--- a/build/cmake/setup.h.in
++++ b/build/cmake/setup.h.in
+@@ -867,7 +867,7 @@
+ /*
+  * Define if large (64 bit file offsets) files are supported.
+  */
+-#cmakedefine HAVE_LARGEFILE_SUPPORT 1
++#define HAVE_LARGEFILE_SUPPORT 1
+ 
+ /*
+  * Use OpenGL
diff --git a/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
new file mode 100644
index 0000000000000..1303dd6074004
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
@@ -0,0 +1,45 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/no-glvnd.patch
+
+find_package(OpenGL) only works with glvnd and hardcodes glvnd paths, even
+though all these components are easily found with pkgconfig..
+diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
+index ef28c99..b4df830 100644
+--- a/build/cmake/init.cmake
++++ b/build/cmake/init.cmake
+@@ -408,17 +408,26 @@ if(wxUSE_GUI)
+             set(OPENGL_FOUND TRUE)
+             set(OPENGL_LIBRARIES "-framework OpenGLES" "-framework QuartzCore" "-framework GLKit")
+         else()
+-            find_package(OpenGL)
+-            if(OPENGL_FOUND)
+-                foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
+-                    if(TARGET ${gltarget})
+-                        set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
+-                    endif()
+-                endforeach()
+-            endif()
+-            if(WXGTK3 AND OpenGL_EGL_FOUND AND wxUSE_GLCANVAS_EGL)
++            # find_package(OpenGL)
++            # if(OPENGL_FOUND)
++            #     foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
++            #         if(TARGET ${gltarget})
++            #             set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
++            #         endif()
++            #     endforeach()
++            # endif()
++            find_package(PkgConfig REQUIRED)
++            pkg_check_modules(GLU REQUIRED glu IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GLU ALIAS PkgConfig::GLU)
++            pkg_check_modules(GL REQUIRED gl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GL ALIAS PkgConfig::GL)
++            pkg_check_modules(EGL REQUIRED egl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::EGL ALIAS PkgConfig::EGL)
++            set(OPENGL_FOUND TRUE)
++            set(OpenGL_EGL_FOUND TRUE)
++            if(WXGTK3 AND wxUSE_GLCANVAS_EGL)
+                 if(TARGET OpenGL::EGL)
+-                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES})
++                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES} GL)
+                 endif()
+                 set(OPENGL_INCLUDE_DIR ${OPENGL_INCLUDE_DIR} ${OPENGL_EGL_INCLUDE_DIRS})
+                 find_package(WAYLANDEGL)
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..1edbf88627544 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,37 +1,54 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+version=3.2.2.1
+revision=1
+build_style=cmake
+cmake_builddir="build-gtk3"
+configure_args="-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_OPENGL=ON -DwxUSE_LIBMSPACK=ON
+ -DwxUSE_GTKPRINT=ON -DwxUSE_UNICODE=ON -DwxUSE_MEDIACTRL=ON
+ -DwxUSE_PRIVATE_FONTS=ON -DwxUSE_REGEX=sys -DwxUSE_ZLIB=sys -DwxUSE_EXPAT=sys
+ -DwxUSE_LIBJPEG=sys -DwxUSE_LIBPNG=sys -DwxUSE_LIBTIFF=sys -DwxUSE_LIBLZMA=sys
+ -DwxUSE_LIBNOTIFY=sys -DwxUSE_LIBSDL=sys"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
+
+CXXFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+
+post_patch() {
+	if [ "${XBPS_TARGET_LIBC}" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/musl-locale-l.patch"
+	fi
+}
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
-	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
-	#   - mark this build as native build
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	if [ "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
+		# Remove $XBPS_CROSS_TRIPLET from cmake helper...
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			${DESTDIR}/usr/lib/cmake/wxWidgets/wxWidgetsTargets.cmake
 
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
+		# ...and the output of the wx-config utility
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			-e "s@/builddir/[^/]\+/wrappers/${XBPS_CROSS_TRIPLET}-@@" \
 			${DESTDIR}/usr/lib/wx/config/${_config}
 	fi
+
+	# Remove generic wx-config, link to toolkit-specific version
 	rm -f ${DESTDIR}/usr/bin/wx-config
 	ln -sf ../lib/wx/config/${_config} ${DESTDIR}/usr/bin/wx-config-gtk3
+
 	#   - ignore --host option; breaks configure scripts when
 	#     cross compiling (isn’t necessary in our case anyway)
 	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
@@ -39,13 +56,16 @@ post_install() {
 		-e '/--\*=\*)/i --host=\*) continue;;' \
 		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
 		$DESTDIR/usr/lib/wx/config/${_config}
+
+	# Make sure to install the autotools macro, CMake does not
+	vmkdir usr/share/aclocal
+	vinstall wxwin.m4 644 usr/share/aclocal
 }
 
 wxWidgets-common_package() {
 	short_desc+=" - common files"
 	pkg_install() {
 		vmove "usr/lib/libwx_baseu*.so.*"
-		vmove usr/share
 		vlicense docs/licendoc.txt
 		vlicense docs/licence.txt
 	}
@@ -58,6 +78,7 @@ wxWidgets-common-devel_package() {
 		vmove "usr/bin/wxrc*"
 		vmove "usr/lib/libwx_baseu*.so"
 		vmove usr/include
+		vmove usr/share/aclocal
 	}
 }
 
@@ -68,5 +89,6 @@ wxWidgets-gtk3-devel_package() {
 		vmove usr/bin
 		vmove "usr/lib/*.so"
 		vmove usr/lib/wx
+		vmove usr/lib/cmake
 	}
 }
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 657cf1b6fc0ab9759b2e334b991a7991176e78d3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 06/43] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/wxPython/files/no-stacktrace.patch    | 15 +++
 srcpkgs/{wxPython4 => wxPython}/template      | 32 ++++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 9 files changed, 36 insertions(+), 212 deletions(-)
 create mode 100644 srcpkgs/wxPython/files/no-stacktrace.patch
 rename srcpkgs/{wxPython4 => wxPython}/template (68%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython/files/no-stacktrace.patch b/srcpkgs/wxPython/files/no-stacktrace.patch
new file mode 100644
index 0000000000000..e64548bea8c17
--- /dev/null
+++ b/srcpkgs/wxPython/files/no-stacktrace.patch
@@ -0,0 +1,15 @@
+Taken from Alpine:
+
+https://git.alpinelinux.org/aports/plain/community/py3-wxpython/no-stacktrace.patch
+
+--- a/sip/cpp/sip_corewxAppTraits.cpp
++++ b/sip/cpp/sip_corewxAppTraits.cpp
+@@ -471,7 +471,7 @@
+             PyErr_Clear();
+ 
+             Py_BEGIN_ALLOW_THREADS
+-            sipRes = new  ::wxString((sipSelfWasArg ? sipCpp-> ::wxAppTraits::GetAssertStackTrace() : sipCpp->GetAssertStackTrace()));
++            sipRes = new  ::wxString("");
+             Py_END_ALLOW_THREADS
+ 
+             if (PyErr_Occurred())
diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 68%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..815ee0382cb59 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,23 +9,25 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
+post_patch() {
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/no-stacktrace.patch"
+	fi
 }
 
 pre_build() {
@@ -48,3 +50,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From 07ace49a0ed075f6392a5aed2e4f8c8893657597 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 25 Sep 2023 13:46:55 -0400
Subject: [PATCH 07/43] dispcalGUI: update to 3.9.11, replace with python3 fork

---
 srcpkgs/DisplayCAL/template            | 25 +++++++++++++++++++
 srcpkgs/dispcalGUI                     |  1 +
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 5 files changed, 26 insertions(+), 59 deletions(-)
 create mode 100644 srcpkgs/DisplayCAL/template
 create mode 120000 srcpkgs/dispcalGUI
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/DisplayCAL/template b/srcpkgs/DisplayCAL/template
new file mode 100644
index 0000000000000..962d66e29bf68
--- /dev/null
+++ b/srcpkgs/DisplayCAL/template
@@ -0,0 +1,25 @@
+# Template file for 'DisplayCAL'
+pkgname=DisplayCAL
+version=3.9.11
+revision=1
+build_style=python3-module
+hostmakedepends="python3"
+makedepends="python3-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
+depends="python3-dbus python3-numpy wxPython argyllcms"
+short_desc="Display Calibration and Characterization"
+maintainer="lemmi <lemmi@nerd2nerd.org>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/eoyilmaz/displaycal-py3"
+distfiles="https://github.com/eoyilmaz/displaycal-py3/archive/refs/tags/${version}.tar.gz"
+checksum=7769d19551c228d797fd98cb2469730cee84ff27bd0bf5d0463e191753921a5e
+
+pre_configure() {
+	vsed -i misc/displaycal-vrml-to-x3d-converter.desktop \
+		-e 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|'
+}
+
+dispcalGUI_package() {
+	build_style=meta
+	short_desc+=" (transitional dummy package)"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/dispcalGUI b/srcpkgs/dispcalGUI
new file mode 120000
index 0000000000000..7b2ae7fe8eb1e
--- /dev/null
+++ b/srcpkgs/dispcalGUI
@@ -0,0 +1 @@
+DisplayCAL
\ No newline at end of file
diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"

From 0522896a35ea149aee51e41d805f89fd6167051e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/43] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From d4a7d7b2f26370e51443b7bf120ccb3498af8ef5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/43] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..d80e63f027e32 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"

From f4b1b38c0ccba972359c7f7b6061aafe6a6d2490 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/43] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..92d0d3b9090fd 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)

From 7aa27dbf994ca06379bed996032d91380bd01834 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/43] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..219ac3d66adef 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"

From b1ccefc1b8944ae1313d0c0ebb0e7e24f83519d6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/43] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..f13d5e40a04c8 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="

From ff63e73dfc22f340b119c5f03a2ae2971c2d929d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/43] OpenCPN: update to 5.8.4.

---
 .../OpenCPN/patches/actually-set-arch.patch   | 28 ------------------
 srcpkgs/OpenCPN/patches/musl.patch            | 29 +++++++++----------
 srcpkgs/OpenCPN/template                      | 13 +++++----
 3 files changed, 20 insertions(+), 50 deletions(-)
 delete mode 100644 srcpkgs/OpenCPN/patches/actually-set-arch.patch

diff --git a/srcpkgs/OpenCPN/patches/actually-set-arch.patch b/srcpkgs/OpenCPN/patches/actually-set-arch.patch
deleted file mode 100644
index d152c40928867..0000000000000
--- a/srcpkgs/OpenCPN/patches/actually-set-arch.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-+++ b/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-@@ -14,6 +14,25 @@
-     # default
-     set (ARCH "i386")
-     set (LIB_INSTALL_DIR "lib")
-+    IF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "aarch64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "armhf")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc*" OR CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "ppc64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "powerpc")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "x86_64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "i386")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-     if (EXISTS /etc/debian_version)
-       set (PACKAGE_FORMAT "DEB")
-       set (PACKAGE_RECS "xcalib,xdg-utils")
diff --git a/srcpkgs/OpenCPN/patches/musl.patch b/srcpkgs/OpenCPN/patches/musl.patch
index 75923e019b2bc..f9877f9a0e651 100644
--- a/srcpkgs/OpenCPN/patches/musl.patch
+++ b/srcpkgs/OpenCPN/patches/musl.patch
@@ -1,26 +1,16 @@
 --- a/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
 +++ b/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-@@ -20,9 +20,7 @@
+@@ -20,15 +20,14 @@
  #define WIN32_LEAN_AND_MEAN
  #include <winsock2.h>
  #else
--    #ifndef __WXOSX__
--        #include <error.h>
--    #else    
-+    #ifdef __WXOSX__
-         #include <mach/error.h> 
+-#ifndef __WXOSX__
+-#include <error.h>
+-#else
++#ifdef __WXOSX__
+ #include <mach/error.h>
  #endif
  
-@@ -424,4 +422,4 @@
-     }
- }
- 
--#endif // ZEROCONF_DETAIL_HPP
-\ No newline at end of file
-+#endif // ZEROCONF_DETAIL_HPP
---- a/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-@@ -27,6 +27,7 @@
  #include <string.h>
  #include <unistd.h>
  #include <sys/socket.h>
@@ -28,3 +18,10 @@
  #include <netinet/in.h>
  #endif
  
+@@ -385,4 +384,4 @@
+ }  // namespace Detail
+ }  // namespace Zeroconf
+ 
+-#endif  // ZEROCONF_DETAIL_HPP
+\ No newline at end of file
++#endif  // ZEROCONF_DETAIL_HPP
diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..d3b57804fa880 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
-version=5.2.0
-revision=2
+version=5.8.4
+revision=1
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
@@ -10,16 +10,17 @@ configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
  -DOCPN_USE_BUNDLED_LIBS=OFF"
 hostmakedepends="gettext pkg-config"
 makedepends="gtk+3-devel libcurl-devel portaudio-devel tinyxml-devel
- wxWidgets-gtk3-devel $(vopt_if exif 'libexif-devel') glu-devel
- $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel') $(vopt_if lzma 'liblzma-devel')"
+ wxWidgets-gtk3-devel glu-devel glew-devel rapidjson gtest-devel
+ $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel')
+ $(vopt_if exif 'libexif-devel') $(vopt_if lzma 'liblzma-devel')"
 depends="gpsd hicolor-icon-theme OpenCPN-tcdata-${version}_${revision}
  OpenCPN-gshhs-crude"
 short_desc="Concise ChartPlotter/Navigator"
 maintainer="John <me@johnnynator.dev>"
 license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, MIT, WxWindows-exception-3.1, JasPer-2.0, BSD-3-Clause, SGI-B-2.0"
 homepage="https://opencpn.org/"
-distfiles="https://github.com/OpenCPN/OpenCPN/archive/v${version}.tar.gz"
-checksum=f6ec38989bc38f5a7f63234c5e0230adeb73f5626b4e3d3dfa680f0c240badc7
+distfiles="https://github.com/OpenCPN/OpenCPN/archive/Release_${version}.tar.gz"
+checksum=7552726e5afce5eb401e307beedd8f3aa2c66725602fc27ab3ad1845f40b87a0
 
 build_options="lzma libarchive exif crashreport"
 build_options_default="lzma libarchive exif"

From ab1aa96f948def49dc1828e67c351f6e38b50ce4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/43] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..6ae1df0d87a19 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower

From 179d3fe6099c75392962a198760c30cdb754d8a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/43] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..a88c2e4bc7814 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"

From ee361ebfd4492e25409d7635464a4ce2523e26bf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/43] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..2da95d5702ea7 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"

From b6d0d4e0f13e6454d68007a946c9c5424cc60b41 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/43] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/patches/wx-3.2.patch         | 26 ++++++++++++++++
 .../patches/wx-widget-has-basque.patch        | 22 +++++++++++++
 srcpkgs/audacity/patches/wxbitmap.patch       | 31 +++++++++++++++++++
 srcpkgs/audacity/template                     |  5 +--
 4 files changed, 82 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/audacity/patches/wx-3.2.patch
 create mode 100644 srcpkgs/audacity/patches/wx-widget-has-basque.patch
 create mode 100644 srcpkgs/audacity/patches/wxbitmap.patch

diff --git a/srcpkgs/audacity/patches/wx-3.2.patch b/srcpkgs/audacity/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..d42ae09f30f6e
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-3.2.patch
@@ -0,0 +1,26 @@
+Index: audacity-Audacity-2.4.1/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/configure
++++ audacity-Audacity-2.4.1/configure
+@@ -19918,7 +19918,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
+Index: audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/lib-src/lib-widget-extra/configure
++++ audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+@@ -16633,7 +16633,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
diff --git a/srcpkgs/audacity/patches/wx-widget-has-basque.patch b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
new file mode 100644
index 0000000000000..4dd24e79ec8e2
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
@@ -0,0 +1,22 @@
+Index: audacity-Audacity-2.4.1/src/AudacityApp.cpp
+===================================================================
+--- audacity-Audacity-2.4.1.orig/src/AudacityApp.cpp
++++ audacity-Audacity-2.4.1/src/AudacityApp.cpp
+@@ -1102,7 +1102,7 @@ locations of the missing files.").Format
+ #define WL(lang,sublang)
+ #endif
+ 
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+ wxLanguageInfo userLangs[] =
+ {
+    // Bosnian is defined in wxWidgets already
+@@ -1366,7 +1366,7 @@ bool AudacityApp::OnInit()
+    //
+    // TODO:  The whole Language initialization really need to be reworked.
+    //        It's all over the place.
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+    for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++)
+    {
+       wxLocale::AddLanguage(userLangs[i]);
diff --git a/srcpkgs/audacity/patches/wxbitmap.patch b/srcpkgs/audacity/patches/wxbitmap.patch
new file mode 100644
index 0000000000000..af18bd1cb6524
--- /dev/null
+++ b/srcpkgs/audacity/patches/wxbitmap.patch
@@ -0,0 +1,31 @@
+From 55383fccd0c281b4f189d9b07699b21bb802c736 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney@ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH] Call the proper wxBitmap constructor for XPM data
+
+wxBitmap back to at least 3.0.0 did not have a constructor for an XPM
+image that took a size parameter, it would only take the XPM data
+itself.
+
+I don't know how this compiled until now, but it doesn't anymore when
+the size is included and built against wx 3.1.6 in Fedora.
+---
+ src/MixerBoard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+ 
+ Technically this patch is under GPLv3+ because it was contributed after
+ re licensing
+
+diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp
+index 54b5f146cc7..7fe81615474 100644
+--- a/src/MixerBoard.cpp
++++ b/src/MixerBoard.cpp
+@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments()
+    wxMemoryDC dc;
+ 
+    for (const auto &data : table) {
+-      auto bmp = std::make_unique<wxBitmap>(data.bitmap,24);
++      auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+       dc.SelectObject(*bmp);
+       AColor::Bevel(dc, false, bev);
+       mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..6992ffa771b9a 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"
@@ -13,7 +13,8 @@ makedepends="jack-devel wxWidgets-gtk3-devel gtk+3-devel
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Graphical cross-platform audio editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
+# Patches are GPL3+, so bump the license for the whole package
+license="GPL-3.0-or-later"
 homepage="https://www.audacityteam.org"
 distfiles="https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"
 checksum=50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f

From 66c11a8760e90d07a6367bfa44fdacfbef8d0e30 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/43] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65bbbe7540d50 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"

From 0b7316bd743f263ac497130054875e7ef57e3648 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/43] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/patches/000.r11991.patch   |  27 +
 ...0.v20.03-r12008.patch => 000.r12008.patch} |   0
 ...1.v20.03-r12012.patch => 000.r12012.patch} |   0
 srcpkgs/codeblocks/patches/000.r12532.patch   |  13 +
 srcpkgs/codeblocks/patches/000.r12580.patch   | 944 ++++++++++++++++++
 srcpkgs/codeblocks/patches/000.r12707.patch   | 120 +++
 srcpkgs/codeblocks/patches/wx-3.2.patch       |  21 +
 srcpkgs/codeblocks/template                   |   2 +-
 8 files changed, 1126 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codeblocks/patches/000.r11991.patch
 rename srcpkgs/codeblocks/patches/{000.v20.03-r12008.patch => 000.r12008.patch} (100%)
 rename srcpkgs/codeblocks/patches/{001.v20.03-r12012.patch => 000.r12012.patch} (100%)
 create mode 100644 srcpkgs/codeblocks/patches/000.r12532.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12580.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12707.patch
 create mode 100644 srcpkgs/codeblocks/patches/wx-3.2.patch

diff --git a/srcpkgs/codeblocks/patches/000.r11991.patch b/srcpkgs/codeblocks/patches/000.r11991.patch
new file mode 100644
index 0000000000000..0cdb7251fdced
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r11991.patch
@@ -0,0 +1,27 @@
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 11990)
++++ b/src/src/main.cpp	(revision 11991)
+@@ -2680,8 +2680,6 @@
+     else
+     {
+         wxBusyCursor useless;
+-        wxPaintEvent e;
+-        ProcessEvent(e);
+         for (unsigned int i = 0; i < files.GetCount(); ++i)
+           success &= OpenGeneric(files[i]);
+     }
+Index: src/src/watchesdlg.cpp
+===================================================================
+--- a/src/src/watchesdlg.cpp	(revision 11990)
++++ b/src/src/watchesdlg.cpp	(revision 11991)
+@@ -103,8 +103,7 @@
+                                   cb_unused const wxPoint& pos,
+                                   cb_unused const wxSize& sz) const override
+     {
+-        wxPGWindowList const list;
+-        return list;
++        return wxPGWindowList(nullptr, nullptr);
+     }
+     void UpdateControl(cb_unused wxPGProperty* property, cb_unused wxWindow* ctrl) const override {}
+     bool OnEvent(cb_unused wxPropertyGrid* propgrid, cb_unused wxPGProperty* property,
diff --git a/srcpkgs/codeblocks/patches/000.v20.03-r12008.patch b/srcpkgs/codeblocks/patches/000.r12008.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/000.v20.03-r12008.patch
rename to srcpkgs/codeblocks/patches/000.r12008.patch
diff --git a/srcpkgs/codeblocks/patches/001.v20.03-r12012.patch b/srcpkgs/codeblocks/patches/000.r12012.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/001.v20.03-r12012.patch
rename to srcpkgs/codeblocks/patches/000.r12012.patch
diff --git a/srcpkgs/codeblocks/patches/000.r12532.patch b/srcpkgs/codeblocks/patches/000.r12532.patch
new file mode 100644
index 0000000000000..15a2fff28e2e7
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12532.patch
@@ -0,0 +1,13 @@
+Index: src/include/ccmanager.h
+===================================================================
+--- a/src/include/ccmanager.h	(revision 12531)
++++ b/src/include/ccmanager.h	(revision 12532)
+@@ -44,7 +44,7 @@
+  * list or the doxygen popup, the scroll event is instead sent there (and skipped for the editor
+  * window).
+  */
+-class DLLIMPORT CCManager : public Mgr<CCManager>, wxEvtHandler
++class DLLIMPORT CCManager : public Mgr<CCManager>, public wxEvtHandler
+ {
+     public:
+         friend class Mgr<CCManager>;
diff --git a/srcpkgs/codeblocks/patches/000.r12580.patch b/srcpkgs/codeblocks/patches/000.r12580.patch
new file mode 100644
index 0000000000000..7930c5c5677b2
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12580.patch
@@ -0,0 +1,944 @@
+Index: src/src/notebookstyles.h
+===================================================================
+--- a/src/src/notebookstyles.h	(revision 12579)
++++ b/src/src/notebookstyles.h	(revision 12580)
+@@ -8,14 +8,6 @@
+ 
+ #include "cbauibook.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-#endif
+-
+-
+ class wxDC;
+ class wxWindow;
+ class wxRect;
+@@ -53,35 +45,4 @@
+                             const wxSize& required_bmp_size) override;
+ };
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-class NbStyleGTK : public wxAuiDefaultTabArt
+-{
+-public:
+-    NbStyleGTK();
+-
+-    virtual wxAuiTabArt* Clone();
+-    virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+-    virtual void DrawTab(wxDC& dc,
+-                         wxWindow* wnd,
+-                         const wxAuiNotebookPage& page,
+-                         const wxRect& in_rect,
+-                         int close_button_state,
+-                         wxRect* out_tab_rect,
+-                         wxRect* out_button_rect,
+-                         int* x_extent);
+-    void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
+-                    int button_state, int orientation, wxRect* out_rect);
+-    int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
+-                            const wxSize& required_bmp_size);
+-    virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active,
+-                              int close_button_state, int* x_extent);
+-private:
+-    int m_Xthickness;
+-    int m_Ythickness;
+-    int m_TabHBorder;
+-    int m_TabVBorder;
+-    wxBitmap m_ActiveCloseButton;
+-};
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+ #endif // NOTEBOOKSTYLES_H
+Index: src/plugins/compilergcc/compileroptionsdlg.cpp
+===================================================================
+--- a/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12579)
++++ b/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12580)
+@@ -677,13 +677,9 @@
+     wxPGProperty *root = m_FlagsPG->GetRoot();
+     if (root)
+     {
+-        unsigned count = root->GetChildCount();
++        const unsigned count = root->GetChildCount();
+         for (unsigned ii = 0; ii < count; ++ii)
+-#if wxCHECK_VERSION(3, 0, 0)
+             m_FlagsPG->SortChildren(root->Item(ii), wxPG_RECURSE);
+-#else
+-            m_FlagsPG->Sort(root->Item(ii));
+-#endif
+     }
+     m_FlagsPG->Thaw();
+ } // DoFillOptions
+@@ -2118,11 +2114,7 @@
+     CompilerFactory::SetDefaultCompiler(idx);
+     wxString msg;
+     Compiler* compiler = CompilerFactory::GetDefaultCompiler();
+-    #if wxCHECK_VERSION(3, 0, 0)
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().wx_str() : _("[invalid]").wx_str());
+-    #else
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().c_str() : _("[invalid]"));
+-    #endif
++    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName() : _("[invalid]"));
+     cbMessageBox(msg);
+ } // OnSetDefaultCompilerClick
+ 
+Index: src/sdk/templatemanager.cpp
+===================================================================
+--- a/src/sdk/templatemanager.cpp	(revision 12579)
++++ b/src/sdk/templatemanager.cpp	(revision 12580)
+@@ -186,11 +186,7 @@
+             ++count;
+         }
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+     if (count != total_count)
+         cbMessageBox(_("Some files could not be loaded with the template..."), _("Error"), wxICON_ERROR);
+@@ -303,21 +299,13 @@
+     {
+         wxString src = (*it)->file.GetFullPath();
+         wxString dst = templ + (*it)->relativeToCommonTopLevelPath;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.wx_str(), dst.wx_str()));
+-        #else
+-        Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.c_str(), dst.c_str()));
+-        #endif
+         if (!CreateDirRecursively(dst))
+             Manager::Get()->GetLogManager()->DebugLog(_T("Failed creating directory for ") + dst);
+         if (wxCopyFile(src, dst, true))
+             ++count;
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+ 
+     // cbProject doesn't have a GetRelativeToCommonTopLevelPath() function, so we simulate it here
+Index: src/src/associations.cpp
+===================================================================
+--- a/src/src/associations.cpp	(revision 12579)
++++ b/src/src/associations.cpp	(revision 12580)
+@@ -201,11 +201,7 @@
+     if (key.Exists())
+     {
+         wxString s;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         if (key.QueryValue(wxEmptyString, s) && s.StartsWith(_T("CodeBlocks")))
+-        #else
+-        if (key.QueryValue(NULL, s) && s.StartsWith(_T("CodeBlocks")))
+-        #endif
+             key.DeleteSelf();
+     }
+ 
+Index: src/src/dlgabout.cpp
+===================================================================
+--- a/src/src/dlgabout.cpp	(revision 12579)
++++ b/src/src/dlgabout.cpp	(revision 12580)
+@@ -20,9 +20,7 @@
+     #include <wx/string.h>
+     #include <wx/textctrl.h>
+     #include <wx/xrc/xmlres.h>
+-    #if wxCHECK_VERSION(3, 0, 0)
+-        #include <wx/versioninfo.h>
+-    #endif // wxCHECK_VERSION
++    #include <wx/versioninfo.h>
+ 
+     #include "licenses.h"
+     #include "configmanager.h"
+@@ -146,15 +144,11 @@
+     wxTextCtrl *txtLicense = XRCCTRL(*this, "txtLicense", wxTextCtrl);
+     txtLicense->SetValue(LICENSE_GPL);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     const wxVersionInfo scintillaVersion = wxScintilla::GetLibraryVersionInfo();
+     const wxString scintillaStr = wxString::Format(wxT("%d.%d.%d"),
+                                                    scintillaVersion.GetMajor(),
+                                                    scintillaVersion.GetMinor(),
+                                                    scintillaVersion.GetMicro());
+-#else
+-    const wxString scintillaStr = wxSCINTILLA_VERSION;
+-#endif // wxCHECK_VERSION
+ 
+     struct Item
+     {
+@@ -218,9 +212,7 @@
+         information += wxT(": ") + item.value + wxT("\n");
+     }
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     information += wxT("\n") + wxGetLibraryVersionInfo().GetDescription();
+-#endif // wxCHECK_VERSION(3, 0, 0)
+ 
+     wxTextCtrl *txtInformation = XRCCTRL(*this, "txtInformation", wxTextCtrl);
+     txtInformation->SetValue(information);
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 12579)
++++ b/src/src/main.cpp	(revision 12580)
+@@ -2075,11 +2075,7 @@
+         {
+             if (!items[i]->IsCheckable())
+                 continue;
+-#if wxCHECK_VERSION(3, 0, 0)
+             items[i]->Check(items[i]->GetItemLabel().IsSameAs(name));
+-#else
+-            items[i]->Check(items[i]->GetText().IsSameAs(name));
+-#endif
+         }
+ 
+         if (!m_LastLayoutIsTemp)
+@@ -2401,12 +2397,7 @@
+             break;
+ 
+         default: // default style
+-            #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-            target->SetArtProvider(new NbStyleGTK());
+-            #else
+             target->SetArtProvider(new wxAuiDefaultTabArt());
+-            #endif
+-            break;
+     }
+ 
+     target->SetTabCtrlHeight(-1);
+@@ -4801,13 +4792,9 @@
+ 
+     if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor())
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         // Execute the code to update the status bar outside of the paint event for scintilla.
+         // Executing this function directly in the event handler causes redraw problems on Windows.
+         CallAfter(&MainFrame::DoUpdateStatusBar);
+-#else
+-        DoUpdateStatusBar();
+-#endif // defined(__wxMSW__) && wxCHECK_VERSION(3, 0, 0)
+     }
+ 
+     event.Skip();
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12579)
++++ b/src/src/notebookstyles.cpp	(revision 12580)
+@@ -13,14 +13,6 @@
+ #include "prep.h"
+ #include "notebookstyles.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-    #include <wx/renderer.h>
+-#endif
+-
+ #include <wx/dc.h>
+ #include <wx/dcclient.h>
+ 
+@@ -42,15 +34,9 @@
+ {
+     NbStyleVC71* clone = new NbStyleVC71();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -75,11 +61,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 3;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 3;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -166,17 +148,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -186,21 +161,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -227,11 +193,7 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+@@ -246,15 +208,9 @@
+ {
+     NbStyleFF2* clone = new NbStyleFF2();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -272,11 +228,7 @@
+     wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+                                     page.active, close_button_state, x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 2;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 2;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -360,17 +312,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -380,21 +325,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -421,533 +357,9 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+     return s.y + 6;
+ }
+-
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+-namespace
+-{
+-
+-static GtkWidget *g_window = nullptr;
+-static GtkWidget *g_container = nullptr;
+-static GtkWidget *g_notebook = nullptr;
+-static GtkWidget *g_button = nullptr;
+-static int s_CloseIconSize = 16; // default size
+-
+-static void setup_widget_prototype(GtkWidget* widget)
+-{
+-    if (!g_window)
+-    {
+-        g_window = gtk_window_new(GTK_WINDOW_POPUP);
+-        gtk_widget_realize(g_window);
+-    }
+-    if (!g_container)
+-    {
+-        g_container = gtk_fixed_new();
+-        gtk_container_add(GTK_CONTAINER(g_window), g_container);
+-    }
+-
+-    gtk_container_add(GTK_CONTAINER(g_container), widget);
+-    gtk_widget_realize(widget);
+-}
+-
+-static GtkStyle * get_style_button()
+-{
+-    if (!g_button)
+-    {
+-        g_button = gtk_button_new();
+-        setup_widget_prototype(g_button);
+-    }
+-    return gtk_widget_get_style(g_button);
+-}
+-
+-static GtkStyle * get_style_notebook()
+-{
+-    if (!g_notebook)
+-    {
+-        g_notebook = gtk_notebook_new();
+-        setup_widget_prototype(g_notebook);
+-    }
+-    return gtk_widget_get_style(g_notebook);
+-}
+-
+-}
+-
+-NbStyleGTK::NbStyleGTK():
+-    m_Xthickness(0),
+-    m_Ythickness(0),
+-    m_TabHBorder(0),
+-    m_TabVBorder(0)
+-
+-{
+-}
+-
+-wxAuiTabArt* NbStyleGTK::Clone()
+-{
+-    NbStyleGTK* clone = new NbStyleGTK();
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    clone->SetNormalFont(m_normalFont);
+-    clone->SetSelectedFont(m_normalFont);
+-    clone->SetMeasuringFont(m_normalFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_normal_font);
+-    clone->SetMeasuringFont(m_normal_font);
+-#endif
+-
+-    return clone;
+-}
+-
+-void NbStyleGTK::DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect)
+-{
+-    GtkStyle* style_notebook = get_style_notebook();
+-    GtkNotebook* notebook = GTK_NOTEBOOK (g_notebook);
+-
+-    // if one of the parameters have changed, the height needs to be recalculated, so we force it,
+-    if(m_Xthickness  != style_notebook->xthickness ||
+-       m_Ythickness  != style_notebook->ythickness ||
+-       m_TabVBorder != notebook->tab_vborder ||
+-       m_TabHBorder != notebook->tab_hborder)
+-    {
+-        m_Xthickness  = style_notebook->xthickness;
+-        m_Ythickness  = style_notebook->ythickness;
+-        m_TabVBorder = notebook->tab_vborder;
+-        m_TabHBorder = notebook->tab_hborder;
+-        wxAuiNotebook* nb = nullptr;
+-        if(wnd)
+-             nb = (cbAuiNotebook*)wnd->GetParent();
+-        if(nb)
+-            nb->SetTabCtrlHeight(-1);
+-    }
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_style_apply_default_background(style_notebook, pWin, 1, GTK_STATE_NORMAL, nullptr,
+-                                       rect.x, rect.y, rect.width, rect.height);
+-}
+-
+-void ButtonStateAndShadow(int button_state, GtkStateType &state, GtkShadowType &shadow)
+-{
+-
+-    if (button_state & wxAUI_BUTTON_STATE_DISABLED)
+-    {
+-        state = GTK_STATE_INSENSITIVE;
+-        shadow = GTK_SHADOW_ETCHED_IN;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        state = GTK_STATE_PRELIGHT;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        state = GTK_STATE_ACTIVE;
+-        shadow = GTK_SHADOW_IN;
+-    }
+-    else
+-    {
+-        state = GTK_STATE_NORMAL;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-}
+-
+-wxRect DrawCloseButton(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GdkRectangle* clipRect)
+-{
+-    GtkStyle *style_button = get_style_button();
+-    int xthickness = style_button->xthickness;
+-    int ythickness = style_button->ythickness;
+-
+-    wxBitmap bmp;
+-    bmp.SetPixbuf(gtk_widget_render_icon(widget, GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR, "tab"));
+-
+-    if(bmp.GetWidth() != s_CloseIconSize || bmp.GetHeight() != s_CloseIconSize)
+-    {
+-        wxImage img = bmp.ConvertToImage();
+-        img.Rescale(s_CloseIconSize, s_CloseIconSize);
+-        bmp = img;
+-    }
+-
+-    int button_size = s_CloseIconSize + 2 * xthickness;
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x - ythickness;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - button_size - ythickness;
+-
+-    out_rect.y = in_rect.y + (in_rect.height - button_size) / 2;
+-    out_rect.width = button_size;
+-    out_rect.height = button_size;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-    else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_ACTIVE, GTK_SHADOW_IN, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-
+-
+-    dc.DrawBitmap(bmp, out_rect.x + xthickness, out_rect.y + ythickness, true);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
+-                             const wxRect& in_rect, int close_button_state, wxRect* out_tab_rect,
+-                             wxRect* out_button_rect, int* x_extent)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    GtkStyle *style_notebook = get_style_notebook();
+-
+-    wxRect const &window_rect = wnd->GetRect();
+-
+-    int focus_width = 0;
+-
+-    gtk_widget_style_get(g_notebook,
+-                         "focus-line-width", &focus_width,
+-                         NULL);
+-
+-    int tab_pos;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        tab_pos = wxAUI_NB_BOTTOM;
+-    else //if (m_flags & wxAUI_NB_TOP) {}
+-        tab_pos = wxAUI_NB_TOP;
+-
+-    // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+-    // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+-
+-    // figure out the size of the tab
+-    wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+-                                    page.active, close_button_state, x_extent);
+-
+-    wxRect tab_rect = in_rect;
+-    tab_rect.width = tab_size.x;
+-    tab_rect.height = tab_size.y;
+-    tab_rect.y += 2 * m_TabHBorder;
+-
+-    if (page.active)
+-        tab_rect.height += 2 * m_TabHBorder;
+-#if wxCHECK_VERSION(3, 0, 0)
+-    // if no bitmap is set, we need a tiny correction
+-    if (! page.bitmap.IsOk())
+-        tab_rect.height += 1;
+-#endif
+-
+-    int gap_rect_height = 6 * m_TabHBorder;
+-    int gap_rect_x = 1, gap_start = 0, gap_width = 0;
+-    int gap_rect_y = tab_rect.y - gap_rect_height;
+-    int gap_rect_width = window_rect.width;
+-
+-    switch (tab_pos)
+-    {
+-        case wxAUI_NB_TOP:
+-            tab_rect.y -= 2 * m_TabHBorder;
+-            if (!page.active)
+-                tab_rect.y += 2 * m_TabHBorder;
+-            gap_rect_y = tab_rect.y + tab_rect.height - m_TabHBorder / 2;
+-            // fall through
+-        case wxAUI_NB_BOTTOM:
+-            gap_start = tab_rect.x - m_TabVBorder / 2;
+-            gap_width = tab_rect.width;
+-            break;
+-        default:
+-            break;
+-    }
+-    tab_rect.y += m_TabHBorder / 2;
+-    gap_rect_y += m_TabHBorder / 2;
+-
+-    int padding = focus_width + m_TabHBorder;
+-
+-    int clip_width = tab_rect.width;
+-    if (tab_rect.x + tab_rect.width > in_rect.x + in_rect.width)
+-        clip_width = (in_rect.x + in_rect.width) - tab_rect.x;
+-
+-    dc.SetClippingRegion(tab_rect.x, tab_rect.y - m_TabVBorder, clip_width, tab_rect.height + m_TabVBorder);
+-
+-    GdkRectangle area;
+-    area.x = tab_rect.x - m_TabVBorder;
+-    area.y = tab_rect.y - 2 * m_TabHBorder;
+-    area.width = clip_width + m_TabVBorder;
+-    area.height = tab_rect.height + 2 * m_TabHBorder;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (tab_pos == wxAUI_NB_BOTTOM)
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_BOTTOM, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_TOP);
+-    }
+-    else
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_TOP, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_BOTTOM);
+-    }
+-
+-    wxCoord textX = tab_rect.x + padding + m_Xthickness;
+-
+-    int bitmap_offset = 0;
+-    if (page.bitmap.IsOk())
+-    {
+-        bitmap_offset = textX;
+-
+-        // draw bitmap
+-        int bitmapY = tab_rect.y +(tab_rect.height - page.bitmap.GetHeight()) / 2;
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                bitmapY += m_Ythickness / 2;
+-            else
+-                bitmapY -= m_Ythickness / 2;
+-        }
+-        dc.DrawBitmap(page.bitmap,
+-                      bitmap_offset,
+-                      bitmapY,
+-                      true);
+-
+-        textX += page.bitmap.GetWidth() + padding;
+-    }
+-
+-    wxCoord textW, textH, textY;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    dc.SetFont(m_normalFont);
+-#else
+-    dc.SetFont(m_normal_font);
+-#endif
+-    dc.GetTextExtent(page.caption, &textW, &textH);
+-    textY = tab_rect.y + (tab_rect.height - textH) / 2;
+-    if(!page.active)
+-    {
+-        if (tab_pos == wxAUI_NB_TOP)
+-            textY += m_Ythickness / 2;
+-        else
+-            textY -= m_Ythickness / 2;
+-    }
+-
+-    // draw tab text
+-    GdkColor text_colour = page.active ? style_notebook->fg[GTK_STATE_NORMAL] : style_notebook->fg[GTK_STATE_ACTIVE];
+-    dc.SetTextForeground(wxColor(text_colour));
+-    GdkRectangle focus_area;
+-
+-    int padding_focus = padding - focus_width;
+-    focus_area.x = tab_rect.x + padding_focus;
+-    focus_area.y = textY - focus_width;
+-    focus_area.width = tab_rect.width - 2 * padding_focus;
+-    focus_area.height = textH + 2 * focus_width;
+-
+-    if(page.active && (wnd->FindFocus() == wnd) && focus_area.x <= (area.x + area.width))
+-    {
+-        // clipping seems not to work here, so we we have to recalc the focus-area manually
+-        if((focus_area.x + focus_area.width) > (area.x + area.width))
+-            focus_area.width = area.x + area.width - focus_area.x + focus_width - m_TabVBorder;
+-        gtk_paint_focus (style_notebook, pWin,
+-                         GTK_STATE_ACTIVE, NULL, widget, "tab",
+-                         focus_area.x, focus_area.y, focus_area.width, focus_area.height);
+-    }
+-
+-    dc.DrawText(page.caption, textX, textY);
+-
+-    // draw close-button on tab (if enabled)
+-    if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+-    {
+-        wxRect rect(tab_rect.x, tab_rect.y, tab_rect.width - m_Xthickness, tab_rect.height);
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                rect.y += m_Ythickness / 2;
+-            else
+-                rect.y -= m_Ythickness / 2;
+-        }
+-        *out_button_rect = DrawCloseButton(dc, widget, close_button_state, rect, wxRIGHT, &area);
+-    }
+-
+-    tab_rect.width = std::min(tab_rect.width, clip_width);
+-    *out_tab_rect = tab_rect;
+-
+-    dc.DestroyClippingRegion();
+-}
+-
+-wxRect DrawSimpleArrow(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GtkArrowType arrow_type)
+-{
+-    int scroll_arrow_hlength, scroll_arrow_vlength;
+-    gtk_widget_style_get(widget,
+-                         "scroll-arrow-hlength", &scroll_arrow_hlength,
+-                         "scroll-arrow-vlength", &scroll_arrow_vlength,
+-                         NULL);
+-
+-    GtkStateType state;
+-    GtkShadowType shadow;
+-    ButtonStateAndShadow(button_state, state, shadow);
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - scroll_arrow_hlength;
+-    out_rect.y = (in_rect.y + in_rect.height - 3 * get_style_notebook()->ythickness - scroll_arrow_vlength) / 2;
+-    out_rect.width = scroll_arrow_hlength;
+-    out_rect.height = scroll_arrow_vlength;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_paint_arrow (get_style_button(), pWin, state, shadow, nullptr, widget, "notebook",
+-                     arrow_type, TRUE, out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawButton(wxDC& dc, wxWindow* wnd,
+-                            const wxRect& in_rect,
+-                            int bitmap_id,
+-                            int button_state,
+-                            int orientation,
+-                            wxRect* out_rect)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    wxRect rect = in_rect;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        rect.y += 2 * get_style_button()->ythickness;
+-
+-    switch (bitmap_id)
+-    {
+-        case wxAUI_BUTTON_CLOSE:
+-            rect.y -= 2 * get_style_button()->ythickness;
+-            rect = DrawCloseButton(dc, widget, button_state, rect, orientation, NULL);
+-            break;
+-
+-        case wxAUI_BUTTON_LEFT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_LEFT);
+-            break;
+-
+-        case wxAUI_BUTTON_RIGHT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_RIGHT);
+-            break;
+-
+-        case wxAUI_BUTTON_WINDOWLIST:
+-            {
+-                rect.height -= 4 * get_style_button()->ythickness;
+-                rect.width = rect.height;
+-                rect.x = in_rect.x + in_rect.width - rect.width;
+-
+-                if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_CURRENT);
+-                else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_PRESSED);
+-                else
+-                    wxRendererNative::Get().DrawDropArrow(wnd, dc, rect);
+-            }
+-            break;
+-
+-        default:
+-            break;
+-    }
+-
+-    *out_rect = rect;
+-}
+-
+-
+-int NbStyleGTK::GetBestTabCtrlSize(wxWindow* wnd,
+-                                   const wxAuiNotebookPageArray& pages,
+-                                   const wxSize& required_bmp_size)
+-{
+-#if wxCHECK_VERSION(3, 0, 0)
+-    SetMeasuringFont(m_normalFont);
+-    SetSelectedFont(m_normalFont);
+-#else
+-    SetMeasuringFont(m_normal_font);
+-    SetSelectedFont(m_normal_font);
+-#endif
+-    int tab_height = 3 * get_style_notebook()->ythickness + wxAuiDefaultTabArt::GetBestTabCtrlSize(wnd, pages, required_bmp_size);
+-    return tab_height;
+-}
+-
+-wxSize NbStyleGTK::GetTabSize(wxDC& dc,
+-                              wxWindow* wnd,
+-                              const wxString& caption,
+-                              const wxBitmap& bitmap,
+-                              bool active,
+-                              int close_button_state,
+-                              int* x_extent)
+-{
+-    wxSize s = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
+-
+-    int overlap = 0;
+-    gtk_widget_style_get (wnd->GetHandle(),
+-        "focus-line-width", &overlap,
+-        NULL);
+-    *x_extent -= overlap;
+-    return s;
+-}
+-
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+Index: src/src/projectmanagerui.cpp
+===================================================================
+--- a/src/src/projectmanagerui.cpp	(revision 12579)
++++ b/src/src/projectmanagerui.cpp	(revision 12580)
+@@ -1875,11 +1875,7 @@
+ {
+     size_t operator()(const wxString& s) const
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         return std::hash<std::wstring>()(s.ToStdWstring());
+-#else
+-        return std::hash<std::wstring>()(s.wc_str());
+-#endif // wxCHECK_VERSION
+     }
+ };
+ 
diff --git a/srcpkgs/codeblocks/patches/000.r12707.patch b/srcpkgs/codeblocks/patches/000.r12707.patch
new file mode 100644
index 0000000000000..bca974fbe5770
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12707.patch
@@ -0,0 +1,120 @@
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12706)
++++ b/src/src/notebookstyles.cpp	(revision 12707)
+@@ -124,8 +124,16 @@
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -132,6 +140,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -161,13 +170,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
+@@ -285,11 +304,20 @@
+     int text_offset = tab_x + 8;
+ 
+     int bitmap_offset = 0;
++
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -296,6 +324,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -303,7 +332,6 @@
+         text_offset = tab_x + 8;
+     }
+ 
+-
+     // if the caption is empty, measure some temporary text
+     wxString caption = page.caption;
+     if (caption.empty())
+@@ -325,13 +353,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
diff --git a/srcpkgs/codeblocks/patches/wx-3.2.patch b/srcpkgs/codeblocks/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..0400ce6346178
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/wx-3.2.patch
@@ -0,0 +1,21 @@
+Index: codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+===================================================================
+--- codeblocks-20.03.orig/src/sdk/scripting/bindings/sc_wxtypes.cpp
++++ codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+@@ -322,6 +322,7 @@ namespace ScriptBindings
+         typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
+         typedef bool(wxFileName::*WXFN_ISFILEWRITEABLE)()const;
++        typedef bool(wxFileName::*WXFN_NORMALIZE)(int, const wxString&, wxPathFormat);
+ 
+         SqPlus::SQClassDef<wxFileName>("wxFileName").
+                 emptyCtor().
+@@ -354,7 +355,7 @@ namespace ScriptBindings
+                 func(&wxFileName::IsDir, "IsDir").
+                 func(&wxFileName::MakeAbsolute, "MakeAbsolute").
+                 func(&wxFileName::MakeRelativeTo, "MakeRelativeTo").
+-                func(&wxFileName::Normalize, "Normalize").
++                func<WXFN_NORMALIZE>(&wxFileName::Normalize, "Normalize").
+                 func(&wxFileName::PrependDir, "PrependDir").
+                 func(&wxFileName::RemoveDir, "RemoveDir").
+                 func(&wxFileName::RemoveLastDir, "RemoveLastDir").
diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..46466d990bed1 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr

From f39b37be5ac3c4b02e896e024e5036341fcb12f8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/43] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   2 +-
 2 files changed, 132 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..140fe20d0d26b 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From a247b0f0f787d936ddc1e9e2212ddf0491870d74 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/43] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..dff1f22362cbd 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From d08b4aa9a5a0982c1b73890ea29d983902e6dbf8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/43] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From 8441a0cc5b786553192a5659814b98716df7fda4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/43] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..21a5b44004c55 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"

From c73ab28d7050d6a0a6176ae571237a85cf675503 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/43] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..c4d9dcb2a894c 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"
@@ -21,6 +21,8 @@ fi
 
 alternatives="gnuplot:gnuplot:/usr/bin/gnuplot-x11"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	# fix fonts location
 	sed -i \

From 07ced39bccf6a7df490b3a9174d9b0ac27208234 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/43] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..1fd406b6a2f55 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4

From e6e0c482d969c5e7382b4ccc3f207cb22bb28ac3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/43] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..73720781c7191 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"

From 224700e6a38f5dbe2b9177acd49f81d3b87d3a3c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/43] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..1b82376b3fbda 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"

From ed49d05e4449d750a926e54c7d04315d4a092e5b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/43] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..77bbea28ff696 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From 8473c85a5f002b946b7ae86288ad50c716948dc2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 29/43] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..f83d1fe5cb1f5 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files

From 7a38dfc5a770a481b8b86e65716e5ce2a889f578 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/43] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..09ad192af236d 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From 081c4a9c0b3a5571c7f636945593f966a5c542e8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/43] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..72747cbb0a024 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"

From 8d4f0fa150b7f9f893e44dc1bdf54019e4f28d14 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/43] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..2c4aabc217615 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"

From a937bc01a2b9f02a5d2c5af067736d714ec501e0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/43] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..f02d13fd6bafb 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"

From ab8439dcd70daf501d9b255f15a87387ef000bc6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/43] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..486e4609a19d6 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"

From b4ad22a9a2a11e2bbf5c516d938ede55d6a18a49 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/43] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5f116a336b61e 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
@@ -21,6 +21,8 @@ case "${XBPS_TARGET_MACHINE}" in
 	i686*) depends+=" grub-i386-efi"; makedepends+=" grub-i386-efi" ;;
 esac
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_configure() {
 	sed -i Makefile src/Makefile \
 		-e"s;^\(CXXFLAGS *=\)\(.*\);\1 ${CXXFLAGS} \2;"

From 251a1f28d457963764ac6d16966687ac83293d1a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 36/43] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..749e481dd8fe3 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"
@@ -15,6 +15,8 @@ distfiles="https://github.com/wxMaxima-developers/wxmaxima/archive/Version-${ver
 checksum=d47ca52e40491ea3c4ea7bea126f4da4d0b535702126abef0c172f69ba58e17d
 nocross="clisp is nocross"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	# remove unpackaged files
 	rm -f ${DESTDIR}/usr/share/wxMaxima/{COPYING,README}

From f3432606d7776112b70ead9cda71a76c95f7cbb7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/43] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..66b8156e431ec 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"
@@ -13,6 +13,8 @@ homepage="https://github.com/rzvncj/xCHM"
 distfiles="https://github.com/rzvncj/xCHM/releases/download/${version}/xchm-${version}.tar.gz"
 checksum=b07971ddb02992da462060fb638c051318f389aef822485646aa7fbe245a0d93
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	autoreconf -fi
 }

From 16c40326ceb9d1b702c04b6d0b05de5a1633877b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 38/43] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From 394e488238615d85b967525f6dccc145351d82de Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 39/43] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From 83b620432fb37f5fe82fd06a61ea1d0008d2333f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 40/43] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..bfb7120acd280 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,7 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi

From 8d8390d58d250d0920b537b4092d90da72d23691 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 41/43] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From 92ba5c3a9c0844332c4deee9f1c4640fd786d758 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 42/43] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From 343c9608cd0f9ef520bca3f5bbc4273f597e4687 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 43/43] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWidgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (22 preceding siblings ...)
  2023-09-25 20:35 ` ahesford
@ 2023-09-25 20:49 ` ahesford
  2023-09-25 23:53 ` ahesford
                   ` (4 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 20:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1000 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWidgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 145631 bytes --]

From 2eae1755a439e57b81b5d96287b85a4c298343a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/43] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From 01b8c33651ddc6b6805af867821ee923806f4695 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/43] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 4ad4ee431144f1c24ebfdfdb4cfafc4e17622546 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 03/43] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From c6d1e5724f7e680fd68fdf7b87cbfc84a4dc9f09 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 04/43] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 9c2060bc45a67..da7f2739dc5ed 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 70842783025638a63a894126c5aa5a61c370babc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 05/43] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++-----
 .../wxWidgets-gtk3/files/musl-locale-l.patch  | 34 +++++++++++
 .../patches/invalid-header-syntax.patch       | 16 +++++
 .../wxWidgets-gtk3/patches/largefile.patch    | 16 +++++
 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch | 45 ++++++++++++++
 .../patches/nonfatal-abi-check.patch          | 21 +++----
 srcpkgs/wxWidgets-gtk3/template               | 60 +++++++++++++------
 srcpkgs/wxWidgets-gtk3/update                 |  4 +-
 8 files changed, 180 insertions(+), 48 deletions(-)
 create mode 100644 srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/largefile.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch

diff --git a/common/shlibs b/common/shlibs
index da7f2739dc5ed..85ead20844ecc 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
new file mode 100644
index 0000000000000..dc5f1df6a2502
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
@@ -0,0 +1,34 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/musl-locale-l.patch
+
+these macro'd away functions don't exist in musl (yet)
+diff --git a/include/wx/xlocale.h b/include/wx/xlocale.h
+index c433d25..794cf0b 100644
+--- a/include/wx/xlocale.h
++++ b/include/wx/xlocale.h
+@@ -33,6 +33,26 @@
+ #include "wx/crt.h"     // Includes wx/chartype.h, wx/wxcrt.h(wx/string.h)
+ #include "wx/intl.h"    // wxLanguage
+ 
++#ifndef strtol_l
++#define strtol_l(s, p, base, l) strtol(s, p, base)
++#endif
++
++#ifndef strtoul_l
++#define strtoul_l(s, p, base, l) strtoul(s, p, base)
++#endif
++
++#ifndef wcstod_l
++#define wcstod_l(s, p, l) wcstod(s, p)
++#endif
++
++#ifndef wcstol_l
++#define wcstol_l(s, p, base, l) wcstol(s, p, base)
++#endif
++
++#ifndef wcstoul_l
++#define wcstoul_l(s, p, base, l) wcstoul(s, p, base)
++#endif
++
+ // The platform-specific locale type
+ // If wxXLocale_t is not defined, then only "C" locale support is provided
+ #ifdef wxHAS_XLOCALE_SUPPORT
diff --git a/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
new file mode 100644
index 0000000000000..fd4fc4ceca1aa
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/invalid-header-syntax.patch
+
+diff --git a/include/wx/matrix.h b/include/wx/matrix.h
+index 3b3225d..e77fb1a 100644
+--- a/include/wx/matrix.h
++++ b/include/wx/matrix.h
+@@ -37,8 +37,8 @@
+ //  at a certain coordinate and angle within another parent picture.
+ //  At all times m_isIdentity is set if the matrix itself is an Identity matrix.
+ //  It is used where possible to optimize calculations.
+-class
+ wxDEPRECATED_EXPORT_CORE("use wxAffineMatrix2D instead")
++class
+ wxTransformMatrix: public wxObject
+ {
+ public:
diff --git a/srcpkgs/wxWidgets-gtk3/patches/largefile.patch b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
new file mode 100644
index 0000000000000..9e5a81b31b94d
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/largefile.patch
+
+nothing sets this to 0, but for some reason it gets undef'd
+diff --git a/build/cmake/setup.h.in b/build/cmake/setup.h.in
+index e4c9e83..e9ef8dc 100644
+--- a/build/cmake/setup.h.in
++++ b/build/cmake/setup.h.in
+@@ -867,7 +867,7 @@
+ /*
+  * Define if large (64 bit file offsets) files are supported.
+  */
+-#cmakedefine HAVE_LARGEFILE_SUPPORT 1
++#define HAVE_LARGEFILE_SUPPORT 1
+ 
+ /*
+  * Use OpenGL
diff --git a/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
new file mode 100644
index 0000000000000..1303dd6074004
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
@@ -0,0 +1,45 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/no-glvnd.patch
+
+find_package(OpenGL) only works with glvnd and hardcodes glvnd paths, even
+though all these components are easily found with pkgconfig..
+diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
+index ef28c99..b4df830 100644
+--- a/build/cmake/init.cmake
++++ b/build/cmake/init.cmake
+@@ -408,17 +408,26 @@ if(wxUSE_GUI)
+             set(OPENGL_FOUND TRUE)
+             set(OPENGL_LIBRARIES "-framework OpenGLES" "-framework QuartzCore" "-framework GLKit")
+         else()
+-            find_package(OpenGL)
+-            if(OPENGL_FOUND)
+-                foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
+-                    if(TARGET ${gltarget})
+-                        set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
+-                    endif()
+-                endforeach()
+-            endif()
+-            if(WXGTK3 AND OpenGL_EGL_FOUND AND wxUSE_GLCANVAS_EGL)
++            # find_package(OpenGL)
++            # if(OPENGL_FOUND)
++            #     foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
++            #         if(TARGET ${gltarget})
++            #             set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
++            #         endif()
++            #     endforeach()
++            # endif()
++            find_package(PkgConfig REQUIRED)
++            pkg_check_modules(GLU REQUIRED glu IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GLU ALIAS PkgConfig::GLU)
++            pkg_check_modules(GL REQUIRED gl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GL ALIAS PkgConfig::GL)
++            pkg_check_modules(EGL REQUIRED egl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::EGL ALIAS PkgConfig::EGL)
++            set(OPENGL_FOUND TRUE)
++            set(OpenGL_EGL_FOUND TRUE)
++            if(WXGTK3 AND wxUSE_GLCANVAS_EGL)
+                 if(TARGET OpenGL::EGL)
+-                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES})
++                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES} GL)
+                 endif()
+                 set(OPENGL_INCLUDE_DIR ${OPENGL_INCLUDE_DIR} ${OPENGL_EGL_INCLUDE_DIRS})
+                 find_package(WAYLANDEGL)
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..1edbf88627544 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,37 +1,54 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+version=3.2.2.1
+revision=1
+build_style=cmake
+cmake_builddir="build-gtk3"
+configure_args="-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_OPENGL=ON -DwxUSE_LIBMSPACK=ON
+ -DwxUSE_GTKPRINT=ON -DwxUSE_UNICODE=ON -DwxUSE_MEDIACTRL=ON
+ -DwxUSE_PRIVATE_FONTS=ON -DwxUSE_REGEX=sys -DwxUSE_ZLIB=sys -DwxUSE_EXPAT=sys
+ -DwxUSE_LIBJPEG=sys -DwxUSE_LIBPNG=sys -DwxUSE_LIBTIFF=sys -DwxUSE_LIBLZMA=sys
+ -DwxUSE_LIBNOTIFY=sys -DwxUSE_LIBSDL=sys"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
+
+CXXFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+
+post_patch() {
+	if [ "${XBPS_TARGET_LIBC}" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/musl-locale-l.patch"
+	fi
+}
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
-	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
-	#   - mark this build as native build
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	if [ "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
+		# Remove $XBPS_CROSS_TRIPLET from cmake helper...
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			${DESTDIR}/usr/lib/cmake/wxWidgets/wxWidgetsTargets.cmake
 
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
+		# ...and the output of the wx-config utility
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			-e "s@/builddir/[^/]\+/wrappers/${XBPS_CROSS_TRIPLET}-@@" \
 			${DESTDIR}/usr/lib/wx/config/${_config}
 	fi
+
+	# Remove generic wx-config, link to toolkit-specific version
 	rm -f ${DESTDIR}/usr/bin/wx-config
 	ln -sf ../lib/wx/config/${_config} ${DESTDIR}/usr/bin/wx-config-gtk3
+
 	#   - ignore --host option; breaks configure scripts when
 	#     cross compiling (isn’t necessary in our case anyway)
 	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
@@ -39,13 +56,16 @@ post_install() {
 		-e '/--\*=\*)/i --host=\*) continue;;' \
 		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
 		$DESTDIR/usr/lib/wx/config/${_config}
+
+	# Make sure to install the autotools macro, CMake does not
+	vmkdir usr/share/aclocal
+	vinstall wxwin.m4 644 usr/share/aclocal
 }
 
 wxWidgets-common_package() {
 	short_desc+=" - common files"
 	pkg_install() {
 		vmove "usr/lib/libwx_baseu*.so.*"
-		vmove usr/share
 		vlicense docs/licendoc.txt
 		vlicense docs/licence.txt
 	}
@@ -58,6 +78,7 @@ wxWidgets-common-devel_package() {
 		vmove "usr/bin/wxrc*"
 		vmove "usr/lib/libwx_baseu*.so"
 		vmove usr/include
+		vmove usr/share/aclocal
 	}
 }
 
@@ -68,5 +89,6 @@ wxWidgets-gtk3-devel_package() {
 		vmove usr/bin
 		vmove "usr/lib/*.so"
 		vmove usr/lib/wx
+		vmove usr/lib/cmake
 	}
 }
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 657cf1b6fc0ab9759b2e334b991a7991176e78d3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 06/43] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/wxPython/files/no-stacktrace.patch    | 15 +++
 srcpkgs/{wxPython4 => wxPython}/template      | 32 ++++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 9 files changed, 36 insertions(+), 212 deletions(-)
 create mode 100644 srcpkgs/wxPython/files/no-stacktrace.patch
 rename srcpkgs/{wxPython4 => wxPython}/template (68%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython/files/no-stacktrace.patch b/srcpkgs/wxPython/files/no-stacktrace.patch
new file mode 100644
index 0000000000000..e64548bea8c17
--- /dev/null
+++ b/srcpkgs/wxPython/files/no-stacktrace.patch
@@ -0,0 +1,15 @@
+Taken from Alpine:
+
+https://git.alpinelinux.org/aports/plain/community/py3-wxpython/no-stacktrace.patch
+
+--- a/sip/cpp/sip_corewxAppTraits.cpp
++++ b/sip/cpp/sip_corewxAppTraits.cpp
+@@ -471,7 +471,7 @@
+             PyErr_Clear();
+ 
+             Py_BEGIN_ALLOW_THREADS
+-            sipRes = new  ::wxString((sipSelfWasArg ? sipCpp-> ::wxAppTraits::GetAssertStackTrace() : sipCpp->GetAssertStackTrace()));
++            sipRes = new  ::wxString("");
+             Py_END_ALLOW_THREADS
+ 
+             if (PyErr_Occurred())
diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 68%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..815ee0382cb59 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,23 +9,25 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
+post_patch() {
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/no-stacktrace.patch"
+	fi
 }
 
 pre_build() {
@@ -48,3 +50,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From 07ace49a0ed075f6392a5aed2e4f8c8893657597 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 25 Sep 2023 13:46:55 -0400
Subject: [PATCH 07/43] dispcalGUI: update to 3.9.11, replace with python3 fork

---
 srcpkgs/DisplayCAL/template            | 25 +++++++++++++++++++
 srcpkgs/dispcalGUI                     |  1 +
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 5 files changed, 26 insertions(+), 59 deletions(-)
 create mode 100644 srcpkgs/DisplayCAL/template
 create mode 120000 srcpkgs/dispcalGUI
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/DisplayCAL/template b/srcpkgs/DisplayCAL/template
new file mode 100644
index 0000000000000..962d66e29bf68
--- /dev/null
+++ b/srcpkgs/DisplayCAL/template
@@ -0,0 +1,25 @@
+# Template file for 'DisplayCAL'
+pkgname=DisplayCAL
+version=3.9.11
+revision=1
+build_style=python3-module
+hostmakedepends="python3"
+makedepends="python3-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
+depends="python3-dbus python3-numpy wxPython argyllcms"
+short_desc="Display Calibration and Characterization"
+maintainer="lemmi <lemmi@nerd2nerd.org>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/eoyilmaz/displaycal-py3"
+distfiles="https://github.com/eoyilmaz/displaycal-py3/archive/refs/tags/${version}.tar.gz"
+checksum=7769d19551c228d797fd98cb2469730cee84ff27bd0bf5d0463e191753921a5e
+
+pre_configure() {
+	vsed -i misc/displaycal-vrml-to-x3d-converter.desktop \
+		-e 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|'
+}
+
+dispcalGUI_package() {
+	build_style=meta
+	short_desc+=" (transitional dummy package)"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/dispcalGUI b/srcpkgs/dispcalGUI
new file mode 120000
index 0000000000000..7b2ae7fe8eb1e
--- /dev/null
+++ b/srcpkgs/dispcalGUI
@@ -0,0 +1 @@
+DisplayCAL
\ No newline at end of file
diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"

From 0522896a35ea149aee51e41d805f89fd6167051e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/43] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From d4a7d7b2f26370e51443b7bf120ccb3498af8ef5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/43] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..d80e63f027e32 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"

From f4b1b38c0ccba972359c7f7b6061aafe6a6d2490 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/43] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..92d0d3b9090fd 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)

From 7aa27dbf994ca06379bed996032d91380bd01834 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/43] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..219ac3d66adef 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"

From b1ccefc1b8944ae1313d0c0ebb0e7e24f83519d6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/43] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..f13d5e40a04c8 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="

From ff63e73dfc22f340b119c5f03a2ae2971c2d929d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/43] OpenCPN: update to 5.8.4.

---
 .../OpenCPN/patches/actually-set-arch.patch   | 28 ------------------
 srcpkgs/OpenCPN/patches/musl.patch            | 29 +++++++++----------
 srcpkgs/OpenCPN/template                      | 13 +++++----
 3 files changed, 20 insertions(+), 50 deletions(-)
 delete mode 100644 srcpkgs/OpenCPN/patches/actually-set-arch.patch

diff --git a/srcpkgs/OpenCPN/patches/actually-set-arch.patch b/srcpkgs/OpenCPN/patches/actually-set-arch.patch
deleted file mode 100644
index d152c40928867..0000000000000
--- a/srcpkgs/OpenCPN/patches/actually-set-arch.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-+++ b/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-@@ -14,6 +14,25 @@
-     # default
-     set (ARCH "i386")
-     set (LIB_INSTALL_DIR "lib")
-+    IF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "aarch64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "armhf")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc*" OR CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "ppc64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "powerpc")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "x86_64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "i386")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-     if (EXISTS /etc/debian_version)
-       set (PACKAGE_FORMAT "DEB")
-       set (PACKAGE_RECS "xcalib,xdg-utils")
diff --git a/srcpkgs/OpenCPN/patches/musl.patch b/srcpkgs/OpenCPN/patches/musl.patch
index 75923e019b2bc..f9877f9a0e651 100644
--- a/srcpkgs/OpenCPN/patches/musl.patch
+++ b/srcpkgs/OpenCPN/patches/musl.patch
@@ -1,26 +1,16 @@
 --- a/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
 +++ b/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-@@ -20,9 +20,7 @@
+@@ -20,15 +20,14 @@
  #define WIN32_LEAN_AND_MEAN
  #include <winsock2.h>
  #else
--    #ifndef __WXOSX__
--        #include <error.h>
--    #else    
-+    #ifdef __WXOSX__
-         #include <mach/error.h> 
+-#ifndef __WXOSX__
+-#include <error.h>
+-#else
++#ifdef __WXOSX__
+ #include <mach/error.h>
  #endif
  
-@@ -424,4 +422,4 @@
-     }
- }
- 
--#endif // ZEROCONF_DETAIL_HPP
-\ No newline at end of file
-+#endif // ZEROCONF_DETAIL_HPP
---- a/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-@@ -27,6 +27,7 @@
  #include <string.h>
  #include <unistd.h>
  #include <sys/socket.h>
@@ -28,3 +18,10 @@
  #include <netinet/in.h>
  #endif
  
+@@ -385,4 +384,4 @@
+ }  // namespace Detail
+ }  // namespace Zeroconf
+ 
+-#endif  // ZEROCONF_DETAIL_HPP
+\ No newline at end of file
++#endif  // ZEROCONF_DETAIL_HPP
diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..d3b57804fa880 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
-version=5.2.0
-revision=2
+version=5.8.4
+revision=1
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
@@ -10,16 +10,17 @@ configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
  -DOCPN_USE_BUNDLED_LIBS=OFF"
 hostmakedepends="gettext pkg-config"
 makedepends="gtk+3-devel libcurl-devel portaudio-devel tinyxml-devel
- wxWidgets-gtk3-devel $(vopt_if exif 'libexif-devel') glu-devel
- $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel') $(vopt_if lzma 'liblzma-devel')"
+ wxWidgets-gtk3-devel glu-devel glew-devel rapidjson gtest-devel
+ $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel')
+ $(vopt_if exif 'libexif-devel') $(vopt_if lzma 'liblzma-devel')"
 depends="gpsd hicolor-icon-theme OpenCPN-tcdata-${version}_${revision}
  OpenCPN-gshhs-crude"
 short_desc="Concise ChartPlotter/Navigator"
 maintainer="John <me@johnnynator.dev>"
 license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, MIT, WxWindows-exception-3.1, JasPer-2.0, BSD-3-Clause, SGI-B-2.0"
 homepage="https://opencpn.org/"
-distfiles="https://github.com/OpenCPN/OpenCPN/archive/v${version}.tar.gz"
-checksum=f6ec38989bc38f5a7f63234c5e0230adeb73f5626b4e3d3dfa680f0c240badc7
+distfiles="https://github.com/OpenCPN/OpenCPN/archive/Release_${version}.tar.gz"
+checksum=7552726e5afce5eb401e307beedd8f3aa2c66725602fc27ab3ad1845f40b87a0
 
 build_options="lzma libarchive exif crashreport"
 build_options_default="lzma libarchive exif"

From ab1aa96f948def49dc1828e67c351f6e38b50ce4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/43] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..6ae1df0d87a19 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower

From 179d3fe6099c75392962a198760c30cdb754d8a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/43] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..a88c2e4bc7814 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"

From ee361ebfd4492e25409d7635464a4ce2523e26bf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/43] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..2da95d5702ea7 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"

From b6d0d4e0f13e6454d68007a946c9c5424cc60b41 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/43] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/patches/wx-3.2.patch         | 26 ++++++++++++++++
 .../patches/wx-widget-has-basque.patch        | 22 +++++++++++++
 srcpkgs/audacity/patches/wxbitmap.patch       | 31 +++++++++++++++++++
 srcpkgs/audacity/template                     |  5 +--
 4 files changed, 82 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/audacity/patches/wx-3.2.patch
 create mode 100644 srcpkgs/audacity/patches/wx-widget-has-basque.patch
 create mode 100644 srcpkgs/audacity/patches/wxbitmap.patch

diff --git a/srcpkgs/audacity/patches/wx-3.2.patch b/srcpkgs/audacity/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..d42ae09f30f6e
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-3.2.patch
@@ -0,0 +1,26 @@
+Index: audacity-Audacity-2.4.1/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/configure
++++ audacity-Audacity-2.4.1/configure
+@@ -19918,7 +19918,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
+Index: audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/lib-src/lib-widget-extra/configure
++++ audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+@@ -16633,7 +16633,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
diff --git a/srcpkgs/audacity/patches/wx-widget-has-basque.patch b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
new file mode 100644
index 0000000000000..4dd24e79ec8e2
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
@@ -0,0 +1,22 @@
+Index: audacity-Audacity-2.4.1/src/AudacityApp.cpp
+===================================================================
+--- audacity-Audacity-2.4.1.orig/src/AudacityApp.cpp
++++ audacity-Audacity-2.4.1/src/AudacityApp.cpp
+@@ -1102,7 +1102,7 @@ locations of the missing files.").Format
+ #define WL(lang,sublang)
+ #endif
+ 
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+ wxLanguageInfo userLangs[] =
+ {
+    // Bosnian is defined in wxWidgets already
+@@ -1366,7 +1366,7 @@ bool AudacityApp::OnInit()
+    //
+    // TODO:  The whole Language initialization really need to be reworked.
+    //        It's all over the place.
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+    for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++)
+    {
+       wxLocale::AddLanguage(userLangs[i]);
diff --git a/srcpkgs/audacity/patches/wxbitmap.patch b/srcpkgs/audacity/patches/wxbitmap.patch
new file mode 100644
index 0000000000000..af18bd1cb6524
--- /dev/null
+++ b/srcpkgs/audacity/patches/wxbitmap.patch
@@ -0,0 +1,31 @@
+From 55383fccd0c281b4f189d9b07699b21bb802c736 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney@ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH] Call the proper wxBitmap constructor for XPM data
+
+wxBitmap back to at least 3.0.0 did not have a constructor for an XPM
+image that took a size parameter, it would only take the XPM data
+itself.
+
+I don't know how this compiled until now, but it doesn't anymore when
+the size is included and built against wx 3.1.6 in Fedora.
+---
+ src/MixerBoard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+ 
+ Technically this patch is under GPLv3+ because it was contributed after
+ re licensing
+
+diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp
+index 54b5f146cc7..7fe81615474 100644
+--- a/src/MixerBoard.cpp
++++ b/src/MixerBoard.cpp
+@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments()
+    wxMemoryDC dc;
+ 
+    for (const auto &data : table) {
+-      auto bmp = std::make_unique<wxBitmap>(data.bitmap,24);
++      auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+       dc.SelectObject(*bmp);
+       AColor::Bevel(dc, false, bev);
+       mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..6992ffa771b9a 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"
@@ -13,7 +13,8 @@ makedepends="jack-devel wxWidgets-gtk3-devel gtk+3-devel
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Graphical cross-platform audio editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
+# Patches are GPL3+, so bump the license for the whole package
+license="GPL-3.0-or-later"
 homepage="https://www.audacityteam.org"
 distfiles="https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"
 checksum=50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f

From 66c11a8760e90d07a6367bfa44fdacfbef8d0e30 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/43] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65bbbe7540d50 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"

From 0b7316bd743f263ac497130054875e7ef57e3648 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/43] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/patches/000.r11991.patch   |  27 +
 ...0.v20.03-r12008.patch => 000.r12008.patch} |   0
 ...1.v20.03-r12012.patch => 000.r12012.patch} |   0
 srcpkgs/codeblocks/patches/000.r12532.patch   |  13 +
 srcpkgs/codeblocks/patches/000.r12580.patch   | 944 ++++++++++++++++++
 srcpkgs/codeblocks/patches/000.r12707.patch   | 120 +++
 srcpkgs/codeblocks/patches/wx-3.2.patch       |  21 +
 srcpkgs/codeblocks/template                   |   2 +-
 8 files changed, 1126 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codeblocks/patches/000.r11991.patch
 rename srcpkgs/codeblocks/patches/{000.v20.03-r12008.patch => 000.r12008.patch} (100%)
 rename srcpkgs/codeblocks/patches/{001.v20.03-r12012.patch => 000.r12012.patch} (100%)
 create mode 100644 srcpkgs/codeblocks/patches/000.r12532.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12580.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12707.patch
 create mode 100644 srcpkgs/codeblocks/patches/wx-3.2.patch

diff --git a/srcpkgs/codeblocks/patches/000.r11991.patch b/srcpkgs/codeblocks/patches/000.r11991.patch
new file mode 100644
index 0000000000000..0cdb7251fdced
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r11991.patch
@@ -0,0 +1,27 @@
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 11990)
++++ b/src/src/main.cpp	(revision 11991)
+@@ -2680,8 +2680,6 @@
+     else
+     {
+         wxBusyCursor useless;
+-        wxPaintEvent e;
+-        ProcessEvent(e);
+         for (unsigned int i = 0; i < files.GetCount(); ++i)
+           success &= OpenGeneric(files[i]);
+     }
+Index: src/src/watchesdlg.cpp
+===================================================================
+--- a/src/src/watchesdlg.cpp	(revision 11990)
++++ b/src/src/watchesdlg.cpp	(revision 11991)
+@@ -103,8 +103,7 @@
+                                   cb_unused const wxPoint& pos,
+                                   cb_unused const wxSize& sz) const override
+     {
+-        wxPGWindowList const list;
+-        return list;
++        return wxPGWindowList(nullptr, nullptr);
+     }
+     void UpdateControl(cb_unused wxPGProperty* property, cb_unused wxWindow* ctrl) const override {}
+     bool OnEvent(cb_unused wxPropertyGrid* propgrid, cb_unused wxPGProperty* property,
diff --git a/srcpkgs/codeblocks/patches/000.v20.03-r12008.patch b/srcpkgs/codeblocks/patches/000.r12008.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/000.v20.03-r12008.patch
rename to srcpkgs/codeblocks/patches/000.r12008.patch
diff --git a/srcpkgs/codeblocks/patches/001.v20.03-r12012.patch b/srcpkgs/codeblocks/patches/000.r12012.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/001.v20.03-r12012.patch
rename to srcpkgs/codeblocks/patches/000.r12012.patch
diff --git a/srcpkgs/codeblocks/patches/000.r12532.patch b/srcpkgs/codeblocks/patches/000.r12532.patch
new file mode 100644
index 0000000000000..15a2fff28e2e7
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12532.patch
@@ -0,0 +1,13 @@
+Index: src/include/ccmanager.h
+===================================================================
+--- a/src/include/ccmanager.h	(revision 12531)
++++ b/src/include/ccmanager.h	(revision 12532)
+@@ -44,7 +44,7 @@
+  * list or the doxygen popup, the scroll event is instead sent there (and skipped for the editor
+  * window).
+  */
+-class DLLIMPORT CCManager : public Mgr<CCManager>, wxEvtHandler
++class DLLIMPORT CCManager : public Mgr<CCManager>, public wxEvtHandler
+ {
+     public:
+         friend class Mgr<CCManager>;
diff --git a/srcpkgs/codeblocks/patches/000.r12580.patch b/srcpkgs/codeblocks/patches/000.r12580.patch
new file mode 100644
index 0000000000000..7930c5c5677b2
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12580.patch
@@ -0,0 +1,944 @@
+Index: src/src/notebookstyles.h
+===================================================================
+--- a/src/src/notebookstyles.h	(revision 12579)
++++ b/src/src/notebookstyles.h	(revision 12580)
+@@ -8,14 +8,6 @@
+ 
+ #include "cbauibook.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-#endif
+-
+-
+ class wxDC;
+ class wxWindow;
+ class wxRect;
+@@ -53,35 +45,4 @@
+                             const wxSize& required_bmp_size) override;
+ };
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-class NbStyleGTK : public wxAuiDefaultTabArt
+-{
+-public:
+-    NbStyleGTK();
+-
+-    virtual wxAuiTabArt* Clone();
+-    virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+-    virtual void DrawTab(wxDC& dc,
+-                         wxWindow* wnd,
+-                         const wxAuiNotebookPage& page,
+-                         const wxRect& in_rect,
+-                         int close_button_state,
+-                         wxRect* out_tab_rect,
+-                         wxRect* out_button_rect,
+-                         int* x_extent);
+-    void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
+-                    int button_state, int orientation, wxRect* out_rect);
+-    int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
+-                            const wxSize& required_bmp_size);
+-    virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active,
+-                              int close_button_state, int* x_extent);
+-private:
+-    int m_Xthickness;
+-    int m_Ythickness;
+-    int m_TabHBorder;
+-    int m_TabVBorder;
+-    wxBitmap m_ActiveCloseButton;
+-};
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+ #endif // NOTEBOOKSTYLES_H
+Index: src/plugins/compilergcc/compileroptionsdlg.cpp
+===================================================================
+--- a/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12579)
++++ b/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12580)
+@@ -677,13 +677,9 @@
+     wxPGProperty *root = m_FlagsPG->GetRoot();
+     if (root)
+     {
+-        unsigned count = root->GetChildCount();
++        const unsigned count = root->GetChildCount();
+         for (unsigned ii = 0; ii < count; ++ii)
+-#if wxCHECK_VERSION(3, 0, 0)
+             m_FlagsPG->SortChildren(root->Item(ii), wxPG_RECURSE);
+-#else
+-            m_FlagsPG->Sort(root->Item(ii));
+-#endif
+     }
+     m_FlagsPG->Thaw();
+ } // DoFillOptions
+@@ -2118,11 +2114,7 @@
+     CompilerFactory::SetDefaultCompiler(idx);
+     wxString msg;
+     Compiler* compiler = CompilerFactory::GetDefaultCompiler();
+-    #if wxCHECK_VERSION(3, 0, 0)
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().wx_str() : _("[invalid]").wx_str());
+-    #else
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().c_str() : _("[invalid]"));
+-    #endif
++    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName() : _("[invalid]"));
+     cbMessageBox(msg);
+ } // OnSetDefaultCompilerClick
+ 
+Index: src/sdk/templatemanager.cpp
+===================================================================
+--- a/src/sdk/templatemanager.cpp	(revision 12579)
++++ b/src/sdk/templatemanager.cpp	(revision 12580)
+@@ -186,11 +186,7 @@
+             ++count;
+         }
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+     if (count != total_count)
+         cbMessageBox(_("Some files could not be loaded with the template..."), _("Error"), wxICON_ERROR);
+@@ -303,21 +299,13 @@
+     {
+         wxString src = (*it)->file.GetFullPath();
+         wxString dst = templ + (*it)->relativeToCommonTopLevelPath;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.wx_str(), dst.wx_str()));
+-        #else
+-        Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.c_str(), dst.c_str()));
+-        #endif
+         if (!CreateDirRecursively(dst))
+             Manager::Get()->GetLogManager()->DebugLog(_T("Failed creating directory for ") + dst);
+         if (wxCopyFile(src, dst, true))
+             ++count;
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+ 
+     // cbProject doesn't have a GetRelativeToCommonTopLevelPath() function, so we simulate it here
+Index: src/src/associations.cpp
+===================================================================
+--- a/src/src/associations.cpp	(revision 12579)
++++ b/src/src/associations.cpp	(revision 12580)
+@@ -201,11 +201,7 @@
+     if (key.Exists())
+     {
+         wxString s;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         if (key.QueryValue(wxEmptyString, s) && s.StartsWith(_T("CodeBlocks")))
+-        #else
+-        if (key.QueryValue(NULL, s) && s.StartsWith(_T("CodeBlocks")))
+-        #endif
+             key.DeleteSelf();
+     }
+ 
+Index: src/src/dlgabout.cpp
+===================================================================
+--- a/src/src/dlgabout.cpp	(revision 12579)
++++ b/src/src/dlgabout.cpp	(revision 12580)
+@@ -20,9 +20,7 @@
+     #include <wx/string.h>
+     #include <wx/textctrl.h>
+     #include <wx/xrc/xmlres.h>
+-    #if wxCHECK_VERSION(3, 0, 0)
+-        #include <wx/versioninfo.h>
+-    #endif // wxCHECK_VERSION
++    #include <wx/versioninfo.h>
+ 
+     #include "licenses.h"
+     #include "configmanager.h"
+@@ -146,15 +144,11 @@
+     wxTextCtrl *txtLicense = XRCCTRL(*this, "txtLicense", wxTextCtrl);
+     txtLicense->SetValue(LICENSE_GPL);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     const wxVersionInfo scintillaVersion = wxScintilla::GetLibraryVersionInfo();
+     const wxString scintillaStr = wxString::Format(wxT("%d.%d.%d"),
+                                                    scintillaVersion.GetMajor(),
+                                                    scintillaVersion.GetMinor(),
+                                                    scintillaVersion.GetMicro());
+-#else
+-    const wxString scintillaStr = wxSCINTILLA_VERSION;
+-#endif // wxCHECK_VERSION
+ 
+     struct Item
+     {
+@@ -218,9 +212,7 @@
+         information += wxT(": ") + item.value + wxT("\n");
+     }
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     information += wxT("\n") + wxGetLibraryVersionInfo().GetDescription();
+-#endif // wxCHECK_VERSION(3, 0, 0)
+ 
+     wxTextCtrl *txtInformation = XRCCTRL(*this, "txtInformation", wxTextCtrl);
+     txtInformation->SetValue(information);
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 12579)
++++ b/src/src/main.cpp	(revision 12580)
+@@ -2075,11 +2075,7 @@
+         {
+             if (!items[i]->IsCheckable())
+                 continue;
+-#if wxCHECK_VERSION(3, 0, 0)
+             items[i]->Check(items[i]->GetItemLabel().IsSameAs(name));
+-#else
+-            items[i]->Check(items[i]->GetText().IsSameAs(name));
+-#endif
+         }
+ 
+         if (!m_LastLayoutIsTemp)
+@@ -2401,12 +2397,7 @@
+             break;
+ 
+         default: // default style
+-            #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-            target->SetArtProvider(new NbStyleGTK());
+-            #else
+             target->SetArtProvider(new wxAuiDefaultTabArt());
+-            #endif
+-            break;
+     }
+ 
+     target->SetTabCtrlHeight(-1);
+@@ -4801,13 +4792,9 @@
+ 
+     if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor())
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         // Execute the code to update the status bar outside of the paint event for scintilla.
+         // Executing this function directly in the event handler causes redraw problems on Windows.
+         CallAfter(&MainFrame::DoUpdateStatusBar);
+-#else
+-        DoUpdateStatusBar();
+-#endif // defined(__wxMSW__) && wxCHECK_VERSION(3, 0, 0)
+     }
+ 
+     event.Skip();
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12579)
++++ b/src/src/notebookstyles.cpp	(revision 12580)
+@@ -13,14 +13,6 @@
+ #include "prep.h"
+ #include "notebookstyles.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-    #include <wx/renderer.h>
+-#endif
+-
+ #include <wx/dc.h>
+ #include <wx/dcclient.h>
+ 
+@@ -42,15 +34,9 @@
+ {
+     NbStyleVC71* clone = new NbStyleVC71();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -75,11 +61,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 3;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 3;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -166,17 +148,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -186,21 +161,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -227,11 +193,7 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+@@ -246,15 +208,9 @@
+ {
+     NbStyleFF2* clone = new NbStyleFF2();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -272,11 +228,7 @@
+     wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+                                     page.active, close_button_state, x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 2;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 2;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -360,17 +312,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -380,21 +325,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -421,533 +357,9 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+     return s.y + 6;
+ }
+-
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+-namespace
+-{
+-
+-static GtkWidget *g_window = nullptr;
+-static GtkWidget *g_container = nullptr;
+-static GtkWidget *g_notebook = nullptr;
+-static GtkWidget *g_button = nullptr;
+-static int s_CloseIconSize = 16; // default size
+-
+-static void setup_widget_prototype(GtkWidget* widget)
+-{
+-    if (!g_window)
+-    {
+-        g_window = gtk_window_new(GTK_WINDOW_POPUP);
+-        gtk_widget_realize(g_window);
+-    }
+-    if (!g_container)
+-    {
+-        g_container = gtk_fixed_new();
+-        gtk_container_add(GTK_CONTAINER(g_window), g_container);
+-    }
+-
+-    gtk_container_add(GTK_CONTAINER(g_container), widget);
+-    gtk_widget_realize(widget);
+-}
+-
+-static GtkStyle * get_style_button()
+-{
+-    if (!g_button)
+-    {
+-        g_button = gtk_button_new();
+-        setup_widget_prototype(g_button);
+-    }
+-    return gtk_widget_get_style(g_button);
+-}
+-
+-static GtkStyle * get_style_notebook()
+-{
+-    if (!g_notebook)
+-    {
+-        g_notebook = gtk_notebook_new();
+-        setup_widget_prototype(g_notebook);
+-    }
+-    return gtk_widget_get_style(g_notebook);
+-}
+-
+-}
+-
+-NbStyleGTK::NbStyleGTK():
+-    m_Xthickness(0),
+-    m_Ythickness(0),
+-    m_TabHBorder(0),
+-    m_TabVBorder(0)
+-
+-{
+-}
+-
+-wxAuiTabArt* NbStyleGTK::Clone()
+-{
+-    NbStyleGTK* clone = new NbStyleGTK();
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    clone->SetNormalFont(m_normalFont);
+-    clone->SetSelectedFont(m_normalFont);
+-    clone->SetMeasuringFont(m_normalFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_normal_font);
+-    clone->SetMeasuringFont(m_normal_font);
+-#endif
+-
+-    return clone;
+-}
+-
+-void NbStyleGTK::DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect)
+-{
+-    GtkStyle* style_notebook = get_style_notebook();
+-    GtkNotebook* notebook = GTK_NOTEBOOK (g_notebook);
+-
+-    // if one of the parameters have changed, the height needs to be recalculated, so we force it,
+-    if(m_Xthickness  != style_notebook->xthickness ||
+-       m_Ythickness  != style_notebook->ythickness ||
+-       m_TabVBorder != notebook->tab_vborder ||
+-       m_TabHBorder != notebook->tab_hborder)
+-    {
+-        m_Xthickness  = style_notebook->xthickness;
+-        m_Ythickness  = style_notebook->ythickness;
+-        m_TabVBorder = notebook->tab_vborder;
+-        m_TabHBorder = notebook->tab_hborder;
+-        wxAuiNotebook* nb = nullptr;
+-        if(wnd)
+-             nb = (cbAuiNotebook*)wnd->GetParent();
+-        if(nb)
+-            nb->SetTabCtrlHeight(-1);
+-    }
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_style_apply_default_background(style_notebook, pWin, 1, GTK_STATE_NORMAL, nullptr,
+-                                       rect.x, rect.y, rect.width, rect.height);
+-}
+-
+-void ButtonStateAndShadow(int button_state, GtkStateType &state, GtkShadowType &shadow)
+-{
+-
+-    if (button_state & wxAUI_BUTTON_STATE_DISABLED)
+-    {
+-        state = GTK_STATE_INSENSITIVE;
+-        shadow = GTK_SHADOW_ETCHED_IN;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        state = GTK_STATE_PRELIGHT;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        state = GTK_STATE_ACTIVE;
+-        shadow = GTK_SHADOW_IN;
+-    }
+-    else
+-    {
+-        state = GTK_STATE_NORMAL;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-}
+-
+-wxRect DrawCloseButton(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GdkRectangle* clipRect)
+-{
+-    GtkStyle *style_button = get_style_button();
+-    int xthickness = style_button->xthickness;
+-    int ythickness = style_button->ythickness;
+-
+-    wxBitmap bmp;
+-    bmp.SetPixbuf(gtk_widget_render_icon(widget, GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR, "tab"));
+-
+-    if(bmp.GetWidth() != s_CloseIconSize || bmp.GetHeight() != s_CloseIconSize)
+-    {
+-        wxImage img = bmp.ConvertToImage();
+-        img.Rescale(s_CloseIconSize, s_CloseIconSize);
+-        bmp = img;
+-    }
+-
+-    int button_size = s_CloseIconSize + 2 * xthickness;
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x - ythickness;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - button_size - ythickness;
+-
+-    out_rect.y = in_rect.y + (in_rect.height - button_size) / 2;
+-    out_rect.width = button_size;
+-    out_rect.height = button_size;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-    else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_ACTIVE, GTK_SHADOW_IN, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-
+-
+-    dc.DrawBitmap(bmp, out_rect.x + xthickness, out_rect.y + ythickness, true);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
+-                             const wxRect& in_rect, int close_button_state, wxRect* out_tab_rect,
+-                             wxRect* out_button_rect, int* x_extent)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    GtkStyle *style_notebook = get_style_notebook();
+-
+-    wxRect const &window_rect = wnd->GetRect();
+-
+-    int focus_width = 0;
+-
+-    gtk_widget_style_get(g_notebook,
+-                         "focus-line-width", &focus_width,
+-                         NULL);
+-
+-    int tab_pos;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        tab_pos = wxAUI_NB_BOTTOM;
+-    else //if (m_flags & wxAUI_NB_TOP) {}
+-        tab_pos = wxAUI_NB_TOP;
+-
+-    // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+-    // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+-
+-    // figure out the size of the tab
+-    wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+-                                    page.active, close_button_state, x_extent);
+-
+-    wxRect tab_rect = in_rect;
+-    tab_rect.width = tab_size.x;
+-    tab_rect.height = tab_size.y;
+-    tab_rect.y += 2 * m_TabHBorder;
+-
+-    if (page.active)
+-        tab_rect.height += 2 * m_TabHBorder;
+-#if wxCHECK_VERSION(3, 0, 0)
+-    // if no bitmap is set, we need a tiny correction
+-    if (! page.bitmap.IsOk())
+-        tab_rect.height += 1;
+-#endif
+-
+-    int gap_rect_height = 6 * m_TabHBorder;
+-    int gap_rect_x = 1, gap_start = 0, gap_width = 0;
+-    int gap_rect_y = tab_rect.y - gap_rect_height;
+-    int gap_rect_width = window_rect.width;
+-
+-    switch (tab_pos)
+-    {
+-        case wxAUI_NB_TOP:
+-            tab_rect.y -= 2 * m_TabHBorder;
+-            if (!page.active)
+-                tab_rect.y += 2 * m_TabHBorder;
+-            gap_rect_y = tab_rect.y + tab_rect.height - m_TabHBorder / 2;
+-            // fall through
+-        case wxAUI_NB_BOTTOM:
+-            gap_start = tab_rect.x - m_TabVBorder / 2;
+-            gap_width = tab_rect.width;
+-            break;
+-        default:
+-            break;
+-    }
+-    tab_rect.y += m_TabHBorder / 2;
+-    gap_rect_y += m_TabHBorder / 2;
+-
+-    int padding = focus_width + m_TabHBorder;
+-
+-    int clip_width = tab_rect.width;
+-    if (tab_rect.x + tab_rect.width > in_rect.x + in_rect.width)
+-        clip_width = (in_rect.x + in_rect.width) - tab_rect.x;
+-
+-    dc.SetClippingRegion(tab_rect.x, tab_rect.y - m_TabVBorder, clip_width, tab_rect.height + m_TabVBorder);
+-
+-    GdkRectangle area;
+-    area.x = tab_rect.x - m_TabVBorder;
+-    area.y = tab_rect.y - 2 * m_TabHBorder;
+-    area.width = clip_width + m_TabVBorder;
+-    area.height = tab_rect.height + 2 * m_TabHBorder;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (tab_pos == wxAUI_NB_BOTTOM)
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_BOTTOM, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_TOP);
+-    }
+-    else
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_TOP, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_BOTTOM);
+-    }
+-
+-    wxCoord textX = tab_rect.x + padding + m_Xthickness;
+-
+-    int bitmap_offset = 0;
+-    if (page.bitmap.IsOk())
+-    {
+-        bitmap_offset = textX;
+-
+-        // draw bitmap
+-        int bitmapY = tab_rect.y +(tab_rect.height - page.bitmap.GetHeight()) / 2;
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                bitmapY += m_Ythickness / 2;
+-            else
+-                bitmapY -= m_Ythickness / 2;
+-        }
+-        dc.DrawBitmap(page.bitmap,
+-                      bitmap_offset,
+-                      bitmapY,
+-                      true);
+-
+-        textX += page.bitmap.GetWidth() + padding;
+-    }
+-
+-    wxCoord textW, textH, textY;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    dc.SetFont(m_normalFont);
+-#else
+-    dc.SetFont(m_normal_font);
+-#endif
+-    dc.GetTextExtent(page.caption, &textW, &textH);
+-    textY = tab_rect.y + (tab_rect.height - textH) / 2;
+-    if(!page.active)
+-    {
+-        if (tab_pos == wxAUI_NB_TOP)
+-            textY += m_Ythickness / 2;
+-        else
+-            textY -= m_Ythickness / 2;
+-    }
+-
+-    // draw tab text
+-    GdkColor text_colour = page.active ? style_notebook->fg[GTK_STATE_NORMAL] : style_notebook->fg[GTK_STATE_ACTIVE];
+-    dc.SetTextForeground(wxColor(text_colour));
+-    GdkRectangle focus_area;
+-
+-    int padding_focus = padding - focus_width;
+-    focus_area.x = tab_rect.x + padding_focus;
+-    focus_area.y = textY - focus_width;
+-    focus_area.width = tab_rect.width - 2 * padding_focus;
+-    focus_area.height = textH + 2 * focus_width;
+-
+-    if(page.active && (wnd->FindFocus() == wnd) && focus_area.x <= (area.x + area.width))
+-    {
+-        // clipping seems not to work here, so we we have to recalc the focus-area manually
+-        if((focus_area.x + focus_area.width) > (area.x + area.width))
+-            focus_area.width = area.x + area.width - focus_area.x + focus_width - m_TabVBorder;
+-        gtk_paint_focus (style_notebook, pWin,
+-                         GTK_STATE_ACTIVE, NULL, widget, "tab",
+-                         focus_area.x, focus_area.y, focus_area.width, focus_area.height);
+-    }
+-
+-    dc.DrawText(page.caption, textX, textY);
+-
+-    // draw close-button on tab (if enabled)
+-    if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+-    {
+-        wxRect rect(tab_rect.x, tab_rect.y, tab_rect.width - m_Xthickness, tab_rect.height);
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                rect.y += m_Ythickness / 2;
+-            else
+-                rect.y -= m_Ythickness / 2;
+-        }
+-        *out_button_rect = DrawCloseButton(dc, widget, close_button_state, rect, wxRIGHT, &area);
+-    }
+-
+-    tab_rect.width = std::min(tab_rect.width, clip_width);
+-    *out_tab_rect = tab_rect;
+-
+-    dc.DestroyClippingRegion();
+-}
+-
+-wxRect DrawSimpleArrow(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GtkArrowType arrow_type)
+-{
+-    int scroll_arrow_hlength, scroll_arrow_vlength;
+-    gtk_widget_style_get(widget,
+-                         "scroll-arrow-hlength", &scroll_arrow_hlength,
+-                         "scroll-arrow-vlength", &scroll_arrow_vlength,
+-                         NULL);
+-
+-    GtkStateType state;
+-    GtkShadowType shadow;
+-    ButtonStateAndShadow(button_state, state, shadow);
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - scroll_arrow_hlength;
+-    out_rect.y = (in_rect.y + in_rect.height - 3 * get_style_notebook()->ythickness - scroll_arrow_vlength) / 2;
+-    out_rect.width = scroll_arrow_hlength;
+-    out_rect.height = scroll_arrow_vlength;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_paint_arrow (get_style_button(), pWin, state, shadow, nullptr, widget, "notebook",
+-                     arrow_type, TRUE, out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawButton(wxDC& dc, wxWindow* wnd,
+-                            const wxRect& in_rect,
+-                            int bitmap_id,
+-                            int button_state,
+-                            int orientation,
+-                            wxRect* out_rect)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    wxRect rect = in_rect;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        rect.y += 2 * get_style_button()->ythickness;
+-
+-    switch (bitmap_id)
+-    {
+-        case wxAUI_BUTTON_CLOSE:
+-            rect.y -= 2 * get_style_button()->ythickness;
+-            rect = DrawCloseButton(dc, widget, button_state, rect, orientation, NULL);
+-            break;
+-
+-        case wxAUI_BUTTON_LEFT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_LEFT);
+-            break;
+-
+-        case wxAUI_BUTTON_RIGHT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_RIGHT);
+-            break;
+-
+-        case wxAUI_BUTTON_WINDOWLIST:
+-            {
+-                rect.height -= 4 * get_style_button()->ythickness;
+-                rect.width = rect.height;
+-                rect.x = in_rect.x + in_rect.width - rect.width;
+-
+-                if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_CURRENT);
+-                else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_PRESSED);
+-                else
+-                    wxRendererNative::Get().DrawDropArrow(wnd, dc, rect);
+-            }
+-            break;
+-
+-        default:
+-            break;
+-    }
+-
+-    *out_rect = rect;
+-}
+-
+-
+-int NbStyleGTK::GetBestTabCtrlSize(wxWindow* wnd,
+-                                   const wxAuiNotebookPageArray& pages,
+-                                   const wxSize& required_bmp_size)
+-{
+-#if wxCHECK_VERSION(3, 0, 0)
+-    SetMeasuringFont(m_normalFont);
+-    SetSelectedFont(m_normalFont);
+-#else
+-    SetMeasuringFont(m_normal_font);
+-    SetSelectedFont(m_normal_font);
+-#endif
+-    int tab_height = 3 * get_style_notebook()->ythickness + wxAuiDefaultTabArt::GetBestTabCtrlSize(wnd, pages, required_bmp_size);
+-    return tab_height;
+-}
+-
+-wxSize NbStyleGTK::GetTabSize(wxDC& dc,
+-                              wxWindow* wnd,
+-                              const wxString& caption,
+-                              const wxBitmap& bitmap,
+-                              bool active,
+-                              int close_button_state,
+-                              int* x_extent)
+-{
+-    wxSize s = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
+-
+-    int overlap = 0;
+-    gtk_widget_style_get (wnd->GetHandle(),
+-        "focus-line-width", &overlap,
+-        NULL);
+-    *x_extent -= overlap;
+-    return s;
+-}
+-
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+Index: src/src/projectmanagerui.cpp
+===================================================================
+--- a/src/src/projectmanagerui.cpp	(revision 12579)
++++ b/src/src/projectmanagerui.cpp	(revision 12580)
+@@ -1875,11 +1875,7 @@
+ {
+     size_t operator()(const wxString& s) const
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         return std::hash<std::wstring>()(s.ToStdWstring());
+-#else
+-        return std::hash<std::wstring>()(s.wc_str());
+-#endif // wxCHECK_VERSION
+     }
+ };
+ 
diff --git a/srcpkgs/codeblocks/patches/000.r12707.patch b/srcpkgs/codeblocks/patches/000.r12707.patch
new file mode 100644
index 0000000000000..bca974fbe5770
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12707.patch
@@ -0,0 +1,120 @@
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12706)
++++ b/src/src/notebookstyles.cpp	(revision 12707)
+@@ -124,8 +124,16 @@
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -132,6 +140,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -161,13 +170,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
+@@ -285,11 +304,20 @@
+     int text_offset = tab_x + 8;
+ 
+     int bitmap_offset = 0;
++
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -296,6 +324,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -303,7 +332,6 @@
+         text_offset = tab_x + 8;
+     }
+ 
+-
+     // if the caption is empty, measure some temporary text
+     wxString caption = page.caption;
+     if (caption.empty())
+@@ -325,13 +353,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
diff --git a/srcpkgs/codeblocks/patches/wx-3.2.patch b/srcpkgs/codeblocks/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..0400ce6346178
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/wx-3.2.patch
@@ -0,0 +1,21 @@
+Index: codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+===================================================================
+--- codeblocks-20.03.orig/src/sdk/scripting/bindings/sc_wxtypes.cpp
++++ codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+@@ -322,6 +322,7 @@ namespace ScriptBindings
+         typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
+         typedef bool(wxFileName::*WXFN_ISFILEWRITEABLE)()const;
++        typedef bool(wxFileName::*WXFN_NORMALIZE)(int, const wxString&, wxPathFormat);
+ 
+         SqPlus::SQClassDef<wxFileName>("wxFileName").
+                 emptyCtor().
+@@ -354,7 +355,7 @@ namespace ScriptBindings
+                 func(&wxFileName::IsDir, "IsDir").
+                 func(&wxFileName::MakeAbsolute, "MakeAbsolute").
+                 func(&wxFileName::MakeRelativeTo, "MakeRelativeTo").
+-                func(&wxFileName::Normalize, "Normalize").
++                func<WXFN_NORMALIZE>(&wxFileName::Normalize, "Normalize").
+                 func(&wxFileName::PrependDir, "PrependDir").
+                 func(&wxFileName::RemoveDir, "RemoveDir").
+                 func(&wxFileName::RemoveLastDir, "RemoveLastDir").
diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..46466d990bed1 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr

From f39b37be5ac3c4b02e896e024e5036341fcb12f8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/43] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   2 +-
 2 files changed, 132 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..140fe20d0d26b 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From a247b0f0f787d936ddc1e9e2212ddf0491870d74 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/43] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..dff1f22362cbd 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"

From d08b4aa9a5a0982c1b73890ea29d983902e6dbf8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/43] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From 8441a0cc5b786553192a5659814b98716df7fda4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/43] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..21a5b44004c55 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"

From c73ab28d7050d6a0a6176ae571237a85cf675503 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/43] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..c4d9dcb2a894c 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"
@@ -21,6 +21,8 @@ fi
 
 alternatives="gnuplot:gnuplot:/usr/bin/gnuplot-x11"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	# fix fonts location
 	sed -i \

From 07ced39bccf6a7df490b3a9174d9b0ac27208234 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/43] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..1fd406b6a2f55 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4

From e6e0c482d969c5e7382b4ccc3f207cb22bb28ac3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/43] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..73720781c7191 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"

From a053c06b5ff33ec50f3c0819fb791f38d155938e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/43] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..d356a1ab5ec66 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"
@@ -14,6 +14,8 @@ distfiles="https://mediaarea.net/download/source/${pkgname}/${version}/${pkgname
 checksum=932b82739f738e7db603cf5bb170720731a9e7c61d145c2a54aabb3cd0b753bc
 replaces="mediainfo-gui>=0"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 do_configure() {
 	for d in CLI GUI; do
 		cd $wrksrc/Project/GNU/$d

From 9a2495aa040dc5f1f92c6f0a3a79413857a62582 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/43] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..d0b059026da34 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
@@ -14,6 +14,8 @@ homepage="http://openbabel.org"
 distfiles="https://github.com/openbabel/openbabel/archive/openbabel-${_ver}.tar.gz"
 checksum=c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 openbabel-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"

From 70e9ce5091452cccb8153304b13737f040951505 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 29/43] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..99d86feeb215f 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files
@@ -16,6 +16,8 @@ homepage="https://pwsafe.org"
 distfiles="https://github.com/pwsafe/pwsafe/archive/${version}.tar.gz"
 checksum=6215f7b052480f03276b3ea590b9cdd23180db8d5d4a19185f3df7b6ddba11f8
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 if [ "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DNO_GTEST=OFF"
 else

From 1b19bcb18ff8ae5180b3d7bf9f307e850cb43891 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/43] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..a78feade69415 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"
@@ -17,6 +17,7 @@ distfiles="https://github.com/vslavik/poedit/releases/download/v${version}-oss/p
 checksum=e64139dd4beac1b8ea468d351b2b4bdae8ecbc6f4ca5d1ee1c73832036fff097
 
 CPPFLAGS="-DUCHAR_TYPE=uint16_t -Wno-deprecated-copy"
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" wxWidgets-common-devel"

From bb221c9c4d77bb252a61b812ffe08c2bf27bfe3f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/43] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..3061e1732c599 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"
@@ -13,6 +13,8 @@ homepage="https://github.com/withmorten/spek-alternative"
 distfiles="https://github.com/withmorten/spek-alternative/archive/${version}.tar.gz"
 checksum="007ba4b84a310b078e378aa84c8e80783db5821437a757a488c3ecec377e6b2a"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 # Tell autogen.sh to use "wx-config-gtk3" instead of "wx-config"
 export WX_CONFIG_NAME="wx-config-gtk3"
 

From f1cfcf0a34538fd539e17ba56b6cebd99372826e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/43] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..316d4a91c8f14 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"
@@ -14,6 +14,8 @@ homepage="https://www.arrl.org/tqsl-download"
 distfiles="https://www.arrl.org/tqsl/tqsl-${version}.tar.gz"
 checksum=5063cca759806ab1d6b8b6d9bb6c16a6380275ff192a3d0cc24aa9df6539ffcc
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vlicense LICENSE.txt
 	vinstall apps/tqsl.desktop 644 usr/share/applications

From df03232f558af1c90243b97a013c2a1151df655f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/43] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..8e58cd4701a1a 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"
@@ -12,6 +12,8 @@ homepage="http://strlen.com/treesheets/"
 distfiles="https://github.com/aardappel/treesheets/archive/v${version}.tar.gz"
 checksum=84eb82f122bc7be3ded399d2511536128911477a4a69c51b26b856de2160405f
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 do_install() {
 	vmkdir usr/lib/${pkgname}
 

From 274f08164df05551ebe2d2d5e59850ee49cfafae Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/43] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..9c71cefe3f8dd 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"
@@ -15,3 +15,5 @@ license="GPL-2.0-or-later"
 homepage="https://github.com/visualboyadvance-m/visualboyadvance-m/"
 distfiles="https://github.com/visualboyadvance-m/visualboyadvance-m/archive/v${version}.tar.gz"
 checksum=f7d0815a65677f794ee68892c9566254023af641c72f9e06b4230b6c61790743
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 5076b090f1978b272399e0b708c2fa253a3eedcc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/43] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5f116a336b61e 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
@@ -21,6 +21,8 @@ case "${XBPS_TARGET_MACHINE}" in
 	i686*) depends+=" grub-i386-efi"; makedepends+=" grub-i386-efi" ;;
 esac
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_configure() {
 	sed -i Makefile src/Makefile \
 		-e"s;^\(CXXFLAGS *=\)\(.*\);\1 ${CXXFLAGS} \2;"

From 762ff5c281e375ebb263463dfa845b8bc1c4b4bc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 36/43] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..749e481dd8fe3 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"
@@ -15,6 +15,8 @@ distfiles="https://github.com/wxMaxima-developers/wxmaxima/archive/Version-${ver
 checksum=d47ca52e40491ea3c4ea7bea126f4da4d0b535702126abef0c172f69ba58e17d
 nocross="clisp is nocross"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	# remove unpackaged files
 	rm -f ${DESTDIR}/usr/share/wxMaxima/{COPYING,README}

From 5420547a2092853835c580e9e5a0d32ed4bdeff4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/43] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..66b8156e431ec 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"
@@ -13,6 +13,8 @@ homepage="https://github.com/rzvncj/xCHM"
 distfiles="https://github.com/rzvncj/xCHM/releases/download/${version}/xchm-${version}.tar.gz"
 checksum=b07971ddb02992da462060fb638c051318f389aef822485646aa7fbe245a0d93
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	autoreconf -fi
 }

From 0cda271f58a451aa2055e01202227a9668b09dc1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 38/43] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From 2f844aef3ea40cfc485d0cb88b23067c3070bc07 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 39/43] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From 88f1adf394634d5d1e3e3dc9bf536e1982a81b9d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 40/43] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..bfb7120acd280 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,7 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi

From 065c3cb043298e591bee4b406e6c35be7a219e3d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 41/43] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From 582f2ef574b06860c709ce7ef51a75fae9a8731a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 42/43] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From 79f6b0ae2cbc68f995fdc268705e2f92c821b2f6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 43/43] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWidgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (23 preceding siblings ...)
  2023-09-25 20:49 ` ahesford
@ 2023-09-25 23:53 ` ahesford
  2023-09-26  3:48 ` ahesford
                   ` (3 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-25 23:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1018 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWidgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

closes #44849 

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 150722 bytes --]

From 2eae1755a439e57b81b5d96287b85a4c298343a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/43] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From 01b8c33651ddc6b6805af867821ee923806f4695 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/43] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 4ad4ee431144f1c24ebfdfdb4cfafc4e17622546 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 03/43] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From c6d1e5724f7e680fd68fdf7b87cbfc84a4dc9f09 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 04/43] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 9c2060bc45a67..da7f2739dc5ed 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 70842783025638a63a894126c5aa5a61c370babc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 05/43] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 +++++-----
 .../wxWidgets-gtk3/files/musl-locale-l.patch  | 34 +++++++++++
 .../patches/invalid-header-syntax.patch       | 16 +++++
 .../wxWidgets-gtk3/patches/largefile.patch    | 16 +++++
 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch | 45 ++++++++++++++
 .../patches/nonfatal-abi-check.patch          | 21 +++----
 srcpkgs/wxWidgets-gtk3/template               | 60 +++++++++++++------
 srcpkgs/wxWidgets-gtk3/update                 |  4 +-
 8 files changed, 180 insertions(+), 48 deletions(-)
 create mode 100644 srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/largefile.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch

diff --git a/common/shlibs b/common/shlibs
index da7f2739dc5ed..85ead20844ecc 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
new file mode 100644
index 0000000000000..dc5f1df6a2502
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
@@ -0,0 +1,34 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/musl-locale-l.patch
+
+these macro'd away functions don't exist in musl (yet)
+diff --git a/include/wx/xlocale.h b/include/wx/xlocale.h
+index c433d25..794cf0b 100644
+--- a/include/wx/xlocale.h
++++ b/include/wx/xlocale.h
+@@ -33,6 +33,26 @@
+ #include "wx/crt.h"     // Includes wx/chartype.h, wx/wxcrt.h(wx/string.h)
+ #include "wx/intl.h"    // wxLanguage
+ 
++#ifndef strtol_l
++#define strtol_l(s, p, base, l) strtol(s, p, base)
++#endif
++
++#ifndef strtoul_l
++#define strtoul_l(s, p, base, l) strtoul(s, p, base)
++#endif
++
++#ifndef wcstod_l
++#define wcstod_l(s, p, l) wcstod(s, p)
++#endif
++
++#ifndef wcstol_l
++#define wcstol_l(s, p, base, l) wcstol(s, p, base)
++#endif
++
++#ifndef wcstoul_l
++#define wcstoul_l(s, p, base, l) wcstoul(s, p, base)
++#endif
++
+ // The platform-specific locale type
+ // If wxXLocale_t is not defined, then only "C" locale support is provided
+ #ifdef wxHAS_XLOCALE_SUPPORT
diff --git a/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
new file mode 100644
index 0000000000000..fd4fc4ceca1aa
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/invalid-header-syntax.patch
+
+diff --git a/include/wx/matrix.h b/include/wx/matrix.h
+index 3b3225d..e77fb1a 100644
+--- a/include/wx/matrix.h
++++ b/include/wx/matrix.h
+@@ -37,8 +37,8 @@
+ //  at a certain coordinate and angle within another parent picture.
+ //  At all times m_isIdentity is set if the matrix itself is an Identity matrix.
+ //  It is used where possible to optimize calculations.
+-class
+ wxDEPRECATED_EXPORT_CORE("use wxAffineMatrix2D instead")
++class
+ wxTransformMatrix: public wxObject
+ {
+ public:
diff --git a/srcpkgs/wxWidgets-gtk3/patches/largefile.patch b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
new file mode 100644
index 0000000000000..9e5a81b31b94d
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/largefile.patch
+
+nothing sets this to 0, but for some reason it gets undef'd
+diff --git a/build/cmake/setup.h.in b/build/cmake/setup.h.in
+index e4c9e83..e9ef8dc 100644
+--- a/build/cmake/setup.h.in
++++ b/build/cmake/setup.h.in
+@@ -867,7 +867,7 @@
+ /*
+  * Define if large (64 bit file offsets) files are supported.
+  */
+-#cmakedefine HAVE_LARGEFILE_SUPPORT 1
++#define HAVE_LARGEFILE_SUPPORT 1
+ 
+ /*
+  * Use OpenGL
diff --git a/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
new file mode 100644
index 0000000000000..1303dd6074004
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
@@ -0,0 +1,45 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/no-glvnd.patch
+
+find_package(OpenGL) only works with glvnd and hardcodes glvnd paths, even
+though all these components are easily found with pkgconfig..
+diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
+index ef28c99..b4df830 100644
+--- a/build/cmake/init.cmake
++++ b/build/cmake/init.cmake
+@@ -408,17 +408,26 @@ if(wxUSE_GUI)
+             set(OPENGL_FOUND TRUE)
+             set(OPENGL_LIBRARIES "-framework OpenGLES" "-framework QuartzCore" "-framework GLKit")
+         else()
+-            find_package(OpenGL)
+-            if(OPENGL_FOUND)
+-                foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
+-                    if(TARGET ${gltarget})
+-                        set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
+-                    endif()
+-                endforeach()
+-            endif()
+-            if(WXGTK3 AND OpenGL_EGL_FOUND AND wxUSE_GLCANVAS_EGL)
++            # find_package(OpenGL)
++            # if(OPENGL_FOUND)
++            #     foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
++            #         if(TARGET ${gltarget})
++            #             set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
++            #         endif()
++            #     endforeach()
++            # endif()
++            find_package(PkgConfig REQUIRED)
++            pkg_check_modules(GLU REQUIRED glu IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GLU ALIAS PkgConfig::GLU)
++            pkg_check_modules(GL REQUIRED gl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GL ALIAS PkgConfig::GL)
++            pkg_check_modules(EGL REQUIRED egl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::EGL ALIAS PkgConfig::EGL)
++            set(OPENGL_FOUND TRUE)
++            set(OpenGL_EGL_FOUND TRUE)
++            if(WXGTK3 AND wxUSE_GLCANVAS_EGL)
+                 if(TARGET OpenGL::EGL)
+-                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES})
++                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES} GL)
+                 endif()
+                 set(OPENGL_INCLUDE_DIR ${OPENGL_INCLUDE_DIR} ${OPENGL_EGL_INCLUDE_DIRS})
+                 find_package(WAYLANDEGL)
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..1edbf88627544 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,37 +1,54 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+version=3.2.2.1
+revision=1
+build_style=cmake
+cmake_builddir="build-gtk3"
+configure_args="-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_OPENGL=ON -DwxUSE_LIBMSPACK=ON
+ -DwxUSE_GTKPRINT=ON -DwxUSE_UNICODE=ON -DwxUSE_MEDIACTRL=ON
+ -DwxUSE_PRIVATE_FONTS=ON -DwxUSE_REGEX=sys -DwxUSE_ZLIB=sys -DwxUSE_EXPAT=sys
+ -DwxUSE_LIBJPEG=sys -DwxUSE_LIBPNG=sys -DwxUSE_LIBTIFF=sys -DwxUSE_LIBLZMA=sys
+ -DwxUSE_LIBNOTIFY=sys -DwxUSE_LIBSDL=sys"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
+
+CXXFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+
+post_patch() {
+	if [ "${XBPS_TARGET_LIBC}" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/musl-locale-l.patch"
+	fi
+}
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
-	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
-	#   - mark this build as native build
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	if [ "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
+		# Remove $XBPS_CROSS_TRIPLET from cmake helper...
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			${DESTDIR}/usr/lib/cmake/wxWidgets/wxWidgetsTargets.cmake
 
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
+		# ...and the output of the wx-config utility
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			-e "s@/builddir/[^/]\+/wrappers/${XBPS_CROSS_TRIPLET}-@@" \
 			${DESTDIR}/usr/lib/wx/config/${_config}
 	fi
+
+	# Remove generic wx-config, link to toolkit-specific version
 	rm -f ${DESTDIR}/usr/bin/wx-config
 	ln -sf ../lib/wx/config/${_config} ${DESTDIR}/usr/bin/wx-config-gtk3
+
 	#   - ignore --host option; breaks configure scripts when
 	#     cross compiling (isn’t necessary in our case anyway)
 	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
@@ -39,13 +56,16 @@ post_install() {
 		-e '/--\*=\*)/i --host=\*) continue;;' \
 		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
 		$DESTDIR/usr/lib/wx/config/${_config}
+
+	# Make sure to install the autotools macro, CMake does not
+	vmkdir usr/share/aclocal
+	vinstall wxwin.m4 644 usr/share/aclocal
 }
 
 wxWidgets-common_package() {
 	short_desc+=" - common files"
 	pkg_install() {
 		vmove "usr/lib/libwx_baseu*.so.*"
-		vmove usr/share
 		vlicense docs/licendoc.txt
 		vlicense docs/licence.txt
 	}
@@ -58,6 +78,7 @@ wxWidgets-common-devel_package() {
 		vmove "usr/bin/wxrc*"
 		vmove "usr/lib/libwx_baseu*.so"
 		vmove usr/include
+		vmove usr/share/aclocal
 	}
 }
 
@@ -68,5 +89,6 @@ wxWidgets-gtk3-devel_package() {
 		vmove usr/bin
 		vmove "usr/lib/*.so"
 		vmove usr/lib/wx
+		vmove usr/lib/cmake
 	}
 }
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 657cf1b6fc0ab9759b2e334b991a7991176e78d3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 06/43] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/wxPython/files/no-stacktrace.patch    | 15 +++
 srcpkgs/{wxPython4 => wxPython}/template      | 32 ++++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 9 files changed, 36 insertions(+), 212 deletions(-)
 create mode 100644 srcpkgs/wxPython/files/no-stacktrace.patch
 rename srcpkgs/{wxPython4 => wxPython}/template (68%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython/files/no-stacktrace.patch b/srcpkgs/wxPython/files/no-stacktrace.patch
new file mode 100644
index 0000000000000..e64548bea8c17
--- /dev/null
+++ b/srcpkgs/wxPython/files/no-stacktrace.patch
@@ -0,0 +1,15 @@
+Taken from Alpine:
+
+https://git.alpinelinux.org/aports/plain/community/py3-wxpython/no-stacktrace.patch
+
+--- a/sip/cpp/sip_corewxAppTraits.cpp
++++ b/sip/cpp/sip_corewxAppTraits.cpp
+@@ -471,7 +471,7 @@
+             PyErr_Clear();
+ 
+             Py_BEGIN_ALLOW_THREADS
+-            sipRes = new  ::wxString((sipSelfWasArg ? sipCpp-> ::wxAppTraits::GetAssertStackTrace() : sipCpp->GetAssertStackTrace()));
++            sipRes = new  ::wxString("");
+             Py_END_ALLOW_THREADS
+ 
+             if (PyErr_Occurred())
diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 68%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..815ee0382cb59 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,23 +9,25 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
+post_patch() {
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/no-stacktrace.patch"
+	fi
 }
 
 pre_build() {
@@ -48,3 +50,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From 8beeeaf3548d11cbf82a8ee7e8139585c97faf17 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 25 Sep 2023 13:46:55 -0400
Subject: [PATCH 07/43] dispcalGUI: replace with DisplayCAL 3.9.11

---
 srcpkgs/DisplayCAL/template            | 26 ++++++++++++++++++++
 srcpkgs/dispcalGUI                     |  1 +
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 5 files changed, 27 insertions(+), 59 deletions(-)
 create mode 100644 srcpkgs/DisplayCAL/template
 create mode 120000 srcpkgs/dispcalGUI
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/DisplayCAL/template b/srcpkgs/DisplayCAL/template
new file mode 100644
index 0000000000000..784674c5263ae
--- /dev/null
+++ b/srcpkgs/DisplayCAL/template
@@ -0,0 +1,26 @@
+# Template file for 'DisplayCAL'
+pkgname=DisplayCAL
+version=3.9.11
+revision=1
+build_style=python3-module
+hostmakedepends="python3"
+makedepends="python3-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
+depends="python3-dbus python3-numpy python3-distro python3-send2trash wxPython
+ argyllcms"
+short_desc="Display Calibration and Characterization"
+maintainer="lemmi <lemmi@nerd2nerd.org>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/eoyilmaz/displaycal-py3"
+distfiles="https://github.com/eoyilmaz/displaycal-py3/archive/refs/tags/${version}.tar.gz"
+checksum=7769d19551c228d797fd98cb2469730cee84ff27bd0bf5d0463e191753921a5e
+
+pre_configure() {
+	vsed -i misc/displaycal-vrml-to-x3d-converter.desktop \
+		-e 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|'
+}
+
+dispcalGUI_package() {
+	build_style=meta
+	short_desc+=" (transitional dummy package)"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/dispcalGUI b/srcpkgs/dispcalGUI
new file mode 120000
index 0000000000000..7b2ae7fe8eb1e
--- /dev/null
+++ b/srcpkgs/dispcalGUI
@@ -0,0 +1 @@
+DisplayCAL
\ No newline at end of file
diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"

From d0f9d7c5806d0ff265238d95ab4ce3f44a62367c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/43] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From 54070ddce44e6a8cc2c34513e6093770687561c7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/43] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..fdd36c53a94a3 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"
@@ -26,6 +26,8 @@ build_options_default="fftw"
 desc_option_fftw="Enable support for rendering of audio waveforms/spectrum"
 desc_option_openal="Enable support for openal"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_build() {
 	export FORCE_GIT_VERSION="$version"
 }

From a16d42d3166581e9aa148c826b02cbb2a8d92332 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/43] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..1608a9c95f7b4 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)
@@ -22,3 +22,5 @@ build_options_default="alsa pulseaudio"
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DOTHER_LIBRARIES=atomic"
 fi
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From bf5fb4fa3ecebc01cd92cb7e28e303f63d3e73ea Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/43] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..c9db493cc55e1 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"
@@ -17,7 +17,8 @@ distfiles="https://github.com/codereader/DarkRadiant/archive/${version}.tar.gz"
 checksum=7b9ccd6de65d7e55f6aad5e1f9a2f49600c6a0d9d70e67bda2e625cd721b5635
 
 CXXFLAGS="-I${XBPS_CROSS_BASE}/usr/lib/wx/include/gtk3-unicode-3.0"
-CXXFLAGS="$CXXFLAGS -I${XBPS_CROSS_BASE}/${py3_sitelib}/pybind11/include"
+CXXFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/pybind11/include"
+CXXFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_extract() {
 	rm -rf libs/pybind

From 2624cd9f61d204150b60a15a9566715c8b53c940 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/43] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..27a6f1c514a0b 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="
@@ -45,6 +45,8 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default="octave"
 fi
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vinstall udev-rules/64-limesuite.rules 644 usr/lib/udev/rules.d
 

From 0b04d454799a512e4325d4e4a7d650ccdb1448ae Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/43] OpenCPN: update to 5.8.4.

---
 .../OpenCPN/patches/actually-set-arch.patch   | 28 ------------------
 srcpkgs/OpenCPN/patches/musl.patch            | 29 +++++++++----------
 srcpkgs/OpenCPN/template                      | 14 +++++----
 3 files changed, 21 insertions(+), 50 deletions(-)
 delete mode 100644 srcpkgs/OpenCPN/patches/actually-set-arch.patch

diff --git a/srcpkgs/OpenCPN/patches/actually-set-arch.patch b/srcpkgs/OpenCPN/patches/actually-set-arch.patch
deleted file mode 100644
index d152c40928867..0000000000000
--- a/srcpkgs/OpenCPN/patches/actually-set-arch.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-+++ b/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-@@ -14,6 +14,25 @@
-     # default
-     set (ARCH "i386")
-     set (LIB_INSTALL_DIR "lib")
-+    IF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "aarch64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "armhf")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc*" OR CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "ppc64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "powerpc")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "x86_64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "i386")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-     if (EXISTS /etc/debian_version)
-       set (PACKAGE_FORMAT "DEB")
-       set (PACKAGE_RECS "xcalib,xdg-utils")
diff --git a/srcpkgs/OpenCPN/patches/musl.patch b/srcpkgs/OpenCPN/patches/musl.patch
index 75923e019b2bc..f9877f9a0e651 100644
--- a/srcpkgs/OpenCPN/patches/musl.patch
+++ b/srcpkgs/OpenCPN/patches/musl.patch
@@ -1,26 +1,16 @@
 --- a/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
 +++ b/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-@@ -20,9 +20,7 @@
+@@ -20,15 +20,14 @@
  #define WIN32_LEAN_AND_MEAN
  #include <winsock2.h>
  #else
--    #ifndef __WXOSX__
--        #include <error.h>
--    #else    
-+    #ifdef __WXOSX__
-         #include <mach/error.h> 
+-#ifndef __WXOSX__
+-#include <error.h>
+-#else
++#ifdef __WXOSX__
+ #include <mach/error.h>
  #endif
  
-@@ -424,4 +422,4 @@
-     }
- }
- 
--#endif // ZEROCONF_DETAIL_HPP
-\ No newline at end of file
-+#endif // ZEROCONF_DETAIL_HPP
---- a/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-@@ -27,6 +27,7 @@
  #include <string.h>
  #include <unistd.h>
  #include <sys/socket.h>
@@ -28,3 +18,10 @@
  #include <netinet/in.h>
  #endif
  
+@@ -385,4 +384,4 @@
+ }  // namespace Detail
+ }  // namespace Zeroconf
+ 
+-#endif  // ZEROCONF_DETAIL_HPP
+\ No newline at end of file
++#endif  // ZEROCONF_DETAIL_HPP
diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..15ccc449812e3 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
-version=5.2.0
-revision=2
+version=5.8.4
+revision=1
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
@@ -10,16 +10,17 @@ configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
  -DOCPN_USE_BUNDLED_LIBS=OFF"
 hostmakedepends="gettext pkg-config"
 makedepends="gtk+3-devel libcurl-devel portaudio-devel tinyxml-devel
- wxWidgets-gtk3-devel $(vopt_if exif 'libexif-devel') glu-devel
- $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel') $(vopt_if lzma 'liblzma-devel')"
+ wxWidgets-gtk3-devel glu-devel glew-devel rapidjson gtest-devel
+ $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel')
+ $(vopt_if exif 'libexif-devel') $(vopt_if lzma 'liblzma-devel')"
 depends="gpsd hicolor-icon-theme OpenCPN-tcdata-${version}_${revision}
  OpenCPN-gshhs-crude"
 short_desc="Concise ChartPlotter/Navigator"
 maintainer="John <me@johnnynator.dev>"
 license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, MIT, WxWindows-exception-3.1, JasPer-2.0, BSD-3-Clause, SGI-B-2.0"
 homepage="https://opencpn.org/"
-distfiles="https://github.com/OpenCPN/OpenCPN/archive/v${version}.tar.gz"
-checksum=f6ec38989bc38f5a7f63234c5e0230adeb73f5626b4e3d3dfa680f0c240badc7
+distfiles="https://github.com/OpenCPN/OpenCPN/archive/Release_${version}.tar.gz"
+checksum=7552726e5afce5eb401e307beedd8f3aa2c66725602fc27ab3ad1845f40b87a0
 
 build_options="lzma libarchive exif crashreport"
 build_options_default="lzma libarchive exif"
@@ -34,6 +35,7 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 CFLAGS="-fcommon"
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_install() {
 	vlicense libs/glshim/LICENSE LICENSE.glshim

From 06ab361381cd0e4cd8c729786e4ab46975a20755 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/43] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..c28c2d707c229 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower
@@ -19,6 +19,8 @@ homepage="https://www.prusa3d.com/prusaslicer/"
 distfiles="https://github.com/prusa3d/Prusaslicer/archive/version_${version}.tar.gz"
 checksum=e58278067b9d49a42dc9bb02b74307b3cb365bb737f28e246ca8c6f466095d6b
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_extract() {
 	# Mark tests that fail on certain targets
 	case "$XBPS_TARGET_MACHINE" in

From 2cfde11b4a0d19e1bfa8bd0325c6957db77ccc61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/43] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..8c2ea6e40cc5c 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"
@@ -16,6 +16,8 @@ changelog="https://github.com/sirjuddington/SLADE/releases/tag/${version}"
 distfiles="https://github.com/sirjuddington/SLADE/archive/${version}.tar.gz"
 checksum=c327fa62ba491ac481d769700261d810128910007297fd9d9dbe26ac0e78bb2c
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	case $XBPS_TARGET_MACHINE in
 		x86_64* | i686*);;

From e6eecc9158139c66c32075da5598ce4ddb71fd97 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/43] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..d94369e087891 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"
@@ -14,6 +14,8 @@ homepage="https://github.com/slacka/WoeUSB"
 distfiles="https://github.com/slacka/WoeUSB/archive/v${version}.tar.gz"
 checksum=0cab88a1113506f39d2f1c19532b2cd8d968c6a9f59129953c000e29e73f3d4f
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_patch() {
 	vsed -i -e "s/@@WOEUSB_VERSION@@/$version/g" \
 		configure.ac \

From d5a130366c8a0ed7fe25d82cdcba9b99d6d304dc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/43] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/patches/wx-3.2.patch         | 26 ++++++++++++++++
 .../patches/wx-widget-has-basque.patch        | 22 +++++++++++++
 srcpkgs/audacity/patches/wxbitmap.patch       | 31 +++++++++++++++++++
 srcpkgs/audacity/template                     |  7 +++--
 4 files changed, 84 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/audacity/patches/wx-3.2.patch
 create mode 100644 srcpkgs/audacity/patches/wx-widget-has-basque.patch
 create mode 100644 srcpkgs/audacity/patches/wxbitmap.patch

diff --git a/srcpkgs/audacity/patches/wx-3.2.patch b/srcpkgs/audacity/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..d42ae09f30f6e
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-3.2.patch
@@ -0,0 +1,26 @@
+Index: audacity-Audacity-2.4.1/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/configure
++++ audacity-Audacity-2.4.1/configure
+@@ -19918,7 +19918,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
+Index: audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/lib-src/lib-widget-extra/configure
++++ audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+@@ -16633,7 +16633,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
diff --git a/srcpkgs/audacity/patches/wx-widget-has-basque.patch b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
new file mode 100644
index 0000000000000..4dd24e79ec8e2
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
@@ -0,0 +1,22 @@
+Index: audacity-Audacity-2.4.1/src/AudacityApp.cpp
+===================================================================
+--- audacity-Audacity-2.4.1.orig/src/AudacityApp.cpp
++++ audacity-Audacity-2.4.1/src/AudacityApp.cpp
+@@ -1102,7 +1102,7 @@ locations of the missing files.").Format
+ #define WL(lang,sublang)
+ #endif
+ 
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+ wxLanguageInfo userLangs[] =
+ {
+    // Bosnian is defined in wxWidgets already
+@@ -1366,7 +1366,7 @@ bool AudacityApp::OnInit()
+    //
+    // TODO:  The whole Language initialization really need to be reworked.
+    //        It's all over the place.
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+    for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++)
+    {
+       wxLocale::AddLanguage(userLangs[i]);
diff --git a/srcpkgs/audacity/patches/wxbitmap.patch b/srcpkgs/audacity/patches/wxbitmap.patch
new file mode 100644
index 0000000000000..af18bd1cb6524
--- /dev/null
+++ b/srcpkgs/audacity/patches/wxbitmap.patch
@@ -0,0 +1,31 @@
+From 55383fccd0c281b4f189d9b07699b21bb802c736 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney@ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH] Call the proper wxBitmap constructor for XPM data
+
+wxBitmap back to at least 3.0.0 did not have a constructor for an XPM
+image that took a size parameter, it would only take the XPM data
+itself.
+
+I don't know how this compiled until now, but it doesn't anymore when
+the size is included and built against wx 3.1.6 in Fedora.
+---
+ src/MixerBoard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+ 
+ Technically this patch is under GPLv3+ because it was contributed after
+ re licensing
+
+diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp
+index 54b5f146cc7..7fe81615474 100644
+--- a/src/MixerBoard.cpp
++++ b/src/MixerBoard.cpp
+@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments()
+    wxMemoryDC dc;
+ 
+    for (const auto &data : table) {
+-      auto bmp = std::make_unique<wxBitmap>(data.bitmap,24);
++      auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+       dc.SelectObject(*bmp);
+       AColor::Bevel(dc, false, bev);
+       mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..e79971d69d016 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"
@@ -13,7 +13,8 @@ makedepends="jack-devel wxWidgets-gtk3-devel gtk+3-devel
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Graphical cross-platform audio editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
+# Patches are GPL3+, so bump the license for the whole package
+license="GPL-3.0-or-later"
 homepage="https://www.audacityteam.org"
 distfiles="https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"
 checksum=50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f
@@ -27,6 +28,8 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"
 fi
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vcopy nyquist /usr/share/audacity
 	vcopy plug-ins /usr/share/audacity

From 54f51627bcfe085c1a63fbbc60bd039954a4ac2c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/43] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65b3efc5c3455 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"
@@ -21,7 +21,7 @@ boinc_homedir="/var/lib/boinc"
 boinc_shell="/bin/bash"
 conflicts="boinc-nox>=0"
 
-CXXFLAGS="-Wno-redundant-decls"
+CXXFLAGS="-Wno-redundant-decls -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 case "$XBPS_TARGET_MACHINE" in
 	armv6l) broken="arm-linux-gnueabihf-g++: error: libwhetvfp.a: No such file or directory" ;;

From 9d5b3b4ff285643a4903ed58e92721914234cf1c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/43] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/patches/000.r11991.patch   |  27 +
 ...0.v20.03-r12008.patch => 000.r12008.patch} |   0
 ...1.v20.03-r12012.patch => 000.r12012.patch} |   0
 srcpkgs/codeblocks/patches/000.r12532.patch   |  13 +
 srcpkgs/codeblocks/patches/000.r12580.patch   | 944 ++++++++++++++++++
 srcpkgs/codeblocks/patches/000.r12707.patch   | 120 +++
 srcpkgs/codeblocks/patches/wx-3.2.patch       |  21 +
 srcpkgs/codeblocks/template                   |   4 +-
 8 files changed, 1128 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codeblocks/patches/000.r11991.patch
 rename srcpkgs/codeblocks/patches/{000.v20.03-r12008.patch => 000.r12008.patch} (100%)
 rename srcpkgs/codeblocks/patches/{001.v20.03-r12012.patch => 000.r12012.patch} (100%)
 create mode 100644 srcpkgs/codeblocks/patches/000.r12532.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12580.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12707.patch
 create mode 100644 srcpkgs/codeblocks/patches/wx-3.2.patch

diff --git a/srcpkgs/codeblocks/patches/000.r11991.patch b/srcpkgs/codeblocks/patches/000.r11991.patch
new file mode 100644
index 0000000000000..0cdb7251fdced
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r11991.patch
@@ -0,0 +1,27 @@
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 11990)
++++ b/src/src/main.cpp	(revision 11991)
+@@ -2680,8 +2680,6 @@
+     else
+     {
+         wxBusyCursor useless;
+-        wxPaintEvent e;
+-        ProcessEvent(e);
+         for (unsigned int i = 0; i < files.GetCount(); ++i)
+           success &= OpenGeneric(files[i]);
+     }
+Index: src/src/watchesdlg.cpp
+===================================================================
+--- a/src/src/watchesdlg.cpp	(revision 11990)
++++ b/src/src/watchesdlg.cpp	(revision 11991)
+@@ -103,8 +103,7 @@
+                                   cb_unused const wxPoint& pos,
+                                   cb_unused const wxSize& sz) const override
+     {
+-        wxPGWindowList const list;
+-        return list;
++        return wxPGWindowList(nullptr, nullptr);
+     }
+     void UpdateControl(cb_unused wxPGProperty* property, cb_unused wxWindow* ctrl) const override {}
+     bool OnEvent(cb_unused wxPropertyGrid* propgrid, cb_unused wxPGProperty* property,
diff --git a/srcpkgs/codeblocks/patches/000.v20.03-r12008.patch b/srcpkgs/codeblocks/patches/000.r12008.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/000.v20.03-r12008.patch
rename to srcpkgs/codeblocks/patches/000.r12008.patch
diff --git a/srcpkgs/codeblocks/patches/001.v20.03-r12012.patch b/srcpkgs/codeblocks/patches/000.r12012.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/001.v20.03-r12012.patch
rename to srcpkgs/codeblocks/patches/000.r12012.patch
diff --git a/srcpkgs/codeblocks/patches/000.r12532.patch b/srcpkgs/codeblocks/patches/000.r12532.patch
new file mode 100644
index 0000000000000..15a2fff28e2e7
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12532.patch
@@ -0,0 +1,13 @@
+Index: src/include/ccmanager.h
+===================================================================
+--- a/src/include/ccmanager.h	(revision 12531)
++++ b/src/include/ccmanager.h	(revision 12532)
+@@ -44,7 +44,7 @@
+  * list or the doxygen popup, the scroll event is instead sent there (and skipped for the editor
+  * window).
+  */
+-class DLLIMPORT CCManager : public Mgr<CCManager>, wxEvtHandler
++class DLLIMPORT CCManager : public Mgr<CCManager>, public wxEvtHandler
+ {
+     public:
+         friend class Mgr<CCManager>;
diff --git a/srcpkgs/codeblocks/patches/000.r12580.patch b/srcpkgs/codeblocks/patches/000.r12580.patch
new file mode 100644
index 0000000000000..7930c5c5677b2
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12580.patch
@@ -0,0 +1,944 @@
+Index: src/src/notebookstyles.h
+===================================================================
+--- a/src/src/notebookstyles.h	(revision 12579)
++++ b/src/src/notebookstyles.h	(revision 12580)
+@@ -8,14 +8,6 @@
+ 
+ #include "cbauibook.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-#endif
+-
+-
+ class wxDC;
+ class wxWindow;
+ class wxRect;
+@@ -53,35 +45,4 @@
+                             const wxSize& required_bmp_size) override;
+ };
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-class NbStyleGTK : public wxAuiDefaultTabArt
+-{
+-public:
+-    NbStyleGTK();
+-
+-    virtual wxAuiTabArt* Clone();
+-    virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+-    virtual void DrawTab(wxDC& dc,
+-                         wxWindow* wnd,
+-                         const wxAuiNotebookPage& page,
+-                         const wxRect& in_rect,
+-                         int close_button_state,
+-                         wxRect* out_tab_rect,
+-                         wxRect* out_button_rect,
+-                         int* x_extent);
+-    void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
+-                    int button_state, int orientation, wxRect* out_rect);
+-    int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
+-                            const wxSize& required_bmp_size);
+-    virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active,
+-                              int close_button_state, int* x_extent);
+-private:
+-    int m_Xthickness;
+-    int m_Ythickness;
+-    int m_TabHBorder;
+-    int m_TabVBorder;
+-    wxBitmap m_ActiveCloseButton;
+-};
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+ #endif // NOTEBOOKSTYLES_H
+Index: src/plugins/compilergcc/compileroptionsdlg.cpp
+===================================================================
+--- a/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12579)
++++ b/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12580)
+@@ -677,13 +677,9 @@
+     wxPGProperty *root = m_FlagsPG->GetRoot();
+     if (root)
+     {
+-        unsigned count = root->GetChildCount();
++        const unsigned count = root->GetChildCount();
+         for (unsigned ii = 0; ii < count; ++ii)
+-#if wxCHECK_VERSION(3, 0, 0)
+             m_FlagsPG->SortChildren(root->Item(ii), wxPG_RECURSE);
+-#else
+-            m_FlagsPG->Sort(root->Item(ii));
+-#endif
+     }
+     m_FlagsPG->Thaw();
+ } // DoFillOptions
+@@ -2118,11 +2114,7 @@
+     CompilerFactory::SetDefaultCompiler(idx);
+     wxString msg;
+     Compiler* compiler = CompilerFactory::GetDefaultCompiler();
+-    #if wxCHECK_VERSION(3, 0, 0)
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().wx_str() : _("[invalid]").wx_str());
+-    #else
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().c_str() : _("[invalid]"));
+-    #endif
++    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName() : _("[invalid]"));
+     cbMessageBox(msg);
+ } // OnSetDefaultCompilerClick
+ 
+Index: src/sdk/templatemanager.cpp
+===================================================================
+--- a/src/sdk/templatemanager.cpp	(revision 12579)
++++ b/src/sdk/templatemanager.cpp	(revision 12580)
+@@ -186,11 +186,7 @@
+             ++count;
+         }
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+     if (count != total_count)
+         cbMessageBox(_("Some files could not be loaded with the template..."), _("Error"), wxICON_ERROR);
+@@ -303,21 +299,13 @@
+     {
+         wxString src = (*it)->file.GetFullPath();
+         wxString dst = templ + (*it)->relativeToCommonTopLevelPath;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.wx_str(), dst.wx_str()));
+-        #else
+-        Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.c_str(), dst.c_str()));
+-        #endif
+         if (!CreateDirRecursively(dst))
+             Manager::Get()->GetLogManager()->DebugLog(_T("Failed creating directory for ") + dst);
+         if (wxCopyFile(src, dst, true))
+             ++count;
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+ 
+     // cbProject doesn't have a GetRelativeToCommonTopLevelPath() function, so we simulate it here
+Index: src/src/associations.cpp
+===================================================================
+--- a/src/src/associations.cpp	(revision 12579)
++++ b/src/src/associations.cpp	(revision 12580)
+@@ -201,11 +201,7 @@
+     if (key.Exists())
+     {
+         wxString s;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         if (key.QueryValue(wxEmptyString, s) && s.StartsWith(_T("CodeBlocks")))
+-        #else
+-        if (key.QueryValue(NULL, s) && s.StartsWith(_T("CodeBlocks")))
+-        #endif
+             key.DeleteSelf();
+     }
+ 
+Index: src/src/dlgabout.cpp
+===================================================================
+--- a/src/src/dlgabout.cpp	(revision 12579)
++++ b/src/src/dlgabout.cpp	(revision 12580)
+@@ -20,9 +20,7 @@
+     #include <wx/string.h>
+     #include <wx/textctrl.h>
+     #include <wx/xrc/xmlres.h>
+-    #if wxCHECK_VERSION(3, 0, 0)
+-        #include <wx/versioninfo.h>
+-    #endif // wxCHECK_VERSION
++    #include <wx/versioninfo.h>
+ 
+     #include "licenses.h"
+     #include "configmanager.h"
+@@ -146,15 +144,11 @@
+     wxTextCtrl *txtLicense = XRCCTRL(*this, "txtLicense", wxTextCtrl);
+     txtLicense->SetValue(LICENSE_GPL);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     const wxVersionInfo scintillaVersion = wxScintilla::GetLibraryVersionInfo();
+     const wxString scintillaStr = wxString::Format(wxT("%d.%d.%d"),
+                                                    scintillaVersion.GetMajor(),
+                                                    scintillaVersion.GetMinor(),
+                                                    scintillaVersion.GetMicro());
+-#else
+-    const wxString scintillaStr = wxSCINTILLA_VERSION;
+-#endif // wxCHECK_VERSION
+ 
+     struct Item
+     {
+@@ -218,9 +212,7 @@
+         information += wxT(": ") + item.value + wxT("\n");
+     }
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     information += wxT("\n") + wxGetLibraryVersionInfo().GetDescription();
+-#endif // wxCHECK_VERSION(3, 0, 0)
+ 
+     wxTextCtrl *txtInformation = XRCCTRL(*this, "txtInformation", wxTextCtrl);
+     txtInformation->SetValue(information);
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 12579)
++++ b/src/src/main.cpp	(revision 12580)
+@@ -2075,11 +2075,7 @@
+         {
+             if (!items[i]->IsCheckable())
+                 continue;
+-#if wxCHECK_VERSION(3, 0, 0)
+             items[i]->Check(items[i]->GetItemLabel().IsSameAs(name));
+-#else
+-            items[i]->Check(items[i]->GetText().IsSameAs(name));
+-#endif
+         }
+ 
+         if (!m_LastLayoutIsTemp)
+@@ -2401,12 +2397,7 @@
+             break;
+ 
+         default: // default style
+-            #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-            target->SetArtProvider(new NbStyleGTK());
+-            #else
+             target->SetArtProvider(new wxAuiDefaultTabArt());
+-            #endif
+-            break;
+     }
+ 
+     target->SetTabCtrlHeight(-1);
+@@ -4801,13 +4792,9 @@
+ 
+     if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor())
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         // Execute the code to update the status bar outside of the paint event for scintilla.
+         // Executing this function directly in the event handler causes redraw problems on Windows.
+         CallAfter(&MainFrame::DoUpdateStatusBar);
+-#else
+-        DoUpdateStatusBar();
+-#endif // defined(__wxMSW__) && wxCHECK_VERSION(3, 0, 0)
+     }
+ 
+     event.Skip();
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12579)
++++ b/src/src/notebookstyles.cpp	(revision 12580)
+@@ -13,14 +13,6 @@
+ #include "prep.h"
+ #include "notebookstyles.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-    #include <wx/renderer.h>
+-#endif
+-
+ #include <wx/dc.h>
+ #include <wx/dcclient.h>
+ 
+@@ -42,15 +34,9 @@
+ {
+     NbStyleVC71* clone = new NbStyleVC71();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -75,11 +61,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 3;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 3;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -166,17 +148,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -186,21 +161,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -227,11 +193,7 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+@@ -246,15 +208,9 @@
+ {
+     NbStyleFF2* clone = new NbStyleFF2();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -272,11 +228,7 @@
+     wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+                                     page.active, close_button_state, x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 2;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 2;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -360,17 +312,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -380,21 +325,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -421,533 +357,9 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+     return s.y + 6;
+ }
+-
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+-namespace
+-{
+-
+-static GtkWidget *g_window = nullptr;
+-static GtkWidget *g_container = nullptr;
+-static GtkWidget *g_notebook = nullptr;
+-static GtkWidget *g_button = nullptr;
+-static int s_CloseIconSize = 16; // default size
+-
+-static void setup_widget_prototype(GtkWidget* widget)
+-{
+-    if (!g_window)
+-    {
+-        g_window = gtk_window_new(GTK_WINDOW_POPUP);
+-        gtk_widget_realize(g_window);
+-    }
+-    if (!g_container)
+-    {
+-        g_container = gtk_fixed_new();
+-        gtk_container_add(GTK_CONTAINER(g_window), g_container);
+-    }
+-
+-    gtk_container_add(GTK_CONTAINER(g_container), widget);
+-    gtk_widget_realize(widget);
+-}
+-
+-static GtkStyle * get_style_button()
+-{
+-    if (!g_button)
+-    {
+-        g_button = gtk_button_new();
+-        setup_widget_prototype(g_button);
+-    }
+-    return gtk_widget_get_style(g_button);
+-}
+-
+-static GtkStyle * get_style_notebook()
+-{
+-    if (!g_notebook)
+-    {
+-        g_notebook = gtk_notebook_new();
+-        setup_widget_prototype(g_notebook);
+-    }
+-    return gtk_widget_get_style(g_notebook);
+-}
+-
+-}
+-
+-NbStyleGTK::NbStyleGTK():
+-    m_Xthickness(0),
+-    m_Ythickness(0),
+-    m_TabHBorder(0),
+-    m_TabVBorder(0)
+-
+-{
+-}
+-
+-wxAuiTabArt* NbStyleGTK::Clone()
+-{
+-    NbStyleGTK* clone = new NbStyleGTK();
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    clone->SetNormalFont(m_normalFont);
+-    clone->SetSelectedFont(m_normalFont);
+-    clone->SetMeasuringFont(m_normalFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_normal_font);
+-    clone->SetMeasuringFont(m_normal_font);
+-#endif
+-
+-    return clone;
+-}
+-
+-void NbStyleGTK::DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect)
+-{
+-    GtkStyle* style_notebook = get_style_notebook();
+-    GtkNotebook* notebook = GTK_NOTEBOOK (g_notebook);
+-
+-    // if one of the parameters have changed, the height needs to be recalculated, so we force it,
+-    if(m_Xthickness  != style_notebook->xthickness ||
+-       m_Ythickness  != style_notebook->ythickness ||
+-       m_TabVBorder != notebook->tab_vborder ||
+-       m_TabHBorder != notebook->tab_hborder)
+-    {
+-        m_Xthickness  = style_notebook->xthickness;
+-        m_Ythickness  = style_notebook->ythickness;
+-        m_TabVBorder = notebook->tab_vborder;
+-        m_TabHBorder = notebook->tab_hborder;
+-        wxAuiNotebook* nb = nullptr;
+-        if(wnd)
+-             nb = (cbAuiNotebook*)wnd->GetParent();
+-        if(nb)
+-            nb->SetTabCtrlHeight(-1);
+-    }
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_style_apply_default_background(style_notebook, pWin, 1, GTK_STATE_NORMAL, nullptr,
+-                                       rect.x, rect.y, rect.width, rect.height);
+-}
+-
+-void ButtonStateAndShadow(int button_state, GtkStateType &state, GtkShadowType &shadow)
+-{
+-
+-    if (button_state & wxAUI_BUTTON_STATE_DISABLED)
+-    {
+-        state = GTK_STATE_INSENSITIVE;
+-        shadow = GTK_SHADOW_ETCHED_IN;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        state = GTK_STATE_PRELIGHT;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        state = GTK_STATE_ACTIVE;
+-        shadow = GTK_SHADOW_IN;
+-    }
+-    else
+-    {
+-        state = GTK_STATE_NORMAL;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-}
+-
+-wxRect DrawCloseButton(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GdkRectangle* clipRect)
+-{
+-    GtkStyle *style_button = get_style_button();
+-    int xthickness = style_button->xthickness;
+-    int ythickness = style_button->ythickness;
+-
+-    wxBitmap bmp;
+-    bmp.SetPixbuf(gtk_widget_render_icon(widget, GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR, "tab"));
+-
+-    if(bmp.GetWidth() != s_CloseIconSize || bmp.GetHeight() != s_CloseIconSize)
+-    {
+-        wxImage img = bmp.ConvertToImage();
+-        img.Rescale(s_CloseIconSize, s_CloseIconSize);
+-        bmp = img;
+-    }
+-
+-    int button_size = s_CloseIconSize + 2 * xthickness;
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x - ythickness;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - button_size - ythickness;
+-
+-    out_rect.y = in_rect.y + (in_rect.height - button_size) / 2;
+-    out_rect.width = button_size;
+-    out_rect.height = button_size;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-    else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_ACTIVE, GTK_SHADOW_IN, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-
+-
+-    dc.DrawBitmap(bmp, out_rect.x + xthickness, out_rect.y + ythickness, true);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
+-                             const wxRect& in_rect, int close_button_state, wxRect* out_tab_rect,
+-                             wxRect* out_button_rect, int* x_extent)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    GtkStyle *style_notebook = get_style_notebook();
+-
+-    wxRect const &window_rect = wnd->GetRect();
+-
+-    int focus_width = 0;
+-
+-    gtk_widget_style_get(g_notebook,
+-                         "focus-line-width", &focus_width,
+-                         NULL);
+-
+-    int tab_pos;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        tab_pos = wxAUI_NB_BOTTOM;
+-    else //if (m_flags & wxAUI_NB_TOP) {}
+-        tab_pos = wxAUI_NB_TOP;
+-
+-    // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+-    // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+-
+-    // figure out the size of the tab
+-    wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+-                                    page.active, close_button_state, x_extent);
+-
+-    wxRect tab_rect = in_rect;
+-    tab_rect.width = tab_size.x;
+-    tab_rect.height = tab_size.y;
+-    tab_rect.y += 2 * m_TabHBorder;
+-
+-    if (page.active)
+-        tab_rect.height += 2 * m_TabHBorder;
+-#if wxCHECK_VERSION(3, 0, 0)
+-    // if no bitmap is set, we need a tiny correction
+-    if (! page.bitmap.IsOk())
+-        tab_rect.height += 1;
+-#endif
+-
+-    int gap_rect_height = 6 * m_TabHBorder;
+-    int gap_rect_x = 1, gap_start = 0, gap_width = 0;
+-    int gap_rect_y = tab_rect.y - gap_rect_height;
+-    int gap_rect_width = window_rect.width;
+-
+-    switch (tab_pos)
+-    {
+-        case wxAUI_NB_TOP:
+-            tab_rect.y -= 2 * m_TabHBorder;
+-            if (!page.active)
+-                tab_rect.y += 2 * m_TabHBorder;
+-            gap_rect_y = tab_rect.y + tab_rect.height - m_TabHBorder / 2;
+-            // fall through
+-        case wxAUI_NB_BOTTOM:
+-            gap_start = tab_rect.x - m_TabVBorder / 2;
+-            gap_width = tab_rect.width;
+-            break;
+-        default:
+-            break;
+-    }
+-    tab_rect.y += m_TabHBorder / 2;
+-    gap_rect_y += m_TabHBorder / 2;
+-
+-    int padding = focus_width + m_TabHBorder;
+-
+-    int clip_width = tab_rect.width;
+-    if (tab_rect.x + tab_rect.width > in_rect.x + in_rect.width)
+-        clip_width = (in_rect.x + in_rect.width) - tab_rect.x;
+-
+-    dc.SetClippingRegion(tab_rect.x, tab_rect.y - m_TabVBorder, clip_width, tab_rect.height + m_TabVBorder);
+-
+-    GdkRectangle area;
+-    area.x = tab_rect.x - m_TabVBorder;
+-    area.y = tab_rect.y - 2 * m_TabHBorder;
+-    area.width = clip_width + m_TabVBorder;
+-    area.height = tab_rect.height + 2 * m_TabHBorder;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (tab_pos == wxAUI_NB_BOTTOM)
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_BOTTOM, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_TOP);
+-    }
+-    else
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_TOP, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_BOTTOM);
+-    }
+-
+-    wxCoord textX = tab_rect.x + padding + m_Xthickness;
+-
+-    int bitmap_offset = 0;
+-    if (page.bitmap.IsOk())
+-    {
+-        bitmap_offset = textX;
+-
+-        // draw bitmap
+-        int bitmapY = tab_rect.y +(tab_rect.height - page.bitmap.GetHeight()) / 2;
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                bitmapY += m_Ythickness / 2;
+-            else
+-                bitmapY -= m_Ythickness / 2;
+-        }
+-        dc.DrawBitmap(page.bitmap,
+-                      bitmap_offset,
+-                      bitmapY,
+-                      true);
+-
+-        textX += page.bitmap.GetWidth() + padding;
+-    }
+-
+-    wxCoord textW, textH, textY;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    dc.SetFont(m_normalFont);
+-#else
+-    dc.SetFont(m_normal_font);
+-#endif
+-    dc.GetTextExtent(page.caption, &textW, &textH);
+-    textY = tab_rect.y + (tab_rect.height - textH) / 2;
+-    if(!page.active)
+-    {
+-        if (tab_pos == wxAUI_NB_TOP)
+-            textY += m_Ythickness / 2;
+-        else
+-            textY -= m_Ythickness / 2;
+-    }
+-
+-    // draw tab text
+-    GdkColor text_colour = page.active ? style_notebook->fg[GTK_STATE_NORMAL] : style_notebook->fg[GTK_STATE_ACTIVE];
+-    dc.SetTextForeground(wxColor(text_colour));
+-    GdkRectangle focus_area;
+-
+-    int padding_focus = padding - focus_width;
+-    focus_area.x = tab_rect.x + padding_focus;
+-    focus_area.y = textY - focus_width;
+-    focus_area.width = tab_rect.width - 2 * padding_focus;
+-    focus_area.height = textH + 2 * focus_width;
+-
+-    if(page.active && (wnd->FindFocus() == wnd) && focus_area.x <= (area.x + area.width))
+-    {
+-        // clipping seems not to work here, so we we have to recalc the focus-area manually
+-        if((focus_area.x + focus_area.width) > (area.x + area.width))
+-            focus_area.width = area.x + area.width - focus_area.x + focus_width - m_TabVBorder;
+-        gtk_paint_focus (style_notebook, pWin,
+-                         GTK_STATE_ACTIVE, NULL, widget, "tab",
+-                         focus_area.x, focus_area.y, focus_area.width, focus_area.height);
+-    }
+-
+-    dc.DrawText(page.caption, textX, textY);
+-
+-    // draw close-button on tab (if enabled)
+-    if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+-    {
+-        wxRect rect(tab_rect.x, tab_rect.y, tab_rect.width - m_Xthickness, tab_rect.height);
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                rect.y += m_Ythickness / 2;
+-            else
+-                rect.y -= m_Ythickness / 2;
+-        }
+-        *out_button_rect = DrawCloseButton(dc, widget, close_button_state, rect, wxRIGHT, &area);
+-    }
+-
+-    tab_rect.width = std::min(tab_rect.width, clip_width);
+-    *out_tab_rect = tab_rect;
+-
+-    dc.DestroyClippingRegion();
+-}
+-
+-wxRect DrawSimpleArrow(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GtkArrowType arrow_type)
+-{
+-    int scroll_arrow_hlength, scroll_arrow_vlength;
+-    gtk_widget_style_get(widget,
+-                         "scroll-arrow-hlength", &scroll_arrow_hlength,
+-                         "scroll-arrow-vlength", &scroll_arrow_vlength,
+-                         NULL);
+-
+-    GtkStateType state;
+-    GtkShadowType shadow;
+-    ButtonStateAndShadow(button_state, state, shadow);
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - scroll_arrow_hlength;
+-    out_rect.y = (in_rect.y + in_rect.height - 3 * get_style_notebook()->ythickness - scroll_arrow_vlength) / 2;
+-    out_rect.width = scroll_arrow_hlength;
+-    out_rect.height = scroll_arrow_vlength;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_paint_arrow (get_style_button(), pWin, state, shadow, nullptr, widget, "notebook",
+-                     arrow_type, TRUE, out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawButton(wxDC& dc, wxWindow* wnd,
+-                            const wxRect& in_rect,
+-                            int bitmap_id,
+-                            int button_state,
+-                            int orientation,
+-                            wxRect* out_rect)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    wxRect rect = in_rect;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        rect.y += 2 * get_style_button()->ythickness;
+-
+-    switch (bitmap_id)
+-    {
+-        case wxAUI_BUTTON_CLOSE:
+-            rect.y -= 2 * get_style_button()->ythickness;
+-            rect = DrawCloseButton(dc, widget, button_state, rect, orientation, NULL);
+-            break;
+-
+-        case wxAUI_BUTTON_LEFT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_LEFT);
+-            break;
+-
+-        case wxAUI_BUTTON_RIGHT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_RIGHT);
+-            break;
+-
+-        case wxAUI_BUTTON_WINDOWLIST:
+-            {
+-                rect.height -= 4 * get_style_button()->ythickness;
+-                rect.width = rect.height;
+-                rect.x = in_rect.x + in_rect.width - rect.width;
+-
+-                if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_CURRENT);
+-                else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_PRESSED);
+-                else
+-                    wxRendererNative::Get().DrawDropArrow(wnd, dc, rect);
+-            }
+-            break;
+-
+-        default:
+-            break;
+-    }
+-
+-    *out_rect = rect;
+-}
+-
+-
+-int NbStyleGTK::GetBestTabCtrlSize(wxWindow* wnd,
+-                                   const wxAuiNotebookPageArray& pages,
+-                                   const wxSize& required_bmp_size)
+-{
+-#if wxCHECK_VERSION(3, 0, 0)
+-    SetMeasuringFont(m_normalFont);
+-    SetSelectedFont(m_normalFont);
+-#else
+-    SetMeasuringFont(m_normal_font);
+-    SetSelectedFont(m_normal_font);
+-#endif
+-    int tab_height = 3 * get_style_notebook()->ythickness + wxAuiDefaultTabArt::GetBestTabCtrlSize(wnd, pages, required_bmp_size);
+-    return tab_height;
+-}
+-
+-wxSize NbStyleGTK::GetTabSize(wxDC& dc,
+-                              wxWindow* wnd,
+-                              const wxString& caption,
+-                              const wxBitmap& bitmap,
+-                              bool active,
+-                              int close_button_state,
+-                              int* x_extent)
+-{
+-    wxSize s = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
+-
+-    int overlap = 0;
+-    gtk_widget_style_get (wnd->GetHandle(),
+-        "focus-line-width", &overlap,
+-        NULL);
+-    *x_extent -= overlap;
+-    return s;
+-}
+-
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+Index: src/src/projectmanagerui.cpp
+===================================================================
+--- a/src/src/projectmanagerui.cpp	(revision 12579)
++++ b/src/src/projectmanagerui.cpp	(revision 12580)
+@@ -1875,11 +1875,7 @@
+ {
+     size_t operator()(const wxString& s) const
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         return std::hash<std::wstring>()(s.ToStdWstring());
+-#else
+-        return std::hash<std::wstring>()(s.wc_str());
+-#endif // wxCHECK_VERSION
+     }
+ };
+ 
diff --git a/srcpkgs/codeblocks/patches/000.r12707.patch b/srcpkgs/codeblocks/patches/000.r12707.patch
new file mode 100644
index 0000000000000..bca974fbe5770
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12707.patch
@@ -0,0 +1,120 @@
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12706)
++++ b/src/src/notebookstyles.cpp	(revision 12707)
+@@ -124,8 +124,16 @@
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -132,6 +140,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -161,13 +170,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
+@@ -285,11 +304,20 @@
+     int text_offset = tab_x + 8;
+ 
+     int bitmap_offset = 0;
++
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -296,6 +324,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -303,7 +332,6 @@
+         text_offset = tab_x + 8;
+     }
+ 
+-
+     // if the caption is empty, measure some temporary text
+     wxString caption = page.caption;
+     if (caption.empty())
+@@ -325,13 +353,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
diff --git a/srcpkgs/codeblocks/patches/wx-3.2.patch b/srcpkgs/codeblocks/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..0400ce6346178
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/wx-3.2.patch
@@ -0,0 +1,21 @@
+Index: codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+===================================================================
+--- codeblocks-20.03.orig/src/sdk/scripting/bindings/sc_wxtypes.cpp
++++ codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+@@ -322,6 +322,7 @@ namespace ScriptBindings
+         typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
+         typedef bool(wxFileName::*WXFN_ISFILEWRITEABLE)()const;
++        typedef bool(wxFileName::*WXFN_NORMALIZE)(int, const wxString&, wxPathFormat);
+ 
+         SqPlus::SQClassDef<wxFileName>("wxFileName").
+                 emptyCtor().
+@@ -354,7 +355,7 @@ namespace ScriptBindings
+                 func(&wxFileName::IsDir, "IsDir").
+                 func(&wxFileName::MakeAbsolute, "MakeAbsolute").
+                 func(&wxFileName::MakeRelativeTo, "MakeRelativeTo").
+-                func(&wxFileName::Normalize, "Normalize").
++                func<WXFN_NORMALIZE>(&wxFileName::Normalize, "Normalize").
+                 func(&wxFileName::PrependDir, "PrependDir").
+                 func(&wxFileName::RemoveDir, "RemoveDir").
+                 func(&wxFileName::RemoveLastDir, "RemoveLastDir").
diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..d002a27408726 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr
@@ -17,6 +17,8 @@ homepage="http://www.codeblocks.org"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/Sources/${version}/${pkgname}-${version}.tar.xz"
 checksum=15eeb3e28aea054e1f38b0c7f4671b4d4d1116fd05f63c07aa95a91db89eaac5
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vinstall debian/codeblocks.sharedmime 644 /usr/share/mime/packages codeblocks.xml
 	vinstall src/mime/codeblocks.desktop 644 /usr/share/applications

From afbcb6af3d7902c65dfcc09eaa29c4c9a50a4caa Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/43] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   4 +-
 2 files changed, 134 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..f8206426888fd 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
@@ -32,6 +32,8 @@ case "$XBPS_TARGET_MACHINE" in
 	x86_64*|ppc64le*|aarch64*|arm*) build_options_default+=" lldb";;
 esac
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_extract() {
 	mv codelite-${version}/* .
 	rm -rf universal-ctags

From 1c6c1cfa5fd6bcb5bb4ac4165cb1204017a9c05d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/43] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..68d69808ad442 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"
@@ -13,3 +13,5 @@ homepage="https://vslavik.github.io/diff-pdf/"
 changelog="https://github.com/vslavik/diff-pdf/releases"
 distfiles="https://github.com/vslavik/diff-pdf/releases/download/v${version}/diff-pdf-${version}.tar.gz"
 checksum=017d52cb7ddabdbf63c6a47f39b2e5a1790022b95295b0d047817904e093245c
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From acc61dd8888955fc00be1eb38ae6bb2a691a08f0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/43] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From 51f200fe7d4c60047d7c74c63e399aee2d142879 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/43] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..ec52592f23d16 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"
@@ -24,3 +24,5 @@ fi
 case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*)  CFLAGS="-msse2";;
 esac
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 63bd39d301dcf07548fff12e421439388d68c027 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/43] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..c4d9dcb2a894c 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"
@@ -21,6 +21,8 @@ fi
 
 alternatives="gnuplot:gnuplot:/usr/bin/gnuplot-x11"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	# fix fonts location
 	sed -i \

From 37258f7775a27f0f0f97a6a7ef7f9693639a741d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/43] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..da36377ced1fb 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4
@@ -17,7 +17,7 @@ homepage="http://golly.sourceforge.net/"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}-src.tar.gz"
 checksum=6c655a6ce2fd75c6ae7289da39d084162c6ed887a01c21c3760872e3ff6d60c8
 
-CXXFLAGS="-I../gollybase"
+CXXFLAGS="-I../gollybase -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_extract() {
 	# POSIX name clash

From 961426f0a444aa007693cb27704b0bba4d7fec03 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/43] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..4d81e348351d3 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"
@@ -20,6 +20,8 @@ distfiles="${SOURCEFORGE_SITE}/hugin/hugin/hugin-${version%.*}/hugin-${version}.
 checksum=97c8562a0ba9a743e0b955a43dfde048b1c60cd9e5f2ee2b69de1a81646e05a7
 python_version=3
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" python3"
 else

From ff1211d65fad85dccfd20bff3e987bf0cbd8cc55 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/43] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..d356a1ab5ec66 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"
@@ -14,6 +14,8 @@ distfiles="https://mediaarea.net/download/source/${pkgname}/${version}/${pkgname
 checksum=932b82739f738e7db603cf5bb170720731a9e7c61d145c2a54aabb3cd0b753bc
 replaces="mediainfo-gui>=0"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 do_configure() {
 	for d in CLI GUI; do
 		cd $wrksrc/Project/GNU/$d

From c4bb2dd9b0ab17e41da7c4dbc4f2064e2fd9f6e3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/43] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..d0b059026da34 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
@@ -14,6 +14,8 @@ homepage="http://openbabel.org"
 distfiles="https://github.com/openbabel/openbabel/archive/openbabel-${_ver}.tar.gz"
 checksum=c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 openbabel-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"

From 57dcf09bb0460dc356b60fbf92943e041320e302 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 29/43] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..99d86feeb215f 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files
@@ -16,6 +16,8 @@ homepage="https://pwsafe.org"
 distfiles="https://github.com/pwsafe/pwsafe/archive/${version}.tar.gz"
 checksum=6215f7b052480f03276b3ea590b9cdd23180db8d5d4a19185f3df7b6ddba11f8
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 if [ "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DNO_GTEST=OFF"
 else

From 4b41b6c6d4df2303e831f7fb97cab2a0f73750d0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/43] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..a78feade69415 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"
@@ -17,6 +17,7 @@ distfiles="https://github.com/vslavik/poedit/releases/download/v${version}-oss/p
 checksum=e64139dd4beac1b8ea468d351b2b4bdae8ecbc6f4ca5d1ee1c73832036fff097
 
 CPPFLAGS="-DUCHAR_TYPE=uint16_t -Wno-deprecated-copy"
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" wxWidgets-common-devel"

From acbbb936a408f2fbc0d73b0eefecd93735dfff42 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/43] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..3061e1732c599 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"
@@ -13,6 +13,8 @@ homepage="https://github.com/withmorten/spek-alternative"
 distfiles="https://github.com/withmorten/spek-alternative/archive/${version}.tar.gz"
 checksum="007ba4b84a310b078e378aa84c8e80783db5821437a757a488c3ecec377e6b2a"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 # Tell autogen.sh to use "wx-config-gtk3" instead of "wx-config"
 export WX_CONFIG_NAME="wx-config-gtk3"
 

From 8d3319c590f1a9eabad94c46c2fcc7498f8dc590 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/43] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..316d4a91c8f14 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"
@@ -14,6 +14,8 @@ homepage="https://www.arrl.org/tqsl-download"
 distfiles="https://www.arrl.org/tqsl/tqsl-${version}.tar.gz"
 checksum=5063cca759806ab1d6b8b6d9bb6c16a6380275ff192a3d0cc24aa9df6539ffcc
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vlicense LICENSE.txt
 	vinstall apps/tqsl.desktop 644 usr/share/applications

From 8ef8e3ada0326a9f2c4167f8e37501ddbb0eaa3e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/43] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..8e58cd4701a1a 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"
@@ -12,6 +12,8 @@ homepage="http://strlen.com/treesheets/"
 distfiles="https://github.com/aardappel/treesheets/archive/v${version}.tar.gz"
 checksum=84eb82f122bc7be3ded399d2511536128911477a4a69c51b26b856de2160405f
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 do_install() {
 	vmkdir usr/lib/${pkgname}
 

From 1805d17bc9c0a8129ee52a622de76c35d925bc1e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/43] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..9c71cefe3f8dd 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"
@@ -15,3 +15,5 @@ license="GPL-2.0-or-later"
 homepage="https://github.com/visualboyadvance-m/visualboyadvance-m/"
 distfiles="https://github.com/visualboyadvance-m/visualboyadvance-m/archive/v${version}.tar.gz"
 checksum=f7d0815a65677f794ee68892c9566254023af641c72f9e06b4230b6c61790743
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From b6087415f9004ee84b3ae1b326f44e4b40c3ba94 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/43] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5f116a336b61e 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
@@ -21,6 +21,8 @@ case "${XBPS_TARGET_MACHINE}" in
 	i686*) depends+=" grub-i386-efi"; makedepends+=" grub-i386-efi" ;;
 esac
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_configure() {
 	sed -i Makefile src/Makefile \
 		-e"s;^\(CXXFLAGS *=\)\(.*\);\1 ${CXXFLAGS} \2;"

From be41ec7a35d2151254e81b519f52f71b2c4d2f35 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 36/43] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..749e481dd8fe3 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"
@@ -15,6 +15,8 @@ distfiles="https://github.com/wxMaxima-developers/wxmaxima/archive/Version-${ver
 checksum=d47ca52e40491ea3c4ea7bea126f4da4d0b535702126abef0c172f69ba58e17d
 nocross="clisp is nocross"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	# remove unpackaged files
 	rm -f ${DESTDIR}/usr/share/wxMaxima/{COPYING,README}

From 51f84bf36bc52e02a823686e44ba986818ff0199 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/43] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..66b8156e431ec 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"
@@ -13,6 +13,8 @@ homepage="https://github.com/rzvncj/xCHM"
 distfiles="https://github.com/rzvncj/xCHM/releases/download/${version}/xchm-${version}.tar.gz"
 checksum=b07971ddb02992da462060fb638c051318f389aef822485646aa7fbe245a0d93
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	autoreconf -fi
 }

From 0e26650604aa4982becb37d2124667b7aa4f6c60 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 38/43] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From 1aedec3e47c0351e1f4e539e2f96f970dea92993 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 39/43] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From afa435b07aadfeb5acd4fcdf307ae4df5650165b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 40/43] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..4b38200ffde6f 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,9 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 94e5377b9f384a291838625fad1fc97d9dbabb09 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 41/43] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From c7a5fb81f2d774e849c8fa082eae20aee07e8223 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 42/43] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From 99bab9eb93616ea67f21f6baab829e2912b7faff Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 43/43] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWidgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (24 preceding siblings ...)
  2023-09-25 23:53 ` ahesford
@ 2023-09-26  3:48 ` ahesford
  2023-09-26  3:50 ` ahesford
                   ` (2 subsequent siblings)
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-26  3:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1018 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWidgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

closes #44849 

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 154532 bytes --]

From 2eae1755a439e57b81b5d96287b85a4c298343a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/43] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From 01b8c33651ddc6b6805af867821ee923806f4695 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/43] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 4ad4ee431144f1c24ebfdfdb4cfafc4e17622546 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 03/43] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From c6d1e5724f7e680fd68fdf7b87cbfc84a4dc9f09 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 04/43] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 9c2060bc45a67..da7f2739dc5ed 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 92eb2ca56896011d58debd03fd4422cd172a90bb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 05/43] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 ++++-----
 .../wxWidgets-gtk3/files/musl-locale-l.patch  | 34 ++++++++++
 .../patches/invalid-header-syntax.patch       | 16 +++++
 .../wxWidgets-gtk3/patches/largefile.patch    | 16 +++++
 .../patches/no-cross-suffix.patch             | 18 +++++
 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch | 45 +++++++++++++
 .../patches/nonfatal-abi-check.patch          | 21 +++---
 .../wxWidgets-gtk3/patches/wx-config.patch    | 56 ++++++++++++++++
 srcpkgs/wxWidgets-gtk3/template               | 65 +++++++++++--------
 srcpkgs/wxWidgets-gtk3/update                 |  4 +-
 10 files changed, 252 insertions(+), 55 deletions(-)
 create mode 100644 srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/largefile.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/wx-config.patch

diff --git a/common/shlibs b/common/shlibs
index da7f2739dc5ed..85ead20844ecc 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
new file mode 100644
index 0000000000000..dc5f1df6a2502
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
@@ -0,0 +1,34 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/musl-locale-l.patch
+
+these macro'd away functions don't exist in musl (yet)
+diff --git a/include/wx/xlocale.h b/include/wx/xlocale.h
+index c433d25..794cf0b 100644
+--- a/include/wx/xlocale.h
++++ b/include/wx/xlocale.h
+@@ -33,6 +33,26 @@
+ #include "wx/crt.h"     // Includes wx/chartype.h, wx/wxcrt.h(wx/string.h)
+ #include "wx/intl.h"    // wxLanguage
+ 
++#ifndef strtol_l
++#define strtol_l(s, p, base, l) strtol(s, p, base)
++#endif
++
++#ifndef strtoul_l
++#define strtoul_l(s, p, base, l) strtoul(s, p, base)
++#endif
++
++#ifndef wcstod_l
++#define wcstod_l(s, p, l) wcstod(s, p)
++#endif
++
++#ifndef wcstol_l
++#define wcstol_l(s, p, base, l) wcstol(s, p, base)
++#endif
++
++#ifndef wcstoul_l
++#define wcstoul_l(s, p, base, l) wcstoul(s, p, base)
++#endif
++
+ // The platform-specific locale type
+ // If wxXLocale_t is not defined, then only "C" locale support is provided
+ #ifdef wxHAS_XLOCALE_SUPPORT
diff --git a/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
new file mode 100644
index 0000000000000..fd4fc4ceca1aa
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/invalid-header-syntax.patch
+
+diff --git a/include/wx/matrix.h b/include/wx/matrix.h
+index 3b3225d..e77fb1a 100644
+--- a/include/wx/matrix.h
++++ b/include/wx/matrix.h
+@@ -37,8 +37,8 @@
+ //  at a certain coordinate and angle within another parent picture.
+ //  At all times m_isIdentity is set if the matrix itself is an Identity matrix.
+ //  It is used where possible to optimize calculations.
+-class
+ wxDEPRECATED_EXPORT_CORE("use wxAffineMatrix2D instead")
++class
+ wxTransformMatrix: public wxObject
+ {
+ public:
diff --git a/srcpkgs/wxWidgets-gtk3/patches/largefile.patch b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
new file mode 100644
index 0000000000000..9e5a81b31b94d
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/largefile.patch
+
+nothing sets this to 0, but for some reason it gets undef'd
+diff --git a/build/cmake/setup.h.in b/build/cmake/setup.h.in
+index e4c9e83..e9ef8dc 100644
+--- a/build/cmake/setup.h.in
++++ b/build/cmake/setup.h.in
+@@ -867,7 +867,7 @@
+ /*
+  * Define if large (64 bit file offsets) files are supported.
+  */
+-#cmakedefine HAVE_LARGEFILE_SUPPORT 1
++#define HAVE_LARGEFILE_SUPPORT 1
+ 
+ /*
+  * Use OpenGL
diff --git a/srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch b/srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch
new file mode 100644
index 0000000000000..443221d3d1895
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch
@@ -0,0 +1,18 @@
+Cross-compiled libraries get a suffix naming the system by default, but this
+causes deviation from native-built libraries and should be disabled.
+
+--- a/build/cmake/functions.cmake
++++ b/build/cmake/functions.cmake
+@@ -219,9 +219,9 @@
+     endif()
+ 
+     set(cross_target)
+-    if (CMAKE_CROSSCOMPILING)
+-        set(cross_target "-${CMAKE_SYSTEM_NAME}")
+-    endif()
++    #if (CMAKE_CROSSCOMPILING)
++    #    set(cross_target "-${CMAKE_SYSTEM_NAME}")
++    #endif()
+ 
+     set(lib_prefix "lib")
+     if(MSVC OR (WIN32 AND wxBUILD_SHARED))
diff --git a/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
new file mode 100644
index 0000000000000..1303dd6074004
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
@@ -0,0 +1,45 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/no-glvnd.patch
+
+find_package(OpenGL) only works with glvnd and hardcodes glvnd paths, even
+though all these components are easily found with pkgconfig..
+diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
+index ef28c99..b4df830 100644
+--- a/build/cmake/init.cmake
++++ b/build/cmake/init.cmake
+@@ -408,17 +408,26 @@ if(wxUSE_GUI)
+             set(OPENGL_FOUND TRUE)
+             set(OPENGL_LIBRARIES "-framework OpenGLES" "-framework QuartzCore" "-framework GLKit")
+         else()
+-            find_package(OpenGL)
+-            if(OPENGL_FOUND)
+-                foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
+-                    if(TARGET ${gltarget})
+-                        set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
+-                    endif()
+-                endforeach()
+-            endif()
+-            if(WXGTK3 AND OpenGL_EGL_FOUND AND wxUSE_GLCANVAS_EGL)
++            # find_package(OpenGL)
++            # if(OPENGL_FOUND)
++            #     foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
++            #         if(TARGET ${gltarget})
++            #             set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
++            #         endif()
++            #     endforeach()
++            # endif()
++            find_package(PkgConfig REQUIRED)
++            pkg_check_modules(GLU REQUIRED glu IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GLU ALIAS PkgConfig::GLU)
++            pkg_check_modules(GL REQUIRED gl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GL ALIAS PkgConfig::GL)
++            pkg_check_modules(EGL REQUIRED egl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::EGL ALIAS PkgConfig::EGL)
++            set(OPENGL_FOUND TRUE)
++            set(OpenGL_EGL_FOUND TRUE)
++            if(WXGTK3 AND wxUSE_GLCANVAS_EGL)
+                 if(TARGET OpenGL::EGL)
+-                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES})
++                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES} GL)
+                 endif()
+                 set(OPENGL_INCLUDE_DIR ${OPENGL_INCLUDE_DIR} ${OPENGL_EGL_INCLUDE_DIRS})
+                 find_package(WAYLANDEGL)
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/patches/wx-config.patch b/srcpkgs/wxWidgets-gtk3/patches/wx-config.patch
new file mode 100644
index 0000000000000..b29ab0051f3c1
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/wx-config.patch
@@ -0,0 +1,56 @@
+Fix some of the automatically populated fields, which will generally be
+incorrect in xbps-src cross-compilation environments.
+
+--- ./wx-config.in
++++ ./wx-config.in
+@@ -268,7 +268,9 @@
+     --help|-h)
+         usage
+         ;;
+-
++    --host=*)
++        continue
++        ;;
+     --*=*)
+         _name=`option_name $arg`
+         _value=`option_value $arg`
+@@ -398,13 +400,13 @@
+ }
+ 
+ # Returns true if this script is for a cross compiled config.
+-is_cross()  { [ "x@cross_compiling@" = "xyes" ]; }
++is_cross()  { false; }
+ 
+ 
+ # Determine the base directories we require.
+ prefix=${input_option_prefix-${this_prefix:-@prefix@}}
+ exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:-@exec_prefix@}}}
+-wxconfdir="@libdir@/wx/config"
++wxconfdir="${exec_prefix}/lib/wx/config"
+ 
+ installed_configs=`cd "$wxconfdir" 2> /dev/null && ls | grep -v "^inplace-"`
+ 
+@@ -940,8 +942,8 @@
+ exec_prefix=${this_exec_prefix-$exec_prefix}
+ 
+ includedir="@includedir@"
+-libdir="@libdir@"
+-bindir="@bindir@"
++libdir="${exec_prefix}/lib"
++bindir="${exec_prefix}/bin"
+ 
+ # Trivial queries we can answer now.
+ [ -z "$output_option_prefix"        ] || echo $prefix
+@@ -950,9 +952,9 @@
+ [ -z "$output_option_version"       ] || echo "@WX_VERSION@"
+ [ -z "$output_option_version_full"  ] || echo "@WX_SUBVERSION@"
+ [ -z "$output_option_basename"      ] || echo "@WX_LIBRARY_BASENAME_GUI@"
+-[ -z "$output_option_cc"            ] || echo "@CC@"
+-[ -z "$output_option_cxx"           ] || echo "@CXX@"
+-[ -z "$output_option_ld"            ] || echo "@CXX@ -o"
++[ -z "$output_option_cc"            ] || echo "${bindir}/gcc"
++[ -z "$output_option_cxx"           ] || echo "${bindir}/g++"
++[ -z "$output_option_ld"            ] || echo "${bindir}/g++ -o"
+ [ -z "$flag_option_selected_config" ] || echo "$this_config"
+ 
+ for q in $query_options; do
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..5b27653477ffb 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,51 +1,62 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+version=3.2.2.1
+revision=1
+build_style=cmake
+cmake_builddir="build-gtk3"
+configure_args="-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_OPENGL=ON -DwxUSE_LIBMSPACK=ON
+ -DwxUSE_GTKPRINT=ON -DwxUSE_UNICODE=ON -DwxUSE_MEDIACTRL=ON
+ -DwxUSE_PRIVATE_FONTS=ON -DwxUSE_REGEX=sys -DwxUSE_ZLIB=sys -DwxUSE_EXPAT=sys
+ -DwxUSE_LIBJPEG=sys -DwxUSE_LIBPNG=sys -DwxUSE_LIBTIFF=sys -DwxUSE_LIBLZMA=sys
+ -DwxUSE_LIBNOTIFY=sys -DwxUSE_LIBSDL=sys"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
+
+CXXFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+
+post_patch() {
+	if [ "${XBPS_TARGET_LIBC}" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/musl-locale-l.patch"
+	fi
+}
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
-	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
-	#   - mark this build as native build
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	if [ "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
+		# Remove $XBPS_CROSS_TRIPLET from cmake helper...
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			${DESTDIR}/usr/lib/cmake/wxWidgets/wxWidgetsTargets.cmake
 
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
+		# ...and the output of the wx-config utility
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
 			${DESTDIR}/usr/lib/wx/config/${_config}
 	fi
+
+	# Remove generic wx-config, link to toolkit-specific version
 	rm -f ${DESTDIR}/usr/bin/wx-config
 	ln -sf ../lib/wx/config/${_config} ${DESTDIR}/usr/bin/wx-config-gtk3
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross().*/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		$DESTDIR/usr/lib/wx/config/${_config}
+
+	# Make sure to install the autotools macro, CMake does not
+	vmkdir usr/share/aclocal
+	vinstall wxwin.m4 644 usr/share/aclocal
 }
 
 wxWidgets-common_package() {
 	short_desc+=" - common files"
 	pkg_install() {
 		vmove "usr/lib/libwx_baseu*.so.*"
-		vmove usr/share
 		vlicense docs/licendoc.txt
 		vlicense docs/licence.txt
 	}
@@ -58,6 +69,7 @@ wxWidgets-common-devel_package() {
 		vmove "usr/bin/wxrc*"
 		vmove "usr/lib/libwx_baseu*.so"
 		vmove usr/include
+		vmove usr/share/aclocal
 	}
 }
 
@@ -68,5 +80,6 @@ wxWidgets-gtk3-devel_package() {
 		vmove usr/bin
 		vmove "usr/lib/*.so"
 		vmove usr/lib/wx
+		vmove usr/lib/cmake
 	}
 }
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 0536dc6750628cec956e192239dbd7d84180e24c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 06/43] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/wxPython/files/no-stacktrace.patch    | 15 +++
 srcpkgs/{wxPython4 => wxPython}/template      | 32 ++++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 9 files changed, 36 insertions(+), 212 deletions(-)
 create mode 100644 srcpkgs/wxPython/files/no-stacktrace.patch
 rename srcpkgs/{wxPython4 => wxPython}/template (68%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython/files/no-stacktrace.patch b/srcpkgs/wxPython/files/no-stacktrace.patch
new file mode 100644
index 0000000000000..e64548bea8c17
--- /dev/null
+++ b/srcpkgs/wxPython/files/no-stacktrace.patch
@@ -0,0 +1,15 @@
+Taken from Alpine:
+
+https://git.alpinelinux.org/aports/plain/community/py3-wxpython/no-stacktrace.patch
+
+--- a/sip/cpp/sip_corewxAppTraits.cpp
++++ b/sip/cpp/sip_corewxAppTraits.cpp
+@@ -471,7 +471,7 @@
+             PyErr_Clear();
+ 
+             Py_BEGIN_ALLOW_THREADS
+-            sipRes = new  ::wxString((sipSelfWasArg ? sipCpp-> ::wxAppTraits::GetAssertStackTrace() : sipCpp->GetAssertStackTrace()));
++            sipRes = new  ::wxString("");
+             Py_END_ALLOW_THREADS
+ 
+             if (PyErr_Occurred())
diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 68%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..815ee0382cb59 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,23 +9,25 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
+post_patch() {
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/no-stacktrace.patch"
+	fi
 }
 
 pre_build() {
@@ -48,3 +50,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From 3f1906f2cc04d0f6896b1f8b19aae9d3af1f5f44 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 25 Sep 2023 13:46:55 -0400
Subject: [PATCH 07/43] dispcalGUI: replace with DisplayCAL 3.9.11

---
 srcpkgs/DisplayCAL/template            | 26 ++++++++++++++++++++
 srcpkgs/dispcalGUI                     |  1 +
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 5 files changed, 27 insertions(+), 59 deletions(-)
 create mode 100644 srcpkgs/DisplayCAL/template
 create mode 120000 srcpkgs/dispcalGUI
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/DisplayCAL/template b/srcpkgs/DisplayCAL/template
new file mode 100644
index 0000000000000..784674c5263ae
--- /dev/null
+++ b/srcpkgs/DisplayCAL/template
@@ -0,0 +1,26 @@
+# Template file for 'DisplayCAL'
+pkgname=DisplayCAL
+version=3.9.11
+revision=1
+build_style=python3-module
+hostmakedepends="python3"
+makedepends="python3-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
+depends="python3-dbus python3-numpy python3-distro python3-send2trash wxPython
+ argyllcms"
+short_desc="Display Calibration and Characterization"
+maintainer="lemmi <lemmi@nerd2nerd.org>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/eoyilmaz/displaycal-py3"
+distfiles="https://github.com/eoyilmaz/displaycal-py3/archive/refs/tags/${version}.tar.gz"
+checksum=7769d19551c228d797fd98cb2469730cee84ff27bd0bf5d0463e191753921a5e
+
+pre_configure() {
+	vsed -i misc/displaycal-vrml-to-x3d-converter.desktop \
+		-e 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|'
+}
+
+dispcalGUI_package() {
+	build_style=meta
+	short_desc+=" (transitional dummy package)"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/dispcalGUI b/srcpkgs/dispcalGUI
new file mode 120000
index 0000000000000..7b2ae7fe8eb1e
--- /dev/null
+++ b/srcpkgs/dispcalGUI
@@ -0,0 +1 @@
+DisplayCAL
\ No newline at end of file
diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"

From 9e7b0c3d9b42562405433ba3e4d6a848d71f537d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/43] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From a9353cd8c650b5c15b7a5ea2b752de849b906209 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/43] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..fdd36c53a94a3 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"
@@ -26,6 +26,8 @@ build_options_default="fftw"
 desc_option_fftw="Enable support for rendering of audio waveforms/spectrum"
 desc_option_openal="Enable support for openal"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_build() {
 	export FORCE_GIT_VERSION="$version"
 }

From 48da52ee44bf218ae0d0ed4abb2500b4c1ca67b7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/43] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..1608a9c95f7b4 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)
@@ -22,3 +22,5 @@ build_options_default="alsa pulseaudio"
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DOTHER_LIBRARIES=atomic"
 fi
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 1026ed7dc5dcac255cf559d174f1758156455eb5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/43] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..c9db493cc55e1 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"
@@ -17,7 +17,8 @@ distfiles="https://github.com/codereader/DarkRadiant/archive/${version}.tar.gz"
 checksum=7b9ccd6de65d7e55f6aad5e1f9a2f49600c6a0d9d70e67bda2e625cd721b5635
 
 CXXFLAGS="-I${XBPS_CROSS_BASE}/usr/lib/wx/include/gtk3-unicode-3.0"
-CXXFLAGS="$CXXFLAGS -I${XBPS_CROSS_BASE}/${py3_sitelib}/pybind11/include"
+CXXFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/pybind11/include"
+CXXFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_extract() {
 	rm -rf libs/pybind

From b188811dd09e44d73da6b271719190bd25c90a51 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/43] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..27a6f1c514a0b 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="
@@ -45,6 +45,8 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default="octave"
 fi
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vinstall udev-rules/64-limesuite.rules 644 usr/lib/udev/rules.d
 

From 0e864af183c2e7aea21efc97c0d901e9632133d8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/43] OpenCPN: update to 5.8.4.

---
 .../OpenCPN/patches/actually-set-arch.patch   | 28 ----------
 srcpkgs/OpenCPN/patches/musl.patch            | 55 ++++++++++---------
 srcpkgs/OpenCPN/template                      | 14 +++--
 3 files changed, 38 insertions(+), 59 deletions(-)
 delete mode 100644 srcpkgs/OpenCPN/patches/actually-set-arch.patch

diff --git a/srcpkgs/OpenCPN/patches/actually-set-arch.patch b/srcpkgs/OpenCPN/patches/actually-set-arch.patch
deleted file mode 100644
index d152c40928867..0000000000000
--- a/srcpkgs/OpenCPN/patches/actually-set-arch.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-+++ b/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-@@ -14,6 +14,25 @@
-     # default
-     set (ARCH "i386")
-     set (LIB_INSTALL_DIR "lib")
-+    IF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "aarch64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "armhf")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc*" OR CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "ppc64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "powerpc")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "x86_64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "i386")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-     if (EXISTS /etc/debian_version)
-       set (PACKAGE_FORMAT "DEB")
-       set (PACKAGE_RECS "xcalib,xdg-utils")
diff --git a/srcpkgs/OpenCPN/patches/musl.patch b/srcpkgs/OpenCPN/patches/musl.patch
index 75923e019b2bc..517186873d0d7 100644
--- a/srcpkgs/OpenCPN/patches/musl.patch
+++ b/srcpkgs/OpenCPN/patches/musl.patch
@@ -1,30 +1,35 @@
---- a/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-@@ -20,9 +20,7 @@
- #define WIN32_LEAN_AND_MEAN
- #include <winsock2.h>
- #else
--    #ifndef __WXOSX__
--        #include <error.h>
--    #else    
-+    #ifdef __WXOSX__
-         #include <mach/error.h> 
- #endif
+https://git.alpinelinux.org/aports/plain/community/opencpn/gcc12.patch
+
+diff --git a/include/zeroconf-detail.hpp b/include/zeroconf-detail.hpp
+index 60ae125..3e7607a 100644
+--- a/include/zeroconf-detail.hpp
++++ b/include/zeroconf-detail.hpp
+@@ -11,6 +11,9 @@
+ #include <vector>
+ #include <memory>
+ #include <chrono>
++#include <ctime>
++
++#include <sys/select.h>
  
-@@ -424,4 +422,4 @@
-     }
- }
+ #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
+ #define WIN32
+@@ -385,4 +388,4 @@ inline bool Resolve(const std::string& serviceName, time_t scanTime,
+ }  // namespace Detail
+ }  // namespace Zeroconf
  
--#endif // ZEROCONF_DETAIL_HPP
+-#endif  // ZEROCONF_DETAIL_HPP
 \ No newline at end of file
-+#endif // ZEROCONF_DETAIL_HPP
---- a/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-@@ -27,6 +27,7 @@
- #include <string.h>
- #include <unistd.h>
- #include <sys/socket.h>
-+#include <sys/time.h>
- #include <netinet/in.h>
++#endif  // ZEROCONF_DETAIL_HPP
+diff --git a/src/mDNS_service.cpp b/src/mDNS_service.cpp
+index c8c7877..3fbd7ea 100644
+--- a/src/mDNS_service.cpp
++++ b/src/mDNS_service.cpp
+@@ -35,6 +35,7 @@
  #endif
  
+ #include <stdio.h>
++#include <sys/select.h>
+ 
+ #include <errno.h>
+ #include <signal.h>
diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..15ccc449812e3 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
-version=5.2.0
-revision=2
+version=5.8.4
+revision=1
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
@@ -10,16 +10,17 @@ configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
  -DOCPN_USE_BUNDLED_LIBS=OFF"
 hostmakedepends="gettext pkg-config"
 makedepends="gtk+3-devel libcurl-devel portaudio-devel tinyxml-devel
- wxWidgets-gtk3-devel $(vopt_if exif 'libexif-devel') glu-devel
- $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel') $(vopt_if lzma 'liblzma-devel')"
+ wxWidgets-gtk3-devel glu-devel glew-devel rapidjson gtest-devel
+ $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel')
+ $(vopt_if exif 'libexif-devel') $(vopt_if lzma 'liblzma-devel')"
 depends="gpsd hicolor-icon-theme OpenCPN-tcdata-${version}_${revision}
  OpenCPN-gshhs-crude"
 short_desc="Concise ChartPlotter/Navigator"
 maintainer="John <me@johnnynator.dev>"
 license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, MIT, WxWindows-exception-3.1, JasPer-2.0, BSD-3-Clause, SGI-B-2.0"
 homepage="https://opencpn.org/"
-distfiles="https://github.com/OpenCPN/OpenCPN/archive/v${version}.tar.gz"
-checksum=f6ec38989bc38f5a7f63234c5e0230adeb73f5626b4e3d3dfa680f0c240badc7
+distfiles="https://github.com/OpenCPN/OpenCPN/archive/Release_${version}.tar.gz"
+checksum=7552726e5afce5eb401e307beedd8f3aa2c66725602fc27ab3ad1845f40b87a0
 
 build_options="lzma libarchive exif crashreport"
 build_options_default="lzma libarchive exif"
@@ -34,6 +35,7 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 CFLAGS="-fcommon"
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_install() {
 	vlicense libs/glshim/LICENSE LICENSE.glshim

From cc60b8d9635559295d44e5392d4099ddb798ca7d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/43] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..c28c2d707c229 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower
@@ -19,6 +19,8 @@ homepage="https://www.prusa3d.com/prusaslicer/"
 distfiles="https://github.com/prusa3d/Prusaslicer/archive/version_${version}.tar.gz"
 checksum=e58278067b9d49a42dc9bb02b74307b3cb365bb737f28e246ca8c6f466095d6b
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_extract() {
 	# Mark tests that fail on certain targets
 	case "$XBPS_TARGET_MACHINE" in

From 1e38e1b92848694b8149d57795d7e507c7067584 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/43] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..8c2ea6e40cc5c 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"
@@ -16,6 +16,8 @@ changelog="https://github.com/sirjuddington/SLADE/releases/tag/${version}"
 distfiles="https://github.com/sirjuddington/SLADE/archive/${version}.tar.gz"
 checksum=c327fa62ba491ac481d769700261d810128910007297fd9d9dbe26ac0e78bb2c
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	case $XBPS_TARGET_MACHINE in
 		x86_64* | i686*);;

From 0e04c5fe9817226757609e1e53de2526789b4cda Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/43] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..d94369e087891 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"
@@ -14,6 +14,8 @@ homepage="https://github.com/slacka/WoeUSB"
 distfiles="https://github.com/slacka/WoeUSB/archive/v${version}.tar.gz"
 checksum=0cab88a1113506f39d2f1c19532b2cd8d968c6a9f59129953c000e29e73f3d4f
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_patch() {
 	vsed -i -e "s/@@WOEUSB_VERSION@@/$version/g" \
 		configure.ac \

From 72ae2f3c8e383a22334f2b6eeef6fe007c11049f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/43] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/patches/wx-3.2.patch         | 26 ++++++++++++++++
 .../patches/wx-widget-has-basque.patch        | 22 +++++++++++++
 srcpkgs/audacity/patches/wxbitmap.patch       | 31 +++++++++++++++++++
 srcpkgs/audacity/template                     |  7 +++--
 4 files changed, 84 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/audacity/patches/wx-3.2.patch
 create mode 100644 srcpkgs/audacity/patches/wx-widget-has-basque.patch
 create mode 100644 srcpkgs/audacity/patches/wxbitmap.patch

diff --git a/srcpkgs/audacity/patches/wx-3.2.patch b/srcpkgs/audacity/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..d42ae09f30f6e
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-3.2.patch
@@ -0,0 +1,26 @@
+Index: audacity-Audacity-2.4.1/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/configure
++++ audacity-Audacity-2.4.1/configure
+@@ -19918,7 +19918,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
+Index: audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/lib-src/lib-widget-extra/configure
++++ audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+@@ -16633,7 +16633,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
diff --git a/srcpkgs/audacity/patches/wx-widget-has-basque.patch b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
new file mode 100644
index 0000000000000..4dd24e79ec8e2
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
@@ -0,0 +1,22 @@
+Index: audacity-Audacity-2.4.1/src/AudacityApp.cpp
+===================================================================
+--- audacity-Audacity-2.4.1.orig/src/AudacityApp.cpp
++++ audacity-Audacity-2.4.1/src/AudacityApp.cpp
+@@ -1102,7 +1102,7 @@ locations of the missing files.").Format
+ #define WL(lang,sublang)
+ #endif
+ 
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+ wxLanguageInfo userLangs[] =
+ {
+    // Bosnian is defined in wxWidgets already
+@@ -1366,7 +1366,7 @@ bool AudacityApp::OnInit()
+    //
+    // TODO:  The whole Language initialization really need to be reworked.
+    //        It's all over the place.
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+    for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++)
+    {
+       wxLocale::AddLanguage(userLangs[i]);
diff --git a/srcpkgs/audacity/patches/wxbitmap.patch b/srcpkgs/audacity/patches/wxbitmap.patch
new file mode 100644
index 0000000000000..af18bd1cb6524
--- /dev/null
+++ b/srcpkgs/audacity/patches/wxbitmap.patch
@@ -0,0 +1,31 @@
+From 55383fccd0c281b4f189d9b07699b21bb802c736 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney@ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH] Call the proper wxBitmap constructor for XPM data
+
+wxBitmap back to at least 3.0.0 did not have a constructor for an XPM
+image that took a size parameter, it would only take the XPM data
+itself.
+
+I don't know how this compiled until now, but it doesn't anymore when
+the size is included and built against wx 3.1.6 in Fedora.
+---
+ src/MixerBoard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+ 
+ Technically this patch is under GPLv3+ because it was contributed after
+ re licensing
+
+diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp
+index 54b5f146cc7..7fe81615474 100644
+--- a/src/MixerBoard.cpp
++++ b/src/MixerBoard.cpp
+@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments()
+    wxMemoryDC dc;
+ 
+    for (const auto &data : table) {
+-      auto bmp = std::make_unique<wxBitmap>(data.bitmap,24);
++      auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+       dc.SelectObject(*bmp);
+       AColor::Bevel(dc, false, bev);
+       mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..e79971d69d016 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"
@@ -13,7 +13,8 @@ makedepends="jack-devel wxWidgets-gtk3-devel gtk+3-devel
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Graphical cross-platform audio editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
+# Patches are GPL3+, so bump the license for the whole package
+license="GPL-3.0-or-later"
 homepage="https://www.audacityteam.org"
 distfiles="https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"
 checksum=50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f
@@ -27,6 +28,8 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"
 fi
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vcopy nyquist /usr/share/audacity
 	vcopy plug-ins /usr/share/audacity

From 1eb4b7962834301ee0bdbeb8c71a596c74e7693d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/43] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65b3efc5c3455 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"
@@ -21,7 +21,7 @@ boinc_homedir="/var/lib/boinc"
 boinc_shell="/bin/bash"
 conflicts="boinc-nox>=0"
 
-CXXFLAGS="-Wno-redundant-decls"
+CXXFLAGS="-Wno-redundant-decls -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 case "$XBPS_TARGET_MACHINE" in
 	armv6l) broken="arm-linux-gnueabihf-g++: error: libwhetvfp.a: No such file or directory" ;;

From d7d21d82dc2a1299d75d773516e97a7f45e55241 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/43] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/patches/000.r11991.patch   |  27 +
 ...0.v20.03-r12008.patch => 000.r12008.patch} |   0
 ...1.v20.03-r12012.patch => 000.r12012.patch} |   0
 srcpkgs/codeblocks/patches/000.r12532.patch   |  13 +
 srcpkgs/codeblocks/patches/000.r12580.patch   | 944 ++++++++++++++++++
 srcpkgs/codeblocks/patches/000.r12707.patch   | 120 +++
 srcpkgs/codeblocks/patches/wx-3.2.patch       |  21 +
 srcpkgs/codeblocks/template                   |   4 +-
 8 files changed, 1128 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codeblocks/patches/000.r11991.patch
 rename srcpkgs/codeblocks/patches/{000.v20.03-r12008.patch => 000.r12008.patch} (100%)
 rename srcpkgs/codeblocks/patches/{001.v20.03-r12012.patch => 000.r12012.patch} (100%)
 create mode 100644 srcpkgs/codeblocks/patches/000.r12532.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12580.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12707.patch
 create mode 100644 srcpkgs/codeblocks/patches/wx-3.2.patch

diff --git a/srcpkgs/codeblocks/patches/000.r11991.patch b/srcpkgs/codeblocks/patches/000.r11991.patch
new file mode 100644
index 0000000000000..0cdb7251fdced
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r11991.patch
@@ -0,0 +1,27 @@
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 11990)
++++ b/src/src/main.cpp	(revision 11991)
+@@ -2680,8 +2680,6 @@
+     else
+     {
+         wxBusyCursor useless;
+-        wxPaintEvent e;
+-        ProcessEvent(e);
+         for (unsigned int i = 0; i < files.GetCount(); ++i)
+           success &= OpenGeneric(files[i]);
+     }
+Index: src/src/watchesdlg.cpp
+===================================================================
+--- a/src/src/watchesdlg.cpp	(revision 11990)
++++ b/src/src/watchesdlg.cpp	(revision 11991)
+@@ -103,8 +103,7 @@
+                                   cb_unused const wxPoint& pos,
+                                   cb_unused const wxSize& sz) const override
+     {
+-        wxPGWindowList const list;
+-        return list;
++        return wxPGWindowList(nullptr, nullptr);
+     }
+     void UpdateControl(cb_unused wxPGProperty* property, cb_unused wxWindow* ctrl) const override {}
+     bool OnEvent(cb_unused wxPropertyGrid* propgrid, cb_unused wxPGProperty* property,
diff --git a/srcpkgs/codeblocks/patches/000.v20.03-r12008.patch b/srcpkgs/codeblocks/patches/000.r12008.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/000.v20.03-r12008.patch
rename to srcpkgs/codeblocks/patches/000.r12008.patch
diff --git a/srcpkgs/codeblocks/patches/001.v20.03-r12012.patch b/srcpkgs/codeblocks/patches/000.r12012.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/001.v20.03-r12012.patch
rename to srcpkgs/codeblocks/patches/000.r12012.patch
diff --git a/srcpkgs/codeblocks/patches/000.r12532.patch b/srcpkgs/codeblocks/patches/000.r12532.patch
new file mode 100644
index 0000000000000..15a2fff28e2e7
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12532.patch
@@ -0,0 +1,13 @@
+Index: src/include/ccmanager.h
+===================================================================
+--- a/src/include/ccmanager.h	(revision 12531)
++++ b/src/include/ccmanager.h	(revision 12532)
+@@ -44,7 +44,7 @@
+  * list or the doxygen popup, the scroll event is instead sent there (and skipped for the editor
+  * window).
+  */
+-class DLLIMPORT CCManager : public Mgr<CCManager>, wxEvtHandler
++class DLLIMPORT CCManager : public Mgr<CCManager>, public wxEvtHandler
+ {
+     public:
+         friend class Mgr<CCManager>;
diff --git a/srcpkgs/codeblocks/patches/000.r12580.patch b/srcpkgs/codeblocks/patches/000.r12580.patch
new file mode 100644
index 0000000000000..7930c5c5677b2
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12580.patch
@@ -0,0 +1,944 @@
+Index: src/src/notebookstyles.h
+===================================================================
+--- a/src/src/notebookstyles.h	(revision 12579)
++++ b/src/src/notebookstyles.h	(revision 12580)
+@@ -8,14 +8,6 @@
+ 
+ #include "cbauibook.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-#endif
+-
+-
+ class wxDC;
+ class wxWindow;
+ class wxRect;
+@@ -53,35 +45,4 @@
+                             const wxSize& required_bmp_size) override;
+ };
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-class NbStyleGTK : public wxAuiDefaultTabArt
+-{
+-public:
+-    NbStyleGTK();
+-
+-    virtual wxAuiTabArt* Clone();
+-    virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+-    virtual void DrawTab(wxDC& dc,
+-                         wxWindow* wnd,
+-                         const wxAuiNotebookPage& page,
+-                         const wxRect& in_rect,
+-                         int close_button_state,
+-                         wxRect* out_tab_rect,
+-                         wxRect* out_button_rect,
+-                         int* x_extent);
+-    void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
+-                    int button_state, int orientation, wxRect* out_rect);
+-    int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
+-                            const wxSize& required_bmp_size);
+-    virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active,
+-                              int close_button_state, int* x_extent);
+-private:
+-    int m_Xthickness;
+-    int m_Ythickness;
+-    int m_TabHBorder;
+-    int m_TabVBorder;
+-    wxBitmap m_ActiveCloseButton;
+-};
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+ #endif // NOTEBOOKSTYLES_H
+Index: src/plugins/compilergcc/compileroptionsdlg.cpp
+===================================================================
+--- a/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12579)
++++ b/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12580)
+@@ -677,13 +677,9 @@
+     wxPGProperty *root = m_FlagsPG->GetRoot();
+     if (root)
+     {
+-        unsigned count = root->GetChildCount();
++        const unsigned count = root->GetChildCount();
+         for (unsigned ii = 0; ii < count; ++ii)
+-#if wxCHECK_VERSION(3, 0, 0)
+             m_FlagsPG->SortChildren(root->Item(ii), wxPG_RECURSE);
+-#else
+-            m_FlagsPG->Sort(root->Item(ii));
+-#endif
+     }
+     m_FlagsPG->Thaw();
+ } // DoFillOptions
+@@ -2118,11 +2114,7 @@
+     CompilerFactory::SetDefaultCompiler(idx);
+     wxString msg;
+     Compiler* compiler = CompilerFactory::GetDefaultCompiler();
+-    #if wxCHECK_VERSION(3, 0, 0)
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().wx_str() : _("[invalid]").wx_str());
+-    #else
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().c_str() : _("[invalid]"));
+-    #endif
++    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName() : _("[invalid]"));
+     cbMessageBox(msg);
+ } // OnSetDefaultCompilerClick
+ 
+Index: src/sdk/templatemanager.cpp
+===================================================================
+--- a/src/sdk/templatemanager.cpp	(revision 12579)
++++ b/src/sdk/templatemanager.cpp	(revision 12580)
+@@ -186,11 +186,7 @@
+             ++count;
+         }
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+     if (count != total_count)
+         cbMessageBox(_("Some files could not be loaded with the template..."), _("Error"), wxICON_ERROR);
+@@ -303,21 +299,13 @@
+     {
+         wxString src = (*it)->file.GetFullPath();
+         wxString dst = templ + (*it)->relativeToCommonTopLevelPath;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.wx_str(), dst.wx_str()));
+-        #else
+-        Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.c_str(), dst.c_str()));
+-        #endif
+         if (!CreateDirRecursively(dst))
+             Manager::Get()->GetLogManager()->DebugLog(_T("Failed creating directory for ") + dst);
+         if (wxCopyFile(src, dst, true))
+             ++count;
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+ 
+     // cbProject doesn't have a GetRelativeToCommonTopLevelPath() function, so we simulate it here
+Index: src/src/associations.cpp
+===================================================================
+--- a/src/src/associations.cpp	(revision 12579)
++++ b/src/src/associations.cpp	(revision 12580)
+@@ -201,11 +201,7 @@
+     if (key.Exists())
+     {
+         wxString s;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         if (key.QueryValue(wxEmptyString, s) && s.StartsWith(_T("CodeBlocks")))
+-        #else
+-        if (key.QueryValue(NULL, s) && s.StartsWith(_T("CodeBlocks")))
+-        #endif
+             key.DeleteSelf();
+     }
+ 
+Index: src/src/dlgabout.cpp
+===================================================================
+--- a/src/src/dlgabout.cpp	(revision 12579)
++++ b/src/src/dlgabout.cpp	(revision 12580)
+@@ -20,9 +20,7 @@
+     #include <wx/string.h>
+     #include <wx/textctrl.h>
+     #include <wx/xrc/xmlres.h>
+-    #if wxCHECK_VERSION(3, 0, 0)
+-        #include <wx/versioninfo.h>
+-    #endif // wxCHECK_VERSION
++    #include <wx/versioninfo.h>
+ 
+     #include "licenses.h"
+     #include "configmanager.h"
+@@ -146,15 +144,11 @@
+     wxTextCtrl *txtLicense = XRCCTRL(*this, "txtLicense", wxTextCtrl);
+     txtLicense->SetValue(LICENSE_GPL);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     const wxVersionInfo scintillaVersion = wxScintilla::GetLibraryVersionInfo();
+     const wxString scintillaStr = wxString::Format(wxT("%d.%d.%d"),
+                                                    scintillaVersion.GetMajor(),
+                                                    scintillaVersion.GetMinor(),
+                                                    scintillaVersion.GetMicro());
+-#else
+-    const wxString scintillaStr = wxSCINTILLA_VERSION;
+-#endif // wxCHECK_VERSION
+ 
+     struct Item
+     {
+@@ -218,9 +212,7 @@
+         information += wxT(": ") + item.value + wxT("\n");
+     }
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     information += wxT("\n") + wxGetLibraryVersionInfo().GetDescription();
+-#endif // wxCHECK_VERSION(3, 0, 0)
+ 
+     wxTextCtrl *txtInformation = XRCCTRL(*this, "txtInformation", wxTextCtrl);
+     txtInformation->SetValue(information);
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 12579)
++++ b/src/src/main.cpp	(revision 12580)
+@@ -2075,11 +2075,7 @@
+         {
+             if (!items[i]->IsCheckable())
+                 continue;
+-#if wxCHECK_VERSION(3, 0, 0)
+             items[i]->Check(items[i]->GetItemLabel().IsSameAs(name));
+-#else
+-            items[i]->Check(items[i]->GetText().IsSameAs(name));
+-#endif
+         }
+ 
+         if (!m_LastLayoutIsTemp)
+@@ -2401,12 +2397,7 @@
+             break;
+ 
+         default: // default style
+-            #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-            target->SetArtProvider(new NbStyleGTK());
+-            #else
+             target->SetArtProvider(new wxAuiDefaultTabArt());
+-            #endif
+-            break;
+     }
+ 
+     target->SetTabCtrlHeight(-1);
+@@ -4801,13 +4792,9 @@
+ 
+     if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor())
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         // Execute the code to update the status bar outside of the paint event for scintilla.
+         // Executing this function directly in the event handler causes redraw problems on Windows.
+         CallAfter(&MainFrame::DoUpdateStatusBar);
+-#else
+-        DoUpdateStatusBar();
+-#endif // defined(__wxMSW__) && wxCHECK_VERSION(3, 0, 0)
+     }
+ 
+     event.Skip();
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12579)
++++ b/src/src/notebookstyles.cpp	(revision 12580)
+@@ -13,14 +13,6 @@
+ #include "prep.h"
+ #include "notebookstyles.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-    #include <wx/renderer.h>
+-#endif
+-
+ #include <wx/dc.h>
+ #include <wx/dcclient.h>
+ 
+@@ -42,15 +34,9 @@
+ {
+     NbStyleVC71* clone = new NbStyleVC71();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -75,11 +61,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 3;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 3;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -166,17 +148,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -186,21 +161,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -227,11 +193,7 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+@@ -246,15 +208,9 @@
+ {
+     NbStyleFF2* clone = new NbStyleFF2();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -272,11 +228,7 @@
+     wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+                                     page.active, close_button_state, x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 2;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 2;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -360,17 +312,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -380,21 +325,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -421,533 +357,9 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+     return s.y + 6;
+ }
+-
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+-namespace
+-{
+-
+-static GtkWidget *g_window = nullptr;
+-static GtkWidget *g_container = nullptr;
+-static GtkWidget *g_notebook = nullptr;
+-static GtkWidget *g_button = nullptr;
+-static int s_CloseIconSize = 16; // default size
+-
+-static void setup_widget_prototype(GtkWidget* widget)
+-{
+-    if (!g_window)
+-    {
+-        g_window = gtk_window_new(GTK_WINDOW_POPUP);
+-        gtk_widget_realize(g_window);
+-    }
+-    if (!g_container)
+-    {
+-        g_container = gtk_fixed_new();
+-        gtk_container_add(GTK_CONTAINER(g_window), g_container);
+-    }
+-
+-    gtk_container_add(GTK_CONTAINER(g_container), widget);
+-    gtk_widget_realize(widget);
+-}
+-
+-static GtkStyle * get_style_button()
+-{
+-    if (!g_button)
+-    {
+-        g_button = gtk_button_new();
+-        setup_widget_prototype(g_button);
+-    }
+-    return gtk_widget_get_style(g_button);
+-}
+-
+-static GtkStyle * get_style_notebook()
+-{
+-    if (!g_notebook)
+-    {
+-        g_notebook = gtk_notebook_new();
+-        setup_widget_prototype(g_notebook);
+-    }
+-    return gtk_widget_get_style(g_notebook);
+-}
+-
+-}
+-
+-NbStyleGTK::NbStyleGTK():
+-    m_Xthickness(0),
+-    m_Ythickness(0),
+-    m_TabHBorder(0),
+-    m_TabVBorder(0)
+-
+-{
+-}
+-
+-wxAuiTabArt* NbStyleGTK::Clone()
+-{
+-    NbStyleGTK* clone = new NbStyleGTK();
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    clone->SetNormalFont(m_normalFont);
+-    clone->SetSelectedFont(m_normalFont);
+-    clone->SetMeasuringFont(m_normalFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_normal_font);
+-    clone->SetMeasuringFont(m_normal_font);
+-#endif
+-
+-    return clone;
+-}
+-
+-void NbStyleGTK::DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect)
+-{
+-    GtkStyle* style_notebook = get_style_notebook();
+-    GtkNotebook* notebook = GTK_NOTEBOOK (g_notebook);
+-
+-    // if one of the parameters have changed, the height needs to be recalculated, so we force it,
+-    if(m_Xthickness  != style_notebook->xthickness ||
+-       m_Ythickness  != style_notebook->ythickness ||
+-       m_TabVBorder != notebook->tab_vborder ||
+-       m_TabHBorder != notebook->tab_hborder)
+-    {
+-        m_Xthickness  = style_notebook->xthickness;
+-        m_Ythickness  = style_notebook->ythickness;
+-        m_TabVBorder = notebook->tab_vborder;
+-        m_TabHBorder = notebook->tab_hborder;
+-        wxAuiNotebook* nb = nullptr;
+-        if(wnd)
+-             nb = (cbAuiNotebook*)wnd->GetParent();
+-        if(nb)
+-            nb->SetTabCtrlHeight(-1);
+-    }
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_style_apply_default_background(style_notebook, pWin, 1, GTK_STATE_NORMAL, nullptr,
+-                                       rect.x, rect.y, rect.width, rect.height);
+-}
+-
+-void ButtonStateAndShadow(int button_state, GtkStateType &state, GtkShadowType &shadow)
+-{
+-
+-    if (button_state & wxAUI_BUTTON_STATE_DISABLED)
+-    {
+-        state = GTK_STATE_INSENSITIVE;
+-        shadow = GTK_SHADOW_ETCHED_IN;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        state = GTK_STATE_PRELIGHT;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        state = GTK_STATE_ACTIVE;
+-        shadow = GTK_SHADOW_IN;
+-    }
+-    else
+-    {
+-        state = GTK_STATE_NORMAL;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-}
+-
+-wxRect DrawCloseButton(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GdkRectangle* clipRect)
+-{
+-    GtkStyle *style_button = get_style_button();
+-    int xthickness = style_button->xthickness;
+-    int ythickness = style_button->ythickness;
+-
+-    wxBitmap bmp;
+-    bmp.SetPixbuf(gtk_widget_render_icon(widget, GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR, "tab"));
+-
+-    if(bmp.GetWidth() != s_CloseIconSize || bmp.GetHeight() != s_CloseIconSize)
+-    {
+-        wxImage img = bmp.ConvertToImage();
+-        img.Rescale(s_CloseIconSize, s_CloseIconSize);
+-        bmp = img;
+-    }
+-
+-    int button_size = s_CloseIconSize + 2 * xthickness;
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x - ythickness;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - button_size - ythickness;
+-
+-    out_rect.y = in_rect.y + (in_rect.height - button_size) / 2;
+-    out_rect.width = button_size;
+-    out_rect.height = button_size;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-    else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_ACTIVE, GTK_SHADOW_IN, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-
+-
+-    dc.DrawBitmap(bmp, out_rect.x + xthickness, out_rect.y + ythickness, true);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
+-                             const wxRect& in_rect, int close_button_state, wxRect* out_tab_rect,
+-                             wxRect* out_button_rect, int* x_extent)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    GtkStyle *style_notebook = get_style_notebook();
+-
+-    wxRect const &window_rect = wnd->GetRect();
+-
+-    int focus_width = 0;
+-
+-    gtk_widget_style_get(g_notebook,
+-                         "focus-line-width", &focus_width,
+-                         NULL);
+-
+-    int tab_pos;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        tab_pos = wxAUI_NB_BOTTOM;
+-    else //if (m_flags & wxAUI_NB_TOP) {}
+-        tab_pos = wxAUI_NB_TOP;
+-
+-    // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+-    // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+-
+-    // figure out the size of the tab
+-    wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+-                                    page.active, close_button_state, x_extent);
+-
+-    wxRect tab_rect = in_rect;
+-    tab_rect.width = tab_size.x;
+-    tab_rect.height = tab_size.y;
+-    tab_rect.y += 2 * m_TabHBorder;
+-
+-    if (page.active)
+-        tab_rect.height += 2 * m_TabHBorder;
+-#if wxCHECK_VERSION(3, 0, 0)
+-    // if no bitmap is set, we need a tiny correction
+-    if (! page.bitmap.IsOk())
+-        tab_rect.height += 1;
+-#endif
+-
+-    int gap_rect_height = 6 * m_TabHBorder;
+-    int gap_rect_x = 1, gap_start = 0, gap_width = 0;
+-    int gap_rect_y = tab_rect.y - gap_rect_height;
+-    int gap_rect_width = window_rect.width;
+-
+-    switch (tab_pos)
+-    {
+-        case wxAUI_NB_TOP:
+-            tab_rect.y -= 2 * m_TabHBorder;
+-            if (!page.active)
+-                tab_rect.y += 2 * m_TabHBorder;
+-            gap_rect_y = tab_rect.y + tab_rect.height - m_TabHBorder / 2;
+-            // fall through
+-        case wxAUI_NB_BOTTOM:
+-            gap_start = tab_rect.x - m_TabVBorder / 2;
+-            gap_width = tab_rect.width;
+-            break;
+-        default:
+-            break;
+-    }
+-    tab_rect.y += m_TabHBorder / 2;
+-    gap_rect_y += m_TabHBorder / 2;
+-
+-    int padding = focus_width + m_TabHBorder;
+-
+-    int clip_width = tab_rect.width;
+-    if (tab_rect.x + tab_rect.width > in_rect.x + in_rect.width)
+-        clip_width = (in_rect.x + in_rect.width) - tab_rect.x;
+-
+-    dc.SetClippingRegion(tab_rect.x, tab_rect.y - m_TabVBorder, clip_width, tab_rect.height + m_TabVBorder);
+-
+-    GdkRectangle area;
+-    area.x = tab_rect.x - m_TabVBorder;
+-    area.y = tab_rect.y - 2 * m_TabHBorder;
+-    area.width = clip_width + m_TabVBorder;
+-    area.height = tab_rect.height + 2 * m_TabHBorder;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (tab_pos == wxAUI_NB_BOTTOM)
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_BOTTOM, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_TOP);
+-    }
+-    else
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_TOP, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_BOTTOM);
+-    }
+-
+-    wxCoord textX = tab_rect.x + padding + m_Xthickness;
+-
+-    int bitmap_offset = 0;
+-    if (page.bitmap.IsOk())
+-    {
+-        bitmap_offset = textX;
+-
+-        // draw bitmap
+-        int bitmapY = tab_rect.y +(tab_rect.height - page.bitmap.GetHeight()) / 2;
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                bitmapY += m_Ythickness / 2;
+-            else
+-                bitmapY -= m_Ythickness / 2;
+-        }
+-        dc.DrawBitmap(page.bitmap,
+-                      bitmap_offset,
+-                      bitmapY,
+-                      true);
+-
+-        textX += page.bitmap.GetWidth() + padding;
+-    }
+-
+-    wxCoord textW, textH, textY;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    dc.SetFont(m_normalFont);
+-#else
+-    dc.SetFont(m_normal_font);
+-#endif
+-    dc.GetTextExtent(page.caption, &textW, &textH);
+-    textY = tab_rect.y + (tab_rect.height - textH) / 2;
+-    if(!page.active)
+-    {
+-        if (tab_pos == wxAUI_NB_TOP)
+-            textY += m_Ythickness / 2;
+-        else
+-            textY -= m_Ythickness / 2;
+-    }
+-
+-    // draw tab text
+-    GdkColor text_colour = page.active ? style_notebook->fg[GTK_STATE_NORMAL] : style_notebook->fg[GTK_STATE_ACTIVE];
+-    dc.SetTextForeground(wxColor(text_colour));
+-    GdkRectangle focus_area;
+-
+-    int padding_focus = padding - focus_width;
+-    focus_area.x = tab_rect.x + padding_focus;
+-    focus_area.y = textY - focus_width;
+-    focus_area.width = tab_rect.width - 2 * padding_focus;
+-    focus_area.height = textH + 2 * focus_width;
+-
+-    if(page.active && (wnd->FindFocus() == wnd) && focus_area.x <= (area.x + area.width))
+-    {
+-        // clipping seems not to work here, so we we have to recalc the focus-area manually
+-        if((focus_area.x + focus_area.width) > (area.x + area.width))
+-            focus_area.width = area.x + area.width - focus_area.x + focus_width - m_TabVBorder;
+-        gtk_paint_focus (style_notebook, pWin,
+-                         GTK_STATE_ACTIVE, NULL, widget, "tab",
+-                         focus_area.x, focus_area.y, focus_area.width, focus_area.height);
+-    }
+-
+-    dc.DrawText(page.caption, textX, textY);
+-
+-    // draw close-button on tab (if enabled)
+-    if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+-    {
+-        wxRect rect(tab_rect.x, tab_rect.y, tab_rect.width - m_Xthickness, tab_rect.height);
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                rect.y += m_Ythickness / 2;
+-            else
+-                rect.y -= m_Ythickness / 2;
+-        }
+-        *out_button_rect = DrawCloseButton(dc, widget, close_button_state, rect, wxRIGHT, &area);
+-    }
+-
+-    tab_rect.width = std::min(tab_rect.width, clip_width);
+-    *out_tab_rect = tab_rect;
+-
+-    dc.DestroyClippingRegion();
+-}
+-
+-wxRect DrawSimpleArrow(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GtkArrowType arrow_type)
+-{
+-    int scroll_arrow_hlength, scroll_arrow_vlength;
+-    gtk_widget_style_get(widget,
+-                         "scroll-arrow-hlength", &scroll_arrow_hlength,
+-                         "scroll-arrow-vlength", &scroll_arrow_vlength,
+-                         NULL);
+-
+-    GtkStateType state;
+-    GtkShadowType shadow;
+-    ButtonStateAndShadow(button_state, state, shadow);
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - scroll_arrow_hlength;
+-    out_rect.y = (in_rect.y + in_rect.height - 3 * get_style_notebook()->ythickness - scroll_arrow_vlength) / 2;
+-    out_rect.width = scroll_arrow_hlength;
+-    out_rect.height = scroll_arrow_vlength;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_paint_arrow (get_style_button(), pWin, state, shadow, nullptr, widget, "notebook",
+-                     arrow_type, TRUE, out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawButton(wxDC& dc, wxWindow* wnd,
+-                            const wxRect& in_rect,
+-                            int bitmap_id,
+-                            int button_state,
+-                            int orientation,
+-                            wxRect* out_rect)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    wxRect rect = in_rect;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        rect.y += 2 * get_style_button()->ythickness;
+-
+-    switch (bitmap_id)
+-    {
+-        case wxAUI_BUTTON_CLOSE:
+-            rect.y -= 2 * get_style_button()->ythickness;
+-            rect = DrawCloseButton(dc, widget, button_state, rect, orientation, NULL);
+-            break;
+-
+-        case wxAUI_BUTTON_LEFT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_LEFT);
+-            break;
+-
+-        case wxAUI_BUTTON_RIGHT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_RIGHT);
+-            break;
+-
+-        case wxAUI_BUTTON_WINDOWLIST:
+-            {
+-                rect.height -= 4 * get_style_button()->ythickness;
+-                rect.width = rect.height;
+-                rect.x = in_rect.x + in_rect.width - rect.width;
+-
+-                if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_CURRENT);
+-                else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_PRESSED);
+-                else
+-                    wxRendererNative::Get().DrawDropArrow(wnd, dc, rect);
+-            }
+-            break;
+-
+-        default:
+-            break;
+-    }
+-
+-    *out_rect = rect;
+-}
+-
+-
+-int NbStyleGTK::GetBestTabCtrlSize(wxWindow* wnd,
+-                                   const wxAuiNotebookPageArray& pages,
+-                                   const wxSize& required_bmp_size)
+-{
+-#if wxCHECK_VERSION(3, 0, 0)
+-    SetMeasuringFont(m_normalFont);
+-    SetSelectedFont(m_normalFont);
+-#else
+-    SetMeasuringFont(m_normal_font);
+-    SetSelectedFont(m_normal_font);
+-#endif
+-    int tab_height = 3 * get_style_notebook()->ythickness + wxAuiDefaultTabArt::GetBestTabCtrlSize(wnd, pages, required_bmp_size);
+-    return tab_height;
+-}
+-
+-wxSize NbStyleGTK::GetTabSize(wxDC& dc,
+-                              wxWindow* wnd,
+-                              const wxString& caption,
+-                              const wxBitmap& bitmap,
+-                              bool active,
+-                              int close_button_state,
+-                              int* x_extent)
+-{
+-    wxSize s = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
+-
+-    int overlap = 0;
+-    gtk_widget_style_get (wnd->GetHandle(),
+-        "focus-line-width", &overlap,
+-        NULL);
+-    *x_extent -= overlap;
+-    return s;
+-}
+-
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+Index: src/src/projectmanagerui.cpp
+===================================================================
+--- a/src/src/projectmanagerui.cpp	(revision 12579)
++++ b/src/src/projectmanagerui.cpp	(revision 12580)
+@@ -1875,11 +1875,7 @@
+ {
+     size_t operator()(const wxString& s) const
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         return std::hash<std::wstring>()(s.ToStdWstring());
+-#else
+-        return std::hash<std::wstring>()(s.wc_str());
+-#endif // wxCHECK_VERSION
+     }
+ };
+ 
diff --git a/srcpkgs/codeblocks/patches/000.r12707.patch b/srcpkgs/codeblocks/patches/000.r12707.patch
new file mode 100644
index 0000000000000..bca974fbe5770
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12707.patch
@@ -0,0 +1,120 @@
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12706)
++++ b/src/src/notebookstyles.cpp	(revision 12707)
+@@ -124,8 +124,16 @@
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -132,6 +140,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -161,13 +170,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
+@@ -285,11 +304,20 @@
+     int text_offset = tab_x + 8;
+ 
+     int bitmap_offset = 0;
++
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -296,6 +324,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -303,7 +332,6 @@
+         text_offset = tab_x + 8;
+     }
+ 
+-
+     // if the caption is empty, measure some temporary text
+     wxString caption = page.caption;
+     if (caption.empty())
+@@ -325,13 +353,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
diff --git a/srcpkgs/codeblocks/patches/wx-3.2.patch b/srcpkgs/codeblocks/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..0400ce6346178
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/wx-3.2.patch
@@ -0,0 +1,21 @@
+Index: codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+===================================================================
+--- codeblocks-20.03.orig/src/sdk/scripting/bindings/sc_wxtypes.cpp
++++ codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+@@ -322,6 +322,7 @@ namespace ScriptBindings
+         typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
+         typedef bool(wxFileName::*WXFN_ISFILEWRITEABLE)()const;
++        typedef bool(wxFileName::*WXFN_NORMALIZE)(int, const wxString&, wxPathFormat);
+ 
+         SqPlus::SQClassDef<wxFileName>("wxFileName").
+                 emptyCtor().
+@@ -354,7 +355,7 @@ namespace ScriptBindings
+                 func(&wxFileName::IsDir, "IsDir").
+                 func(&wxFileName::MakeAbsolute, "MakeAbsolute").
+                 func(&wxFileName::MakeRelativeTo, "MakeRelativeTo").
+-                func(&wxFileName::Normalize, "Normalize").
++                func<WXFN_NORMALIZE>(&wxFileName::Normalize, "Normalize").
+                 func(&wxFileName::PrependDir, "PrependDir").
+                 func(&wxFileName::RemoveDir, "RemoveDir").
+                 func(&wxFileName::RemoveLastDir, "RemoveLastDir").
diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..d002a27408726 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr
@@ -17,6 +17,8 @@ homepage="http://www.codeblocks.org"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/Sources/${version}/${pkgname}-${version}.tar.xz"
 checksum=15eeb3e28aea054e1f38b0c7f4671b4d4d1116fd05f63c07aa95a91db89eaac5
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vinstall debian/codeblocks.sharedmime 644 /usr/share/mime/packages codeblocks.xml
 	vinstall src/mime/codeblocks.desktop 644 /usr/share/applications

From db230dc6eaedfed1db61716bf371182c8c75befe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/43] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   4 +-
 2 files changed, 134 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..f8206426888fd 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
@@ -32,6 +32,8 @@ case "$XBPS_TARGET_MACHINE" in
 	x86_64*|ppc64le*|aarch64*|arm*) build_options_default+=" lldb";;
 esac
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_extract() {
 	mv codelite-${version}/* .
 	rm -rf universal-ctags

From 6ed869f7f95041008f0d34c90330f3e2ed90f2ff Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/43] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..68d69808ad442 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"
@@ -13,3 +13,5 @@ homepage="https://vslavik.github.io/diff-pdf/"
 changelog="https://github.com/vslavik/diff-pdf/releases"
 distfiles="https://github.com/vslavik/diff-pdf/releases/download/v${version}/diff-pdf-${version}.tar.gz"
 checksum=017d52cb7ddabdbf63c6a47f39b2e5a1790022b95295b0d047817904e093245c
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From c9065036989b5d91992e88bb682011e0015ed6e2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/43] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From d4917e28a64ba1731931b06da7c973963c382171 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/43] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..ec52592f23d16 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"
@@ -24,3 +24,5 @@ fi
 case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*)  CFLAGS="-msse2";;
 esac
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From fbcfaaf1899e411e03d6ef5508711ba7bb4cfa99 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/43] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..c4d9dcb2a894c 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"
@@ -21,6 +21,8 @@ fi
 
 alternatives="gnuplot:gnuplot:/usr/bin/gnuplot-x11"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	# fix fonts location
 	sed -i \

From 2f6827c50fcf9f1827903831fed886edd641b24a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/43] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..da36377ced1fb 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4
@@ -17,7 +17,7 @@ homepage="http://golly.sourceforge.net/"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}-src.tar.gz"
 checksum=6c655a6ce2fd75c6ae7289da39d084162c6ed887a01c21c3760872e3ff6d60c8
 
-CXXFLAGS="-I../gollybase"
+CXXFLAGS="-I../gollybase -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_extract() {
 	# POSIX name clash

From 5233a532a0f388f0ff8a3c0472c966132f274ebb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/43] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..4d81e348351d3 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"
@@ -20,6 +20,8 @@ distfiles="${SOURCEFORGE_SITE}/hugin/hugin/hugin-${version%.*}/hugin-${version}.
 checksum=97c8562a0ba9a743e0b955a43dfde048b1c60cd9e5f2ee2b69de1a81646e05a7
 python_version=3
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" python3"
 else

From cfe9abbf35a5425d21790a8daabc1fae0013a7f1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/43] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..d356a1ab5ec66 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"
@@ -14,6 +14,8 @@ distfiles="https://mediaarea.net/download/source/${pkgname}/${version}/${pkgname
 checksum=932b82739f738e7db603cf5bb170720731a9e7c61d145c2a54aabb3cd0b753bc
 replaces="mediainfo-gui>=0"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 do_configure() {
 	for d in CLI GUI; do
 		cd $wrksrc/Project/GNU/$d

From 599d33b119502604ddb9781518d59c10cf36db3a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/43] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..d0b059026da34 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
@@ -14,6 +14,8 @@ homepage="http://openbabel.org"
 distfiles="https://github.com/openbabel/openbabel/archive/openbabel-${_ver}.tar.gz"
 checksum=c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 openbabel-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"

From 232c70859b88c9cfa2c7a2e4e0e911c7368ff3fa Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 29/43] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..99d86feeb215f 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files
@@ -16,6 +16,8 @@ homepage="https://pwsafe.org"
 distfiles="https://github.com/pwsafe/pwsafe/archive/${version}.tar.gz"
 checksum=6215f7b052480f03276b3ea590b9cdd23180db8d5d4a19185f3df7b6ddba11f8
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 if [ "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DNO_GTEST=OFF"
 else

From 3d6d3dc2acaa27cfb34fb5041cf100ecda92f83a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/43] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..a78feade69415 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"
@@ -17,6 +17,7 @@ distfiles="https://github.com/vslavik/poedit/releases/download/v${version}-oss/p
 checksum=e64139dd4beac1b8ea468d351b2b4bdae8ecbc6f4ca5d1ee1c73832036fff097
 
 CPPFLAGS="-DUCHAR_TYPE=uint16_t -Wno-deprecated-copy"
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" wxWidgets-common-devel"

From 45527862ccb3a6d8bd260258d268fae6a15d7478 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/43] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..3061e1732c599 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,7 +1,7 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"
@@ -13,6 +13,8 @@ homepage="https://github.com/withmorten/spek-alternative"
 distfiles="https://github.com/withmorten/spek-alternative/archive/${version}.tar.gz"
 checksum="007ba4b84a310b078e378aa84c8e80783db5821437a757a488c3ecec377e6b2a"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 # Tell autogen.sh to use "wx-config-gtk3" instead of "wx-config"
 export WX_CONFIG_NAME="wx-config-gtk3"
 

From 3ff60897567236b4ecfed420d75a05481f5329d3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/43] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..316d4a91c8f14 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"
@@ -14,6 +14,8 @@ homepage="https://www.arrl.org/tqsl-download"
 distfiles="https://www.arrl.org/tqsl/tqsl-${version}.tar.gz"
 checksum=5063cca759806ab1d6b8b6d9bb6c16a6380275ff192a3d0cc24aa9df6539ffcc
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vlicense LICENSE.txt
 	vinstall apps/tqsl.desktop 644 usr/share/applications

From d18edaf4739f04219af0ce1bc820f77e0a79ce9c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/43] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..8e58cd4701a1a 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"
@@ -12,6 +12,8 @@ homepage="http://strlen.com/treesheets/"
 distfiles="https://github.com/aardappel/treesheets/archive/v${version}.tar.gz"
 checksum=84eb82f122bc7be3ded399d2511536128911477a4a69c51b26b856de2160405f
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 do_install() {
 	vmkdir usr/lib/${pkgname}
 

From c4d8ac36f9845a9b8a294274b81a79017cddfea8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/43] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..9c71cefe3f8dd 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"
@@ -15,3 +15,5 @@ license="GPL-2.0-or-later"
 homepage="https://github.com/visualboyadvance-m/visualboyadvance-m/"
 distfiles="https://github.com/visualboyadvance-m/visualboyadvance-m/archive/v${version}.tar.gz"
 checksum=f7d0815a65677f794ee68892c9566254023af641c72f9e06b4230b6c61790743
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 6d75b655045eabc3d541dbc2dde4f65abfee1791 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/43] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5f116a336b61e 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
@@ -21,6 +21,8 @@ case "${XBPS_TARGET_MACHINE}" in
 	i686*) depends+=" grub-i386-efi"; makedepends+=" grub-i386-efi" ;;
 esac
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_configure() {
 	sed -i Makefile src/Makefile \
 		-e"s;^\(CXXFLAGS *=\)\(.*\);\1 ${CXXFLAGS} \2;"

From 17d10c9235ada8db5d738df7568d21abc1dd2aea Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 36/43] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..749e481dd8fe3 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"
@@ -15,6 +15,8 @@ distfiles="https://github.com/wxMaxima-developers/wxmaxima/archive/Version-${ver
 checksum=d47ca52e40491ea3c4ea7bea126f4da4d0b535702126abef0c172f69ba58e17d
 nocross="clisp is nocross"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	# remove unpackaged files
 	rm -f ${DESTDIR}/usr/share/wxMaxima/{COPYING,README}

From aa276db5a749b63c89db98cc9ddb81b9acad2b61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/43] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..66b8156e431ec 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"
@@ -13,6 +13,8 @@ homepage="https://github.com/rzvncj/xCHM"
 distfiles="https://github.com/rzvncj/xCHM/releases/download/${version}/xchm-${version}.tar.gz"
 checksum=b07971ddb02992da462060fb638c051318f389aef822485646aa7fbe245a0d93
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	autoreconf -fi
 }

From e7845f7749616500ade67e4c4314ea497c9f35d2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 38/43] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From 03068610f9875b9ffebeb44963df35d5b6d26d00 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 39/43] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From ae30d469d8ecb278fa7a066dfcac95b94aafefac Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 40/43] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..4b38200ffde6f 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,9 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 0f43a8eab5494a4219044ce6494a48b2356aea4f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 41/43] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From e82adfe2b62fb138908527f932c012c49b9b4f94 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 42/43] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From dc7915df566138cc1ea6cc1807395c68b0241e4c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 43/43] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWidgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (25 preceding siblings ...)
  2023-09-26  3:48 ` ahesford
@ 2023-09-26  3:50 ` ahesford
  2023-09-26 13:42 ` ahesford
  2023-09-26 16:06 ` [PR PATCH] [Closed]: " ahesford
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-26  3:50 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1018 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWidgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

closes #44849 

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 154706 bytes --]

From 2eae1755a439e57b81b5d96287b85a4c298343a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/43] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From 01b8c33651ddc6b6805af867821ee923806f4695 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/43] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 4ad4ee431144f1c24ebfdfdb4cfafc4e17622546 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 03/43] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From c6d1e5724f7e680fd68fdf7b87cbfc84a4dc9f09 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 04/43] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 9c2060bc45a67..da7f2739dc5ed 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 92eb2ca56896011d58debd03fd4422cd172a90bb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 05/43] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 ++++-----
 .../wxWidgets-gtk3/files/musl-locale-l.patch  | 34 ++++++++++
 .../patches/invalid-header-syntax.patch       | 16 +++++
 .../wxWidgets-gtk3/patches/largefile.patch    | 16 +++++
 .../patches/no-cross-suffix.patch             | 18 +++++
 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch | 45 +++++++++++++
 .../patches/nonfatal-abi-check.patch          | 21 +++---
 .../wxWidgets-gtk3/patches/wx-config.patch    | 56 ++++++++++++++++
 srcpkgs/wxWidgets-gtk3/template               | 65 +++++++++++--------
 srcpkgs/wxWidgets-gtk3/update                 |  4 +-
 10 files changed, 252 insertions(+), 55 deletions(-)
 create mode 100644 srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/largefile.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/wx-config.patch

diff --git a/common/shlibs b/common/shlibs
index da7f2739dc5ed..85ead20844ecc 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
new file mode 100644
index 0000000000000..dc5f1df6a2502
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
@@ -0,0 +1,34 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/musl-locale-l.patch
+
+these macro'd away functions don't exist in musl (yet)
+diff --git a/include/wx/xlocale.h b/include/wx/xlocale.h
+index c433d25..794cf0b 100644
+--- a/include/wx/xlocale.h
++++ b/include/wx/xlocale.h
+@@ -33,6 +33,26 @@
+ #include "wx/crt.h"     // Includes wx/chartype.h, wx/wxcrt.h(wx/string.h)
+ #include "wx/intl.h"    // wxLanguage
+ 
++#ifndef strtol_l
++#define strtol_l(s, p, base, l) strtol(s, p, base)
++#endif
++
++#ifndef strtoul_l
++#define strtoul_l(s, p, base, l) strtoul(s, p, base)
++#endif
++
++#ifndef wcstod_l
++#define wcstod_l(s, p, l) wcstod(s, p)
++#endif
++
++#ifndef wcstol_l
++#define wcstol_l(s, p, base, l) wcstol(s, p, base)
++#endif
++
++#ifndef wcstoul_l
++#define wcstoul_l(s, p, base, l) wcstoul(s, p, base)
++#endif
++
+ // The platform-specific locale type
+ // If wxXLocale_t is not defined, then only "C" locale support is provided
+ #ifdef wxHAS_XLOCALE_SUPPORT
diff --git a/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
new file mode 100644
index 0000000000000..fd4fc4ceca1aa
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/invalid-header-syntax.patch
+
+diff --git a/include/wx/matrix.h b/include/wx/matrix.h
+index 3b3225d..e77fb1a 100644
+--- a/include/wx/matrix.h
++++ b/include/wx/matrix.h
+@@ -37,8 +37,8 @@
+ //  at a certain coordinate and angle within another parent picture.
+ //  At all times m_isIdentity is set if the matrix itself is an Identity matrix.
+ //  It is used where possible to optimize calculations.
+-class
+ wxDEPRECATED_EXPORT_CORE("use wxAffineMatrix2D instead")
++class
+ wxTransformMatrix: public wxObject
+ {
+ public:
diff --git a/srcpkgs/wxWidgets-gtk3/patches/largefile.patch b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
new file mode 100644
index 0000000000000..9e5a81b31b94d
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/largefile.patch
+
+nothing sets this to 0, but for some reason it gets undef'd
+diff --git a/build/cmake/setup.h.in b/build/cmake/setup.h.in
+index e4c9e83..e9ef8dc 100644
+--- a/build/cmake/setup.h.in
++++ b/build/cmake/setup.h.in
+@@ -867,7 +867,7 @@
+ /*
+  * Define if large (64 bit file offsets) files are supported.
+  */
+-#cmakedefine HAVE_LARGEFILE_SUPPORT 1
++#define HAVE_LARGEFILE_SUPPORT 1
+ 
+ /*
+  * Use OpenGL
diff --git a/srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch b/srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch
new file mode 100644
index 0000000000000..443221d3d1895
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch
@@ -0,0 +1,18 @@
+Cross-compiled libraries get a suffix naming the system by default, but this
+causes deviation from native-built libraries and should be disabled.
+
+--- a/build/cmake/functions.cmake
++++ b/build/cmake/functions.cmake
+@@ -219,9 +219,9 @@
+     endif()
+ 
+     set(cross_target)
+-    if (CMAKE_CROSSCOMPILING)
+-        set(cross_target "-${CMAKE_SYSTEM_NAME}")
+-    endif()
++    #if (CMAKE_CROSSCOMPILING)
++    #    set(cross_target "-${CMAKE_SYSTEM_NAME}")
++    #endif()
+ 
+     set(lib_prefix "lib")
+     if(MSVC OR (WIN32 AND wxBUILD_SHARED))
diff --git a/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
new file mode 100644
index 0000000000000..1303dd6074004
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
@@ -0,0 +1,45 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/no-glvnd.patch
+
+find_package(OpenGL) only works with glvnd and hardcodes glvnd paths, even
+though all these components are easily found with pkgconfig..
+diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
+index ef28c99..b4df830 100644
+--- a/build/cmake/init.cmake
++++ b/build/cmake/init.cmake
+@@ -408,17 +408,26 @@ if(wxUSE_GUI)
+             set(OPENGL_FOUND TRUE)
+             set(OPENGL_LIBRARIES "-framework OpenGLES" "-framework QuartzCore" "-framework GLKit")
+         else()
+-            find_package(OpenGL)
+-            if(OPENGL_FOUND)
+-                foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
+-                    if(TARGET ${gltarget})
+-                        set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
+-                    endif()
+-                endforeach()
+-            endif()
+-            if(WXGTK3 AND OpenGL_EGL_FOUND AND wxUSE_GLCANVAS_EGL)
++            # find_package(OpenGL)
++            # if(OPENGL_FOUND)
++            #     foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
++            #         if(TARGET ${gltarget})
++            #             set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
++            #         endif()
++            #     endforeach()
++            # endif()
++            find_package(PkgConfig REQUIRED)
++            pkg_check_modules(GLU REQUIRED glu IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GLU ALIAS PkgConfig::GLU)
++            pkg_check_modules(GL REQUIRED gl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GL ALIAS PkgConfig::GL)
++            pkg_check_modules(EGL REQUIRED egl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::EGL ALIAS PkgConfig::EGL)
++            set(OPENGL_FOUND TRUE)
++            set(OpenGL_EGL_FOUND TRUE)
++            if(WXGTK3 AND wxUSE_GLCANVAS_EGL)
+                 if(TARGET OpenGL::EGL)
+-                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES})
++                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES} GL)
+                 endif()
+                 set(OPENGL_INCLUDE_DIR ${OPENGL_INCLUDE_DIR} ${OPENGL_EGL_INCLUDE_DIRS})
+                 find_package(WAYLANDEGL)
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/patches/wx-config.patch b/srcpkgs/wxWidgets-gtk3/patches/wx-config.patch
new file mode 100644
index 0000000000000..b29ab0051f3c1
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/wx-config.patch
@@ -0,0 +1,56 @@
+Fix some of the automatically populated fields, which will generally be
+incorrect in xbps-src cross-compilation environments.
+
+--- ./wx-config.in
++++ ./wx-config.in
+@@ -268,7 +268,9 @@
+     --help|-h)
+         usage
+         ;;
+-
++    --host=*)
++        continue
++        ;;
+     --*=*)
+         _name=`option_name $arg`
+         _value=`option_value $arg`
+@@ -398,13 +400,13 @@
+ }
+ 
+ # Returns true if this script is for a cross compiled config.
+-is_cross()  { [ "x@cross_compiling@" = "xyes" ]; }
++is_cross()  { false; }
+ 
+ 
+ # Determine the base directories we require.
+ prefix=${input_option_prefix-${this_prefix:-@prefix@}}
+ exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:-@exec_prefix@}}}
+-wxconfdir="@libdir@/wx/config"
++wxconfdir="${exec_prefix}/lib/wx/config"
+ 
+ installed_configs=`cd "$wxconfdir" 2> /dev/null && ls | grep -v "^inplace-"`
+ 
+@@ -940,8 +942,8 @@
+ exec_prefix=${this_exec_prefix-$exec_prefix}
+ 
+ includedir="@includedir@"
+-libdir="@libdir@"
+-bindir="@bindir@"
++libdir="${exec_prefix}/lib"
++bindir="${exec_prefix}/bin"
+ 
+ # Trivial queries we can answer now.
+ [ -z "$output_option_prefix"        ] || echo $prefix
+@@ -950,9 +952,9 @@
+ [ -z "$output_option_version"       ] || echo "@WX_VERSION@"
+ [ -z "$output_option_version_full"  ] || echo "@WX_SUBVERSION@"
+ [ -z "$output_option_basename"      ] || echo "@WX_LIBRARY_BASENAME_GUI@"
+-[ -z "$output_option_cc"            ] || echo "@CC@"
+-[ -z "$output_option_cxx"           ] || echo "@CXX@"
+-[ -z "$output_option_ld"            ] || echo "@CXX@ -o"
++[ -z "$output_option_cc"            ] || echo "${bindir}/gcc"
++[ -z "$output_option_cxx"           ] || echo "${bindir}/g++"
++[ -z "$output_option_ld"            ] || echo "${bindir}/g++ -o"
+ [ -z "$flag_option_selected_config" ] || echo "$this_config"
+ 
+ for q in $query_options; do
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..5b27653477ffb 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,51 +1,62 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+version=3.2.2.1
+revision=1
+build_style=cmake
+cmake_builddir="build-gtk3"
+configure_args="-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_OPENGL=ON -DwxUSE_LIBMSPACK=ON
+ -DwxUSE_GTKPRINT=ON -DwxUSE_UNICODE=ON -DwxUSE_MEDIACTRL=ON
+ -DwxUSE_PRIVATE_FONTS=ON -DwxUSE_REGEX=sys -DwxUSE_ZLIB=sys -DwxUSE_EXPAT=sys
+ -DwxUSE_LIBJPEG=sys -DwxUSE_LIBPNG=sys -DwxUSE_LIBTIFF=sys -DwxUSE_LIBLZMA=sys
+ -DwxUSE_LIBNOTIFY=sys -DwxUSE_LIBSDL=sys"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
+
+CXXFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+
+post_patch() {
+	if [ "${XBPS_TARGET_LIBC}" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/musl-locale-l.patch"
+	fi
+}
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
-	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
-	#   - mark this build as native build
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	if [ "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
+		# Remove $XBPS_CROSS_TRIPLET from cmake helper...
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			${DESTDIR}/usr/lib/cmake/wxWidgets/wxWidgetsTargets.cmake
 
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
+		# ...and the output of the wx-config utility
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
 			${DESTDIR}/usr/lib/wx/config/${_config}
 	fi
+
+	# Remove generic wx-config, link to toolkit-specific version
 	rm -f ${DESTDIR}/usr/bin/wx-config
 	ln -sf ../lib/wx/config/${_config} ${DESTDIR}/usr/bin/wx-config-gtk3
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross().*/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		$DESTDIR/usr/lib/wx/config/${_config}
+
+	# Make sure to install the autotools macro, CMake does not
+	vmkdir usr/share/aclocal
+	vinstall wxwin.m4 644 usr/share/aclocal
 }
 
 wxWidgets-common_package() {
 	short_desc+=" - common files"
 	pkg_install() {
 		vmove "usr/lib/libwx_baseu*.so.*"
-		vmove usr/share
 		vlicense docs/licendoc.txt
 		vlicense docs/licence.txt
 	}
@@ -58,6 +69,7 @@ wxWidgets-common-devel_package() {
 		vmove "usr/bin/wxrc*"
 		vmove "usr/lib/libwx_baseu*.so"
 		vmove usr/include
+		vmove usr/share/aclocal
 	}
 }
 
@@ -68,5 +80,6 @@ wxWidgets-gtk3-devel_package() {
 		vmove usr/bin
 		vmove "usr/lib/*.so"
 		vmove usr/lib/wx
+		vmove usr/lib/cmake
 	}
 }
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 0536dc6750628cec956e192239dbd7d84180e24c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 06/43] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/wxPython/files/no-stacktrace.patch    | 15 +++
 srcpkgs/{wxPython4 => wxPython}/template      | 32 ++++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 9 files changed, 36 insertions(+), 212 deletions(-)
 create mode 100644 srcpkgs/wxPython/files/no-stacktrace.patch
 rename srcpkgs/{wxPython4 => wxPython}/template (68%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython/files/no-stacktrace.patch b/srcpkgs/wxPython/files/no-stacktrace.patch
new file mode 100644
index 0000000000000..e64548bea8c17
--- /dev/null
+++ b/srcpkgs/wxPython/files/no-stacktrace.patch
@@ -0,0 +1,15 @@
+Taken from Alpine:
+
+https://git.alpinelinux.org/aports/plain/community/py3-wxpython/no-stacktrace.patch
+
+--- a/sip/cpp/sip_corewxAppTraits.cpp
++++ b/sip/cpp/sip_corewxAppTraits.cpp
+@@ -471,7 +471,7 @@
+             PyErr_Clear();
+ 
+             Py_BEGIN_ALLOW_THREADS
+-            sipRes = new  ::wxString((sipSelfWasArg ? sipCpp-> ::wxAppTraits::GetAssertStackTrace() : sipCpp->GetAssertStackTrace()));
++            sipRes = new  ::wxString("");
+             Py_END_ALLOW_THREADS
+ 
+             if (PyErr_Occurred())
diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 68%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..815ee0382cb59 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,23 +9,25 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
+post_patch() {
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/no-stacktrace.patch"
+	fi
 }
 
 pre_build() {
@@ -48,3 +50,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From 3f1906f2cc04d0f6896b1f8b19aae9d3af1f5f44 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 25 Sep 2023 13:46:55 -0400
Subject: [PATCH 07/43] dispcalGUI: replace with DisplayCAL 3.9.11

---
 srcpkgs/DisplayCAL/template            | 26 ++++++++++++++++++++
 srcpkgs/dispcalGUI                     |  1 +
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 5 files changed, 27 insertions(+), 59 deletions(-)
 create mode 100644 srcpkgs/DisplayCAL/template
 create mode 120000 srcpkgs/dispcalGUI
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/DisplayCAL/template b/srcpkgs/DisplayCAL/template
new file mode 100644
index 0000000000000..784674c5263ae
--- /dev/null
+++ b/srcpkgs/DisplayCAL/template
@@ -0,0 +1,26 @@
+# Template file for 'DisplayCAL'
+pkgname=DisplayCAL
+version=3.9.11
+revision=1
+build_style=python3-module
+hostmakedepends="python3"
+makedepends="python3-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
+depends="python3-dbus python3-numpy python3-distro python3-send2trash wxPython
+ argyllcms"
+short_desc="Display Calibration and Characterization"
+maintainer="lemmi <lemmi@nerd2nerd.org>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/eoyilmaz/displaycal-py3"
+distfiles="https://github.com/eoyilmaz/displaycal-py3/archive/refs/tags/${version}.tar.gz"
+checksum=7769d19551c228d797fd98cb2469730cee84ff27bd0bf5d0463e191753921a5e
+
+pre_configure() {
+	vsed -i misc/displaycal-vrml-to-x3d-converter.desktop \
+		-e 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|'
+}
+
+dispcalGUI_package() {
+	build_style=meta
+	short_desc+=" (transitional dummy package)"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/dispcalGUI b/srcpkgs/dispcalGUI
new file mode 120000
index 0000000000000..7b2ae7fe8eb1e
--- /dev/null
+++ b/srcpkgs/dispcalGUI
@@ -0,0 +1 @@
+DisplayCAL
\ No newline at end of file
diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"

From 9e7b0c3d9b42562405433ba3e4d6a848d71f537d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/43] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From a9353cd8c650b5c15b7a5ea2b752de849b906209 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/43] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..fdd36c53a94a3 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"
@@ -26,6 +26,8 @@ build_options_default="fftw"
 desc_option_fftw="Enable support for rendering of audio waveforms/spectrum"
 desc_option_openal="Enable support for openal"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_build() {
 	export FORCE_GIT_VERSION="$version"
 }

From 48da52ee44bf218ae0d0ed4abb2500b4c1ca67b7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/43] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..1608a9c95f7b4 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)
@@ -22,3 +22,5 @@ build_options_default="alsa pulseaudio"
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DOTHER_LIBRARIES=atomic"
 fi
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 1026ed7dc5dcac255cf559d174f1758156455eb5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/43] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..c9db493cc55e1 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"
@@ -17,7 +17,8 @@ distfiles="https://github.com/codereader/DarkRadiant/archive/${version}.tar.gz"
 checksum=7b9ccd6de65d7e55f6aad5e1f9a2f49600c6a0d9d70e67bda2e625cd721b5635
 
 CXXFLAGS="-I${XBPS_CROSS_BASE}/usr/lib/wx/include/gtk3-unicode-3.0"
-CXXFLAGS="$CXXFLAGS -I${XBPS_CROSS_BASE}/${py3_sitelib}/pybind11/include"
+CXXFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/pybind11/include"
+CXXFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_extract() {
 	rm -rf libs/pybind

From b188811dd09e44d73da6b271719190bd25c90a51 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/43] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..27a6f1c514a0b 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="
@@ -45,6 +45,8 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default="octave"
 fi
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vinstall udev-rules/64-limesuite.rules 644 usr/lib/udev/rules.d
 

From 0e864af183c2e7aea21efc97c0d901e9632133d8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/43] OpenCPN: update to 5.8.4.

---
 .../OpenCPN/patches/actually-set-arch.patch   | 28 ----------
 srcpkgs/OpenCPN/patches/musl.patch            | 55 ++++++++++---------
 srcpkgs/OpenCPN/template                      | 14 +++--
 3 files changed, 38 insertions(+), 59 deletions(-)
 delete mode 100644 srcpkgs/OpenCPN/patches/actually-set-arch.patch

diff --git a/srcpkgs/OpenCPN/patches/actually-set-arch.patch b/srcpkgs/OpenCPN/patches/actually-set-arch.patch
deleted file mode 100644
index d152c40928867..0000000000000
--- a/srcpkgs/OpenCPN/patches/actually-set-arch.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-+++ b/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-@@ -14,6 +14,25 @@
-     # default
-     set (ARCH "i386")
-     set (LIB_INSTALL_DIR "lib")
-+    IF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "aarch64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "armhf")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc*" OR CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "ppc64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "powerpc")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "x86_64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "i386")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-     if (EXISTS /etc/debian_version)
-       set (PACKAGE_FORMAT "DEB")
-       set (PACKAGE_RECS "xcalib,xdg-utils")
diff --git a/srcpkgs/OpenCPN/patches/musl.patch b/srcpkgs/OpenCPN/patches/musl.patch
index 75923e019b2bc..517186873d0d7 100644
--- a/srcpkgs/OpenCPN/patches/musl.patch
+++ b/srcpkgs/OpenCPN/patches/musl.patch
@@ -1,30 +1,35 @@
---- a/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-@@ -20,9 +20,7 @@
- #define WIN32_LEAN_AND_MEAN
- #include <winsock2.h>
- #else
--    #ifndef __WXOSX__
--        #include <error.h>
--    #else    
-+    #ifdef __WXOSX__
-         #include <mach/error.h> 
- #endif
+https://git.alpinelinux.org/aports/plain/community/opencpn/gcc12.patch
+
+diff --git a/include/zeroconf-detail.hpp b/include/zeroconf-detail.hpp
+index 60ae125..3e7607a 100644
+--- a/include/zeroconf-detail.hpp
++++ b/include/zeroconf-detail.hpp
+@@ -11,6 +11,9 @@
+ #include <vector>
+ #include <memory>
+ #include <chrono>
++#include <ctime>
++
++#include <sys/select.h>
  
-@@ -424,4 +422,4 @@
-     }
- }
+ #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
+ #define WIN32
+@@ -385,4 +388,4 @@ inline bool Resolve(const std::string& serviceName, time_t scanTime,
+ }  // namespace Detail
+ }  // namespace Zeroconf
  
--#endif // ZEROCONF_DETAIL_HPP
+-#endif  // ZEROCONF_DETAIL_HPP
 \ No newline at end of file
-+#endif // ZEROCONF_DETAIL_HPP
---- a/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-@@ -27,6 +27,7 @@
- #include <string.h>
- #include <unistd.h>
- #include <sys/socket.h>
-+#include <sys/time.h>
- #include <netinet/in.h>
++#endif  // ZEROCONF_DETAIL_HPP
+diff --git a/src/mDNS_service.cpp b/src/mDNS_service.cpp
+index c8c7877..3fbd7ea 100644
+--- a/src/mDNS_service.cpp
++++ b/src/mDNS_service.cpp
+@@ -35,6 +35,7 @@
  #endif
  
+ #include <stdio.h>
++#include <sys/select.h>
+ 
+ #include <errno.h>
+ #include <signal.h>
diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..15ccc449812e3 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
-version=5.2.0
-revision=2
+version=5.8.4
+revision=1
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
@@ -10,16 +10,17 @@ configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
  -DOCPN_USE_BUNDLED_LIBS=OFF"
 hostmakedepends="gettext pkg-config"
 makedepends="gtk+3-devel libcurl-devel portaudio-devel tinyxml-devel
- wxWidgets-gtk3-devel $(vopt_if exif 'libexif-devel') glu-devel
- $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel') $(vopt_if lzma 'liblzma-devel')"
+ wxWidgets-gtk3-devel glu-devel glew-devel rapidjson gtest-devel
+ $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel')
+ $(vopt_if exif 'libexif-devel') $(vopt_if lzma 'liblzma-devel')"
 depends="gpsd hicolor-icon-theme OpenCPN-tcdata-${version}_${revision}
  OpenCPN-gshhs-crude"
 short_desc="Concise ChartPlotter/Navigator"
 maintainer="John <me@johnnynator.dev>"
 license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, MIT, WxWindows-exception-3.1, JasPer-2.0, BSD-3-Clause, SGI-B-2.0"
 homepage="https://opencpn.org/"
-distfiles="https://github.com/OpenCPN/OpenCPN/archive/v${version}.tar.gz"
-checksum=f6ec38989bc38f5a7f63234c5e0230adeb73f5626b4e3d3dfa680f0c240badc7
+distfiles="https://github.com/OpenCPN/OpenCPN/archive/Release_${version}.tar.gz"
+checksum=7552726e5afce5eb401e307beedd8f3aa2c66725602fc27ab3ad1845f40b87a0
 
 build_options="lzma libarchive exif crashreport"
 build_options_default="lzma libarchive exif"
@@ -34,6 +35,7 @@ case $XBPS_TARGET_MACHINE in
 esac
 
 CFLAGS="-fcommon"
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_install() {
 	vlicense libs/glshim/LICENSE LICENSE.glshim

From cc60b8d9635559295d44e5392d4099ddb798ca7d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/43] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..c28c2d707c229 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower
@@ -19,6 +19,8 @@ homepage="https://www.prusa3d.com/prusaslicer/"
 distfiles="https://github.com/prusa3d/Prusaslicer/archive/version_${version}.tar.gz"
 checksum=e58278067b9d49a42dc9bb02b74307b3cb365bb737f28e246ca8c6f466095d6b
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_extract() {
 	# Mark tests that fail on certain targets
 	case "$XBPS_TARGET_MACHINE" in

From 1e38e1b92848694b8149d57795d7e507c7067584 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/43] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..8c2ea6e40cc5c 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"
@@ -16,6 +16,8 @@ changelog="https://github.com/sirjuddington/SLADE/releases/tag/${version}"
 distfiles="https://github.com/sirjuddington/SLADE/archive/${version}.tar.gz"
 checksum=c327fa62ba491ac481d769700261d810128910007297fd9d9dbe26ac0e78bb2c
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	case $XBPS_TARGET_MACHINE in
 		x86_64* | i686*);;

From 0e04c5fe9817226757609e1e53de2526789b4cda Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/43] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..d94369e087891 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"
@@ -14,6 +14,8 @@ homepage="https://github.com/slacka/WoeUSB"
 distfiles="https://github.com/slacka/WoeUSB/archive/v${version}.tar.gz"
 checksum=0cab88a1113506f39d2f1c19532b2cd8d968c6a9f59129953c000e29e73f3d4f
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_patch() {
 	vsed -i -e "s/@@WOEUSB_VERSION@@/$version/g" \
 		configure.ac \

From 72ae2f3c8e383a22334f2b6eeef6fe007c11049f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/43] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/patches/wx-3.2.patch         | 26 ++++++++++++++++
 .../patches/wx-widget-has-basque.patch        | 22 +++++++++++++
 srcpkgs/audacity/patches/wxbitmap.patch       | 31 +++++++++++++++++++
 srcpkgs/audacity/template                     |  7 +++--
 4 files changed, 84 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/audacity/patches/wx-3.2.patch
 create mode 100644 srcpkgs/audacity/patches/wx-widget-has-basque.patch
 create mode 100644 srcpkgs/audacity/patches/wxbitmap.patch

diff --git a/srcpkgs/audacity/patches/wx-3.2.patch b/srcpkgs/audacity/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..d42ae09f30f6e
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-3.2.patch
@@ -0,0 +1,26 @@
+Index: audacity-Audacity-2.4.1/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/configure
++++ audacity-Audacity-2.4.1/configure
+@@ -19918,7 +19918,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
+Index: audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/lib-src/lib-widget-extra/configure
++++ audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+@@ -16633,7 +16633,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
diff --git a/srcpkgs/audacity/patches/wx-widget-has-basque.patch b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
new file mode 100644
index 0000000000000..4dd24e79ec8e2
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
@@ -0,0 +1,22 @@
+Index: audacity-Audacity-2.4.1/src/AudacityApp.cpp
+===================================================================
+--- audacity-Audacity-2.4.1.orig/src/AudacityApp.cpp
++++ audacity-Audacity-2.4.1/src/AudacityApp.cpp
+@@ -1102,7 +1102,7 @@ locations of the missing files.").Format
+ #define WL(lang,sublang)
+ #endif
+ 
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+ wxLanguageInfo userLangs[] =
+ {
+    // Bosnian is defined in wxWidgets already
+@@ -1366,7 +1366,7 @@ bool AudacityApp::OnInit()
+    //
+    // TODO:  The whole Language initialization really need to be reworked.
+    //        It's all over the place.
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+    for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++)
+    {
+       wxLocale::AddLanguage(userLangs[i]);
diff --git a/srcpkgs/audacity/patches/wxbitmap.patch b/srcpkgs/audacity/patches/wxbitmap.patch
new file mode 100644
index 0000000000000..af18bd1cb6524
--- /dev/null
+++ b/srcpkgs/audacity/patches/wxbitmap.patch
@@ -0,0 +1,31 @@
+From 55383fccd0c281b4f189d9b07699b21bb802c736 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney@ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH] Call the proper wxBitmap constructor for XPM data
+
+wxBitmap back to at least 3.0.0 did not have a constructor for an XPM
+image that took a size parameter, it would only take the XPM data
+itself.
+
+I don't know how this compiled until now, but it doesn't anymore when
+the size is included and built against wx 3.1.6 in Fedora.
+---
+ src/MixerBoard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+ 
+ Technically this patch is under GPLv3+ because it was contributed after
+ re licensing
+
+diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp
+index 54b5f146cc7..7fe81615474 100644
+--- a/src/MixerBoard.cpp
++++ b/src/MixerBoard.cpp
+@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments()
+    wxMemoryDC dc;
+ 
+    for (const auto &data : table) {
+-      auto bmp = std::make_unique<wxBitmap>(data.bitmap,24);
++      auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+       dc.SelectObject(*bmp);
+       AColor::Bevel(dc, false, bev);
+       mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..e79971d69d016 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"
@@ -13,7 +13,8 @@ makedepends="jack-devel wxWidgets-gtk3-devel gtk+3-devel
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Graphical cross-platform audio editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
+# Patches are GPL3+, so bump the license for the whole package
+license="GPL-3.0-or-later"
 homepage="https://www.audacityteam.org"
 distfiles="https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"
 checksum=50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f
@@ -27,6 +28,8 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"
 fi
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vcopy nyquist /usr/share/audacity
 	vcopy plug-ins /usr/share/audacity

From 1eb4b7962834301ee0bdbeb8c71a596c74e7693d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/43] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65b3efc5c3455 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"
@@ -21,7 +21,7 @@ boinc_homedir="/var/lib/boinc"
 boinc_shell="/bin/bash"
 conflicts="boinc-nox>=0"
 
-CXXFLAGS="-Wno-redundant-decls"
+CXXFLAGS="-Wno-redundant-decls -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 case "$XBPS_TARGET_MACHINE" in
 	armv6l) broken="arm-linux-gnueabihf-g++: error: libwhetvfp.a: No such file or directory" ;;

From d7d21d82dc2a1299d75d773516e97a7f45e55241 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/43] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/patches/000.r11991.patch   |  27 +
 ...0.v20.03-r12008.patch => 000.r12008.patch} |   0
 ...1.v20.03-r12012.patch => 000.r12012.patch} |   0
 srcpkgs/codeblocks/patches/000.r12532.patch   |  13 +
 srcpkgs/codeblocks/patches/000.r12580.patch   | 944 ++++++++++++++++++
 srcpkgs/codeblocks/patches/000.r12707.patch   | 120 +++
 srcpkgs/codeblocks/patches/wx-3.2.patch       |  21 +
 srcpkgs/codeblocks/template                   |   4 +-
 8 files changed, 1128 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codeblocks/patches/000.r11991.patch
 rename srcpkgs/codeblocks/patches/{000.v20.03-r12008.patch => 000.r12008.patch} (100%)
 rename srcpkgs/codeblocks/patches/{001.v20.03-r12012.patch => 000.r12012.patch} (100%)
 create mode 100644 srcpkgs/codeblocks/patches/000.r12532.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12580.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12707.patch
 create mode 100644 srcpkgs/codeblocks/patches/wx-3.2.patch

diff --git a/srcpkgs/codeblocks/patches/000.r11991.patch b/srcpkgs/codeblocks/patches/000.r11991.patch
new file mode 100644
index 0000000000000..0cdb7251fdced
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r11991.patch
@@ -0,0 +1,27 @@
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 11990)
++++ b/src/src/main.cpp	(revision 11991)
+@@ -2680,8 +2680,6 @@
+     else
+     {
+         wxBusyCursor useless;
+-        wxPaintEvent e;
+-        ProcessEvent(e);
+         for (unsigned int i = 0; i < files.GetCount(); ++i)
+           success &= OpenGeneric(files[i]);
+     }
+Index: src/src/watchesdlg.cpp
+===================================================================
+--- a/src/src/watchesdlg.cpp	(revision 11990)
++++ b/src/src/watchesdlg.cpp	(revision 11991)
+@@ -103,8 +103,7 @@
+                                   cb_unused const wxPoint& pos,
+                                   cb_unused const wxSize& sz) const override
+     {
+-        wxPGWindowList const list;
+-        return list;
++        return wxPGWindowList(nullptr, nullptr);
+     }
+     void UpdateControl(cb_unused wxPGProperty* property, cb_unused wxWindow* ctrl) const override {}
+     bool OnEvent(cb_unused wxPropertyGrid* propgrid, cb_unused wxPGProperty* property,
diff --git a/srcpkgs/codeblocks/patches/000.v20.03-r12008.patch b/srcpkgs/codeblocks/patches/000.r12008.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/000.v20.03-r12008.patch
rename to srcpkgs/codeblocks/patches/000.r12008.patch
diff --git a/srcpkgs/codeblocks/patches/001.v20.03-r12012.patch b/srcpkgs/codeblocks/patches/000.r12012.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/001.v20.03-r12012.patch
rename to srcpkgs/codeblocks/patches/000.r12012.patch
diff --git a/srcpkgs/codeblocks/patches/000.r12532.patch b/srcpkgs/codeblocks/patches/000.r12532.patch
new file mode 100644
index 0000000000000..15a2fff28e2e7
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12532.patch
@@ -0,0 +1,13 @@
+Index: src/include/ccmanager.h
+===================================================================
+--- a/src/include/ccmanager.h	(revision 12531)
++++ b/src/include/ccmanager.h	(revision 12532)
+@@ -44,7 +44,7 @@
+  * list or the doxygen popup, the scroll event is instead sent there (and skipped for the editor
+  * window).
+  */
+-class DLLIMPORT CCManager : public Mgr<CCManager>, wxEvtHandler
++class DLLIMPORT CCManager : public Mgr<CCManager>, public wxEvtHandler
+ {
+     public:
+         friend class Mgr<CCManager>;
diff --git a/srcpkgs/codeblocks/patches/000.r12580.patch b/srcpkgs/codeblocks/patches/000.r12580.patch
new file mode 100644
index 0000000000000..7930c5c5677b2
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12580.patch
@@ -0,0 +1,944 @@
+Index: src/src/notebookstyles.h
+===================================================================
+--- a/src/src/notebookstyles.h	(revision 12579)
++++ b/src/src/notebookstyles.h	(revision 12580)
+@@ -8,14 +8,6 @@
+ 
+ #include "cbauibook.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-#endif
+-
+-
+ class wxDC;
+ class wxWindow;
+ class wxRect;
+@@ -53,35 +45,4 @@
+                             const wxSize& required_bmp_size) override;
+ };
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-class NbStyleGTK : public wxAuiDefaultTabArt
+-{
+-public:
+-    NbStyleGTK();
+-
+-    virtual wxAuiTabArt* Clone();
+-    virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+-    virtual void DrawTab(wxDC& dc,
+-                         wxWindow* wnd,
+-                         const wxAuiNotebookPage& page,
+-                         const wxRect& in_rect,
+-                         int close_button_state,
+-                         wxRect* out_tab_rect,
+-                         wxRect* out_button_rect,
+-                         int* x_extent);
+-    void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
+-                    int button_state, int orientation, wxRect* out_rect);
+-    int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
+-                            const wxSize& required_bmp_size);
+-    virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active,
+-                              int close_button_state, int* x_extent);
+-private:
+-    int m_Xthickness;
+-    int m_Ythickness;
+-    int m_TabHBorder;
+-    int m_TabVBorder;
+-    wxBitmap m_ActiveCloseButton;
+-};
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+ #endif // NOTEBOOKSTYLES_H
+Index: src/plugins/compilergcc/compileroptionsdlg.cpp
+===================================================================
+--- a/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12579)
++++ b/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12580)
+@@ -677,13 +677,9 @@
+     wxPGProperty *root = m_FlagsPG->GetRoot();
+     if (root)
+     {
+-        unsigned count = root->GetChildCount();
++        const unsigned count = root->GetChildCount();
+         for (unsigned ii = 0; ii < count; ++ii)
+-#if wxCHECK_VERSION(3, 0, 0)
+             m_FlagsPG->SortChildren(root->Item(ii), wxPG_RECURSE);
+-#else
+-            m_FlagsPG->Sort(root->Item(ii));
+-#endif
+     }
+     m_FlagsPG->Thaw();
+ } // DoFillOptions
+@@ -2118,11 +2114,7 @@
+     CompilerFactory::SetDefaultCompiler(idx);
+     wxString msg;
+     Compiler* compiler = CompilerFactory::GetDefaultCompiler();
+-    #if wxCHECK_VERSION(3, 0, 0)
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().wx_str() : _("[invalid]").wx_str());
+-    #else
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().c_str() : _("[invalid]"));
+-    #endif
++    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName() : _("[invalid]"));
+     cbMessageBox(msg);
+ } // OnSetDefaultCompilerClick
+ 
+Index: src/sdk/templatemanager.cpp
+===================================================================
+--- a/src/sdk/templatemanager.cpp	(revision 12579)
++++ b/src/sdk/templatemanager.cpp	(revision 12580)
+@@ -186,11 +186,7 @@
+             ++count;
+         }
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+     if (count != total_count)
+         cbMessageBox(_("Some files could not be loaded with the template..."), _("Error"), wxICON_ERROR);
+@@ -303,21 +299,13 @@
+     {
+         wxString src = (*it)->file.GetFullPath();
+         wxString dst = templ + (*it)->relativeToCommonTopLevelPath;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.wx_str(), dst.wx_str()));
+-        #else
+-        Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.c_str(), dst.c_str()));
+-        #endif
+         if (!CreateDirRecursively(dst))
+             Manager::Get()->GetLogManager()->DebugLog(_T("Failed creating directory for ") + dst);
+         if (wxCopyFile(src, dst, true))
+             ++count;
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+ 
+     // cbProject doesn't have a GetRelativeToCommonTopLevelPath() function, so we simulate it here
+Index: src/src/associations.cpp
+===================================================================
+--- a/src/src/associations.cpp	(revision 12579)
++++ b/src/src/associations.cpp	(revision 12580)
+@@ -201,11 +201,7 @@
+     if (key.Exists())
+     {
+         wxString s;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         if (key.QueryValue(wxEmptyString, s) && s.StartsWith(_T("CodeBlocks")))
+-        #else
+-        if (key.QueryValue(NULL, s) && s.StartsWith(_T("CodeBlocks")))
+-        #endif
+             key.DeleteSelf();
+     }
+ 
+Index: src/src/dlgabout.cpp
+===================================================================
+--- a/src/src/dlgabout.cpp	(revision 12579)
++++ b/src/src/dlgabout.cpp	(revision 12580)
+@@ -20,9 +20,7 @@
+     #include <wx/string.h>
+     #include <wx/textctrl.h>
+     #include <wx/xrc/xmlres.h>
+-    #if wxCHECK_VERSION(3, 0, 0)
+-        #include <wx/versioninfo.h>
+-    #endif // wxCHECK_VERSION
++    #include <wx/versioninfo.h>
+ 
+     #include "licenses.h"
+     #include "configmanager.h"
+@@ -146,15 +144,11 @@
+     wxTextCtrl *txtLicense = XRCCTRL(*this, "txtLicense", wxTextCtrl);
+     txtLicense->SetValue(LICENSE_GPL);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     const wxVersionInfo scintillaVersion = wxScintilla::GetLibraryVersionInfo();
+     const wxString scintillaStr = wxString::Format(wxT("%d.%d.%d"),
+                                                    scintillaVersion.GetMajor(),
+                                                    scintillaVersion.GetMinor(),
+                                                    scintillaVersion.GetMicro());
+-#else
+-    const wxString scintillaStr = wxSCINTILLA_VERSION;
+-#endif // wxCHECK_VERSION
+ 
+     struct Item
+     {
+@@ -218,9 +212,7 @@
+         information += wxT(": ") + item.value + wxT("\n");
+     }
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     information += wxT("\n") + wxGetLibraryVersionInfo().GetDescription();
+-#endif // wxCHECK_VERSION(3, 0, 0)
+ 
+     wxTextCtrl *txtInformation = XRCCTRL(*this, "txtInformation", wxTextCtrl);
+     txtInformation->SetValue(information);
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 12579)
++++ b/src/src/main.cpp	(revision 12580)
+@@ -2075,11 +2075,7 @@
+         {
+             if (!items[i]->IsCheckable())
+                 continue;
+-#if wxCHECK_VERSION(3, 0, 0)
+             items[i]->Check(items[i]->GetItemLabel().IsSameAs(name));
+-#else
+-            items[i]->Check(items[i]->GetText().IsSameAs(name));
+-#endif
+         }
+ 
+         if (!m_LastLayoutIsTemp)
+@@ -2401,12 +2397,7 @@
+             break;
+ 
+         default: // default style
+-            #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-            target->SetArtProvider(new NbStyleGTK());
+-            #else
+             target->SetArtProvider(new wxAuiDefaultTabArt());
+-            #endif
+-            break;
+     }
+ 
+     target->SetTabCtrlHeight(-1);
+@@ -4801,13 +4792,9 @@
+ 
+     if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor())
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         // Execute the code to update the status bar outside of the paint event for scintilla.
+         // Executing this function directly in the event handler causes redraw problems on Windows.
+         CallAfter(&MainFrame::DoUpdateStatusBar);
+-#else
+-        DoUpdateStatusBar();
+-#endif // defined(__wxMSW__) && wxCHECK_VERSION(3, 0, 0)
+     }
+ 
+     event.Skip();
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12579)
++++ b/src/src/notebookstyles.cpp	(revision 12580)
+@@ -13,14 +13,6 @@
+ #include "prep.h"
+ #include "notebookstyles.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-    #include <wx/renderer.h>
+-#endif
+-
+ #include <wx/dc.h>
+ #include <wx/dcclient.h>
+ 
+@@ -42,15 +34,9 @@
+ {
+     NbStyleVC71* clone = new NbStyleVC71();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -75,11 +61,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 3;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 3;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -166,17 +148,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -186,21 +161,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -227,11 +193,7 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+@@ -246,15 +208,9 @@
+ {
+     NbStyleFF2* clone = new NbStyleFF2();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -272,11 +228,7 @@
+     wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+                                     page.active, close_button_state, x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 2;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 2;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -360,17 +312,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -380,21 +325,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -421,533 +357,9 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+     return s.y + 6;
+ }
+-
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+-namespace
+-{
+-
+-static GtkWidget *g_window = nullptr;
+-static GtkWidget *g_container = nullptr;
+-static GtkWidget *g_notebook = nullptr;
+-static GtkWidget *g_button = nullptr;
+-static int s_CloseIconSize = 16; // default size
+-
+-static void setup_widget_prototype(GtkWidget* widget)
+-{
+-    if (!g_window)
+-    {
+-        g_window = gtk_window_new(GTK_WINDOW_POPUP);
+-        gtk_widget_realize(g_window);
+-    }
+-    if (!g_container)
+-    {
+-        g_container = gtk_fixed_new();
+-        gtk_container_add(GTK_CONTAINER(g_window), g_container);
+-    }
+-
+-    gtk_container_add(GTK_CONTAINER(g_container), widget);
+-    gtk_widget_realize(widget);
+-}
+-
+-static GtkStyle * get_style_button()
+-{
+-    if (!g_button)
+-    {
+-        g_button = gtk_button_new();
+-        setup_widget_prototype(g_button);
+-    }
+-    return gtk_widget_get_style(g_button);
+-}
+-
+-static GtkStyle * get_style_notebook()
+-{
+-    if (!g_notebook)
+-    {
+-        g_notebook = gtk_notebook_new();
+-        setup_widget_prototype(g_notebook);
+-    }
+-    return gtk_widget_get_style(g_notebook);
+-}
+-
+-}
+-
+-NbStyleGTK::NbStyleGTK():
+-    m_Xthickness(0),
+-    m_Ythickness(0),
+-    m_TabHBorder(0),
+-    m_TabVBorder(0)
+-
+-{
+-}
+-
+-wxAuiTabArt* NbStyleGTK::Clone()
+-{
+-    NbStyleGTK* clone = new NbStyleGTK();
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    clone->SetNormalFont(m_normalFont);
+-    clone->SetSelectedFont(m_normalFont);
+-    clone->SetMeasuringFont(m_normalFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_normal_font);
+-    clone->SetMeasuringFont(m_normal_font);
+-#endif
+-
+-    return clone;
+-}
+-
+-void NbStyleGTK::DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect)
+-{
+-    GtkStyle* style_notebook = get_style_notebook();
+-    GtkNotebook* notebook = GTK_NOTEBOOK (g_notebook);
+-
+-    // if one of the parameters have changed, the height needs to be recalculated, so we force it,
+-    if(m_Xthickness  != style_notebook->xthickness ||
+-       m_Ythickness  != style_notebook->ythickness ||
+-       m_TabVBorder != notebook->tab_vborder ||
+-       m_TabHBorder != notebook->tab_hborder)
+-    {
+-        m_Xthickness  = style_notebook->xthickness;
+-        m_Ythickness  = style_notebook->ythickness;
+-        m_TabVBorder = notebook->tab_vborder;
+-        m_TabHBorder = notebook->tab_hborder;
+-        wxAuiNotebook* nb = nullptr;
+-        if(wnd)
+-             nb = (cbAuiNotebook*)wnd->GetParent();
+-        if(nb)
+-            nb->SetTabCtrlHeight(-1);
+-    }
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_style_apply_default_background(style_notebook, pWin, 1, GTK_STATE_NORMAL, nullptr,
+-                                       rect.x, rect.y, rect.width, rect.height);
+-}
+-
+-void ButtonStateAndShadow(int button_state, GtkStateType &state, GtkShadowType &shadow)
+-{
+-
+-    if (button_state & wxAUI_BUTTON_STATE_DISABLED)
+-    {
+-        state = GTK_STATE_INSENSITIVE;
+-        shadow = GTK_SHADOW_ETCHED_IN;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        state = GTK_STATE_PRELIGHT;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        state = GTK_STATE_ACTIVE;
+-        shadow = GTK_SHADOW_IN;
+-    }
+-    else
+-    {
+-        state = GTK_STATE_NORMAL;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-}
+-
+-wxRect DrawCloseButton(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GdkRectangle* clipRect)
+-{
+-    GtkStyle *style_button = get_style_button();
+-    int xthickness = style_button->xthickness;
+-    int ythickness = style_button->ythickness;
+-
+-    wxBitmap bmp;
+-    bmp.SetPixbuf(gtk_widget_render_icon(widget, GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR, "tab"));
+-
+-    if(bmp.GetWidth() != s_CloseIconSize || bmp.GetHeight() != s_CloseIconSize)
+-    {
+-        wxImage img = bmp.ConvertToImage();
+-        img.Rescale(s_CloseIconSize, s_CloseIconSize);
+-        bmp = img;
+-    }
+-
+-    int button_size = s_CloseIconSize + 2 * xthickness;
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x - ythickness;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - button_size - ythickness;
+-
+-    out_rect.y = in_rect.y + (in_rect.height - button_size) / 2;
+-    out_rect.width = button_size;
+-    out_rect.height = button_size;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-    else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_ACTIVE, GTK_SHADOW_IN, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-
+-
+-    dc.DrawBitmap(bmp, out_rect.x + xthickness, out_rect.y + ythickness, true);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
+-                             const wxRect& in_rect, int close_button_state, wxRect* out_tab_rect,
+-                             wxRect* out_button_rect, int* x_extent)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    GtkStyle *style_notebook = get_style_notebook();
+-
+-    wxRect const &window_rect = wnd->GetRect();
+-
+-    int focus_width = 0;
+-
+-    gtk_widget_style_get(g_notebook,
+-                         "focus-line-width", &focus_width,
+-                         NULL);
+-
+-    int tab_pos;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        tab_pos = wxAUI_NB_BOTTOM;
+-    else //if (m_flags & wxAUI_NB_TOP) {}
+-        tab_pos = wxAUI_NB_TOP;
+-
+-    // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+-    // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+-
+-    // figure out the size of the tab
+-    wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+-                                    page.active, close_button_state, x_extent);
+-
+-    wxRect tab_rect = in_rect;
+-    tab_rect.width = tab_size.x;
+-    tab_rect.height = tab_size.y;
+-    tab_rect.y += 2 * m_TabHBorder;
+-
+-    if (page.active)
+-        tab_rect.height += 2 * m_TabHBorder;
+-#if wxCHECK_VERSION(3, 0, 0)
+-    // if no bitmap is set, we need a tiny correction
+-    if (! page.bitmap.IsOk())
+-        tab_rect.height += 1;
+-#endif
+-
+-    int gap_rect_height = 6 * m_TabHBorder;
+-    int gap_rect_x = 1, gap_start = 0, gap_width = 0;
+-    int gap_rect_y = tab_rect.y - gap_rect_height;
+-    int gap_rect_width = window_rect.width;
+-
+-    switch (tab_pos)
+-    {
+-        case wxAUI_NB_TOP:
+-            tab_rect.y -= 2 * m_TabHBorder;
+-            if (!page.active)
+-                tab_rect.y += 2 * m_TabHBorder;
+-            gap_rect_y = tab_rect.y + tab_rect.height - m_TabHBorder / 2;
+-            // fall through
+-        case wxAUI_NB_BOTTOM:
+-            gap_start = tab_rect.x - m_TabVBorder / 2;
+-            gap_width = tab_rect.width;
+-            break;
+-        default:
+-            break;
+-    }
+-    tab_rect.y += m_TabHBorder / 2;
+-    gap_rect_y += m_TabHBorder / 2;
+-
+-    int padding = focus_width + m_TabHBorder;
+-
+-    int clip_width = tab_rect.width;
+-    if (tab_rect.x + tab_rect.width > in_rect.x + in_rect.width)
+-        clip_width = (in_rect.x + in_rect.width) - tab_rect.x;
+-
+-    dc.SetClippingRegion(tab_rect.x, tab_rect.y - m_TabVBorder, clip_width, tab_rect.height + m_TabVBorder);
+-
+-    GdkRectangle area;
+-    area.x = tab_rect.x - m_TabVBorder;
+-    area.y = tab_rect.y - 2 * m_TabHBorder;
+-    area.width = clip_width + m_TabVBorder;
+-    area.height = tab_rect.height + 2 * m_TabHBorder;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (tab_pos == wxAUI_NB_BOTTOM)
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_BOTTOM, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_TOP);
+-    }
+-    else
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_TOP, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_BOTTOM);
+-    }
+-
+-    wxCoord textX = tab_rect.x + padding + m_Xthickness;
+-
+-    int bitmap_offset = 0;
+-    if (page.bitmap.IsOk())
+-    {
+-        bitmap_offset = textX;
+-
+-        // draw bitmap
+-        int bitmapY = tab_rect.y +(tab_rect.height - page.bitmap.GetHeight()) / 2;
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                bitmapY += m_Ythickness / 2;
+-            else
+-                bitmapY -= m_Ythickness / 2;
+-        }
+-        dc.DrawBitmap(page.bitmap,
+-                      bitmap_offset,
+-                      bitmapY,
+-                      true);
+-
+-        textX += page.bitmap.GetWidth() + padding;
+-    }
+-
+-    wxCoord textW, textH, textY;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    dc.SetFont(m_normalFont);
+-#else
+-    dc.SetFont(m_normal_font);
+-#endif
+-    dc.GetTextExtent(page.caption, &textW, &textH);
+-    textY = tab_rect.y + (tab_rect.height - textH) / 2;
+-    if(!page.active)
+-    {
+-        if (tab_pos == wxAUI_NB_TOP)
+-            textY += m_Ythickness / 2;
+-        else
+-            textY -= m_Ythickness / 2;
+-    }
+-
+-    // draw tab text
+-    GdkColor text_colour = page.active ? style_notebook->fg[GTK_STATE_NORMAL] : style_notebook->fg[GTK_STATE_ACTIVE];
+-    dc.SetTextForeground(wxColor(text_colour));
+-    GdkRectangle focus_area;
+-
+-    int padding_focus = padding - focus_width;
+-    focus_area.x = tab_rect.x + padding_focus;
+-    focus_area.y = textY - focus_width;
+-    focus_area.width = tab_rect.width - 2 * padding_focus;
+-    focus_area.height = textH + 2 * focus_width;
+-
+-    if(page.active && (wnd->FindFocus() == wnd) && focus_area.x <= (area.x + area.width))
+-    {
+-        // clipping seems not to work here, so we we have to recalc the focus-area manually
+-        if((focus_area.x + focus_area.width) > (area.x + area.width))
+-            focus_area.width = area.x + area.width - focus_area.x + focus_width - m_TabVBorder;
+-        gtk_paint_focus (style_notebook, pWin,
+-                         GTK_STATE_ACTIVE, NULL, widget, "tab",
+-                         focus_area.x, focus_area.y, focus_area.width, focus_area.height);
+-    }
+-
+-    dc.DrawText(page.caption, textX, textY);
+-
+-    // draw close-button on tab (if enabled)
+-    if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+-    {
+-        wxRect rect(tab_rect.x, tab_rect.y, tab_rect.width - m_Xthickness, tab_rect.height);
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                rect.y += m_Ythickness / 2;
+-            else
+-                rect.y -= m_Ythickness / 2;
+-        }
+-        *out_button_rect = DrawCloseButton(dc, widget, close_button_state, rect, wxRIGHT, &area);
+-    }
+-
+-    tab_rect.width = std::min(tab_rect.width, clip_width);
+-    *out_tab_rect = tab_rect;
+-
+-    dc.DestroyClippingRegion();
+-}
+-
+-wxRect DrawSimpleArrow(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GtkArrowType arrow_type)
+-{
+-    int scroll_arrow_hlength, scroll_arrow_vlength;
+-    gtk_widget_style_get(widget,
+-                         "scroll-arrow-hlength", &scroll_arrow_hlength,
+-                         "scroll-arrow-vlength", &scroll_arrow_vlength,
+-                         NULL);
+-
+-    GtkStateType state;
+-    GtkShadowType shadow;
+-    ButtonStateAndShadow(button_state, state, shadow);
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - scroll_arrow_hlength;
+-    out_rect.y = (in_rect.y + in_rect.height - 3 * get_style_notebook()->ythickness - scroll_arrow_vlength) / 2;
+-    out_rect.width = scroll_arrow_hlength;
+-    out_rect.height = scroll_arrow_vlength;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_paint_arrow (get_style_button(), pWin, state, shadow, nullptr, widget, "notebook",
+-                     arrow_type, TRUE, out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawButton(wxDC& dc, wxWindow* wnd,
+-                            const wxRect& in_rect,
+-                            int bitmap_id,
+-                            int button_state,
+-                            int orientation,
+-                            wxRect* out_rect)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    wxRect rect = in_rect;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        rect.y += 2 * get_style_button()->ythickness;
+-
+-    switch (bitmap_id)
+-    {
+-        case wxAUI_BUTTON_CLOSE:
+-            rect.y -= 2 * get_style_button()->ythickness;
+-            rect = DrawCloseButton(dc, widget, button_state, rect, orientation, NULL);
+-            break;
+-
+-        case wxAUI_BUTTON_LEFT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_LEFT);
+-            break;
+-
+-        case wxAUI_BUTTON_RIGHT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_RIGHT);
+-            break;
+-
+-        case wxAUI_BUTTON_WINDOWLIST:
+-            {
+-                rect.height -= 4 * get_style_button()->ythickness;
+-                rect.width = rect.height;
+-                rect.x = in_rect.x + in_rect.width - rect.width;
+-
+-                if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_CURRENT);
+-                else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_PRESSED);
+-                else
+-                    wxRendererNative::Get().DrawDropArrow(wnd, dc, rect);
+-            }
+-            break;
+-
+-        default:
+-            break;
+-    }
+-
+-    *out_rect = rect;
+-}
+-
+-
+-int NbStyleGTK::GetBestTabCtrlSize(wxWindow* wnd,
+-                                   const wxAuiNotebookPageArray& pages,
+-                                   const wxSize& required_bmp_size)
+-{
+-#if wxCHECK_VERSION(3, 0, 0)
+-    SetMeasuringFont(m_normalFont);
+-    SetSelectedFont(m_normalFont);
+-#else
+-    SetMeasuringFont(m_normal_font);
+-    SetSelectedFont(m_normal_font);
+-#endif
+-    int tab_height = 3 * get_style_notebook()->ythickness + wxAuiDefaultTabArt::GetBestTabCtrlSize(wnd, pages, required_bmp_size);
+-    return tab_height;
+-}
+-
+-wxSize NbStyleGTK::GetTabSize(wxDC& dc,
+-                              wxWindow* wnd,
+-                              const wxString& caption,
+-                              const wxBitmap& bitmap,
+-                              bool active,
+-                              int close_button_state,
+-                              int* x_extent)
+-{
+-    wxSize s = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
+-
+-    int overlap = 0;
+-    gtk_widget_style_get (wnd->GetHandle(),
+-        "focus-line-width", &overlap,
+-        NULL);
+-    *x_extent -= overlap;
+-    return s;
+-}
+-
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+Index: src/src/projectmanagerui.cpp
+===================================================================
+--- a/src/src/projectmanagerui.cpp	(revision 12579)
++++ b/src/src/projectmanagerui.cpp	(revision 12580)
+@@ -1875,11 +1875,7 @@
+ {
+     size_t operator()(const wxString& s) const
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         return std::hash<std::wstring>()(s.ToStdWstring());
+-#else
+-        return std::hash<std::wstring>()(s.wc_str());
+-#endif // wxCHECK_VERSION
+     }
+ };
+ 
diff --git a/srcpkgs/codeblocks/patches/000.r12707.patch b/srcpkgs/codeblocks/patches/000.r12707.patch
new file mode 100644
index 0000000000000..bca974fbe5770
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12707.patch
@@ -0,0 +1,120 @@
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12706)
++++ b/src/src/notebookstyles.cpp	(revision 12707)
+@@ -124,8 +124,16 @@
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -132,6 +140,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -161,13 +170,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
+@@ -285,11 +304,20 @@
+     int text_offset = tab_x + 8;
+ 
+     int bitmap_offset = 0;
++
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -296,6 +324,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -303,7 +332,6 @@
+         text_offset = tab_x + 8;
+     }
+ 
+-
+     // if the caption is empty, measure some temporary text
+     wxString caption = page.caption;
+     if (caption.empty())
+@@ -325,13 +353,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
diff --git a/srcpkgs/codeblocks/patches/wx-3.2.patch b/srcpkgs/codeblocks/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..0400ce6346178
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/wx-3.2.patch
@@ -0,0 +1,21 @@
+Index: codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+===================================================================
+--- codeblocks-20.03.orig/src/sdk/scripting/bindings/sc_wxtypes.cpp
++++ codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+@@ -322,6 +322,7 @@ namespace ScriptBindings
+         typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
+         typedef bool(wxFileName::*WXFN_ISFILEWRITEABLE)()const;
++        typedef bool(wxFileName::*WXFN_NORMALIZE)(int, const wxString&, wxPathFormat);
+ 
+         SqPlus::SQClassDef<wxFileName>("wxFileName").
+                 emptyCtor().
+@@ -354,7 +355,7 @@ namespace ScriptBindings
+                 func(&wxFileName::IsDir, "IsDir").
+                 func(&wxFileName::MakeAbsolute, "MakeAbsolute").
+                 func(&wxFileName::MakeRelativeTo, "MakeRelativeTo").
+-                func(&wxFileName::Normalize, "Normalize").
++                func<WXFN_NORMALIZE>(&wxFileName::Normalize, "Normalize").
+                 func(&wxFileName::PrependDir, "PrependDir").
+                 func(&wxFileName::RemoveDir, "RemoveDir").
+                 func(&wxFileName::RemoveLastDir, "RemoveLastDir").
diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..d002a27408726 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr
@@ -17,6 +17,8 @@ homepage="http://www.codeblocks.org"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/Sources/${version}/${pkgname}-${version}.tar.xz"
 checksum=15eeb3e28aea054e1f38b0c7f4671b4d4d1116fd05f63c07aa95a91db89eaac5
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vinstall debian/codeblocks.sharedmime 644 /usr/share/mime/packages codeblocks.xml
 	vinstall src/mime/codeblocks.desktop 644 /usr/share/applications

From db230dc6eaedfed1db61716bf371182c8c75befe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/43] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   4 +-
 2 files changed, 134 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..f8206426888fd 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
@@ -32,6 +32,8 @@ case "$XBPS_TARGET_MACHINE" in
 	x86_64*|ppc64le*|aarch64*|arm*) build_options_default+=" lldb";;
 esac
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_extract() {
 	mv codelite-${version}/* .
 	rm -rf universal-ctags

From 6ed869f7f95041008f0d34c90330f3e2ed90f2ff Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/43] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..68d69808ad442 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"
@@ -13,3 +13,5 @@ homepage="https://vslavik.github.io/diff-pdf/"
 changelog="https://github.com/vslavik/diff-pdf/releases"
 distfiles="https://github.com/vslavik/diff-pdf/releases/download/v${version}/diff-pdf-${version}.tar.gz"
 checksum=017d52cb7ddabdbf63c6a47f39b2e5a1790022b95295b0d047817904e093245c
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From c9065036989b5d91992e88bb682011e0015ed6e2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/43] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From d4917e28a64ba1731931b06da7c973963c382171 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/43] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..ec52592f23d16 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"
@@ -24,3 +24,5 @@ fi
 case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*)  CFLAGS="-msse2";;
 esac
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From fbcfaaf1899e411e03d6ef5508711ba7bb4cfa99 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/43] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..c4d9dcb2a894c 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"
@@ -21,6 +21,8 @@ fi
 
 alternatives="gnuplot:gnuplot:/usr/bin/gnuplot-x11"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	# fix fonts location
 	sed -i \

From 2f6827c50fcf9f1827903831fed886edd641b24a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/43] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..da36377ced1fb 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4
@@ -17,7 +17,7 @@ homepage="http://golly.sourceforge.net/"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}-src.tar.gz"
 checksum=6c655a6ce2fd75c6ae7289da39d084162c6ed887a01c21c3760872e3ff6d60c8
 
-CXXFLAGS="-I../gollybase"
+CXXFLAGS="-I../gollybase -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_extract() {
 	# POSIX name clash

From 5233a532a0f388f0ff8a3c0472c966132f274ebb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/43] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..4d81e348351d3 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"
@@ -20,6 +20,8 @@ distfiles="${SOURCEFORGE_SITE}/hugin/hugin/hugin-${version%.*}/hugin-${version}.
 checksum=97c8562a0ba9a743e0b955a43dfde048b1c60cd9e5f2ee2b69de1a81646e05a7
 python_version=3
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" python3"
 else

From cfe9abbf35a5425d21790a8daabc1fae0013a7f1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/43] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..d356a1ab5ec66 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"
@@ -14,6 +14,8 @@ distfiles="https://mediaarea.net/download/source/${pkgname}/${version}/${pkgname
 checksum=932b82739f738e7db603cf5bb170720731a9e7c61d145c2a54aabb3cd0b753bc
 replaces="mediainfo-gui>=0"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 do_configure() {
 	for d in CLI GUI; do
 		cd $wrksrc/Project/GNU/$d

From 599d33b119502604ddb9781518d59c10cf36db3a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/43] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..d0b059026da34 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
@@ -14,6 +14,8 @@ homepage="http://openbabel.org"
 distfiles="https://github.com/openbabel/openbabel/archive/openbabel-${_ver}.tar.gz"
 checksum=c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 openbabel-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"

From 232c70859b88c9cfa2c7a2e4e0e911c7368ff3fa Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 29/43] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..99d86feeb215f 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files
@@ -16,6 +16,8 @@ homepage="https://pwsafe.org"
 distfiles="https://github.com/pwsafe/pwsafe/archive/${version}.tar.gz"
 checksum=6215f7b052480f03276b3ea590b9cdd23180db8d5d4a19185f3df7b6ddba11f8
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 if [ "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DNO_GTEST=OFF"
 else

From 3d6d3dc2acaa27cfb34fb5041cf100ecda92f83a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/43] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..a78feade69415 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"
@@ -17,6 +17,7 @@ distfiles="https://github.com/vslavik/poedit/releases/download/v${version}-oss/p
 checksum=e64139dd4beac1b8ea468d351b2b4bdae8ecbc6f4ca5d1ee1c73832036fff097
 
 CPPFLAGS="-DUCHAR_TYPE=uint16_t -Wno-deprecated-copy"
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" wxWidgets-common-devel"

From 9d2bd6a5e5eb3fc4de9dfb1af5465fe9c0ab58b9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/43] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..d7b55c776b1d4 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,9 +1,10 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
-hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
+hostmakedepends="automake gettext-devel intltool libtool pkg-config
+ wxWidgets-common wxWidgets-gtk3-devel"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"
 depends="ffmpeg"
 short_desc="Acoustic spectrum analyser"
@@ -13,6 +14,8 @@ homepage="https://github.com/withmorten/spek-alternative"
 distfiles="https://github.com/withmorten/spek-alternative/archive/${version}.tar.gz"
 checksum="007ba4b84a310b078e378aa84c8e80783db5821437a757a488c3ecec377e6b2a"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 # Tell autogen.sh to use "wx-config-gtk3" instead of "wx-config"
 export WX_CONFIG_NAME="wx-config-gtk3"
 

From d27ab4f0c5caca253312f36ba5080af989a46557 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/43] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..316d4a91c8f14 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"
@@ -14,6 +14,8 @@ homepage="https://www.arrl.org/tqsl-download"
 distfiles="https://www.arrl.org/tqsl/tqsl-${version}.tar.gz"
 checksum=5063cca759806ab1d6b8b6d9bb6c16a6380275ff192a3d0cc24aa9df6539ffcc
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vlicense LICENSE.txt
 	vinstall apps/tqsl.desktop 644 usr/share/applications

From a728e0f4b4b5c7263dbdd0a3f816badffb2eb4cc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/43] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..8e58cd4701a1a 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"
@@ -12,6 +12,8 @@ homepage="http://strlen.com/treesheets/"
 distfiles="https://github.com/aardappel/treesheets/archive/v${version}.tar.gz"
 checksum=84eb82f122bc7be3ded399d2511536128911477a4a69c51b26b856de2160405f
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 do_install() {
 	vmkdir usr/lib/${pkgname}
 

From bcbfb435cc44dfcc6552876c957e28ed4ee51ba0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/43] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..9c71cefe3f8dd 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"
@@ -15,3 +15,5 @@ license="GPL-2.0-or-later"
 homepage="https://github.com/visualboyadvance-m/visualboyadvance-m/"
 distfiles="https://github.com/visualboyadvance-m/visualboyadvance-m/archive/v${version}.tar.gz"
 checksum=f7d0815a65677f794ee68892c9566254023af641c72f9e06b4230b6c61790743
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 78dbcbed8c1e0825c57d32e9b00b79bdc2014663 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/43] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5f116a336b61e 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
@@ -21,6 +21,8 @@ case "${XBPS_TARGET_MACHINE}" in
 	i686*) depends+=" grub-i386-efi"; makedepends+=" grub-i386-efi" ;;
 esac
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_configure() {
 	sed -i Makefile src/Makefile \
 		-e"s;^\(CXXFLAGS *=\)\(.*\);\1 ${CXXFLAGS} \2;"

From f7572524c1fc3918bd94a40ba4937eebb77931e0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 36/43] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..749e481dd8fe3 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"
@@ -15,6 +15,8 @@ distfiles="https://github.com/wxMaxima-developers/wxmaxima/archive/Version-${ver
 checksum=d47ca52e40491ea3c4ea7bea126f4da4d0b535702126abef0c172f69ba58e17d
 nocross="clisp is nocross"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	# remove unpackaged files
 	rm -f ${DESTDIR}/usr/share/wxMaxima/{COPYING,README}

From 1ccdaac7133d08578ae6fd82b9cd068341ece7f8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/43] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..66b8156e431ec 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"
@@ -13,6 +13,8 @@ homepage="https://github.com/rzvncj/xCHM"
 distfiles="https://github.com/rzvncj/xCHM/releases/download/${version}/xchm-${version}.tar.gz"
 checksum=b07971ddb02992da462060fb638c051318f389aef822485646aa7fbe245a0d93
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	autoreconf -fi
 }

From 1db8adef3a0c2e53fe3908d87ba1951c0450f232 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 38/43] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From 793ac23b3c6bedebb2b912aa9444ed74d0b9f75c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 39/43] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From 2ad167758216c4ace47100204406b7784068fbe5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 40/43] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..4b38200ffde6f 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,9 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 2ba72212195fb22a8959039006f1a5d3d3023556 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 41/43] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From f8fc8d5210838bace37c5fb1174c5b399d31a111 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 42/43] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From 3d154281228f313dd2ae478c07e4b079c221bb98 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 43/43] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] wxWidgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (26 preceding siblings ...)
  2023-09-26  3:50 ` ahesford
@ 2023-09-26 13:42 ` ahesford
  2023-09-26 16:06 ` [PR PATCH] [Closed]: " ahesford
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-26 13:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1018 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages wxwidgets
https://github.com/void-linux/void-packages/pull/46237

[WIP] wxWidgets, wxPython
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

closes #44849 

A patch file from https://github.com/void-linux/void-packages/pull/46237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-wxwidgets-46237.patch --]
[-- Type: text/x-diff, Size: 154834 bytes --]

From 2eae1755a439e57b81b5d96287b85a4c298343a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:19:30 -0400
Subject: [PATCH 01/43] perl-Alien-wxWidgets: remove package

Nothing requires this package, it depends on an old and to-be-removed
vesion of wxWidgets, and it doesn't seem to have been updated since it
was added 5 years ago.
---
 srcpkgs/perl-Alien-wxWidgets/template | 14 --------------
 srcpkgs/removed-packages/template     |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/perl-Alien-wxWidgets/template

diff --git a/srcpkgs/perl-Alien-wxWidgets/template b/srcpkgs/perl-Alien-wxWidgets/template
deleted file mode 100644
index 91322529fcb7f..0000000000000
--- a/srcpkgs/perl-Alien-wxWidgets/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'perl-Alien-wxWidgets'
-pkgname=perl-Alien-wxWidgets
-version=0.69
-revision=3
-build_style=perl-ModuleBuild
-hostmakedepends="perl perl-Module-Build perl-Module-Pluggable perl-LWP-Protocol-https perl-Net-SSLeay"
-makedepends="perl-Alien wxWidgets-devel"
-depends="perl perl-Module-Pluggable perl-Alien wxWidgets perl-LWP-Protocol-https"
-short_desc="Alien::wxWidgets - building, finding and using wxWidgets binaries"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="Artistic-1.0-Perl, GPL-1.0-or-later"
-homepage="https://metacpan.org/release/Alien-wxWidgets"
-distfiles="${CPAN_SITE}/Alien/${pkgname#perl-}-${version}.tar.gz"
-checksum=53224e4bbbefff4cf7b63ed9a62963893b9ffd4965d70d96710348f8676de249
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index edf3aa545694b..582b0944c8c62 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -437,6 +437,7 @@ replaces="
  orage<=4.12.1_7
  parallel-rust<=0.11.3_2
  paraview<=5.8.1_3
+ perl-Alien-wxWidgets<=0.69_3
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8

From 01b8c33651ddc6b6805af867821ee923806f4695 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:21:42 -0400
Subject: [PATCH 02/43] pcsx2: remove package

This package only builds for i686* and depends on an old and
to-be-removed version of wxWidgets.
---
 ...20a9e048e4bd9d7760cb72e6335aee8155d4.patch | 42 -------------------
 srcpkgs/pcsx2/template                        | 27 ------------
 srcpkgs/removed-packages/template             |  1 +
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
 delete mode 100644 srcpkgs/pcsx2/template

diff --git a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch b/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
deleted file mode 100644
index 1a76bc1fa6809..0000000000000
--- a/srcpkgs/pcsx2/patches/6b7f20a9e048e4bd9d7760cb72e6335aee8155d4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b7f20a9e048e4bd9d7760cb72e6335aee8155d4 Mon Sep 17 00:00:00 2001
-From: John Zimmermann <me@johnnynator.dev>
-Date: Thu, 2 Jul 2020 12:24:45 +0200
-Subject: [PATCH] Allow running on systems without wx stackwalkler
-
-closes #2796
----
- pcsx2/gui/AppAssert.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git pcsx2/gui/AppAssert.cpp pcsx2/gui/AppAssert.cpp
-index a282715c4e..4ce151f86f 100644
---- a/pcsx2/gui/AppAssert.cpp
-+++ b/pcsx2/gui/AppAssert.cpp
-@@ -19,6 +19,7 @@
- 
- #include <wx/stackwalk.h>
- 
-+#if wxUSE_STACKWALKER
- class StackDump : public wxStackWalker
- {
- protected:
-@@ -94,6 +95,7 @@ static wxString pxGetStackTrace( const FnChar_t* calledFrom )
- 	dump.Walk( 3 );
- 	return dump.GetStackTrace();
- }
-+#endif
- 
- #ifdef __WXDEBUG__
- 
-@@ -122,7 +124,11 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
- 	static bool disableAsserts = false;
- 	if( disableAsserts ) return false;
- 
-+#if wxUSE_STACKWALKER
- 	wxString trace( pxGetStackTrace(origin.function) );
-+#else
-+	wxString trace( "Warning: Platform doesn't support wx stackwalker" );
-+#endif
- 	wxString dbgmsg( origin.ToString( msg ) );
- 
- 	wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
diff --git a/srcpkgs/pcsx2/template b/srcpkgs/pcsx2/template
deleted file mode 100644
index 59f8dfcdce71d..0000000000000
--- a/srcpkgs/pcsx2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'pcsx2'
-archs="i686*"
-lib32mode="full"
-nopie=yes
-
-pkgname=pcsx2
-version=1.6.0
-revision=2
-build_style=cmake
-# store all data that pcsx2 has to access into /usr/lib, so it can be accessed
-# on multilib setups. when/if pcsx2 supports 64-bit builds, GAMEINDEX_DIR should
-# be moved to /usr/share/pcsx2
-configure_args="-DGLSL_API=1 -DSDL2_API=TRUE -DPACKAGE_MODE=1 -DREBUILD_SHADER=1
- -DXDG_STD=1 -DDISABLE_ADVANCE_SIMD=1
- -DPLUGIN_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2
- -DGAMEINDEX_DIR=/usr/lib${XBPS_TARGET_WORDSIZE}/pcsx2"
-hostmakedepends="pkg-config sparsehash perl"
-makedepends="alsa-lib-devel SDL2-devel glu-devel glew-devel libaio-devel
- libcanberra-devel libjpeg-turbo-devel wxWidgets-devel portaudio-devel soundtouch-devel
- libpcap-devel glib-devel"
-depends="desktop-file-utils"
-short_desc="Sony PlayStation 2 emulator"
-maintainer="Selfsigned <selfsigned@protonmail.ch>"
-license="GPL-3.0-or-later, GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
-homepage="http://www.pcsx2.net"
-distfiles="https://github.com/PCSX2/pcsx2/archive/v${version}.tar.gz"
-checksum=c09914020e494640f187f46d017f9d142ce2004af763b9a6c5c3a9ea09e5281c
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 582b0944c8c62..b176739157e3c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -441,6 +441,7 @@ replaces="
  perl-Gtk2-Ex-Simple-List<=0.50_4
  perl-Gtk2-ImageView<=0.05_8
  perl-Gtk2-Notify<=0.05_8
+ pcsx2<=1.6.0_2
  pgadmin3<=1.22.2_14
  phonon-backend-gstreamer<=4.9.0_2
  phonon-backend-vlc<=0.9.1_3

From 4ad4ee431144f1c24ebfdfdb4cfafc4e17622546 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:26:53 -0400
Subject: [PATCH 03/43] wxPython: remove package

---
 srcpkgs/wxPython-devel    |  1 -
 srcpkgs/wxPython/template | 47 ---------------------------------------
 2 files changed, 48 deletions(-)
 delete mode 120000 srcpkgs/wxPython-devel
 delete mode 100644 srcpkgs/wxPython/template

diff --git a/srcpkgs/wxPython-devel b/srcpkgs/wxPython-devel
deleted file mode 120000
index e396d5ae370d6..0000000000000
--- a/srcpkgs/wxPython-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
deleted file mode 100644
index 891ddc164552b..0000000000000
--- a/srcpkgs/wxPython/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'wxPython'
-pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
-
-if [ -n "${CROSS_BUILD}" ]; then
-	hostmakedepends+=" python"
-	CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
-fi
-
-pre_configure() {
-	mv wxPython/wx/tools/Editra/{editra,Editra}
-}
-
-do_build() {
-	cd wxPython
-	python2.7 setup.py build
-}
-
-do_install() {
-	cd wxPython
-	# The path where includes are going to be installed is prefixed with WXPREFIX obtained
-	# from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
-	sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
-	python2.7 setup.py install --root=${DESTDIR}
-	vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
-	depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-	}
-}

From c6d1e5724f7e680fd68fdf7b87cbfc84a4dc9f09 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 24 Sep 2023 23:28:40 -0400
Subject: [PATCH 04/43] wxWidgets: remove package

---
 common/shlibs                                 | 19 -----
 srcpkgs/wxWidgets-devel                       |  1 -
 .../patches/nonfatal-abi-check.patch          | 18 -----
 .../wxWidgets/patches/wxGTK-collision.patch   | 79 -------------------
 srcpkgs/wxWidgets/template                    | 66 ----------------
 srcpkgs/wxWidgets/update                      |  2 -
 6 files changed, 185 deletions(-)
 delete mode 120000 srcpkgs/wxWidgets-devel
 delete mode 100644 srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
 delete mode 100644 srcpkgs/wxWidgets/patches/wxGTK-collision.patch
 delete mode 100644 srcpkgs/wxWidgets/template
 delete mode 100644 srcpkgs/wxWidgets/update

diff --git a/common/shlibs b/common/shlibs
index 9c2060bc45a67..da7f2739dc5ed 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1561,26 +1561,7 @@ libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
 libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
 libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_xml-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base_net-3.0.so.0 wxWidgets-3.0.0_1
-libwx_base-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_gl-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_stc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_adv-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_qa-3.0.so.0 wxWidgets-3.0.0_1
 libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_gtk2u_core-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_richtext-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_propgrid-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_html-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_xrc-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_aui-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_ribbon-3.0.so.0 wxWidgets-3.0.0_1
-libwx_gtk2u_media-3.0.so.0 wxWidgets-3.0.1_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
diff --git a/srcpkgs/wxWidgets-devel b/srcpkgs/wxWidgets-devel
deleted file mode 120000
index 0e979bb789d11..0000000000000
--- a/srcpkgs/wxWidgets-devel
+++ /dev/null
@@ -1 +0,0 @@
-wxWidgets
\ No newline at end of file
diff --git a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
deleted file mode 100644
index bb93f0a26156c..0000000000000
--- a/srcpkgs/wxWidgets/patches/nonfatal-abi-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from
-https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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
- 
diff --git a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch b/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
deleted file mode 100644
index 5ec31ebaceb1d..0000000000000
--- a/srcpkgs/wxWidgets/patches/wxGTK-collision.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -Naur Makefile.in Makefile.in
---- a/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/Makefile.in	2014-11-19 10:48:18.752319058 +0100
-@@ -15279,9 +15279,11 @@
- 
- install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
--	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
-+	(cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4)
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
--	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA)  wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
-+	(cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
-+	for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
-+	$(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
- 	$(DYLIB_RPATH_INSTALL)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
- 	for f in setup.h $(RCDEFS_H); do \
-@@ -16177,7 +16179,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
- 	$(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
- 	$(INSTALL_SCRIPT) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
--	(cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
-+	(cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
- 
- locale_install: 
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
-@@ -16185,7 +16187,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-@@ -16202,7 +16204,7 @@
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
- 	$(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
- 	if test -f $(srcdir)/locale/msw/$$l.mo ; then \
--	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \
-+	$(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \
- 	fi ; \
- 	done
- 
-diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl
---- a/build/bakefiles/wx.bkl	2014-10-06 23:33:44.000000000 +0200
-+++ b/build/bakefiles/wx.bkl	2014-11-19 10:32:21.692283955 +0100
-@@ -137,7 +137,7 @@
-         <using module="gettext"/>
-         <gettext-catalogs id="locale">
-             <srcdir>$(SRCDIR)/locale</srcdir>
--            <catalog-name>wxstd</catalog-name>
-+            <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
-             <linguas>
-                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
-                 zh zh_CN zh_TW
-diff -Naur src/common/translation.cpp src/common/translation.cpp
---- a/src/common/translation.cpp	2014-10-06 23:33:44.000000000 +0200
-+++ b/src/common/translation.cpp	2014-11-19 11:02:21.067788665 +0100
-@@ -1471,7 +1471,7 @@
- 
- bool wxTranslations::AddStdCatalog()
- {
--    if ( !AddCatalog(wxS("wxstd")) )
-+    if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
-         return false;
- 
-     // there may be a catalog with toolkit specific overrides, it is not
-diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in
---- a/utils/wxrc/Makefile.in	2014-10-06 23:33:44.000000000 +0200
-+++ b/utils/wxrc/Makefile.in	2014-11-19 10:49:55.410110669 +0100
-@@ -125,7 +125,6 @@
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
- @COND_USE_XRC_1@	$(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
- @COND_USE_XRC_1@	mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
--@COND_USE_XRC_1@	(cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
- 
- @COND_USE_XRC_1@uninstall_wxrc: 
- @COND_USE_XRC_1@	rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/srcpkgs/wxWidgets/template b/srcpkgs/wxWidgets/template
deleted file mode 100644
index 480c3e15e3524..0000000000000
--- a/srcpkgs/wxWidgets/template
+++ /dev/null
@@ -1,66 +0,0 @@
-# Template file for 'wxWidgets'
-pkgname=wxWidgets
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--enable-unicode --with-opengl --with-sdl --with-libmspack
- --with-libnotify --enable-mediactrl --with-gtk=2 --disable-webview"
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel libjpeg-turbo-devel tiff-devel libSM-devel libnotify-devel
- libXinerama-devel libmspack-devel SDL2-devel glu-devel
- gstreamer1-devel gst-plugins-base1-devel"
-depends="wxWidgets-common>=${version}"
-short_desc="WxWidgets GUI toolkit library (version 3)"
-maintainer="Martin Riese <grauehaare@gmx.de>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxwidgets.org/"
-distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
-
-post_install() {
-	local _config="gtk2-unicode-3.0"
-	# remove files that are already in wxWidgets-common
-	rm -f ${DESTDIR}/usr/lib/libwx_baseu*
-	rm -rf ${DESTDIR}/usr/bin/wxrc*
-	rm -rf ${DESTDIR}/usr/share
-	find ${DESTDIR}/usr/include -type f -not -name tabartgtk.h \
-		-not -name fontdlgg.h -not -name notifmsg.h -exec rm -f {} \;
-	for f in "" generic gtk; do
-		rm ${DESTDIR}/usr/include/wx-3.0/wx/$f/notifmsg.h
-	done
-	# remove all occurrences of $XBPS_CROSS_TRIPLET
-	# wx-config:
-	#   - mark this build as native build
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	if [ -n "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
-
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
-			${DESTDIR}/usr/lib/wx/config/${_config}
-
-	fi
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross()  { .* }/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		${DESTDIR}/usr/lib/wx/config/${_config}
-	ln -sf ../lib/wx/config/${_config} ${PKGDESTDIR}/usr/bin/wx-config-3.0
-	ln -sf wx-config-3.0 ${DESTDIR}/usr/bin/wx-config
-}
-
-wxWidgets-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} ${sourcepkg}-common-devel>=${version}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/bin
-		vmove "usr/lib/*.so"
-		vmove usr/lib/wx
-	}
-}
diff --git a/srcpkgs/wxWidgets/update b/srcpkgs/wxWidgets/update
deleted file mode 100644
index 77e290e7e646e..0000000000000
--- a/srcpkgs/wxWidgets/update
+++ /dev/null
@@ -1,2 +0,0 @@
-# development version
-ignore='3.1.*'

From 92eb2ca56896011d58debd03fd4422cd172a90bb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 05/43] wxWidgets-gtk3: update to 3.2.2.1.

---
 common/shlibs                                 | 32 ++++-----
 .../wxWidgets-gtk3/files/musl-locale-l.patch  | 34 ++++++++++
 .../patches/invalid-header-syntax.patch       | 16 +++++
 .../wxWidgets-gtk3/patches/largefile.patch    | 16 +++++
 .../patches/no-cross-suffix.patch             | 18 +++++
 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch | 45 +++++++++++++
 .../patches/nonfatal-abi-check.patch          | 21 +++---
 .../wxWidgets-gtk3/patches/wx-config.patch    | 56 ++++++++++++++++
 srcpkgs/wxWidgets-gtk3/template               | 65 +++++++++++--------
 srcpkgs/wxWidgets-gtk3/update                 |  4 +-
 10 files changed, 252 insertions(+), 55 deletions(-)
 create mode 100644 srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/largefile.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
 create mode 100644 srcpkgs/wxWidgets-gtk3/patches/wx-config.patch

diff --git a/common/shlibs b/common/shlibs
index da7f2739dc5ed..85ead20844ecc 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1559,9 +1559,6 @@ libofx.so.7 libofx-0.10.1_1
 libsigsegv.so.2 libsigsegv-2.10_2
 libfprint.so.0 libfprint0-1.0_1
 libfprint-2.so.2 libfprint-1.90.7_1
-libwx_baseu_xml-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu-3.0.so.0 wxWidgets-common-3.0.4_1
-libwx_baseu_net-3.0.so.0 wxWidgets-common-3.0.4_1
 libmspack.so.0 libmspack-0.4alpha_1
 libslim.so.1.3.6 slim-1.3.6_1
 libmediaart-2.0.so.0 libmediaart-1.9.1_1
@@ -3474,19 +3471,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
 libtepl-6.so.2 tepl-6.4.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
new file mode 100644
index 0000000000000..dc5f1df6a2502
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/files/musl-locale-l.patch
@@ -0,0 +1,34 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/musl-locale-l.patch
+
+these macro'd away functions don't exist in musl (yet)
+diff --git a/include/wx/xlocale.h b/include/wx/xlocale.h
+index c433d25..794cf0b 100644
+--- a/include/wx/xlocale.h
++++ b/include/wx/xlocale.h
+@@ -33,6 +33,26 @@
+ #include "wx/crt.h"     // Includes wx/chartype.h, wx/wxcrt.h(wx/string.h)
+ #include "wx/intl.h"    // wxLanguage
+ 
++#ifndef strtol_l
++#define strtol_l(s, p, base, l) strtol(s, p, base)
++#endif
++
++#ifndef strtoul_l
++#define strtoul_l(s, p, base, l) strtoul(s, p, base)
++#endif
++
++#ifndef wcstod_l
++#define wcstod_l(s, p, l) wcstod(s, p)
++#endif
++
++#ifndef wcstol_l
++#define wcstol_l(s, p, base, l) wcstol(s, p, base)
++#endif
++
++#ifndef wcstoul_l
++#define wcstoul_l(s, p, base, l) wcstoul(s, p, base)
++#endif
++
+ // The platform-specific locale type
+ // If wxXLocale_t is not defined, then only "C" locale support is provided
+ #ifdef wxHAS_XLOCALE_SUPPORT
diff --git a/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
new file mode 100644
index 0000000000000..fd4fc4ceca1aa
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/invalid-header-syntax.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/invalid-header-syntax.patch
+
+diff --git a/include/wx/matrix.h b/include/wx/matrix.h
+index 3b3225d..e77fb1a 100644
+--- a/include/wx/matrix.h
++++ b/include/wx/matrix.h
+@@ -37,8 +37,8 @@
+ //  at a certain coordinate and angle within another parent picture.
+ //  At all times m_isIdentity is set if the matrix itself is an Identity matrix.
+ //  It is used where possible to optimize calculations.
+-class
+ wxDEPRECATED_EXPORT_CORE("use wxAffineMatrix2D instead")
++class
+ wxTransformMatrix: public wxObject
+ {
+ public:
diff --git a/srcpkgs/wxWidgets-gtk3/patches/largefile.patch b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
new file mode 100644
index 0000000000000..9e5a81b31b94d
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/largefile.patch
@@ -0,0 +1,16 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/largefile.patch
+
+nothing sets this to 0, but for some reason it gets undef'd
+diff --git a/build/cmake/setup.h.in b/build/cmake/setup.h.in
+index e4c9e83..e9ef8dc 100644
+--- a/build/cmake/setup.h.in
++++ b/build/cmake/setup.h.in
+@@ -867,7 +867,7 @@
+ /*
+  * Define if large (64 bit file offsets) files are supported.
+  */
+-#cmakedefine HAVE_LARGEFILE_SUPPORT 1
++#define HAVE_LARGEFILE_SUPPORT 1
+ 
+ /*
+  * Use OpenGL
diff --git a/srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch b/srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch
new file mode 100644
index 0000000000000..443221d3d1895
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/no-cross-suffix.patch
@@ -0,0 +1,18 @@
+Cross-compiled libraries get a suffix naming the system by default, but this
+causes deviation from native-built libraries and should be disabled.
+
+--- a/build/cmake/functions.cmake
++++ b/build/cmake/functions.cmake
+@@ -219,9 +219,9 @@
+     endif()
+ 
+     set(cross_target)
+-    if (CMAKE_CROSSCOMPILING)
+-        set(cross_target "-${CMAKE_SYSTEM_NAME}")
+-    endif()
++    #if (CMAKE_CROSSCOMPILING)
++    #    set(cross_target "-${CMAKE_SYSTEM_NAME}")
++    #endif()
+ 
+     set(lib_prefix "lib")
+     if(MSVC OR (WIN32 AND wxBUILD_SHARED))
diff --git a/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
new file mode 100644
index 0000000000000..1303dd6074004
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/no-glvnd.patch
@@ -0,0 +1,45 @@
+https://git.alpinelinux.org/aports/plain/community/wxwidgets/no-glvnd.patch
+
+find_package(OpenGL) only works with glvnd and hardcodes glvnd paths, even
+though all these components are easily found with pkgconfig..
+diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
+index ef28c99..b4df830 100644
+--- a/build/cmake/init.cmake
++++ b/build/cmake/init.cmake
+@@ -408,17 +408,26 @@ if(wxUSE_GUI)
+             set(OPENGL_FOUND TRUE)
+             set(OPENGL_LIBRARIES "-framework OpenGLES" "-framework QuartzCore" "-framework GLKit")
+         else()
+-            find_package(OpenGL)
+-            if(OPENGL_FOUND)
+-                foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
+-                    if(TARGET ${gltarget})
+-                        set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
+-                    endif()
+-                endforeach()
+-            endif()
+-            if(WXGTK3 AND OpenGL_EGL_FOUND AND wxUSE_GLCANVAS_EGL)
++            # find_package(OpenGL)
++            # if(OPENGL_FOUND)
++            #     foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
++            #         if(TARGET ${gltarget})
++            #             set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
++            #         endif()
++            #     endforeach()
++            # endif()
++            find_package(PkgConfig REQUIRED)
++            pkg_check_modules(GLU REQUIRED glu IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GLU ALIAS PkgConfig::GLU)
++            pkg_check_modules(GL REQUIRED gl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::GL ALIAS PkgConfig::GL)
++            pkg_check_modules(EGL REQUIRED egl IMPORTED_TARGET GLOBAL)
++            add_library(OpenGL::EGL ALIAS PkgConfig::EGL)
++            set(OPENGL_FOUND TRUE)
++            set(OpenGL_EGL_FOUND TRUE)
++            if(WXGTK3 AND wxUSE_GLCANVAS_EGL)
+                 if(TARGET OpenGL::EGL)
+-                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES})
++                    set(OPENGL_LIBRARIES OpenGL::EGL ${OPENGL_LIBRARIES} GL)
+                 endif()
+                 set(OPENGL_INCLUDE_DIR ${OPENGL_INCLUDE_DIR} ${OPENGL_EGL_INCLUDE_DIRS})
+                 find_package(WAYLANDEGL)
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
 https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
 
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck	2015-03-12 17:15:18.000000000 +0100
-+++ b/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());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+         wxString prog = wxString::FromAscii(optionsSignature);
+         wxString progName = wxString::FromAscii(componentName);
  
--        wxLogFatalError(msg.c_str());
+-        wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++        wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+                         lib, progName, prog);
 -
 -        // normally wxLogFatalError doesn't return
 -        return false;
-+        wxLogWarning(msg.c_str());
      }
- #undef wxCMP
  
+     return true;
diff --git a/srcpkgs/wxWidgets-gtk3/patches/wx-config.patch b/srcpkgs/wxWidgets-gtk3/patches/wx-config.patch
new file mode 100644
index 0000000000000..b29ab0051f3c1
--- /dev/null
+++ b/srcpkgs/wxWidgets-gtk3/patches/wx-config.patch
@@ -0,0 +1,56 @@
+Fix some of the automatically populated fields, which will generally be
+incorrect in xbps-src cross-compilation environments.
+
+--- ./wx-config.in
++++ ./wx-config.in
+@@ -268,7 +268,9 @@
+     --help|-h)
+         usage
+         ;;
+-
++    --host=*)
++        continue
++        ;;
+     --*=*)
+         _name=`option_name $arg`
+         _value=`option_value $arg`
+@@ -398,13 +400,13 @@
+ }
+ 
+ # Returns true if this script is for a cross compiled config.
+-is_cross()  { [ "x@cross_compiling@" = "xyes" ]; }
++is_cross()  { false; }
+ 
+ 
+ # Determine the base directories we require.
+ prefix=${input_option_prefix-${this_prefix:-@prefix@}}
+ exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:-@exec_prefix@}}}
+-wxconfdir="@libdir@/wx/config"
++wxconfdir="${exec_prefix}/lib/wx/config"
+ 
+ installed_configs=`cd "$wxconfdir" 2> /dev/null && ls | grep -v "^inplace-"`
+ 
+@@ -940,8 +942,8 @@
+ exec_prefix=${this_exec_prefix-$exec_prefix}
+ 
+ includedir="@includedir@"
+-libdir="@libdir@"
+-bindir="@bindir@"
++libdir="${exec_prefix}/lib"
++bindir="${exec_prefix}/bin"
+ 
+ # Trivial queries we can answer now.
+ [ -z "$output_option_prefix"        ] || echo $prefix
+@@ -950,9 +952,9 @@
+ [ -z "$output_option_version"       ] || echo "@WX_VERSION@"
+ [ -z "$output_option_version_full"  ] || echo "@WX_SUBVERSION@"
+ [ -z "$output_option_basename"      ] || echo "@WX_LIBRARY_BASENAME_GUI@"
+-[ -z "$output_option_cc"            ] || echo "@CC@"
+-[ -z "$output_option_cxx"           ] || echo "@CXX@"
+-[ -z "$output_option_ld"            ] || echo "@CXX@ -o"
++[ -z "$output_option_cc"            ] || echo "${bindir}/gcc"
++[ -z "$output_option_cxx"           ] || echo "${bindir}/g++"
++[ -z "$output_option_ld"            ] || echo "${bindir}/g++ -o"
+ [ -z "$flag_option_selected_config" ] || echo "$this_config"
+ 
+ for q in $query_options; do
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..5b27653477ffb 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,51 +1,62 @@
 # Template file for 'wxWidgets-gtk3'
 pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
-build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+version=3.2.2.1
+revision=1
+build_style=cmake
+cmake_builddir="build-gtk3"
+configure_args="-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_OPENGL=ON -DwxUSE_LIBMSPACK=ON
+ -DwxUSE_GTKPRINT=ON -DwxUSE_UNICODE=ON -DwxUSE_MEDIACTRL=ON
+ -DwxUSE_PRIVATE_FONTS=ON -DwxUSE_REGEX=sys -DwxUSE_ZLIB=sys -DwxUSE_EXPAT=sys
+ -DwxUSE_LIBJPEG=sys -DwxUSE_LIBPNG=sys -DwxUSE_LIBTIFF=sys -DwxUSE_LIBLZMA=sys
+ -DwxUSE_LIBNOTIFY=sys -DwxUSE_LIBSDL=sys"
 hostmakedepends="pkg-config"
 makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="custom:wxWindows"
 homepage="https://www.wxwidgets.org"
 distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
+
+CXXFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+
+post_patch() {
+	if [ "${XBPS_TARGET_LIBC}" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/musl-locale-l.patch"
+	fi
+}
 
 post_install() {
-	local _config="gtk3-unicode-3.0"
-	# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
-	#   - mark this build as native build
+	local _patch="${version#*.*.}"
+	local _majmin="${version%."${_patch}"}"
+	local _config="gtk3-unicode-${_majmin}"
+
 	if [ "$CROSS_BUILD" ]; then
-		rename "${XBPS_CROSS_TRIPLET}-" "" \
-			${DESTDIR}/usr/lib/wx/config/* \
-			${DESTDIR}/usr/lib/wx/include/*
-		rename -- "-${XBPS_CROSS_TRIPLET}" "" ${DESTDIR}/usr/lib/*
+		# Remove $XBPS_CROSS_TRIPLET from cmake helper...
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
+			${DESTDIR}/usr/lib/cmake/wxWidgets/wxWidgetsTargets.cmake
 
-		sed -i -e "s/${XBPS_CROSS_TRIPLET}-//g" \
-			-e "s/-${XBPS_CROSS_TRIPLET}//g" \
-			-e "s,$XBPS_CROSS_BASE,,g" \
+		# ...and the output of the wx-config utility
+		sed -i -e "s@/usr/${XBPS_CROSS_TRIPLET}@@g" \
 			${DESTDIR}/usr/lib/wx/config/${_config}
 	fi
+
+	# Remove generic wx-config, link to toolkit-specific version
 	rm -f ${DESTDIR}/usr/bin/wx-config
 	ln -sf ../lib/wx/config/${_config} ${DESTDIR}/usr/bin/wx-config-gtk3
-	#   - ignore --host option; breaks configure scripts when
-	#     cross compiling (isn’t necessary in our case anyway)
-	sed -i -e 's,^bindir=.*,bindir=${exec_prefix}/bin,' \
-		-e 's/is_cross().*/is_cross() { false; }/g' \
-		-e '/--\*=\*)/i --host=\*) continue;;' \
-		-e "s,/usr/lib,\${exec_prefix}/lib,g" \
-		$DESTDIR/usr/lib/wx/config/${_config}
+
+	# Make sure to install the autotools macro, CMake does not
+	vmkdir usr/share/aclocal
+	vinstall wxwin.m4 644 usr/share/aclocal
 }
 
 wxWidgets-common_package() {
 	short_desc+=" - common files"
 	pkg_install() {
 		vmove "usr/lib/libwx_baseu*.so.*"
-		vmove usr/share
 		vlicense docs/licendoc.txt
 		vlicense docs/licence.txt
 	}
@@ -58,6 +69,7 @@ wxWidgets-common-devel_package() {
 		vmove "usr/bin/wxrc*"
 		vmove "usr/lib/libwx_baseu*.so"
 		vmove usr/include
+		vmove usr/share/aclocal
 	}
 }
 
@@ -68,5 +80,6 @@ wxWidgets-gtk3-devel_package() {
 		vmove usr/bin
 		vmove "usr/lib/*.so"
 		vmove usr/lib/wx
+		vmove usr/lib/cmake
 	}
 }
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets

From 0536dc6750628cec956e192239dbd7d84180e24c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 06/43] wxPython4: update to 4.2.1, rename to wxPython

---
 srcpkgs/wxPython/files/no-stacktrace.patch    | 15 +++
 srcpkgs/{wxPython4 => wxPython}/template      | 32 ++++---
 srcpkgs/wxPython4                             |  1 +
 ...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
 srcpkgs/wxPython4/patches/cross.patch         | 12 ---
 srcpkgs/wxPython4/patches/nullptr-cast.patch  | 11 ---
 srcpkgs/wxPython4/patches/python-3.11.patch   | 92 -------------------
 srcpkgs/wxPython4/patches/syntax.patch        | 32 -------
 srcpkgs/wxPython4/update                      |  1 -
 9 files changed, 36 insertions(+), 212 deletions(-)
 create mode 100644 srcpkgs/wxPython/files/no-stacktrace.patch
 rename srcpkgs/{wxPython4 => wxPython}/template (68%)
 create mode 120000 srcpkgs/wxPython4
 delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
 delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
 delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
 delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
 delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
 delete mode 100644 srcpkgs/wxPython4/update

diff --git a/srcpkgs/wxPython/files/no-stacktrace.patch b/srcpkgs/wxPython/files/no-stacktrace.patch
new file mode 100644
index 0000000000000..e64548bea8c17
--- /dev/null
+++ b/srcpkgs/wxPython/files/no-stacktrace.patch
@@ -0,0 +1,15 @@
+Taken from Alpine:
+
+https://git.alpinelinux.org/aports/plain/community/py3-wxpython/no-stacktrace.patch
+
+--- a/sip/cpp/sip_corewxAppTraits.cpp
++++ b/sip/cpp/sip_corewxAppTraits.cpp
+@@ -471,7 +471,7 @@
+             PyErr_Clear();
+ 
+             Py_BEGIN_ALLOW_THREADS
+-            sipRes = new  ::wxString((sipSelfWasArg ? sipCpp-> ::wxAppTraits::GetAssertStackTrace() : sipCpp->GetAssertStackTrace()));
++            sipRes = new  ::wxString("");
+             Py_END_ALLOW_THREADS
+ 
+             if (PyErr_Occurred())
diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython/template
similarity index 68%
rename from srcpkgs/wxPython4/template
rename to srcpkgs/wxPython/template
index e0edf6fb9452f..815ee0382cb59 100644
--- a/srcpkgs/wxPython4/template
+++ b/srcpkgs/wxPython/template
@@ -1,7 +1,7 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
+# Template file for 'wxPython'
+pkgname=wxPython
+version=4.2.1
+revision=1
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
@@ -9,23 +9,25 @@ hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
  gst-plugins-base1-devel"
 depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
+short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"
 homepage="http://www.wxpython.org/"
 distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
 
+export WXPYTHON_RELEASE=yes
 if [ "$CROSS_BUILD" ]; then
 	CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+	export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+	export WX_CONFIG=wx-config-gtk3
 fi
 
-pre_patch() {
-	# need to patch for Python 3.11, extract them now.
-	cd bin
-	sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
-	python3 tmp-waf
-	ln -s .waf3-* .waf3
+post_patch() {
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		patch -Np1 < "${FILESDIR}/no-stacktrace.patch"
+	fi
 }
 
 pre_build() {
@@ -48,3 +50,9 @@ pre_build() {
 post_install() {
 	vlicense LICENSE.txt
 }
+
+wxPython4_package() {
+	build_style=meta
+	short_desc+=" - transitional dummy package"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
-         ("mac_arch",       ("",    "Comma separated list of architectures to build on Mac")),
- 
-         ("use_syswx",      (False, "Try to use an installed wx rather than building the "
--                                   "one in this source tree.  The wx-config in {prefix}/bin "
-+                                   "one in this source tree.  The wx-config-gtk3 in {prefix}/bin "
-                                    "or the first found on the PATH determines which wx is "
-                                    "used.  Implies --no_magic.")),
-         ("force_config",   (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
-                              os.path.join(wxDir(), 'configure'),
-                              os.path.join(wxDir(), 'setup.h.in'),
-                              os.path.join(wxDir(), 'version-script.in'),
--                             os.path.join(wxDir(), 'wx-config.in'),
-+                             os.path.join(wxDir(), 'wx-config-gtk3.in'),
-                              ]
-             for dep in dependencies:
-                 if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
-         os.environ['WXPYTHON_RELEASE'] = 'yes'
- 
-     if not isWindows:
--        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+        WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
-         if options.use_syswx:
--            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+            wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
-             if options.prefix and os.path.exists(wxcfg):
-                 WX_CONFIG = wxcfg
-             else:
--                WX_CONFIG = 'wx-config' # hope it is on the PATH
-+                WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
- 
- 
-     wafBuildBase = wafBuildDir = getWafBuildBase()
--- 
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
-     setPythonVersion(args)
-     setDevModeOptions(args)
- 
--    os.environ['PYTHONPATH'] = phoenixDir()
-     os.environ['PYTHONUNBUFFERED'] = 'yes'
-     os.environ['WXWIN'] = wxDir()
- 
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
-             return sipGetState(sipTransferObj);
-         }
-         else if (sipPy == Py_None) {
--            *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+            *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
-             return sipGetState(sipTransferObj);
-         }
-         else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- 		Utils.writef(filename,''.join(buf))
- 	def load(self,filename):
- 		tbl=self.table
--		code=Utils.readf(filename,m='rU')
-+		code=Utils.readf(filename,m='r')
- 		for m in re_imp.finditer(code):
- 			g=m.group
- 			tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- 				cache[node]=True
- 				self.pre_recurse(node)
- 				try:
--					function_code=node.read('rU',encoding)
-+					function_code=node.read('r',encoding)
- 					exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- 				finally:
- 					self.post_recurse(node)
-@@ -346,7 +346,7 @@
- 		pass
- 	module=imp.new_module(WSCRIPT_FILE)
- 	try:
--		code=Utils.readf(path,m='rU',encoding=encoding)
-+		code=Utils.readf(path,m='r',encoding=encoding)
- 	except EnvironmentError:
- 		raise Errors.WafError('Could not read the file %r'%path)
- 	module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- 	x='MACOSX_DEPLOYMENT_TARGET'
- 	if dct[x]:
- 		env[x]=conf.environ[x]=dct[x]
--	env.pyext_PATTERN='%s'+dct['SO']
-+	env.pyext_PATTERN='%s.so'
- 	num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- 	conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- 	if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
-     int (*api_get_time)(PyObject *, sipTimeDef *);
-     PyObject *(*api_from_time)(const sipTimeDef *);
-     int (*api_is_user_type)(const sipWrapperType *);
--    struct _frame *(*api_get_frame)(int);
-+    PyFrameObject *(*api_get_frame)(int);
-     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
-     PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
-     void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
-         const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
-  * Return a frame from the execution stack.
-  */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
--    struct _frame *frame = PyEval_GetFrame();
-+    PyFrameObject *frame = PyEval_GetFrame();
-+    Py_XINCREF(frame);
- 
-     while (frame != NULL && depth > 0)
-     {
--        frame = frame->f_back;
-+        PyFrameObject *oframe = frame;
-+        frame = PyFrame_GetBack(frame);
-+        Py_DECREF(oframe);
-         --depth;
-     }
-+    Py_XDECREF(frame);
- 
-     return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
-                         raise ve
-                     elif replace_to > end:
- ####                        dbg(indent=0)
--                        ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+                        ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
-                         ve.value = choice
-                         ve.index = index
-                         raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
-         # Get ticks and textExtents for axis if required
-         xticks = yticks = None
-         xTextExtent = yTextExtent = (0, 0)  # No text for ticks
--        if self._xSpec is not 'none':
-+        if self._xSpec != 'none':
-             xticks = self._xticks(xAxis[0], xAxis[1])
-             # w h of x axis text last number on axis
-             xTextExtent = dc.GetTextExtent(xticks[-1][1])
- 
--        if self._ySpec is not 'none':
-+        if self._ySpec != 'none':
-             yticks = self._yticks(yAxis[0], yAxis[1])
-             if self.logScale[1]:
-                 # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython

From 3f1906f2cc04d0f6896b1f8b19aae9d3af1f5f44 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 25 Sep 2023 13:46:55 -0400
Subject: [PATCH 07/43] dispcalGUI: replace with DisplayCAL 3.9.11

---
 srcpkgs/DisplayCAL/template            | 26 ++++++++++++++++++++
 srcpkgs/dispcalGUI                     |  1 +
 srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
 srcpkgs/dispcalGUI/template            | 25 -------------------
 srcpkgs/dispcalGUI/update              |  1 -
 5 files changed, 27 insertions(+), 59 deletions(-)
 create mode 100644 srcpkgs/DisplayCAL/template
 create mode 120000 srcpkgs/dispcalGUI
 delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
 delete mode 100644 srcpkgs/dispcalGUI/template
 delete mode 100644 srcpkgs/dispcalGUI/update

diff --git a/srcpkgs/DisplayCAL/template b/srcpkgs/DisplayCAL/template
new file mode 100644
index 0000000000000..784674c5263ae
--- /dev/null
+++ b/srcpkgs/DisplayCAL/template
@@ -0,0 +1,26 @@
+# Template file for 'DisplayCAL'
+pkgname=DisplayCAL
+version=3.9.11
+revision=1
+build_style=python3-module
+hostmakedepends="python3"
+makedepends="python3-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
+depends="python3-dbus python3-numpy python3-distro python3-send2trash wxPython
+ argyllcms"
+short_desc="Display Calibration and Characterization"
+maintainer="lemmi <lemmi@nerd2nerd.org>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/eoyilmaz/displaycal-py3"
+distfiles="https://github.com/eoyilmaz/displaycal-py3/archive/refs/tags/${version}.tar.gz"
+checksum=7769d19551c228d797fd98cb2469730cee84ff27bd0bf5d0463e191753921a5e
+
+pre_configure() {
+	vsed -i misc/displaycal-vrml-to-x3d-converter.desktop \
+		-e 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|'
+}
+
+dispcalGUI_package() {
+	build_style=meta
+	short_desc+=" (transitional dummy package)"
+	depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/dispcalGUI b/srcpkgs/dispcalGUI
new file mode 120000
index 0000000000000..7b2ae7fe8eb1e
--- /dev/null
+++ b/srcpkgs/dispcalGUI
@@ -0,0 +1 @@
+DisplayCAL
\ No newline at end of file
diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c	2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- 						sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
- 
- 					if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--						error("Unable to intern atom '%s'",desc1);
-+						fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 					debugrr2((errout,"Root atom '%s'\n",desc1));
- 
- 					/* Create the atom of the output that may contain the associated ICC profile */
- 					if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
--						error("Unable to intern atom '%s'","_ICC_PROFILE");
-+						fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
- 		
- 					/* Grab the EDID from the output */
- 					{
-@@ -993,7 +993,7 @@
- 				sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
- 
- 			if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
--				error("Unable to intern atom '%s'",desc1);
-+				fprintf(stderr, "Unable to intern atom '%s'",desc1);
- 
- 			/* See if we can locate the EDID of the monitor for this screen */
- 			for (j = 0; j < 2; j++) { 
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
-	sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
-	find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
-	find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"

From 9e7b0c3d9b42562405433ba3e4d6a848d71f537d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 08/43] 0ad: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 8cf4a75721619..597a7082b9389 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
 # Template file for '0ad'
 pkgname=0ad
 version=0.0.26
-revision=7
+revision=8
 archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel

From a9353cd8c650b5c15b7a5ea2b752de849b906209 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 09/43] Aegisub: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/Aegisub/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/Aegisub/template b/srcpkgs/Aegisub/template
index daf35749ce7c6..fdd36c53a94a3 100644
--- a/srcpkgs/Aegisub/template
+++ b/srcpkgs/Aegisub/template
@@ -1,7 +1,7 @@
 # Template file for 'Aegisub'
 pkgname=Aegisub
 version=3.3.2
-revision=10
+revision=11
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 cmake_builddir="BUILD"
@@ -26,6 +26,8 @@ build_options_default="fftw"
 desc_option_fftw="Enable support for rendering of audio waveforms/spectrum"
 desc_option_openal="Enable support for openal"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_build() {
 	export FORCE_GIT_VERSION="$version"
 }

From 48da52ee44bf218ae0d0ed4abb2500b4c1ca67b7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 10/43] CubicSDR: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/CubicSDR/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/CubicSDR/template b/srcpkgs/CubicSDR/template
index c224fc1379bf1..1608a9c95f7b4 100644
--- a/srcpkgs/CubicSDR/template
+++ b/srcpkgs/CubicSDR/template
@@ -1,7 +1,7 @@
 # Template file for 'CubicSDR'
 pkgname=CubicSDR
 version=0.2.7
-revision=2
+revision=3
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 configure_args="-DUSE_HAMLIB=1 $(vopt_bool alsa USE_AUDIO_ALSA)
@@ -22,3 +22,5 @@ build_options_default="alsa pulseaudio"
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	configure_args+=" -DOTHER_LIBRARIES=atomic"
 fi
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 1026ed7dc5dcac255cf559d174f1758156455eb5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 11/43] DarkRadiant: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/DarkRadiant/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/DarkRadiant/template b/srcpkgs/DarkRadiant/template
index 8830b3a61c06b..c9db493cc55e1 100644
--- a/srcpkgs/DarkRadiant/template
+++ b/srcpkgs/DarkRadiant/template
@@ -1,7 +1,7 @@
 # Template file for 'DarkRadiant'
 pkgname=DarkRadiant
 version=3.8.0
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config ruby-asciidoctor"
@@ -17,7 +17,8 @@ distfiles="https://github.com/codereader/DarkRadiant/archive/${version}.tar.gz"
 checksum=7b9ccd6de65d7e55f6aad5e1f9a2f49600c6a0d9d70e67bda2e625cd721b5635
 
 CXXFLAGS="-I${XBPS_CROSS_BASE}/usr/lib/wx/include/gtk3-unicode-3.0"
-CXXFLAGS="$CXXFLAGS -I${XBPS_CROSS_BASE}/${py3_sitelib}/pybind11/include"
+CXXFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/pybind11/include"
+CXXFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_extract() {
 	rm -rf libs/pybind

From b188811dd09e44d73da6b271719190bd25c90a51 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 12/43] LimeSuite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/LimeSuite/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/LimeSuite/template b/srcpkgs/LimeSuite/template
index fe963be85f860..27a6f1c514a0b 100644
--- a/srcpkgs/LimeSuite/template
+++ b/srcpkgs/LimeSuite/template
@@ -1,7 +1,7 @@
 # Template file for 'LimeSuite'
 pkgname=LimeSuite
 version=22.09.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="
@@ -45,6 +45,8 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default="octave"
 fi
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vinstall udev-rules/64-limesuite.rules 644 usr/lib/udev/rules.d
 

From 0e9a2e3f36151096577e06d69e12c51b4f9212c6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 13/43] OpenCPN: update to 5.8.4.

---
 .../OpenCPN/patches/actually-set-arch.patch   | 28 ----------
 srcpkgs/OpenCPN/patches/musl.patch            | 55 ++++++++++---------
 srcpkgs/OpenCPN/template                      | 18 ++++--
 3 files changed, 42 insertions(+), 59 deletions(-)
 delete mode 100644 srcpkgs/OpenCPN/patches/actually-set-arch.patch

diff --git a/srcpkgs/OpenCPN/patches/actually-set-arch.patch b/srcpkgs/OpenCPN/patches/actually-set-arch.patch
deleted file mode 100644
index d152c40928867..0000000000000
--- a/srcpkgs/OpenCPN/patches/actually-set-arch.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-+++ b/cmake/GetArch.cmake	2020-07-15 20:02:29.000000000 +0200
-@@ -14,6 +14,25 @@
-     # default
-     set (ARCH "i386")
-     set (LIB_INSTALL_DIR "lib")
-+    IF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "aarch64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "armhf")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc*" OR CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "ppc64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "powerpc")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-+      IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "x86_64")
-+      ELSE (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+        SET (ARCH "i386")
-+      ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+    ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-     if (EXISTS /etc/debian_version)
-       set (PACKAGE_FORMAT "DEB")
-       set (PACKAGE_RECS "xcalib,xdg-utils")
diff --git a/srcpkgs/OpenCPN/patches/musl.patch b/srcpkgs/OpenCPN/patches/musl.patch
index 75923e019b2bc..517186873d0d7 100644
--- a/srcpkgs/OpenCPN/patches/musl.patch
+++ b/srcpkgs/OpenCPN/patches/musl.patch
@@ -1,30 +1,35 @@
---- a/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-15 20:02:29.000000000 +0200
-@@ -20,9 +20,7 @@
- #define WIN32_LEAN_AND_MEAN
- #include <winsock2.h>
- #else
--    #ifndef __WXOSX__
--        #include <error.h>
--    #else    
-+    #ifdef __WXOSX__
-         #include <mach/error.h> 
- #endif
+https://git.alpinelinux.org/aports/plain/community/opencpn/gcc12.patch
+
+diff --git a/include/zeroconf-detail.hpp b/include/zeroconf-detail.hpp
+index 60ae125..3e7607a 100644
+--- a/include/zeroconf-detail.hpp
++++ b/include/zeroconf-detail.hpp
+@@ -11,6 +11,9 @@
+ #include <vector>
+ #include <memory>
+ #include <chrono>
++#include <ctime>
++
++#include <sys/select.h>
  
-@@ -424,4 +422,4 @@
-     }
- }
+ #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
+ #define WIN32
+@@ -385,4 +388,4 @@ inline bool Resolve(const std::string& serviceName, time_t scanTime,
+ }  // namespace Detail
+ }  // namespace Zeroconf
  
--#endif // ZEROCONF_DETAIL_HPP
+-#endif  // ZEROCONF_DETAIL_HPP
 \ No newline at end of file
-+#endif // ZEROCONF_DETAIL_HPP
---- a/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-+++ b/include/zeroconf-detail.hpp	2020-07-25 18:05:08.714098962 +0200
-@@ -27,6 +27,7 @@
- #include <string.h>
- #include <unistd.h>
- #include <sys/socket.h>
-+#include <sys/time.h>
- #include <netinet/in.h>
++#endif  // ZEROCONF_DETAIL_HPP
+diff --git a/src/mDNS_service.cpp b/src/mDNS_service.cpp
+index c8c7877..3fbd7ea 100644
+--- a/src/mDNS_service.cpp
++++ b/src/mDNS_service.cpp
+@@ -35,6 +35,7 @@
  #endif
  
+ #include <stdio.h>
++#include <sys/select.h>
+ 
+ #include <errno.h>
+ #include <signal.h>
diff --git a/srcpkgs/OpenCPN/template b/srcpkgs/OpenCPN/template
index ee67dbaff01c2..5f3a096c06dff 100644
--- a/srcpkgs/OpenCPN/template
+++ b/srcpkgs/OpenCPN/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenCPN'
 pkgname=OpenCPN
-version=5.2.0
-revision=2
+version=5.8.4
+revision=1
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
@@ -10,16 +10,17 @@ configure_args="-DOCPN_BUNDLE_GSHHS=NONE -DOCPN_BUNDLE_TCDATA=ON
  -DOCPN_USE_BUNDLED_LIBS=OFF"
 hostmakedepends="gettext pkg-config"
 makedepends="gtk+3-devel libcurl-devel portaudio-devel tinyxml-devel
- wxWidgets-gtk3-devel $(vopt_if exif 'libexif-devel') glu-devel
- $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel') $(vopt_if lzma 'liblzma-devel')"
+ wxWidgets-gtk3-devel glu-devel glew-devel rapidjson gtest-devel
+ $(vopt_if libarchive 'libarchive-devel' 'libunarr-devel')
+ $(vopt_if exif 'libexif-devel') $(vopt_if lzma 'liblzma-devel')"
 depends="gpsd hicolor-icon-theme OpenCPN-tcdata-${version}_${revision}
  OpenCPN-gshhs-crude"
 short_desc="Concise ChartPlotter/Navigator"
 maintainer="John <me@johnnynator.dev>"
 license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, MIT, WxWindows-exception-3.1, JasPer-2.0, BSD-3-Clause, SGI-B-2.0"
 homepage="https://opencpn.org/"
-distfiles="https://github.com/OpenCPN/OpenCPN/archive/v${version}.tar.gz"
-checksum=f6ec38989bc38f5a7f63234c5e0230adeb73f5626b4e3d3dfa680f0c240badc7
+distfiles="https://github.com/OpenCPN/OpenCPN/archive/Release_${version}.tar.gz"
+checksum=7552726e5afce5eb401e307beedd8f3aa2c66725602fc27ab3ad1845f40b87a0
 
 build_options="lzma libarchive exif crashreport"
 build_options_default="lzma libarchive exif"
@@ -33,7 +34,12 @@ case $XBPS_TARGET_MACHINE in
 	*) build_options_default+=" crashreport";;
 esac
 
+if [ -n "$CROSS_BUILD" ]; then
+	configure_args+=" -DOCPN_BUILD_TEST=OFF"
+fi
+
 CFLAGS="-fcommon"
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_install() {
 	vlicense libs/glshim/LICENSE LICENSE.glshim

From b8b36ce70f1ea78ccfa9c40333713c4e74a939d0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 14/43] PrusaSlicer: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/PrusaSlicer/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template
index bac5d6d574053..c28c2d707c229 100644
--- a/srcpkgs/PrusaSlicer/template
+++ b/srcpkgs/PrusaSlicer/template
@@ -1,7 +1,7 @@
 # Template file for 'PrusaSlicer'
 pkgname=PrusaSlicer
 version=2.5.2
-revision=2
+revision=3
 build_style=cmake
 build_helper="qemu cmake-wxWidgets-gtk3"
 # Pre-Compiled Headers seems to be slower
@@ -19,6 +19,8 @@ homepage="https://www.prusa3d.com/prusaslicer/"
 distfiles="https://github.com/prusa3d/Prusaslicer/archive/version_${version}.tar.gz"
 checksum=e58278067b9d49a42dc9bb02b74307b3cb365bb737f28e246ca8c6f466095d6b
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_extract() {
 	# Mark tests that fail on certain targets
 	case "$XBPS_TARGET_MACHINE" in

From 6b2c336f0e19567c51b6cb3db327e5aebed0d061 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:19 -0400
Subject: [PATCH 15/43] SLADE: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/SLADE/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/SLADE/template b/srcpkgs/SLADE/template
index 8b680574c3b9e..8c2ea6e40cc5c 100644
--- a/srcpkgs/SLADE/template
+++ b/srcpkgs/SLADE/template
@@ -1,7 +1,7 @@
 # Template file for 'SLADE'
 pkgname=SLADE
 version=3.2.1
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="pkg-config p7zip which"
@@ -16,6 +16,8 @@ changelog="https://github.com/sirjuddington/SLADE/releases/tag/${version}"
 distfiles="https://github.com/sirjuddington/SLADE/archive/${version}.tar.gz"
 checksum=c327fa62ba491ac481d769700261d810128910007297fd9d9dbe26ac0e78bb2c
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	case $XBPS_TARGET_MACHINE in
 		x86_64* | i686*);;

From e6c2d58c070b3218d7dedebb9937bfe4c527e45b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 16/43] WoeUSB: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/WoeUSB/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/WoeUSB/template b/srcpkgs/WoeUSB/template
index b946b52bcc1b8..d94369e087891 100644
--- a/srcpkgs/WoeUSB/template
+++ b/srcpkgs/WoeUSB/template
@@ -1,7 +1,7 @@
 # Template file for 'WoeUSB'
 pkgname=WoeUSB
 version=3.3.1
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext libtool"
@@ -14,6 +14,8 @@ homepage="https://github.com/slacka/WoeUSB"
 distfiles="https://github.com/slacka/WoeUSB/archive/v${version}.tar.gz"
 checksum=0cab88a1113506f39d2f1c19532b2cd8d968c6a9f59129953c000e29e73f3d4f
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_patch() {
 	vsed -i -e "s/@@WOEUSB_VERSION@@/$version/g" \
 		configure.ac \

From 3c70aebf1e0dedcf88edce067604d26e23c7aa9f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 17/43] audacity: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/audacity/patches/wx-3.2.patch         | 26 ++++++++++++++++
 .../patches/wx-widget-has-basque.patch        | 22 +++++++++++++
 srcpkgs/audacity/patches/wxbitmap.patch       | 31 +++++++++++++++++++
 srcpkgs/audacity/template                     |  7 +++--
 4 files changed, 84 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/audacity/patches/wx-3.2.patch
 create mode 100644 srcpkgs/audacity/patches/wx-widget-has-basque.patch
 create mode 100644 srcpkgs/audacity/patches/wxbitmap.patch

diff --git a/srcpkgs/audacity/patches/wx-3.2.patch b/srcpkgs/audacity/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..d42ae09f30f6e
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-3.2.patch
@@ -0,0 +1,26 @@
+Index: audacity-Audacity-2.4.1/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/configure
++++ audacity-Audacity-2.4.1/configure
+@@ -19918,7 +19918,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
+Index: audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+===================================================================
+--- audacity-Audacity-2.4.1.orig/lib-src/lib-widget-extra/configure
++++ audacity-Audacity-2.4.1/lib-src/lib-widget-extra/configure
+@@ -16633,7 +16633,7 @@ wx_version=`${WX_CONFIG} $wxconfigargs -
+ $as_echo "$as_me: Checking that the chosen version of wxWidgets is 3.1.x (or 3.0.x)" >&6;}
+ 
+ case "${wx_version}" in
+-  3.1.* | 3.0.*)
++  3.2.* | 3.1.* | 3.0.*)
+     echo "Great, you're using wxWidgets ${wx_version}!"
+     ;;
+   *)
diff --git a/srcpkgs/audacity/patches/wx-widget-has-basque.patch b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
new file mode 100644
index 0000000000000..4dd24e79ec8e2
--- /dev/null
+++ b/srcpkgs/audacity/patches/wx-widget-has-basque.patch
@@ -0,0 +1,22 @@
+Index: audacity-Audacity-2.4.1/src/AudacityApp.cpp
+===================================================================
+--- audacity-Audacity-2.4.1.orig/src/AudacityApp.cpp
++++ audacity-Audacity-2.4.1/src/AudacityApp.cpp
+@@ -1102,7 +1102,7 @@ locations of the missing files.").Format
+ #define WL(lang,sublang)
+ #endif
+ 
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+ wxLanguageInfo userLangs[] =
+ {
+    // Bosnian is defined in wxWidgets already
+@@ -1366,7 +1366,7 @@ bool AudacityApp::OnInit()
+    //
+    // TODO:  The whole Language initialization really need to be reworked.
+    //        It's all over the place.
+-#if wxCHECK_VERSION(3, 0, 1)
++#if 0
+    for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++)
+    {
+       wxLocale::AddLanguage(userLangs[i]);
diff --git a/srcpkgs/audacity/patches/wxbitmap.patch b/srcpkgs/audacity/patches/wxbitmap.patch
new file mode 100644
index 0000000000000..af18bd1cb6524
--- /dev/null
+++ b/srcpkgs/audacity/patches/wxbitmap.patch
@@ -0,0 +1,31 @@
+From 55383fccd0c281b4f189d9b07699b21bb802c736 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney@ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH] Call the proper wxBitmap constructor for XPM data
+
+wxBitmap back to at least 3.0.0 did not have a constructor for an XPM
+image that took a size parameter, it would only take the XPM data
+itself.
+
+I don't know how this compiled until now, but it doesn't anymore when
+the size is included and built against wx 3.1.6 in Fedora.
+---
+ src/MixerBoard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+ 
+ Technically this patch is under GPLv3+ because it was contributed after
+ re licensing
+
+diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp
+index 54b5f146cc7..7fe81615474 100644
+--- a/src/MixerBoard.cpp
++++ b/src/MixerBoard.cpp
+@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments()
+    wxMemoryDC dc;
+ 
+    for (const auto &data : table) {
+-      auto bmp = std::make_unique<wxBitmap>(data.bitmap,24);
++      auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+       dc.SelectObject(*bmp);
+       AColor::Bevel(dc, false, bev);
+       mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
diff --git a/srcpkgs/audacity/template b/srcpkgs/audacity/template
index 28e9c4a3528f1..e79971d69d016 100644
--- a/srcpkgs/audacity/template
+++ b/srcpkgs/audacity/template
@@ -1,7 +1,7 @@
 # Template file for 'audacity'
 pkgname=audacity
 version=2.4.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-ffmpeg=system --with-libsndfile=system --with-expat=system
  --with-libsoxr=system --with-lame=system --with-lv2=system ac_cv_path_WX_CONFIG=wx-config-gtk3"
@@ -13,7 +13,8 @@ makedepends="jack-devel wxWidgets-gtk3-devel gtk+3-devel
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Graphical cross-platform audio editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
+# Patches are GPL3+, so bump the license for the whole package
+license="GPL-3.0-or-later"
 homepage="https://www.audacityteam.org"
 distfiles="https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"
 checksum=50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f
@@ -27,6 +28,8 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"
 fi
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vcopy nyquist /usr/share/audacity
 	vcopy plug-ins /usr/share/audacity

From 1968cc56159167663a8626c2bcc5bc9789baef25 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 18/43] boinc: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/boinc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/boinc/template b/srcpkgs/boinc/template
index ecd2a1100b015..65b3efc5c3455 100644
--- a/srcpkgs/boinc/template
+++ b/srcpkgs/boinc/template
@@ -1,7 +1,7 @@
 # Template file for 'boinc'
 pkgname=boinc
 version=7.22.0
-revision=2
+revision=3
 _majorver=${version%.*}
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config xorgproto shared-mime-info"
@@ -21,7 +21,7 @@ boinc_homedir="/var/lib/boinc"
 boinc_shell="/bin/bash"
 conflicts="boinc-nox>=0"
 
-CXXFLAGS="-Wno-redundant-decls"
+CXXFLAGS="-Wno-redundant-decls -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 case "$XBPS_TARGET_MACHINE" in
 	armv6l) broken="arm-linux-gnueabihf-g++: error: libwhetvfp.a: No such file or directory" ;;

From cc098acaeb7c712585d5c7dee382608487397bf0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 19/43] codeblocks: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codeblocks/patches/000.r11991.patch   |  27 +
 ...0.v20.03-r12008.patch => 000.r12008.patch} |   0
 ...1.v20.03-r12012.patch => 000.r12012.patch} |   0
 srcpkgs/codeblocks/patches/000.r12532.patch   |  13 +
 srcpkgs/codeblocks/patches/000.r12580.patch   | 944 ++++++++++++++++++
 srcpkgs/codeblocks/patches/000.r12707.patch   | 120 +++
 srcpkgs/codeblocks/patches/wx-3.2.patch       |  21 +
 srcpkgs/codeblocks/template                   |   4 +-
 8 files changed, 1128 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codeblocks/patches/000.r11991.patch
 rename srcpkgs/codeblocks/patches/{000.v20.03-r12008.patch => 000.r12008.patch} (100%)
 rename srcpkgs/codeblocks/patches/{001.v20.03-r12012.patch => 000.r12012.patch} (100%)
 create mode 100644 srcpkgs/codeblocks/patches/000.r12532.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12580.patch
 create mode 100644 srcpkgs/codeblocks/patches/000.r12707.patch
 create mode 100644 srcpkgs/codeblocks/patches/wx-3.2.patch

diff --git a/srcpkgs/codeblocks/patches/000.r11991.patch b/srcpkgs/codeblocks/patches/000.r11991.patch
new file mode 100644
index 0000000000000..0cdb7251fdced
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r11991.patch
@@ -0,0 +1,27 @@
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 11990)
++++ b/src/src/main.cpp	(revision 11991)
+@@ -2680,8 +2680,6 @@
+     else
+     {
+         wxBusyCursor useless;
+-        wxPaintEvent e;
+-        ProcessEvent(e);
+         for (unsigned int i = 0; i < files.GetCount(); ++i)
+           success &= OpenGeneric(files[i]);
+     }
+Index: src/src/watchesdlg.cpp
+===================================================================
+--- a/src/src/watchesdlg.cpp	(revision 11990)
++++ b/src/src/watchesdlg.cpp	(revision 11991)
+@@ -103,8 +103,7 @@
+                                   cb_unused const wxPoint& pos,
+                                   cb_unused const wxSize& sz) const override
+     {
+-        wxPGWindowList const list;
+-        return list;
++        return wxPGWindowList(nullptr, nullptr);
+     }
+     void UpdateControl(cb_unused wxPGProperty* property, cb_unused wxWindow* ctrl) const override {}
+     bool OnEvent(cb_unused wxPropertyGrid* propgrid, cb_unused wxPGProperty* property,
diff --git a/srcpkgs/codeblocks/patches/000.v20.03-r12008.patch b/srcpkgs/codeblocks/patches/000.r12008.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/000.v20.03-r12008.patch
rename to srcpkgs/codeblocks/patches/000.r12008.patch
diff --git a/srcpkgs/codeblocks/patches/001.v20.03-r12012.patch b/srcpkgs/codeblocks/patches/000.r12012.patch
similarity index 100%
rename from srcpkgs/codeblocks/patches/001.v20.03-r12012.patch
rename to srcpkgs/codeblocks/patches/000.r12012.patch
diff --git a/srcpkgs/codeblocks/patches/000.r12532.patch b/srcpkgs/codeblocks/patches/000.r12532.patch
new file mode 100644
index 0000000000000..15a2fff28e2e7
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12532.patch
@@ -0,0 +1,13 @@
+Index: src/include/ccmanager.h
+===================================================================
+--- a/src/include/ccmanager.h	(revision 12531)
++++ b/src/include/ccmanager.h	(revision 12532)
+@@ -44,7 +44,7 @@
+  * list or the doxygen popup, the scroll event is instead sent there (and skipped for the editor
+  * window).
+  */
+-class DLLIMPORT CCManager : public Mgr<CCManager>, wxEvtHandler
++class DLLIMPORT CCManager : public Mgr<CCManager>, public wxEvtHandler
+ {
+     public:
+         friend class Mgr<CCManager>;
diff --git a/srcpkgs/codeblocks/patches/000.r12580.patch b/srcpkgs/codeblocks/patches/000.r12580.patch
new file mode 100644
index 0000000000000..7930c5c5677b2
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12580.patch
@@ -0,0 +1,944 @@
+Index: src/src/notebookstyles.h
+===================================================================
+--- a/src/src/notebookstyles.h	(revision 12579)
++++ b/src/src/notebookstyles.h	(revision 12580)
+@@ -8,14 +8,6 @@
+ 
+ #include "cbauibook.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-#endif
+-
+-
+ class wxDC;
+ class wxWindow;
+ class wxRect;
+@@ -53,35 +45,4 @@
+                             const wxSize& required_bmp_size) override;
+ };
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-class NbStyleGTK : public wxAuiDefaultTabArt
+-{
+-public:
+-    NbStyleGTK();
+-
+-    virtual wxAuiTabArt* Clone();
+-    virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect);
+-    virtual void DrawTab(wxDC& dc,
+-                         wxWindow* wnd,
+-                         const wxAuiNotebookPage& page,
+-                         const wxRect& in_rect,
+-                         int close_button_state,
+-                         wxRect* out_tab_rect,
+-                         wxRect* out_button_rect,
+-                         int* x_extent);
+-    void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
+-                    int button_state, int orientation, wxRect* out_rect);
+-    int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
+-                            const wxSize& required_bmp_size);
+-    virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active,
+-                              int close_button_state, int* x_extent);
+-private:
+-    int m_Xthickness;
+-    int m_Ythickness;
+-    int m_TabHBorder;
+-    int m_TabVBorder;
+-    wxBitmap m_ActiveCloseButton;
+-};
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+ #endif // NOTEBOOKSTYLES_H
+Index: src/plugins/compilergcc/compileroptionsdlg.cpp
+===================================================================
+--- a/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12579)
++++ b/src/plugins/compilergcc/compileroptionsdlg.cpp	(revision 12580)
+@@ -677,13 +677,9 @@
+     wxPGProperty *root = m_FlagsPG->GetRoot();
+     if (root)
+     {
+-        unsigned count = root->GetChildCount();
++        const unsigned count = root->GetChildCount();
+         for (unsigned ii = 0; ii < count; ++ii)
+-#if wxCHECK_VERSION(3, 0, 0)
+             m_FlagsPG->SortChildren(root->Item(ii), wxPG_RECURSE);
+-#else
+-            m_FlagsPG->Sort(root->Item(ii));
+-#endif
+     }
+     m_FlagsPG->Thaw();
+ } // DoFillOptions
+@@ -2118,11 +2114,7 @@
+     CompilerFactory::SetDefaultCompiler(idx);
+     wxString msg;
+     Compiler* compiler = CompilerFactory::GetDefaultCompiler();
+-    #if wxCHECK_VERSION(3, 0, 0)
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().wx_str() : _("[invalid]").wx_str());
+-    #else
+-    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName().c_str() : _("[invalid]"));
+-    #endif
++    msg.Printf(_("%s is now selected as the default compiler for new projects"), compiler ? compiler->GetName() : _("[invalid]"));
+     cbMessageBox(msg);
+ } // OnSetDefaultCompilerClick
+ 
+Index: src/sdk/templatemanager.cpp
+===================================================================
+--- a/src/sdk/templatemanager.cpp	(revision 12579)
++++ b/src/sdk/templatemanager.cpp	(revision 12580)
+@@ -186,11 +186,7 @@
+             ++count;
+         }
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+     if (count != total_count)
+         cbMessageBox(_("Some files could not be loaded with the template..."), _("Error"), wxICON_ERROR);
+@@ -303,21 +299,13 @@
+     {
+         wxString src = (*it)->file.GetFullPath();
+         wxString dst = templ + (*it)->relativeToCommonTopLevelPath;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.wx_str(), dst.wx_str()));
+-        #else
+-        Manager::Get()->GetLogManager()->DebugLog(F(_T("Copying %s to %s"), src.c_str(), dst.c_str()));
+-        #endif
+         if (!CreateDirRecursively(dst))
+             Manager::Get()->GetLogManager()->DebugLog(_T("Failed creating directory for ") + dst);
+         if (wxCopyFile(src, dst, true))
+             ++count;
+         else
+-            #if wxCHECK_VERSION(3, 0, 0)
+             Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.wx_str(), dst.wx_str()));
+-            #else
+-            Manager::Get()->GetLogManager()->DebugLog(F(_T("Failed copying %s to %s"), src.c_str(), dst.c_str()));
+-            #endif
+     }
+ 
+     // cbProject doesn't have a GetRelativeToCommonTopLevelPath() function, so we simulate it here
+Index: src/src/associations.cpp
+===================================================================
+--- a/src/src/associations.cpp	(revision 12579)
++++ b/src/src/associations.cpp	(revision 12580)
+@@ -201,11 +201,7 @@
+     if (key.Exists())
+     {
+         wxString s;
+-        #if wxCHECK_VERSION(3, 0, 0)
+         if (key.QueryValue(wxEmptyString, s) && s.StartsWith(_T("CodeBlocks")))
+-        #else
+-        if (key.QueryValue(NULL, s) && s.StartsWith(_T("CodeBlocks")))
+-        #endif
+             key.DeleteSelf();
+     }
+ 
+Index: src/src/dlgabout.cpp
+===================================================================
+--- a/src/src/dlgabout.cpp	(revision 12579)
++++ b/src/src/dlgabout.cpp	(revision 12580)
+@@ -20,9 +20,7 @@
+     #include <wx/string.h>
+     #include <wx/textctrl.h>
+     #include <wx/xrc/xmlres.h>
+-    #if wxCHECK_VERSION(3, 0, 0)
+-        #include <wx/versioninfo.h>
+-    #endif // wxCHECK_VERSION
++    #include <wx/versioninfo.h>
+ 
+     #include "licenses.h"
+     #include "configmanager.h"
+@@ -146,15 +144,11 @@
+     wxTextCtrl *txtLicense = XRCCTRL(*this, "txtLicense", wxTextCtrl);
+     txtLicense->SetValue(LICENSE_GPL);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     const wxVersionInfo scintillaVersion = wxScintilla::GetLibraryVersionInfo();
+     const wxString scintillaStr = wxString::Format(wxT("%d.%d.%d"),
+                                                    scintillaVersion.GetMajor(),
+                                                    scintillaVersion.GetMinor(),
+                                                    scintillaVersion.GetMicro());
+-#else
+-    const wxString scintillaStr = wxSCINTILLA_VERSION;
+-#endif // wxCHECK_VERSION
+ 
+     struct Item
+     {
+@@ -218,9 +212,7 @@
+         information += wxT(": ") + item.value + wxT("\n");
+     }
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     information += wxT("\n") + wxGetLibraryVersionInfo().GetDescription();
+-#endif // wxCHECK_VERSION(3, 0, 0)
+ 
+     wxTextCtrl *txtInformation = XRCCTRL(*this, "txtInformation", wxTextCtrl);
+     txtInformation->SetValue(information);
+Index: src/src/main.cpp
+===================================================================
+--- a/src/src/main.cpp	(revision 12579)
++++ b/src/src/main.cpp	(revision 12580)
+@@ -2075,11 +2075,7 @@
+         {
+             if (!items[i]->IsCheckable())
+                 continue;
+-#if wxCHECK_VERSION(3, 0, 0)
+             items[i]->Check(items[i]->GetItemLabel().IsSameAs(name));
+-#else
+-            items[i]->Check(items[i]->GetText().IsSameAs(name));
+-#endif
+         }
+ 
+         if (!m_LastLayoutIsTemp)
+@@ -2401,12 +2397,7 @@
+             break;
+ 
+         default: // default style
+-            #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-            target->SetArtProvider(new NbStyleGTK());
+-            #else
+             target->SetArtProvider(new wxAuiDefaultTabArt());
+-            #endif
+-            break;
+     }
+ 
+     target->SetTabCtrlHeight(-1);
+@@ -4801,13 +4792,9 @@
+ 
+     if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor())
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         // Execute the code to update the status bar outside of the paint event for scintilla.
+         // Executing this function directly in the event handler causes redraw problems on Windows.
+         CallAfter(&MainFrame::DoUpdateStatusBar);
+-#else
+-        DoUpdateStatusBar();
+-#endif // defined(__wxMSW__) && wxCHECK_VERSION(3, 0, 0)
+     }
+ 
+     event.Skip();
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12579)
++++ b/src/src/notebookstyles.cpp	(revision 12580)
+@@ -13,14 +13,6 @@
+ #include "prep.h"
+ #include "notebookstyles.h"
+ 
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-    #define GSocket GLibSocket
+-    #include <gtk/gtk.h>
+-    #undef GSocket
+-    #include <wx/artprov.h>
+-    #include <wx/renderer.h>
+-#endif
+-
+ #include <wx/dc.h>
+ #include <wx/dcclient.h>
+ 
+@@ -42,15 +34,9 @@
+ {
+     NbStyleVC71* clone = new NbStyleVC71();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -75,11 +61,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 3;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 3;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -166,17 +148,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -186,21 +161,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -227,11 +193,7 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+@@ -246,15 +208,9 @@
+ {
+     NbStyleFF2* clone = new NbStyleFF2();
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     clone->SetNormalFont(m_normalFont);
+     clone->SetSelectedFont(m_selectedFont);
+     clone->SetMeasuringFont(m_measuringFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_selected_font);
+-    clone->SetMeasuringFont(m_measuring_font);
+-#endif
+ 
+     return clone;
+ }
+@@ -272,11 +228,7 @@
+     wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+                                     page.active, close_button_state, x_extent);
+ 
+-#if wxCHECK_VERSION(3, 0, 0)
+     wxCoord tab_height = m_tabCtrlHeight - 2;
+-#else
+-    wxCoord tab_height = m_tab_ctrl_height - 2;
+-#endif
+     wxCoord tab_width = tab_size.x;
+     wxCoord tab_x = in_rect.x;
+     wxCoord tab_y = in_rect.y + in_rect.height - tab_height;
+@@ -360,17 +312,10 @@
+     wxCoord textx;
+     wxCoord texty;
+     if (page.active)
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_selectedFont);
+-#else
+-        dc.SetFont(m_selected_font);
+-#endif
+     else
+-#if wxCHECK_VERSION(3, 0, 0)
+         dc.SetFont(m_normalFont);
+-#else
+-        dc.SetFont(m_normal_font);
+-#endif
++
+     dc.GetTextExtent(caption, &textx, &texty);
+     // draw tab text
+     dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNTEXT));
+@@ -380,21 +325,12 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         int close_button_width = m_activeCloseBmp.GetWidth();
+         wxBitmap bmp = m_disabledCloseBmp;
+-#else
+-        int close_button_width = m_active_close_bmp.GetWidth();
+-        wxBitmap bmp = m_disabled_close_bmp;
+-#endif
+ 
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+-#if wxCHECK_VERSION(3, 0, 0)
+             bmp = m_activeCloseBmp;
+-#else
+-            bmp = m_active_close_bmp;
+-#endif
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+@@ -421,533 +357,9 @@
+ //    m_requested_tabctrl_height = -1;
+ //    m_tab_ctrl_height = -1;
+     wxClientDC dc(wnd);
+-#if wxCHECK_VERSION(3, 0, 0)
+     dc.SetFont(m_measuringFont);
+-#else
+-    dc.SetFont(m_measuring_font);
+-#endif
+     int x_ext = 0;
+     wxSize s = GetTabSize(dc, wnd, wxT("ABCDEFGHIj"), wxNullBitmap, true,
+                             wxAUI_BUTTON_STATE_HIDDEN, &x_ext);
+     return s.y + 6;
+ }
+-
+-#if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+-
+-namespace
+-{
+-
+-static GtkWidget *g_window = nullptr;
+-static GtkWidget *g_container = nullptr;
+-static GtkWidget *g_notebook = nullptr;
+-static GtkWidget *g_button = nullptr;
+-static int s_CloseIconSize = 16; // default size
+-
+-static void setup_widget_prototype(GtkWidget* widget)
+-{
+-    if (!g_window)
+-    {
+-        g_window = gtk_window_new(GTK_WINDOW_POPUP);
+-        gtk_widget_realize(g_window);
+-    }
+-    if (!g_container)
+-    {
+-        g_container = gtk_fixed_new();
+-        gtk_container_add(GTK_CONTAINER(g_window), g_container);
+-    }
+-
+-    gtk_container_add(GTK_CONTAINER(g_container), widget);
+-    gtk_widget_realize(widget);
+-}
+-
+-static GtkStyle * get_style_button()
+-{
+-    if (!g_button)
+-    {
+-        g_button = gtk_button_new();
+-        setup_widget_prototype(g_button);
+-    }
+-    return gtk_widget_get_style(g_button);
+-}
+-
+-static GtkStyle * get_style_notebook()
+-{
+-    if (!g_notebook)
+-    {
+-        g_notebook = gtk_notebook_new();
+-        setup_widget_prototype(g_notebook);
+-    }
+-    return gtk_widget_get_style(g_notebook);
+-}
+-
+-}
+-
+-NbStyleGTK::NbStyleGTK():
+-    m_Xthickness(0),
+-    m_Ythickness(0),
+-    m_TabHBorder(0),
+-    m_TabVBorder(0)
+-
+-{
+-}
+-
+-wxAuiTabArt* NbStyleGTK::Clone()
+-{
+-    NbStyleGTK* clone = new NbStyleGTK();
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    clone->SetNormalFont(m_normalFont);
+-    clone->SetSelectedFont(m_normalFont);
+-    clone->SetMeasuringFont(m_normalFont);
+-#else
+-    clone->SetNormalFont(m_normal_font);
+-    clone->SetSelectedFont(m_normal_font);
+-    clone->SetMeasuringFont(m_normal_font);
+-#endif
+-
+-    return clone;
+-}
+-
+-void NbStyleGTK::DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect)
+-{
+-    GtkStyle* style_notebook = get_style_notebook();
+-    GtkNotebook* notebook = GTK_NOTEBOOK (g_notebook);
+-
+-    // if one of the parameters have changed, the height needs to be recalculated, so we force it,
+-    if(m_Xthickness  != style_notebook->xthickness ||
+-       m_Ythickness  != style_notebook->ythickness ||
+-       m_TabVBorder != notebook->tab_vborder ||
+-       m_TabHBorder != notebook->tab_hborder)
+-    {
+-        m_Xthickness  = style_notebook->xthickness;
+-        m_Ythickness  = style_notebook->ythickness;
+-        m_TabVBorder = notebook->tab_vborder;
+-        m_TabHBorder = notebook->tab_hborder;
+-        wxAuiNotebook* nb = nullptr;
+-        if(wnd)
+-             nb = (cbAuiNotebook*)wnd->GetParent();
+-        if(nb)
+-            nb->SetTabCtrlHeight(-1);
+-    }
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_style_apply_default_background(style_notebook, pWin, 1, GTK_STATE_NORMAL, nullptr,
+-                                       rect.x, rect.y, rect.width, rect.height);
+-}
+-
+-void ButtonStateAndShadow(int button_state, GtkStateType &state, GtkShadowType &shadow)
+-{
+-
+-    if (button_state & wxAUI_BUTTON_STATE_DISABLED)
+-    {
+-        state = GTK_STATE_INSENSITIVE;
+-        shadow = GTK_SHADOW_ETCHED_IN;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        state = GTK_STATE_PRELIGHT;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-    else if (button_state & wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        state = GTK_STATE_ACTIVE;
+-        shadow = GTK_SHADOW_IN;
+-    }
+-    else
+-    {
+-        state = GTK_STATE_NORMAL;
+-        shadow = GTK_SHADOW_OUT;
+-    }
+-}
+-
+-wxRect DrawCloseButton(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GdkRectangle* clipRect)
+-{
+-    GtkStyle *style_button = get_style_button();
+-    int xthickness = style_button->xthickness;
+-    int ythickness = style_button->ythickness;
+-
+-    wxBitmap bmp;
+-    bmp.SetPixbuf(gtk_widget_render_icon(widget, GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR, "tab"));
+-
+-    if(bmp.GetWidth() != s_CloseIconSize || bmp.GetHeight() != s_CloseIconSize)
+-    {
+-        wxImage img = bmp.ConvertToImage();
+-        img.Rescale(s_CloseIconSize, s_CloseIconSize);
+-        bmp = img;
+-    }
+-
+-    int button_size = s_CloseIconSize + 2 * xthickness;
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x - ythickness;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - button_size - ythickness;
+-
+-    out_rect.y = in_rect.y + (in_rect.height - button_size) / 2;
+-    out_rect.width = button_size;
+-    out_rect.height = button_size;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-    else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-    {
+-        gtk_paint_box(style_button, pWin,
+-                      GTK_STATE_ACTIVE, GTK_SHADOW_IN, clipRect, widget, "button",
+-                      out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-    }
+-
+-
+-    dc.DrawBitmap(bmp, out_rect.x + xthickness, out_rect.y + ythickness, true);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
+-                             const wxRect& in_rect, int close_button_state, wxRect* out_tab_rect,
+-                             wxRect* out_button_rect, int* x_extent)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    GtkStyle *style_notebook = get_style_notebook();
+-
+-    wxRect const &window_rect = wnd->GetRect();
+-
+-    int focus_width = 0;
+-
+-    gtk_widget_style_get(g_notebook,
+-                         "focus-line-width", &focus_width,
+-                         NULL);
+-
+-    int tab_pos;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        tab_pos = wxAUI_NB_BOTTOM;
+-    else //if (m_flags & wxAUI_NB_TOP) {}
+-        tab_pos = wxAUI_NB_TOP;
+-
+-    // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+-    // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+-
+-    // figure out the size of the tab
+-    wxSize tab_size = GetTabSize(dc, wnd, page.caption, page.bitmap,
+-                                    page.active, close_button_state, x_extent);
+-
+-    wxRect tab_rect = in_rect;
+-    tab_rect.width = tab_size.x;
+-    tab_rect.height = tab_size.y;
+-    tab_rect.y += 2 * m_TabHBorder;
+-
+-    if (page.active)
+-        tab_rect.height += 2 * m_TabHBorder;
+-#if wxCHECK_VERSION(3, 0, 0)
+-    // if no bitmap is set, we need a tiny correction
+-    if (! page.bitmap.IsOk())
+-        tab_rect.height += 1;
+-#endif
+-
+-    int gap_rect_height = 6 * m_TabHBorder;
+-    int gap_rect_x = 1, gap_start = 0, gap_width = 0;
+-    int gap_rect_y = tab_rect.y - gap_rect_height;
+-    int gap_rect_width = window_rect.width;
+-
+-    switch (tab_pos)
+-    {
+-        case wxAUI_NB_TOP:
+-            tab_rect.y -= 2 * m_TabHBorder;
+-            if (!page.active)
+-                tab_rect.y += 2 * m_TabHBorder;
+-            gap_rect_y = tab_rect.y + tab_rect.height - m_TabHBorder / 2;
+-            // fall through
+-        case wxAUI_NB_BOTTOM:
+-            gap_start = tab_rect.x - m_TabVBorder / 2;
+-            gap_width = tab_rect.width;
+-            break;
+-        default:
+-            break;
+-    }
+-    tab_rect.y += m_TabHBorder / 2;
+-    gap_rect_y += m_TabHBorder / 2;
+-
+-    int padding = focus_width + m_TabHBorder;
+-
+-    int clip_width = tab_rect.width;
+-    if (tab_rect.x + tab_rect.width > in_rect.x + in_rect.width)
+-        clip_width = (in_rect.x + in_rect.width) - tab_rect.x;
+-
+-    dc.SetClippingRegion(tab_rect.x, tab_rect.y - m_TabVBorder, clip_width, tab_rect.height + m_TabVBorder);
+-
+-    GdkRectangle area;
+-    area.x = tab_rect.x - m_TabVBorder;
+-    area.y = tab_rect.y - 2 * m_TabHBorder;
+-    area.width = clip_width + m_TabVBorder;
+-    area.height = tab_rect.height + 2 * m_TabHBorder;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-
+-    if (tab_pos == wxAUI_NB_BOTTOM)
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_BOTTOM, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_TOP);
+-    }
+-    else
+-    {
+-        if (page.active)
+-        {
+-            gtk_paint_box_gap(style_notebook, pWin, GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+-                              NULL, widget, "notebook",
+-                              gap_rect_x, gap_rect_y,
+-                              gap_rect_width, gap_rect_height,
+-                              GTK_POS_TOP, gap_start , gap_width);
+-        }
+-        gtk_paint_extension(style_notebook, pWin,
+-                           page.active ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE, GTK_SHADOW_OUT,
+-                           &area, widget, "tab",
+-                           tab_rect.x, tab_rect.y,
+-                           tab_rect.width, tab_rect.height,
+-                           GTK_POS_BOTTOM);
+-    }
+-
+-    wxCoord textX = tab_rect.x + padding + m_Xthickness;
+-
+-    int bitmap_offset = 0;
+-    if (page.bitmap.IsOk())
+-    {
+-        bitmap_offset = textX;
+-
+-        // draw bitmap
+-        int bitmapY = tab_rect.y +(tab_rect.height - page.bitmap.GetHeight()) / 2;
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                bitmapY += m_Ythickness / 2;
+-            else
+-                bitmapY -= m_Ythickness / 2;
+-        }
+-        dc.DrawBitmap(page.bitmap,
+-                      bitmap_offset,
+-                      bitmapY,
+-                      true);
+-
+-        textX += page.bitmap.GetWidth() + padding;
+-    }
+-
+-    wxCoord textW, textH, textY;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    dc.SetFont(m_normalFont);
+-#else
+-    dc.SetFont(m_normal_font);
+-#endif
+-    dc.GetTextExtent(page.caption, &textW, &textH);
+-    textY = tab_rect.y + (tab_rect.height - textH) / 2;
+-    if(!page.active)
+-    {
+-        if (tab_pos == wxAUI_NB_TOP)
+-            textY += m_Ythickness / 2;
+-        else
+-            textY -= m_Ythickness / 2;
+-    }
+-
+-    // draw tab text
+-    GdkColor text_colour = page.active ? style_notebook->fg[GTK_STATE_NORMAL] : style_notebook->fg[GTK_STATE_ACTIVE];
+-    dc.SetTextForeground(wxColor(text_colour));
+-    GdkRectangle focus_area;
+-
+-    int padding_focus = padding - focus_width;
+-    focus_area.x = tab_rect.x + padding_focus;
+-    focus_area.y = textY - focus_width;
+-    focus_area.width = tab_rect.width - 2 * padding_focus;
+-    focus_area.height = textH + 2 * focus_width;
+-
+-    if(page.active && (wnd->FindFocus() == wnd) && focus_area.x <= (area.x + area.width))
+-    {
+-        // clipping seems not to work here, so we we have to recalc the focus-area manually
+-        if((focus_area.x + focus_area.width) > (area.x + area.width))
+-            focus_area.width = area.x + area.width - focus_area.x + focus_width - m_TabVBorder;
+-        gtk_paint_focus (style_notebook, pWin,
+-                         GTK_STATE_ACTIVE, NULL, widget, "tab",
+-                         focus_area.x, focus_area.y, focus_area.width, focus_area.height);
+-    }
+-
+-    dc.DrawText(page.caption, textX, textY);
+-
+-    // draw close-button on tab (if enabled)
+-    if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+-    {
+-        wxRect rect(tab_rect.x, tab_rect.y, tab_rect.width - m_Xthickness, tab_rect.height);
+-        if(!page.active)
+-        {
+-            if (tab_pos == wxAUI_NB_TOP)
+-                rect.y += m_Ythickness / 2;
+-            else
+-                rect.y -= m_Ythickness / 2;
+-        }
+-        *out_button_rect = DrawCloseButton(dc, widget, close_button_state, rect, wxRIGHT, &area);
+-    }
+-
+-    tab_rect.width = std::min(tab_rect.width, clip_width);
+-    *out_tab_rect = tab_rect;
+-
+-    dc.DestroyClippingRegion();
+-}
+-
+-wxRect DrawSimpleArrow(wxDC& dc,
+-                       GtkWidget *widget,
+-                       int button_state,
+-                       wxRect const &in_rect,
+-                       int orientation,
+-                       GtkArrowType arrow_type)
+-{
+-    int scroll_arrow_hlength, scroll_arrow_vlength;
+-    gtk_widget_style_get(widget,
+-                         "scroll-arrow-hlength", &scroll_arrow_hlength,
+-                         "scroll-arrow-vlength", &scroll_arrow_vlength,
+-                         NULL);
+-
+-    GtkStateType state;
+-    GtkShadowType shadow;
+-    ButtonStateAndShadow(button_state, state, shadow);
+-
+-    wxRect out_rect;
+-
+-    if (orientation == wxLEFT)
+-        out_rect.x = in_rect.x;
+-    else
+-        out_rect.x = in_rect.x + in_rect.width - scroll_arrow_hlength;
+-    out_rect.y = (in_rect.y + in_rect.height - 3 * get_style_notebook()->ythickness - scroll_arrow_vlength) / 2;
+-    out_rect.width = scroll_arrow_hlength;
+-    out_rect.height = scroll_arrow_vlength;
+-
+-#if wxCHECK_VERSION(3, 0, 0)
+-    wxGTKDCImpl *impldc = (wxGTKDCImpl*) dc.GetImpl();
+-    GdkWindow* pWin = impldc->GetGDKWindow();
+-#else
+-    GdkWindow* pWin = dc.GetGDKWindow();
+-#endif
+-    gtk_paint_arrow (get_style_button(), pWin, state, shadow, nullptr, widget, "notebook",
+-                     arrow_type, TRUE, out_rect.x, out_rect.y, out_rect.width, out_rect.height);
+-
+-    return out_rect;
+-}
+-
+-void NbStyleGTK::DrawButton(wxDC& dc, wxWindow* wnd,
+-                            const wxRect& in_rect,
+-                            int bitmap_id,
+-                            int button_state,
+-                            int orientation,
+-                            wxRect* out_rect)
+-{
+-    GtkWidget *widget = wnd->GetHandle();
+-    wxRect rect = in_rect;
+-    if (m_flags &wxAUI_NB_BOTTOM)
+-        rect.y += 2 * get_style_button()->ythickness;
+-
+-    switch (bitmap_id)
+-    {
+-        case wxAUI_BUTTON_CLOSE:
+-            rect.y -= 2 * get_style_button()->ythickness;
+-            rect = DrawCloseButton(dc, widget, button_state, rect, orientation, NULL);
+-            break;
+-
+-        case wxAUI_BUTTON_LEFT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_LEFT);
+-            break;
+-
+-        case wxAUI_BUTTON_RIGHT:
+-            rect = DrawSimpleArrow(dc, widget, button_state, rect, orientation, GTK_ARROW_RIGHT);
+-            break;
+-
+-        case wxAUI_BUTTON_WINDOWLIST:
+-            {
+-                rect.height -= 4 * get_style_button()->ythickness;
+-                rect.width = rect.height;
+-                rect.x = in_rect.x + in_rect.width - rect.width;
+-
+-                if (button_state == wxAUI_BUTTON_STATE_HOVER)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_CURRENT);
+-                else if (button_state == wxAUI_BUTTON_STATE_PRESSED)
+-                    wxRendererNative::Get().DrawComboBoxDropButton(wnd, dc, rect, wxCONTROL_PRESSED);
+-                else
+-                    wxRendererNative::Get().DrawDropArrow(wnd, dc, rect);
+-            }
+-            break;
+-
+-        default:
+-            break;
+-    }
+-
+-    *out_rect = rect;
+-}
+-
+-
+-int NbStyleGTK::GetBestTabCtrlSize(wxWindow* wnd,
+-                                   const wxAuiNotebookPageArray& pages,
+-                                   const wxSize& required_bmp_size)
+-{
+-#if wxCHECK_VERSION(3, 0, 0)
+-    SetMeasuringFont(m_normalFont);
+-    SetSelectedFont(m_normalFont);
+-#else
+-    SetMeasuringFont(m_normal_font);
+-    SetSelectedFont(m_normal_font);
+-#endif
+-    int tab_height = 3 * get_style_notebook()->ythickness + wxAuiDefaultTabArt::GetBestTabCtrlSize(wnd, pages, required_bmp_size);
+-    return tab_height;
+-}
+-
+-wxSize NbStyleGTK::GetTabSize(wxDC& dc,
+-                              wxWindow* wnd,
+-                              const wxString& caption,
+-                              const wxBitmap& bitmap,
+-                              bool active,
+-                              int close_button_state,
+-                              int* x_extent)
+-{
+-    wxSize s = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
+-
+-    int overlap = 0;
+-    gtk_widget_style_get (wnd->GetHandle(),
+-        "focus-line-width", &overlap,
+-        NULL);
+-    *x_extent -= overlap;
+-    return s;
+-}
+-
+-#endif // #if defined(__WXGTK__) && (USE_GTK_NOTEBOOK) && !wxCHECK_VERSION(3, 0, 0)
+Index: src/src/projectmanagerui.cpp
+===================================================================
+--- a/src/src/projectmanagerui.cpp	(revision 12579)
++++ b/src/src/projectmanagerui.cpp	(revision 12580)
+@@ -1875,11 +1875,7 @@
+ {
+     size_t operator()(const wxString& s) const
+     {
+-#if wxCHECK_VERSION(3, 0, 0)
+         return std::hash<std::wstring>()(s.ToStdWstring());
+-#else
+-        return std::hash<std::wstring>()(s.wc_str());
+-#endif // wxCHECK_VERSION
+     }
+ };
+ 
diff --git a/srcpkgs/codeblocks/patches/000.r12707.patch b/srcpkgs/codeblocks/patches/000.r12707.patch
new file mode 100644
index 0000000000000..bca974fbe5770
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/000.r12707.patch
@@ -0,0 +1,120 @@
+Index: src/src/notebookstyles.cpp
+===================================================================
+--- a/src/src/notebookstyles.cpp	(revision 12706)
++++ b/src/src/notebookstyles.cpp	(revision 12707)
+@@ -124,8 +124,16 @@
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -132,6 +140,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -161,13 +170,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
+@@ -285,11 +304,20 @@
+     int text_offset = tab_x + 8;
+ 
+     int bitmap_offset = 0;
++
+     if (page.bitmap.IsOk())
+     {
+         bitmap_offset = tab_x + 8;
++        // draw bitmap
++#if wxCHECK_VERSION(3, 1, 6)
++        const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd));
++        dc.DrawBitmap(bmp,
++                      bitmap_offset,
++                      drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2),
++                      true);
+ 
+-        // draw bitmap
++        text_offset = bitmap_offset + bmp.GetWidth();
++#else
+         dc.DrawBitmap(page.bitmap,
+                       bitmap_offset,
+                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
+@@ -296,6 +324,7 @@
+                       true);
+ 
+         text_offset = bitmap_offset + page.bitmap.GetWidth();
++#endif
+         text_offset += 3; // bitmap padding
+     }
+      else
+@@ -303,7 +332,6 @@
+         text_offset = tab_x + 8;
+     }
+ 
+-
+     // if the caption is empty, measure some temporary text
+     wxString caption = page.caption;
+     if (caption.empty())
+@@ -325,13 +353,23 @@
+     // draw 'x' on tab (if enabled)
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        int close_button_width = m_activeCloseBmp.GetWidth();
+-        wxBitmap bmp = m_disabledCloseBmp;
++        wxBitmap bmp;
+ 
++#if wxCHECK_VERSION(3, 1, 6)
+         if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
+                     (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
++            bmp = m_activeCloseBmp.GetBitmapFor(wnd);
++        else
++            bmp = m_disabledCloseBmp.GetBitmapFor(wnd);
++#else
++        if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) ||
++                    (close_button_state == wxAUI_BUTTON_STATE_PRESSED))
+             bmp = m_activeCloseBmp;
++        else
++            bmp = m_disabledCloseBmp;
++#endif
+ 
++        const int close_button_width = bmp.GetWidth();
+         wxRect rect(tab_x + tab_width - close_button_width - 3,
+                     drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2),
+                     close_button_width, tab_height);
diff --git a/srcpkgs/codeblocks/patches/wx-3.2.patch b/srcpkgs/codeblocks/patches/wx-3.2.patch
new file mode 100644
index 0000000000000..0400ce6346178
--- /dev/null
+++ b/srcpkgs/codeblocks/patches/wx-3.2.patch
@@ -0,0 +1,21 @@
+Index: codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+===================================================================
+--- codeblocks-20.03.orig/src/sdk/scripting/bindings/sc_wxtypes.cpp
++++ codeblocks-20.03/src/sdk/scripting/bindings/sc_wxtypes.cpp
+@@ -322,6 +322,7 @@ namespace ScriptBindings
+         typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
+         typedef bool(wxFileName::*WXFN_ISFILEWRITEABLE)()const;
++        typedef bool(wxFileName::*WXFN_NORMALIZE)(int, const wxString&, wxPathFormat);
+ 
+         SqPlus::SQClassDef<wxFileName>("wxFileName").
+                 emptyCtor().
+@@ -354,7 +355,7 @@ namespace ScriptBindings
+                 func(&wxFileName::IsDir, "IsDir").
+                 func(&wxFileName::MakeAbsolute, "MakeAbsolute").
+                 func(&wxFileName::MakeRelativeTo, "MakeRelativeTo").
+-                func(&wxFileName::Normalize, "Normalize").
++                func<WXFN_NORMALIZE>(&wxFileName::Normalize, "Normalize").
+                 func(&wxFileName::PrependDir, "PrependDir").
+                 func(&wxFileName::RemoveDir, "RemoveDir").
+                 func(&wxFileName::RemoveLastDir, "RemoveLastDir").
diff --git a/srcpkgs/codeblocks/template b/srcpkgs/codeblocks/template
index 6c6c31dfd3e1e..d002a27408726 100644
--- a/srcpkgs/codeblocks/template
+++ b/srcpkgs/codeblocks/template
@@ -1,7 +1,7 @@
 # Template file for 'codeblocks'
 pkgname=codeblocks
 version=20.03
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3 --with-contrib-plugins
  --with-boost=${XBPS_CROSS_BASE}/usr
@@ -17,6 +17,8 @@ homepage="http://www.codeblocks.org"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/Sources/${version}/${pkgname}-${version}.tar.xz"
 checksum=15eeb3e28aea054e1f38b0c7f4671b4d4d1116fd05f63c07aa95a91db89eaac5
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vinstall debian/codeblocks.sharedmime 644 /usr/share/mime/packages codeblocks.xml
 	vinstall src/mime/codeblocks.desktop 644 /usr/share/applications

From e800bedadc34b8bf66edc6c607e967296d71a529 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 20/43] codelite: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/codelite/patches/wx32.patch | 131 ++++++++++++++++++++++++++++
 srcpkgs/codelite/template           |   4 +-
 2 files changed, 134 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/codelite/patches/wx32.patch

diff --git a/srcpkgs/codelite/patches/wx32.patch b/srcpkgs/codelite/patches/wx32.patch
new file mode 100644
index 0000000000000..f5535ebaf1b3b
--- /dev/null
+++ b/srcpkgs/codelite/patches/wx32.patch
@@ -0,0 +1,131 @@
+From 427af358d41deb00a4628e5b39c63a929cef894a Mon Sep 17 00:00:00 2001
+From: Eran Ifrah <eran@codelite.org>
+Date: Fri, 10 Jun 2022 10:15:52 +0300
+Subject: [PATCH] macos: hunspell: use the library from brew fixed build
+ against wx3.1.7 temporarly: disable building LLDB on macos
+
+---
+ CMakeLists.txt                               |   5 +-
+ SpellChecker/CMakeLists.txt                  |  27 +-
+ sdk/hunspell/include/affentry.hxx            | 144 -----------
+ sdk/hunspell/include/affixmgr.hxx            | 252 -------------------
+ sdk/hunspell/include/atypes.hxx              | 107 --------
+ sdk/hunspell/include/baseaffix.hxx           |  32 ---
+ sdk/hunspell/include/csutil.hxx              | 223 ----------------
+ sdk/hunspell/include/dictmgr.hxx             |  39 ---
+ sdk/hunspell/include/filemgr.hxx             |  28 ---
+ sdk/hunspell/include/hashmgr.hxx             |  69 -----
+ sdk/hunspell/include/htypes.hxx              |  32 ---
+ sdk/hunspell/include/hunspell.hxx            | 184 --------------
+ sdk/hunspell/include/hunzip.hxx              |  47 ----
+ sdk/hunspell/include/langnum.hxx             |  38 ---
+ sdk/hunspell/include/phonet.hxx              |  52 ----
+ sdk/hunspell/include/replist.hxx             |  30 ---
+ sdk/hunspell/include/suggestmgr.hxx          | 115 ---------
+ sdk/hunspell/include/w_char.hxx              |  21 --
+ sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib | Bin 363876 -> 0 bytes
+ wxcrafter/myxh_propgrid.cpp                  |  32 ++-
+ 20 files changed, 36 insertions(+), 1441 deletions(-)
+ delete mode 100644 sdk/hunspell/include/affentry.hxx
+ delete mode 100644 sdk/hunspell/include/affixmgr.hxx
+ delete mode 100644 sdk/hunspell/include/atypes.hxx
+ delete mode 100644 sdk/hunspell/include/baseaffix.hxx
+ delete mode 100644 sdk/hunspell/include/csutil.hxx
+ delete mode 100644 sdk/hunspell/include/dictmgr.hxx
+ delete mode 100644 sdk/hunspell/include/filemgr.hxx
+ delete mode 100644 sdk/hunspell/include/hashmgr.hxx
+ delete mode 100644 sdk/hunspell/include/htypes.hxx
+ delete mode 100644 sdk/hunspell/include/hunspell.hxx
+ delete mode 100644 sdk/hunspell/include/hunzip.hxx
+ delete mode 100644 sdk/hunspell/include/langnum.hxx
+ delete mode 100644 sdk/hunspell/include/phonet.hxx
+ delete mode 100644 sdk/hunspell/include/replist.hxx
+ delete mode 100644 sdk/hunspell/include/suggestmgr.hxx
+ delete mode 100644 sdk/hunspell/include/w_char.hxx
+ delete mode 100755 sdk/hunspell/lib/osx/libhunspell-1.3.0.dylib
+
+diff --git a/wxcrafter/myxh_propgrid.cpp b/wxcrafter/myxh_propgrid.cpp
+index 974bc62f0..3fcb3845d 100644
+--- a/wxcrafter/myxh_propgrid.cpp
++++ b/wxcrafter/myxh_propgrid.cpp
+@@ -1,4 +1,5 @@
+ #include "myxh_propgrid.h"
++
+ #include <wx/datetime.h>
+ #include <wx/log.h>
+ #include <wx/propgrid/advprops.h>
+@@ -48,10 +49,14 @@ wxObject* MyWxPropGridXmlHandler::DoCreateResource()
+ 
+         // add the splitter property after the children were added
+         int splitterLeft = GetBool("splitterleft");
+-        if(splitterLeft) { m_pgmgr->GetPage(0)->SetSplitterLeft(); }
++        if(splitterLeft) {
++            m_pgmgr->SetSplitterLeft();
++        }
+ 
+         int splitterPos = GetLong("splitterpos", wxNOT_FOUND);
+-        if(splitterPos != wxNOT_FOUND) { m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos); }
++        if(splitterPos != wxNOT_FOUND) {
++            m_pgmgr->GetPage(0)->SetSplitterPosition(splitterPos);
++        }
+ 
+         m_isInside = false;
+         return m_pgmgr;
+@@ -67,7 +72,9 @@ bool MyWxPropGridXmlHandler::CanHandle(wxXmlNode* node)
+ 
+ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ {
+-    if(!HasParam(wxT("proptype"))) { return; }
++    if(!HasParam(wxT("proptype"))) {
++        return;
++    }
+ 
+     // Property
+     wxString proptype = GetText("proptype");
+@@ -116,7 +123,9 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     } else if(proptype == "wxEnumProperty") {
+         int sel = items.Index(value);
+-        if(sel == wxNOT_FOUND) { sel = 0; }
++        if(sel == wxNOT_FOUND) {
++            sel = 0;
++        }
+ 
+         prop = DoAppendProperty(parent, new wxEnumProperty(label, wxPG_LABEL, items, wxArrayInt(), sel));
+ 
+@@ -143,8 +152,12 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+     // Handle nested children
+     if(prop) {
+-        if(bgcol.IsOk()) { prop->SetBackgroundColour(bgcol, bgcolRecurse); }
+-        if(!propEditor.IsEmpty()) { prop->SetEditor(propEditor); }
++        if(bgcol.IsOk()) {
++            prop->SetBackgroundColour(bgcol, bgcolRecurse);
++        }
++        if(!propEditor.IsEmpty()) {
++            prop->SetEditor(propEditor);
++        }
+         prop->SetHelpString(tip);
+ 
+         // Check to see if this property has children
+@@ -160,12 +173,15 @@ void MyWxPropGridXmlHandler::HandlePgProperty(wxPGProperty* parent)
+ 
+ wxArrayString MyWxPropGridXmlHandler::GetArray(const wxXmlNode* node) const
+ {
+-    if(!node) return wxArrayString();
++    if(!node)
++        return wxArrayString();
+ 
+     wxArrayString items;
+     wxXmlNode* child = node->GetChildren();
+     while(child) {
+-        if(child->GetName() == "item") { items.Add(child->GetNodeContent()); }
++        if(child->GetName() == "item") {
++            items.Add(child->GetNodeContent());
++        }
+         child = child->GetNext();
+     }
+     return items;
+-- 
+2.42.0
+
diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index b0bf8f57736a4..f8206426888fd 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=16.0.0
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
@@ -32,6 +32,8 @@ case "$XBPS_TARGET_MACHINE" in
 	x86_64*|ppc64le*|aarch64*|arm*) build_options_default+=" lldb";;
 esac
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_extract() {
 	mv codelite-${version}/* .
 	rm -rf universal-ctags

From c3bae5b457b69cf9a14e654e16242c92c1fe9702 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 21/43] diff-pdf: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/diff-pdf/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/diff-pdf/template b/srcpkgs/diff-pdf/template
index 1b1c1b690814c..68d69808ad442 100644
--- a/srcpkgs/diff-pdf/template
+++ b/srcpkgs/diff-pdf/template
@@ -1,7 +1,7 @@
 # Template file for 'diff-pdf'
 pkgname=diff-pdf
 version=0.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"
@@ -13,3 +13,5 @@ homepage="https://vslavik.github.io/diff-pdf/"
 changelog="https://github.com/vslavik/diff-pdf/releases"
 distfiles="https://github.com/vslavik/diff-pdf/releases/download/v${version}/diff-pdf-${version}.tar.gz"
 checksum=017d52cb7ddabdbf63c6a47f39b2e5a1790022b95295b0d047817904e093245c
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 154edcafcffcf50df7c9643ca2232ea9c67cd49d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:20 -0400
Subject: [PATCH 22/43] erlang: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/erlang/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/erlang/template b/srcpkgs/erlang/template
index 411f921f59f48..2b752ef7896dc 100644
--- a/srcpkgs/erlang/template
+++ b/srcpkgs/erlang/template
@@ -1,7 +1,7 @@
 # Template file for 'erlang'
 pkgname=erlang
 version=26.1
-revision=1
+revision=2
 build_style=gnu-configure
 make_install_target="install install-docs"
 hostmakedepends="autoconf libxslt perl tar"

From c276835fa7ac0e25bd2d6b597940b76038d41eb0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 23/43] filezilla: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/filezilla/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index c8d7feab7b4f5..ec52592f23d16 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'filezilla'
 pkgname=filezilla
 version=3.65.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
  --with-wx-config=wx-config-gtk3"
@@ -24,3 +24,5 @@ fi
 case "$XBPS_TARGET_MACHINE" in
 	i686*|x86_64*)  CFLAGS="-msse2";;
 esac
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From fba979e3b2fcb189e3034f882ea0d197aa47a135 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 24/43] gnuplot: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/gnuplot/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gnuplot/template b/srcpkgs/gnuplot/template
index ad0dbf053d002..c4d9dcb2a894c 100644
--- a/srcpkgs/gnuplot/template
+++ b/srcpkgs/gnuplot/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuplot'
 pkgname=gnuplot
 version=5.4.9
-revision=1
+revision=2
 configure_args="--with-readline=builtin"
 hostmakedepends="pkg-config lua52"
 makedepends="zlib-devel libX11-devel gd-devel lua52-devel"
@@ -21,6 +21,8 @@ fi
 
 alternatives="gnuplot:gnuplot:/usr/bin/gnuplot-x11"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	# fix fonts location
 	sed -i \

From d1480d63305ccde401b8d88bb1a7df18ad30adb1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 25/43] golly: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/golly/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/golly/template b/srcpkgs/golly/template
index 691f999a6eddd..da36377ced1fb 100644
--- a/srcpkgs/golly/template
+++ b/srcpkgs/golly/template
@@ -1,7 +1,7 @@
 # Template file for 'golly'
 pkgname=golly
 version=4.1
-revision=2
+revision=3
 build_wrksrc="gui-wx"
 build_style=gnu-makefile
 make_build_args="-f makefile-gtk GOLLYDIR=/usr/share/golly LUALIB=-llua5.4
@@ -17,7 +17,7 @@ homepage="http://golly.sourceforge.net/"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}-src.tar.gz"
 checksum=6c655a6ce2fd75c6ae7289da39d084162c6ed887a01c21c3760872e3ff6d60c8
 
-CXXFLAGS="-I../gollybase"
+CXXFLAGS="-I../gollybase -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 post_extract() {
 	# POSIX name clash

From db4fe980a4c2fbc3469e6cc0c746ad92fc7e5814 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 26/43] hugin: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/hugin/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template
index 943d23d1a932f..4d81e348351d3 100644
--- a/srcpkgs/hugin/template
+++ b/srcpkgs/hugin/template
@@ -1,7 +1,7 @@
 # Template file for 'hugin'
 pkgname=hugin
 version=2022.0.0
-revision=8
+revision=9
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates"
@@ -20,6 +20,8 @@ distfiles="${SOURCEFORGE_SITE}/hugin/hugin/hugin-${version%.*}/hugin-${version}.
 checksum=97c8562a0ba9a743e0b955a43dfde048b1c60cd9e5f2ee2b69de1a81646e05a7
 python_version=3
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" python3"
 else

From 115e0958295d1fd83087fe52e1c5b733d8d4261b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 27/43] mediainfo: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/mediainfo/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/mediainfo/template b/srcpkgs/mediainfo/template
index e80da59ead880..d356a1ab5ec66 100644
--- a/srcpkgs/mediainfo/template
+++ b/srcpkgs/mediainfo/template
@@ -1,7 +1,7 @@
 # Template file for 'mediainfo'
 pkgname=mediainfo
 version=22.12
-revision=1
+revision=2
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake libtool pkg-config"
 makedepends="libmediainfo-devel zlib-devel wxWidgets-gtk3-devel"
@@ -14,6 +14,8 @@ distfiles="https://mediaarea.net/download/source/${pkgname}/${version}/${pkgname
 checksum=932b82739f738e7db603cf5bb170720731a9e7c61d145c2a54aabb3cd0b753bc
 replaces="mediainfo-gui>=0"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 do_configure() {
 	for d in CLI GUI; do
 		cd $wrksrc/Project/GNU/$d

From fe4310bcd5c867624f9ca92f0f899443626e9875 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 28/43] openbabel: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/openbabel/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/openbabel/template b/srcpkgs/openbabel/template
index 41db848d74e4c..d0b059026da34 100644
--- a/srcpkgs/openbabel/template
+++ b/srcpkgs/openbabel/template
@@ -1,7 +1,7 @@
 # Template file for 'openbabel'
 pkgname=openbabel
 version=3.1.1
-revision=1
+revision=2
 _ver=${version//./-}
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
@@ -14,6 +14,8 @@ homepage="http://openbabel.org"
 distfiles="https://github.com/openbabel/openbabel/archive/openbabel-${_ver}.tar.gz"
 checksum=c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 openbabel-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"

From c950f937b48a795ecd566324c078f19acd6a988e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 29/43] passwordsafe: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/passwordsafe/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/passwordsafe/template b/srcpkgs/passwordsafe/template
index 88ffa41f474bc..99d86feeb215f 100644
--- a/srcpkgs/passwordsafe/template
+++ b/srcpkgs/passwordsafe/template
@@ -1,7 +1,7 @@
 # Template file for 'passwordsafe'
 pkgname=passwordsafe
 version=1.16.0
-revision=1
+revision=2
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 # build process uses perl to generate core_st.cpp and zip to generate help files
@@ -16,6 +16,8 @@ homepage="https://pwsafe.org"
 distfiles="https://github.com/pwsafe/pwsafe/archive/${version}.tar.gz"
 checksum=6215f7b052480f03276b3ea590b9cdd23180db8d5d4a19185f3df7b6ddba11f8
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 if [ "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DNO_GTEST=OFF"
 else

From 53ed944189fdc4bac16da15022c354d6b5b25816 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 30/43] poedit: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/poedit/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/poedit/template b/srcpkgs/poedit/template
index 49e7efe965476..a78feade69415 100644
--- a/srcpkgs/poedit/template
+++ b/srcpkgs/poedit/template
@@ -1,7 +1,7 @@
 # Template file for 'poedit'
 pkgname=poedit
 version=3.3.2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="pkg-config"
@@ -17,6 +17,7 @@ distfiles="https://github.com/vslavik/poedit/releases/download/v${version}-oss/p
 checksum=e64139dd4beac1b8ea468d351b2b4bdae8ecbc6f4ca5d1ee1c73832036fff097
 
 CPPFLAGS="-DUCHAR_TYPE=uint16_t -Wno-deprecated-copy"
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" wxWidgets-common-devel"

From 244fc325c0da2e742cd142c9750bc3ae8e775067 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 31/43] spek-alternative: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/spek-alternative/template | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/spek-alternative/template b/srcpkgs/spek-alternative/template
index d65086b8f008c..d7b55c776b1d4 100644
--- a/srcpkgs/spek-alternative/template
+++ b/srcpkgs/spek-alternative/template
@@ -1,9 +1,10 @@
 # Template file for 'spek-alternative'
 pkgname=spek-alternative
 version=0.8.2.3
-revision=1
+revision=2
 build_style=gnu-configure
-hostmakedepends="automake gettext-devel intltool libtool pkg-config wxWidgets-common"
+hostmakedepends="automake gettext-devel intltool libtool pkg-config
+ wxWidgets-common wxWidgets-gtk3-devel"
 makedepends="ffmpeg-devel wxWidgets-gtk3-devel"
 depends="ffmpeg"
 short_desc="Acoustic spectrum analyser"
@@ -13,6 +14,8 @@ homepage="https://github.com/withmorten/spek-alternative"
 distfiles="https://github.com/withmorten/spek-alternative/archive/${version}.tar.gz"
 checksum="007ba4b84a310b078e378aa84c8e80783db5821437a757a488c3ecec377e6b2a"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 # Tell autogen.sh to use "wx-config-gtk3" instead of "wx-config"
 export WX_CONFIG_NAME="wx-config-gtk3"
 

From 18339c17672d4917ded2b59beafdc1fbc22af52c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 32/43] tqsl: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/tqsl/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/tqsl/template b/srcpkgs/tqsl/template
index 61389b05e62d4..316d4a91c8f14 100644
--- a/srcpkgs/tqsl/template
+++ b/srcpkgs/tqsl/template
@@ -1,7 +1,7 @@
 # Template file for 'tqsl'
 pkgname=tqsl
 version=2.6.5
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 hostmakedepends="wxWidgets-gtk3-devel"
@@ -14,6 +14,8 @@ homepage="https://www.arrl.org/tqsl-download"
 distfiles="https://www.arrl.org/tqsl/tqsl-${version}.tar.gz"
 checksum=5063cca759806ab1d6b8b6d9bb6c16a6380275ff192a3d0cc24aa9df6539ffcc
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	vlicense LICENSE.txt
 	vinstall apps/tqsl.desktop 644 usr/share/applications

From 25bb22697c5840fbb22797f6e726245aeaf381e2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 33/43] treesheets: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/treesheets/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/treesheets/template b/srcpkgs/treesheets/template
index d5f62699af4a2..8e58cd4701a1a 100644
--- a/srcpkgs/treesheets/template
+++ b/srcpkgs/treesheets/template
@@ -1,7 +1,7 @@
 # Template file for 'treesheets'
 pkgname=treesheets
 version=1.0.2
-revision=1
+revision=2
 build_style=cmake
 build_helper="cmake-wxWidgets-gtk3"
 makedepends="wxWidgets-gtk3-devel"
@@ -12,6 +12,8 @@ homepage="http://strlen.com/treesheets/"
 distfiles="https://github.com/aardappel/treesheets/archive/v${version}.tar.gz"
 checksum=84eb82f122bc7be3ded399d2511536128911477a4a69c51b26b856de2160405f
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 do_install() {
 	vmkdir usr/lib/${pkgname}
 

From bded27b5454d4e6ab3bbbc711b8e36913c5676af Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 34/43] vba-m: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/vba-m/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/vba-m/template b/srcpkgs/vba-m/template
index 4115a9f621481..9c71cefe3f8dd 100644
--- a/srcpkgs/vba-m/template
+++ b/srcpkgs/vba-m/template
@@ -2,7 +2,7 @@
 pkgname=vba-m
 reverts=1292_2
 version=2.1.7
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DENABLE_GTK=TRUE -DENABLE_FFMPEG=TRUE -DENABLE_LINK=TRUE -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="gettext pkg-config unzip zip yasm wxWidgets-gtk3-devel"
@@ -15,3 +15,5 @@ license="GPL-2.0-or-later"
 homepage="https://github.com/visualboyadvance-m/visualboyadvance-m/"
 distfiles="https://github.com/visualboyadvance-m/visualboyadvance-m/archive/v${version}.tar.gz"
 checksum=f7d0815a65677f794ee68892c9566254023af641c72f9e06b4230b6c61790743
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 4bb15bbb920caf87a3db0b041e66c41032abfaf6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:22 -0400
Subject: [PATCH 35/43] winusb: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/winusb/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/winusb/template b/srcpkgs/winusb/template
index 64ec8fce12b00..5f116a336b61e 100644
--- a/srcpkgs/winusb/template
+++ b/srcpkgs/winusb/template
@@ -1,7 +1,7 @@
 # Template file for 'winusb'
 pkgname=winusb
 version=1.0.11
-revision=10
+revision=11
 archs="i686* x86_64*"
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
@@ -21,6 +21,8 @@ case "${XBPS_TARGET_MACHINE}" in
 	i686*) depends+=" grub-i386-efi"; makedepends+=" grub-i386-efi" ;;
 esac
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_configure() {
 	sed -i Makefile src/Makefile \
 		-e"s;^\(CXXFLAGS *=\)\(.*\);\1 ${CXXFLAGS} \2;"

From 1a7714cd5c2925fd009e02b508df6a675c9bf40e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 36/43] wxMaxima: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/wxMaxima/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/wxMaxima/template b/srcpkgs/wxMaxima/template
index 1e512c39644b9..749e481dd8fe3 100644
--- a/srcpkgs/wxMaxima/template
+++ b/srcpkgs/wxMaxima/template
@@ -1,7 +1,7 @@
 # Template file for 'wxMaxima'
 pkgname=wxMaxima
 version=20.02.4
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3"
 hostmakedepends="gettext perl desktop-file-utils doxygen po4a"
@@ -15,6 +15,8 @@ distfiles="https://github.com/wxMaxima-developers/wxmaxima/archive/Version-${ver
 checksum=d47ca52e40491ea3c4ea7bea126f4da4d0b535702126abef0c172f69ba58e17d
 nocross="clisp is nocross"
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 post_install() {
 	# remove unpackaged files
 	rm -f ${DESTDIR}/usr/share/wxMaxima/{COPYING,README}

From 4613e7353d43f1c84c1c15360827cd2e02cd63cb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:23 -0400
Subject: [PATCH 37/43] xchm: rebuild with wxWidgets-gtk3-3.2.2.1

---
 srcpkgs/xchm/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/xchm/template b/srcpkgs/xchm/template
index 02900b43385ec..66b8156e431ec 100644
--- a/srcpkgs/xchm/template
+++ b/srcpkgs/xchm/template
@@ -1,7 +1,7 @@
 # Template file for 'xchm'
 pkgname=xchm
 version=1.34
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-wx-config=wx-config-gtk3"
 hostmakedepends="automake gettext-devel tar"
@@ -13,6 +13,8 @@ homepage="https://github.com/rzvncj/xCHM"
 distfiles="https://github.com/rzvncj/xCHM/releases/download/${version}/xchm-${version}.tar.gz"
 checksum=b07971ddb02992da462060fb638c051318f389aef822485646aa7fbe245a0d93
 
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
 pre_configure() {
 	autoreconf -fi
 }

From 034c8ec8c92cd03dd073c05b95a242724da2b636 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:05 -0400
Subject: [PATCH 38/43] chirp: rebuild against new wxPython

---
 srcpkgs/chirp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index d2386ba4966be..18b41c26b627d 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,10 +1,10 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20230911
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
-depends="python3-six wxPython4 python3-pyserial python3-future python3-requests
+depends="python3-six wxPython python3-pyserial python3-future python3-requests
  python3-suds python3-yattag"
 short_desc="Open-source tool for programming amateur radios"
 maintainer="Emil Miler <em@0x45.cz>"

From d552d2e7033e7af63afd6da39e9ccc94d97695a4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:02:51 -0400
Subject: [PATCH 39/43] grass: rebuild against new wxPython

---
 srcpkgs/grass/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/grass/template b/srcpkgs/grass/template
index 8ba03bb7bea98..ded8e40daaf10 100644
--- a/srcpkgs/grass/template
+++ b/srcpkgs/grass/template
@@ -1,7 +1,7 @@
 # Template file for 'grass'
 pkgname=grass
 version=8.2.1
-revision=2
+revision=3
 _binver=${version//./}
 _binver=${_binver:0:2}
 build_style=gnu-configure
@@ -11,7 +11,7 @@ hostmakedepends="flex libgdal-tools pkg-config python3-numpy python3-six tar"
 makedepends="proj-devel tiff-devel libgdal-devel sqlite-devel
  fftw-devel cairo-devel glu-devel"
 depends="python3-numpy python3-dateutil python3-Pillow python3-matplotlib
- python3-six python3-ply wxPython4"
+ python3-six python3-ply wxPython"
 short_desc="Geographic Resources Analysis Support System - GIS"
 maintainer="Alex Jarosch <research@alexj.at>"
 license="GPL-2.0-or-later"
@@ -22,7 +22,7 @@ python_version=3
 nocross="tries to execute target binaries"
 
 post_install() {
-	# This package is broken with wxPython4 (<=4.0.7),
-	# hence the GUI is compulsorily disabled.
+	# This package is broken with wxPython (<=4.0.7) and the GUI
+	# is disabled pending further testing with newer wxPython
 	vsed -i "${DESTDIR}/usr/bin/grass" -e "s/\(default_gui =\).*/\1 \"text\"/"
 }

From 8522a826670daa74b51b15284356935ec0ba1611 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:18:21 -0400
Subject: [PATCH 40/43] kicad: rebuild against new wxPython

---
 srcpkgs/kicad/template | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template
index 1c34c498afbd8..4b38200ffde6f 100644
--- a/srcpkgs/kicad/template
+++ b/srcpkgs/kicad/template
@@ -1,18 +1,19 @@
 # Template file for 'kicad'
 pkgname=kicad
 version=7.0.1
-revision=2
+revision=3
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3
 configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON
  -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON
- -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG
+ -DwxWidgets_CONFIG_EXECUTABLE=$WX_CONFIG -DKICAD_USE_EGL=ON
  -DKICAD_USE_OCC=$(vopt_if occt ON OFF) -DKICAD_SPICE=$(vopt_if spice ON OFF)"
 hostmakedepends="pkg-config swig wxWidgets-gtk3-devel python3 tar gettext"
-makedepends="wxWidgets-gtk3-devel wxPython4 python3-devel glew-devel cairo-devel
- boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel
+makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel
+ cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel
+ gtk+3-devel unixodbc-devel
  $(vopt_if occt occt-devel) $(vopt_if spice ngspice-devel)"
-depends="wxPython4"
+depends="wxPython"
 short_desc="Electronic schematic and PCB design software"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-3.0-or-later"
@@ -41,7 +42,9 @@ fi
 nocross="execute lemon during build"
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" wxPython4"
+	hostmakedepends+=" wxPython"
 	configure_args+=" -DPYTHON_DEST=/${py3_sitelib}
 	-DwxWidgets_CONFIG_OPTIONS='--prefix=${XBPS_CROSS_BASE}'"
 fi
+
+CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

From 082390b3c6c3375d6ec660051208be5ff5a2c8cf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:06:54 -0400
Subject: [PATCH 41/43] mymcplus: rebuild against new wxPython

---
 srcpkgs/mymcplus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mymcplus/template b/srcpkgs/mymcplus/template
index 930711eeb2c59..5bb08ef9ea5d4 100644
--- a/srcpkgs/mymcplus/template
+++ b/srcpkgs/mymcplus/template
@@ -1,10 +1,10 @@
 # Template file for 'mymcplus'
 pkgname=mymcplus
 version=3.0.5
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="wxPython4 python3-PyOpenGL"
+depends="wxPython python3-PyOpenGL"
 checkdepends="$depends python3-pytest"
 short_desc="PlayStation 2 memory card manager"
 maintainer="Andrew Benson <abenson+void@gmail.com>"

From f0ecfe885fd4017fda7816358726475b4225f17e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:26 -0400
Subject: [PATCH 42/43] photofilmstrip: rebuild against new wxPython

---
 srcpkgs/photofilmstrip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/photofilmstrip/template b/srcpkgs/photofilmstrip/template
index d2050ac4c64c8..d2c7511629250 100644
--- a/srcpkgs/photofilmstrip/template
+++ b/srcpkgs/photofilmstrip/template
@@ -1,10 +1,10 @@
 # Template file for 'photofilmstrip'
 pkgname=photofilmstrip
 version=4.0.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools gst1-python3 python3-Sphinx gettext"
-depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython4"
+depends="python3 gst1-python3 gst1-editing-services python3-Pillow wxPython"
 checkdepends="$depends"
 short_desc="Slideshow creator with Ken Burns effect"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From 9d34c398d2e8dff9cdfdc882d120a4c018eb68af Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 08:07:48 -0400
Subject: [PATCH 43/43] playonlinux: rebuild against new wxPython

---
 srcpkgs/playonlinux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/playonlinux/template b/srcpkgs/playonlinux/template
index 56207a29aa23a..394a4f2d5b3b4 100644
--- a/srcpkgs/playonlinux/template
+++ b/srcpkgs/playonlinux/template
@@ -1,10 +1,10 @@
 # Template file for 'playonlinux'
 pkgname=playonlinux
 version=4.4
-revision=1
+revision=2
 # contains pre-compiled binaries linked against glibc
 archs="i686 x86_64"
-depends="icoutils netcat ImageMagick xterm wxPython4 cabextract unzip glxinfo
+depends="icoutils netcat ImageMagick xterm wxPython cabextract unzip glxinfo
  gnupg xdg-user-dirs libXmu wget p7zip curl jq python3-natsort xrdb gettext
  perl"
 short_desc="GUI for managing Windows programs under linux"

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PR PATCH] [Closed]: wxWidgets, wxPython
  2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
                   ` (27 preceding siblings ...)
  2023-09-26 13:42 ` ahesford
@ 2023-09-26 16:06 ` ahesford
  28 siblings, 0 replies; 30+ messages in thread
From: ahesford @ 2023-09-26 16:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 852 bytes --]

There's a closed pull request on the void-packages repository

wxWidgets, wxPython
https://github.com/void-linux/void-packages/pull/46237

Description:
Our wxWidgets/wxPython stack is pretty old, and it may be more trouble to patch for Python 3.12 than just updating these packages. Thus I would like to:

* Drop `pcsx2`, `perl-Alien-wxWidgets` and `dispcalGUI` (cc: @lemmi). The first two don't seem well-maintained, and all three rely on wxWidgets with GTK2 support that should be retired. `dispcalGUI` also requires the long-past-EOL Python 2.
* With these three dependants gone, we can remove `wxWidgets` and `wxPython`.
* This simplifies the update to `wxWidgets-gtk3` and (hopefully---I'm still working) `wxPython4`.
* While we're at it, we can transition `wxPython4` back to its proper name, just `wxPython`.

[ci skip]

closes #44849 

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2023-09-26 16:06 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-25  4:42 [PR PATCH] [WIP] wxWiwdgets, wxPython ahesford
2023-09-25  5:40 ` classabbyamp
2023-09-25  5:41 ` classabbyamp
2023-09-25 10:02 ` lemmi
2023-09-25 12:12 ` [PR PATCH] [Updated] " ahesford
2023-09-25 12:35 ` ahesford
2023-09-25 13:52 ` ahesford
2023-09-25 14:14 ` ahesford
2023-09-25 14:15 ` ahesford
2023-09-25 14:17 ` [PR PATCH] [Updated] " ahesford
2023-09-25 15:21 ` ahesford
2023-09-25 15:21 ` [PR PATCH] [Updated] " ahesford
2023-09-25 15:21 ` ahesford
2023-09-25 15:52 ` [PR PATCH] [Updated] " ahesford
2023-09-25 15:55 ` ahesford
2023-09-25 15:57 ` ahesford
2023-09-25 16:19 ` [PR PATCH] [Updated] " ahesford
2023-09-25 17:00 ` classabbyamp
2023-09-25 17:02 ` classabbyamp
2023-09-25 17:03 ` classabbyamp
2023-09-25 20:03 ` [PR PATCH] [Updated] [WIP] wxWidgets, wxPython ahesford
2023-09-25 20:12 ` ahesford
2023-09-25 20:18 ` [PR PATCH] [Updated] " ahesford
2023-09-25 20:35 ` ahesford
2023-09-25 20:49 ` ahesford
2023-09-25 23:53 ` ahesford
2023-09-26  3:48 ` ahesford
2023-09-26  3:50 ` ahesford
2023-09-26 13:42 ` ahesford
2023-09-26 16:06 ` [PR PATCH] [Closed]: " ahesford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).