Hi Olly,
Here's an updated debdiff with an updated patch for wxPython 3.0 support
for congruity. I also added in a trivial fix for the other open bug too -
I hope that is OK.
A couple of lessons learned that you may want to include in your README
for wxPython 3 porting (unfortunately I don't think these can be automated
in your script):
a) In a couple of places we were calling wx.Sizer.Remove(wx.Window). This
worked in 2.8 but it seems it now does not. We should have instead be
using wx.Sizer.Detach(wx.Window)
b) SetSize() no longer does exactly the same thing that it did on 2.8. We
had to call SetClientSize() instead to get the same behavior as we had in
2.8.
c) wx.App(False) can be used in place of wx.PySimpleApp.
Thanks,
Scottdiff -Nru congruity-18/debian/changelog congruity-18/debian/changelog
--- congruity-18/debian/changelog 2014-04-23 20:32:11.0 -0400
+++ congruity-18/debian/changelog 2014-09-10 20:36:55.0 -0400
@@ -1,3 +1,12 @@
+congruity (18-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Update for wxPython 3.0 (Closes: #759045):
+- New patch: wxpython3.0.patch
+ * Fix typo in mime-type file (Closes: #747396)
+
+ -- Olly Betts Sat, 06 Sep 2014 00:56:45 +
+
congruity (18-1) unstable; urgency=medium
* New upstream release (Closes: #743050)
diff -Nru congruity-18/debian/control congruity-18/debian/control
--- congruity-18/debian/control 2014-04-23 20:31:06.0 -0400
+++ congruity-18/debian/control 2014-09-10 20:17:23.0 -0400
@@ -11,7 +11,7 @@
Depends: python, python (>= 2.5) | python-ctypes,
python-libconcord (>= 1.0),
python-suds,
- python-wxgtk2.8,
+ python-wxgtk3.0,
shared-mime-info,
${misc:Depends}
Description: graphical utility to configure Logitech Harmony remotes
diff -Nru congruity-18/debian/mime congruity-18/debian/mime
--- congruity-18/debian/mime2014-04-23 20:16:53.0 -0400
+++ congruity-18/debian/mime2014-09-10 20:34:41.0 -0400
@@ -1,3 +1,3 @@
-application/application/x-easyzapper-hex; congruity '%s'
+application/x-easyzapper-hex; congruity '%s'
application/x-easyzapper-upgrade;; congruity '%s'
application/x-easyzapper-tutor; congruity '%s'
diff -Nru congruity-18/debian/patches/series congruity-18/debian/patches/series
--- congruity-18/debian/patches/series 1969-12-31 19:00:00.0 -0500
+++ congruity-18/debian/patches/series 2014-09-10 20:17:23.0 -0400
@@ -0,0 +1 @@
+wxpython3.0.patch
diff -Nru congruity-18/debian/patches/wxpython3.0.patch
congruity-18/debian/patches/wxpython3.0.patch
--- congruity-18/debian/patches/wxpython3.0.patch 1969-12-31
19:00:00.0 -0500
+++ congruity-18/debian/patches/wxpython3.0.patch 2014-09-10
20:29:38.0 -0400
@@ -0,0 +1,162 @@
+commit 28f785f3509969bae614cc6584200e1362a4c249
+Author: Scott Talbert
+Date: Wed Sep 10 20:01:25 2014 -0400
+
+Support wxPython 3.0
+
+Origin: upstream,
http://sourceforge.net/p/congruity/code/ci/28f785f3509969bae614cc6584200e1362a4c249/
+Bug-Debian: https://bugs.debian.org/759045
+
+diff --git a/congruity b/congruity
+index 3ba1844..54c6783 100755
+--- a/congruity
b/congruity
+@@ -38,7 +38,7 @@ try:
+ import libconcord
+ except:
+ str = traceback.format_exc()
+-app = wx.PySimpleApp()
++app = wx.App(False)
+ dlg = wx.MessageDialog(
+ None,
+ "Could not load libconcord; please ensure it, and the Python "
+@@ -54,7 +54,7 @@ try:
+ libconcord.update_configuration
+ except:
+ str = traceback.format_exc()
+-app = wx.PySimpleApp()
++app = wx.App(False)
+ dlg = wx.MessageDialog(
+ None,
+ "Could not load the correct version of libconcord; please ensure "
+@@ -225,6 +225,7 @@ class DecoratedContainer(wx.Panel):
+ wx.Panel.__init__(self, parent)
+
+ self.sizer = wx.GridBagSizer(5, 5)
++self.sizer.SetCols(3)
+ self.sizer.AddGrowableCol(2)
+ self.SetSizer(self.sizer)
+
+@@ -1577,7 +1578,7 @@ class Wizard(wx.Dialog):
+ resources,
+ app_finalizer,
+ min_page_width = 658,
+-min_page_height = 550
++min_page_height = 560
+ ):
+ self.app_finalizer = app_finalizer
+
+@@ -1652,7 +1653,7 @@ class Wizard(wx.Dialog):
+ size_page = self.GetSizeTuple()
+ size_wiz = tuple_max(size_wiz, size_page)
+ page.Hide()
+-self.sizer_top_right.Remove(page)
++self.sizer_top_right.Detach(page)
+
+ if self.min_page_width and (size_wiz[0] < self.min_page_width):
+ size_wiz = (self.min_page_width, size_wiz[1])
+@@ -1660,7 +1661,7 @@ class Wizard(wx.Dialog):
+ if self.min_page_height and (size_wiz[1] < self.min_page_height):
+ size_wiz = (size_wiz[0], self.min_page_height )
+
+-self.SetSize(size_wiz)
++self.SetClientSize(size_wiz)
+
+ def SetInitialPage(self, page):