From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) by sourceware.org (Postfix) with ESMTP id BD31D385DC0B for ; Thu, 23 Apr 2020 14:55:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BD31D385DC0B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=yselkowitz@cygwin.com Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-38-PQvByv2yMq2fR0kGnhoiAg-1; Thu, 23 Apr 2020 10:55:21 -0400 X-MC-Unique: PQvByv2yMq2fR0kGnhoiAg-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 76BEF46B for ; Thu, 23 Apr 2020 14:55:20 +0000 (UTC) Received: from ovpn-117-23.rdu2.redhat.com (ovpn-117-23.rdu2.redhat.com [10.10.117.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 18FC46084A for ; Thu, 23 Apr 2020 14:55:19 +0000 (UTC) Message-ID: <5e22328970c8702c69d1f2c83e3de3b89ad908e8.camel@cygwin.com> Subject: Re: [ITA] python2-wx and related packages for wxPython and wxwidgets From: Yaakov Selkowitz To: cygwin-apps@cygwin.com Date: Thu, 23 Apr 2020 10:55:18 -0400 In-Reply-To: References: User-Agent: Evolution 3.34.4 (3.34.4-1.fc31) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: cygwin.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-8.2 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin-apps@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin package maintainer discussion list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Apr 2020 14:55:25 -0000 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/. >=20 > I say "various other packages", because building wxPython also builds > the following packages: >=20 > 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 >=20 > 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: >=20 > http://pkgs.fedoraproject.org/cgit/rpms/wxGTK3.git/plain/wxGTK3-3.0.2-abi= check.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.=20 The updated patch is named wxGTK-3.0.5-collision.patch. -- Yaakov