Created attachment 548268 [details] wxpython-4.0.3.ebuild The current dev-pyhton/wxpython version in Portage is 3.0.2.0 . This version is very old and not Python 3* compatible. The current upstream version is 4.0.3 (according to upstream best downloaded from pythonhosted/PYPI, because the sources on Github are incomplete: https://github.com/wxWidgets/Phoenix/issues/1015 ). The code has been wholly refactored by upstream, which is why I have opted to write a new ebuild from scratch rather than attempt to just bump the old one (a friend has tried, but failed --- see his alternative ebuild for 4.0.1 attached). I have attempted to write a new ebuild for 4.0.3 (attached), which builds succesfully but for which the tests don't pass (also attached). It appears the reason the tests fail is that a number of relative imports fail (and in spite of changing directory to the build dir continue to fail). I am also unsure whether the files get installed in the right place. One new package I am testing gives more failures with the new wxpython than with the old one, but the only package from the normal tree which I have and which depends on wxpython (dev-python/ipython) continues to pass the tests well with the new version. Not least of all, I don't know how the USE flags would translate to the newer version. Can you help me out?
Created attachment 548270 [details] wxpython-4.0.1.ebuild
Created attachment 548272 [details] wxpython-4.0.3.ebuild build.log
Please test the ebuild with repoman full -x https://wiki.gentoo.org/wiki/Repoman A bot can look for additional mistakes, if you upload a PR via github There is a chat on IRC #gentoo-dev-help for questions about ebuild development
Created attachment 548492 [details] wxpython-4.0.3.ebuild
I updated the ebuild. Initially I thought the slotting was for the wxpython slot, but now I'm pretty sure this is about the WXGTK version. I'd really need some help from the wxwidgets people, as I am entirely unfamiliar with how this is designed and I'm just going by inference from the ebuilds and the wxwidgets eclass.
Created attachment 548494 [details] wxpython-4.0.3.ebuild build.log
The main hurdle is making sure old things keep working. If everything currently in tree, which use the old wxpython, doesn't work after this upgrade to the same SLOT, then we have a migration trouble to solve. And I'd suspect that it surely is the case, but I haven't had time to even test.
of things which use wxpython, I only have ipython, which I tested and works with the new version. I also have matplotlib, but I can't even run the tests with the old wxpython on that.
Created attachment 553606 [details, diff] Patch for disabling Webkit widgets in wxPython I propose following patch to disable Webkit widgets being built. Webkit itself is a load of useless crap, so I just masked it system-wide and my wxWidgets installation was built without it. But wxPython can't determine this, still thinks that web widgets is present and fails at compile-time. Therefore patch is required (as is USE flag, but that's another matter).
Alex, would you mind submitting a PR with the patch and USE flag here: https://github.com/TheChymera/overlay/blob/master/dev-python/wxpython/wxpython-4.0.3.ebuild ? This is shaping up to be quite a bit of work and I expect managing it via single file uploads with no hierarchy will end up in a total mess.
(In reply to Horea Christian from comment #5) > I updated the ebuild. Initially I thought the slotting was for the wxpython > slot, but now I'm pretty sure this is about the WXGTK version. I'd really > need some help from the wxwidgets people, as I am entirely unfamiliar with > how this is designed and I'm just going by inference from the ebuilds and > the wxwidgets eclass. I get error: option -j not recognized when I try to build wxpython-4.0.3 A dummy patch which ignores this option could be --- setup.py.ORIG 2018-06-26 04:20:04.000000000 +0200 +++ setup.py 2018-11-06 17:47:28.940450375 +0100 @@ -105,6 +105,7 @@ """ user_options = [ ('skip-build', None, 'skip building the C/C++ code (assumes it has already been done)'), + ('parallel=', 'j', "number of parallel build jobs") ] boolean_options = ['skip-build'] @@ -112,6 +113,7 @@ def initialize_options(self): orig_build.initialize_options(self) self.skip_build = '--skip-build' in sys.argv + self.parallel = None def finalize_options(self): orig_build.finalize_options(self) but since there are lots of calls to sip, it would be nice if this could be patched to really use parallel builds.
Created attachment 559762 [details] tests after webkit and parallel patches
Dear Alex and Helmut, I have now integrated your patches: https://github.com/TheChymera/overlay/blob/97e4d2861c0f2e09a493d5ea533566cb95ba0c19/dev-python/wxpython/wxpython-4.0.3.ebuild The ebuild builds, but the tests do not pass: https://bugs.gentoo.org/attachment.cgi?id=559762 It would be nice if somebody could at least confirm this buug, and if any of the package maintainers would chime in. This is already a major hold-up.
Created attachment 559764 [details] wxpython-4.0.3.ebuild
(In reply to Horea Christian from comment #13) > Dear Alex and Helmut, > > I have now integrated your patches: > > https://github.com/TheChymera/overlay/blob/ > 97e4d2861c0f2e09a493d5ea533566cb95ba0c19/dev-python/wxpython/wxpython-4.0.3. > ebuild > > The ebuild builds, but the tests do not pass: > > https://bugs.gentoo.org/attachment.cgi?id=559762 > > It would be nice if somebody could at least confirm this buug, and if any of > the package maintainers would chime in. This is already a major hold-up. Personally, I'm not too concerned about tests, as these are usually disabled by default anyway. Installed today an update to wxPython 4.0.4 and hacked an KiCAD 5.0.1 ebuild to use it. Works lilke a charm.
(In reply to Alex from comment #15) > Installed today an update to wxPython 4.0.4 _with GTK3_ Oh, sorry. Fixed.
(In reply to Alex from comment #16) > (In reply to Alex from comment #15) > > Installed today an update to wxPython 4.0.4 _with GTK3_ > Oh, sorry. Fixed. Is there a 4.0.4 version? Version 4.0.3 with the given patches works just fine. For installation one needs the dev-python/pypubsub package. Please add both to the tree! Thanks, Helmut
Does anybody have a working ebuild for pypubsub? I am trying to write one, but I'm having trouble getting the tests to pass https://github.com/schollii/pypubsub/issues/34
There is wxpython-4.0.4 released on 6 January 2019: https://www.wxpython.org/news/2019-01-05-wxpython-404-release/index.html https://github.com/wxWidgets/Phoenix/releases/tag/wxPython-4.0.4
Ok, seems I have gotten this to work over here, if any of you would like to test wxpython-4 please do so from my overlay: https://github.com/TheChymera/overlay In order to get python 2/3 compatibility for the dependency stack you will also be needing pypubsub from my overlay. I had to tweak a few things together with upstream, and while it works now, the =pypubsub-3.4.0 ebuild might break intermittently as he pushes the final few documentation updates. So if during testing you get checksum issues, just re-compute the manifest.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8e14b564d7f9cc694a1a96031703be15b2d41bc commit e8e14b564d7f9cc694a1a96031703be15b2d41bc Author: Virgil Dupras <vdupras@gentoo.org> AuthorDate: 2019-05-24 18:19:34 +0000 Commit: Virgil Dupras <vdupras@gentoo.org> CommitDate: 2019-05-24 18:19:34 +0000 dev-python/wxpython: bump to 4.0.6 Also, take over maintainership. Closes: https://bugs.gentoo.org/632602 Closes: https://bugs.gentoo.org/667318 Signed-off-by: Virgil Dupras <vdupras@gentoo.org> Package-Manager: Portage-2.3.66, Repoman-2.3.11 dev-python/wxpython/Manifest | 1 + .../wxpython/files/wxpython-4.0.6-no-webkit.patch | 27 +++++++ .../files/wxpython-4.0.6-skip-broken-tests.patch | 91 ++++++++++++++++++++++ dev-python/wxpython/metadata.xml | 6 +- dev-python/wxpython/wxpython-4.0.6.ebuild | 89 +++++++++++++++++++++ 5 files changed, 213 insertions(+), 1 deletion(-)