From Fedora Project Wiki

Revision as of 04:23, 21 February 2015 by Swt2c (talk | contribs) (rurple)


wxPython 3

Summary

Get wxPython 3 packaged and into Fedora.

Owner

Current status

Detailed Description

This change proposal aims to get wxPython 3.0 (Python bindings for the wxWidgets GUI library) packaged and into Fedora. Currently Fedora has wxPython 2.8 which has not been updated since 2011. The plan is to make replace wxPython 2.8 with wxPython 3.0 and fix any dependent packages that may have issues with wxPython 3.0.

Benefit to Fedora

This change brings a more modern wxPython to Fedora, including support for GTK3 (currently wxPython 2.8 uses GTK2). Additionally, it moves Fedora to a supported version of wxPython.

Scope

  • Proposal owners:
  1. Update existing wxPython package to wxPython 3 and ensure it builds/works in Rawhide.
  2. In conjunction with the wxPython dependent package maintainers, test dependent packages to ensure they work correctly with wxPython 3. Assist with porting issues.
  • Other developers:
  1. For maintainers of packages that depend on wxPython: test the dependent packages to ensure they work correctly wxPython 3.0. Update the dependent packages as needed to support wxPython 3.0. The API hasn't changed much between wxPython 2.8 and 3.0, but some changes may be required.
  • Release engineering: None
  • Policies and guidelines: None

Upgrade/compatibility impact

User written wxPython applications may require a small amount of porting, but mostly wxPython 2.8 is forward compatible with wxPython 3.0.

How To Test

No special hardware or data is required. To test, one would install a wxPython-dependent package and verify that it functions as it did with wxPython 2.8 (other than possible GTK2 vs GTK3 UI differences).

User Experience

For the most part, users will not notice any changes, other than the fact that wxPython applications will now look like GTK3 applications instead of GTK2.

Dependencies

The packages below depend on wxPython in Rawhide. The wxPython 3 test/fix status will be tracked in the table below.

Package Status
PyPE Needs Fixing - #1185600
PythonCard Tested by swt2c - Minor Deprecation Warning (#1190913)
bibus Tested by swt2c - Minor Deprecation Warning (#1190916)
congruity Tested - Working (#1177990)
cura Tested by swt2c - Seems to Work Fine
cycle Needs Fixing - #1190942
gitso Needs Fixing - #1191304
gnumed Tested by swt2c - Seems to work OK (deprecation warning)
gnuradio Tested by swt2c/jskarvad - Works OK (pending incorporation of patch)
grass Tested by swt2c - Seems to work OK
gtkwhiteboard Tested by swt2c - Minor Deprecation Warning (#1191306)
hugin Only used in one plugin - Help Requested
londonlaw Needs Fixing - #1191318
mMass Tested by swt2c - Seems to work OK
metamorphose2 Needs Fixing - #1192253
openstv Tested - Working (#1185599)
peppy Needs Fixing - #1192262
phatch Needs Fixing - #1192867
plater Tested by swt2c - Seems to Work Fine
pronterface Tested by swt2c - Works OK, Some GTK errors and button sizing
pyhoca-gui Tested by swt2c/orion - Works OK (pending fixes by orion)
pymol-wxpython Package Maintainer Plans to remove wxPython dependency
pyobd Tested by swt2c - Seems to Work Fine
python-matplotlib-wx
python-pyface-wx Help Requested
python-squaremap (RunSnakeRun) Tested by swt2c - Seems to Work Fine
rurple Tested by swt2c - Seems to Work OK (deprecation warning & GTK errors)
sidc-gui Help Requested
sk2py Needs Fixing - #1194096
spe Needs Fixing - #1194105
taskcoach Fails if pygtk2 installed (#1187849)
timeline Tested by swt2c - Seems to Work Fine
wammu Tested by swt2c - Seems to Work Fine
winpdb Needs Fixing - #1194117
wxGlade Needs Fixing - #1190530

Contingency Plan

  • Contingency mechanism: remove wxPython 3.0 and revert any dependent packages back to wxPython 2.8
  • Contingency deadline: Beta Freeze
  • Blocks release? No
  • Blocks product? No

Documentation

http://wxpython.org/migrationguide.php

Debian's wxPython 3.0 Migration Documentation/Tools: http://anonscm.debian.org/cgit/collab-maint/wx-migration-tools.git/tree/README

Release Notes

Upstream Bugs Reported

  • wxGrid emits Invalid rectangle error under GTK3 (#16819 - FIXED)
  • Crash when creating wx.FontDialog under GTK3 (#16820)
  • wxPrintDialog creation fails - wxGTK3 (#16821)
  • wxAboutBox - GtkDialog mapped without a transient parent - GTK3 (#16823 - FIXED)
  • wxListCtrl emits Invalid rectangle error under GTK3 (#16862)
  • wxFileDialog - GtkDialog mapped without a transient parent - GTK3 (#16863)