On Thu, 2020-04-23 at 15:02 +0100, Hamish McIntyre-Bhatty wrote: > I've gotten a more stable build of wxPython 3.0.2 and wxWidgets 3.0.4 to > build now. wxPython is now also built against the version of wxWidgets > that is installed on the system, avoiding ABI mismatch warnings and > strange behaviour/freezes hat I was experiencing before.
I'm going to recommend nacking this in its current form. > The test packages can be downloaded from > https://hamishmb.com/files/cygwin-temp/. > > I say "various other packages", because building wxPython also builds > the following packages: > > libwx_baseu3.0_0, libwx_gtk3u3.0-devel, python-wxversion, > libwx_baseu3.0-devel, python2-wx, libwx_gtk2u3.0_0, python2-wxversion, > libwx_gtk2u3.0-devel, python-wx3.0, wxWidgets3.0-debuginfo, > libwx_gtk3u3.0_0, python-wx-tools > > The build process is a bit strange because wxPython 3.0.2 ships with > wxWidgets 3.0.2 instead of the system version (3.0.4), so my build > script downloads and re-patches the wxWidgets source before proceeding > with the build. As a result of using wxWidgets 3.0.4 instead of 3.0.2, > many patches are no longer needed as they were included upstream. > Removed patches and the reason for removal are listed at the end of this > email. I've probably got some of this wrong, but it does seem to work > well at least :) I do not recommend building both the C++ libraries and Python bindings from the same source package, for several reasons: * Python bindings need to be updated/rebuilt with each new version of Python, which occurs much more frequently than updated versions of wxWidgets. Keeping them separate minimizes the rebuild times. * wxPython and wxWidgets versions don't always match, as you mentioned above. Building them separately avoids jumping through those sort of hoops. * wxPython 3 is obsolete anyway, with current support only for version 4 (which is still for wxWidgets 3), so this scheme won't carry forward anyway. Since the standalone wxWidgets3.0 package is already at 3.0.4, all you may want to do is revbump and rebuild python-wx. > Patches removed and the reasons why: > > http://pkgs.fedoraproject.org/cgit/rpms/wxGTK3.git/plain/wxGTK3-3.0.2-abicheck.patch > - No longer needed as we're now using the same ABI for runtime and build > versions. Do NOT drop this patch. You might be aligned now, but as soon as gcc/libstdc++ get updated, the mismatch will reoccur, and programs will unnecessarily fail again. [snip] > The few remaining wxGTK* patches: > - No longer apply without error and don't seem to be needed with the > newer wxwidgets version. Patches were added for a reason; if you don't understand what they do and why they're there, then you should be asking why rather than dismissing them. In the case of Gentoo's collision patch, this is needed to support parallel installations of X.Y versions of wxWidgets. The updated patch is named wxGTK-3.0.5-collision.patch. -- Yaakov