public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Yaakov Selkowitz <yselkowitz@cygwin.com>
To: cygwin-apps@cygwin.com
Subject: Re: [ITA] python2-wx and related packages for wxPython and wxwidgets
Date: Thu, 23 Apr 2020 10:55:18 -0400	[thread overview]
Message-ID: <5e22328970c8702c69d1f2c83e3de3b89ad908e8.camel@cygwin.com> (raw)
In-Reply-To: <AM0PR05MB4898EB0D0F90E8882069EE26E7D30@AM0PR05MB4898.eurprd05.prod.outlook.com>

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



  reply	other threads:[~2020-04-23 14:55 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-23 14:02 Hamish McIntyre-Bhatty
2020-04-23 14:55 ` Yaakov Selkowitz [this message]
     [not found]   ` <AM0PR05MB4898394C9672593E3F9F8254E7D30@AM0PR05MB4898.eurprd05.prod.outlook.com>
2020-04-23 16:08     ` Yaakov Selkowitz
2020-04-23 17:09       ` Hamish McIntyre-Bhatty
2020-04-23 18:52         ` Yaakov Selkowitz
2020-04-24 11:24           ` Hamish McIntyre-Bhatty
2020-05-04 10:22             ` Hamish McIntyre-Bhatty
2020-05-14 10:02               ` [ITA from Yaakov] python-wx Hamish McIntyre-Bhatty
2020-05-14 15:41                 ` Marco Atzeri
     [not found]                   ` <AM6PR05MB4904E630006B864746857856E7BC0@AM6PR05MB4904.eurprd05.prod.outlook.com>
2020-05-14 17:06                     ` Marco Atzeri
2020-05-14 23:47                 ` Yaakov Selkowitz
2020-05-15  8:10                   ` Hamish McIntyre-Bhatty
2020-05-17 19:37                     ` Hamish McIntyre-Bhatty
2020-05-17 19:49                       ` Marco Atzeri
2020-05-25 12:45                         ` Hamish McIntyre-Bhatty
2020-05-25 13:28                           ` Jon Turney
2020-05-25 15:08                             ` Hamish McIntyre-Bhatty
2020-06-07 18:25                               ` Hamish McIntyre-Bhatty
2020-05-14 15:38           ` [ITA] python2-wx and related packages for wxPython and wxwidgets Marco Atzeri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5e22328970c8702c69d1f2c83e3de3b89ad908e8.camel@cygwin.com \
    --to=yselkowitz@cygwin.com \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).