Control: tags 759066 + patch
Control: severity -1 serious
# Justification: blocks an on-going transition
Dear maintainer,
The attached patch updates model-builder for wxPython 3.0.
However, I'm unable to test it as rebuilding the package fails due to the
existing FTBFS issue filed as #750275.
Cheers,
Olly
diff -Nru model-builder-0.4.1/debian/changelog model-builder-0.4.1/debian/changelog
--- model-builder-0.4.1/debian/changelog 2013-06-01 08:48:08.000000000 -0300
+++ model-builder-0.4.1/debian/changelog 2014-09-14 20:53:14.000000000 -0300
@@ -1,3 +1,11 @@
+model-builder (0.4.1-6.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Update for wxPython 3.0 (Closes: #759066):
+ - New patch: wxpython3.0.patch
+
+ -- Olly Betts <[email protected]> Sun, 14 Sep 2014 23:53:03 +0000
+
model-builder (0.4.1-6.1) unstable; urgency=low
* Non-maintainer upload.
diff -Nru model-builder-0.4.1/debian/control model-builder-0.4.1/debian/control
--- model-builder-0.4.1/debian/control 2013-06-01 08:50:05.000000000 -0300
+++ model-builder-0.4.1/debian/control 2014-09-14 20:45:27.000000000 -0300
@@ -12,7 +12,7 @@
Package: model-builder
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
- python-numpy, python-scipy, python-wxtools, python-wxgtk2.8,
+ python-numpy, python-scipy, python-wxtools, python-wxgtk3.0,
python-matplotlib, python-pkg-resources
Description: graphical ODE simulator
Model Builder is a graphical tool for designing, simulating and
diff -Nru model-builder-0.4.1/debian/patches/series model-builder-0.4.1/debian/patches/series
--- model-builder-0.4.1/debian/patches/series 2010-07-16 23:30:58.000000000 -0300
+++ model-builder-0.4.1/debian/patches/series 2014-09-14 20:47:20.000000000 -0300
@@ -3,3 +3,4 @@
MB_help_path.diff
desktop_file.diff
use_wx2.8.diff
+wxpython3.0.patch
diff -Nru model-builder-0.4.1/debian/patches/wxpython3.0.patch model-builder-0.4.1/debian/patches/wxpython3.0.patch
--- model-builder-0.4.1/debian/patches/wxpython3.0.patch 1969-12-31 21:00:00.000000000 -0300
+++ model-builder-0.4.1/debian/patches/wxpython3.0.patch 2014-09-14 20:52:49.000000000 -0300
@@ -0,0 +1,266 @@
+Description: Update for wxPython 3.0
+ These changes should remain compatible with wxPython 2.8.
+Bug-Debian: https://bugs.debian.org/759066
+Forwarded: no
+Last-Update: 2014-09-14
+
+--- model-builder-0.4.1.orig/model_builder/PlotFigure.py
++++ model-builder-0.4.1/model_builder/PlotFigure.py
+@@ -30,7 +30,7 @@ from numpy.random import *
+ from numpy import *
+
+ import wxversion
+-wxversion.select('2.8')
++wxversion.select('3.0')
+ import wx
+
+ def create(parent):
+@@ -318,7 +318,7 @@ class PlotFigure(wx.Frame):
+ return self.toolbar
+
+ if __name__ == '__main__':
+- app = wx.PySimpleApp()
++ app = wx.App(False)
+ frame = create(None)
+ x = normal(0,1,50)
+ y = normal(0,1,(50,5))
+--- model-builder-0.4.1.orig/model_builder/PyMB.py
++++ model-builder-0.4.1/model_builder/PyMB.py
+@@ -27,7 +27,7 @@
+ #-----------------------------------------------------------------------------
+
+ import wxversion
+-wxversion.select('2.8')
++wxversion.select('3.0')
+ import wx
+ import wxFrame1
+
+@@ -52,7 +52,6 @@ modules ={u'MB': [0, '', u'MB.hhp'],
+
+ class BoaApp(wx.App):
+ def OnInit(self):
+- wx.InitAllImageHandlers()
+ self.main = wxFrame1.create(None)
+ # needed when running from Boa under Windows 9X
+ self.SetTopWindow(self.main)
+--- model-builder-0.4.1.orig/model_builder/about.py
++++ model-builder-0.4.1/model_builder/about.py
+@@ -1,6 +1,6 @@
+ #Boa:Dialog:wxDialog1
+ import wxversion
+-wxversion.select('2.8')
++wxversion.select('3.0')
+ import wx
+ import wx.html
+ import webbrowser
+--- model-builder-0.4.1.orig/model_builder/icones.py
++++ model-builder-0.4.1/model_builder/icones.py
+@@ -3,7 +3,7 @@
+ # This file was generated by /usr/bin/img2py-2.6
+ #
+ import wxversion
+-wxversion.select('2.8')
++wxversion.select('3.0')
+ from wx import ImageFromStream, BitmapFromImage
+ import cStringIO, zlib
+
+--- model-builder-0.4.1.orig/model_builder/lhsframe.py
++++ model-builder-0.4.1/model_builder/lhsframe.py
+@@ -12,7 +12,7 @@
+ # New field: Whatever
+ #-----------------------------------------------------------------------------
+ import wxversion
+-wxversion.select('2.8')
++wxversion.select('3.0')
+ import wx
+ import os,cPickle
+ from Bayes import lhs, Melding as meld
+@@ -269,6 +269,6 @@ class LHS(wxFrame):
+ return data
+
+ if __name__ == '__main__':
+- app = wx.PySimpleApp()
++ app = wx.App(False)
+ LHS(None).Show()
+ app.MainLoop()
+--- model-builder-0.4.1.orig/model_builder/lhsframe_glade.py
++++ model-builder-0.4.1/model_builder/lhsframe_glade.py
+@@ -2,7 +2,7 @@
+ # -*- coding: ISO-8859-1 -*-
+ # generated by wxGlade 0.3.5.1 on Thu Aug 31 11:12:37 2006
+ import wxversion
+-wxversion.select('2.8')
++wxversion.select('3.0')
+ import wx
+ import wx.grid
+
+@@ -134,6 +134,6 @@ class wxFrame(wx.Frame):
+
+
+ if __name__ == '__main__':
+- app = wx.PySimpleApp()
++ app = wx.App(False)
+ wxFrame(None).Show()
+ app.MainLoop()
+--- model-builder-0.4.1.orig/model_builder/odexml.py
++++ model-builder-0.4.1/model_builder/odexml.py
+@@ -13,7 +13,7 @@
+ from xml.dom import minidom, Node
+ import __version__ as V
+ import wxversion
+-wxversion.select('2.8')
++wxversion.select('3.0')
+ import wx, sys, os
+ from numpy import array
+
+--- model-builder-0.4.1.orig/model_builder/quivVarFrame.py
++++ model-builder-0.4.1/model_builder/quivVarFrame.py
+@@ -12,7 +12,7 @@
+ #-----------------------------------------------------------------------------
+ #Boa:MiniFrame:quivVarFrame
+ import wxversion
+-wxversion.select('2.8')
++wxversion.select('3.0')
+ import wx
+ import wx.lib.buttons
+ import PlotFigure as PF
+@@ -74,7 +74,7 @@ class quivVarFrame(wx.MiniFrame):
+ label='Trajectory Plot', name='trajBox', parent=self,
+ pos=wx.Point(16, 120), size=wx.Size(304, 112), style=0)
+ self.trajBox.SetMinSize(wx.Size(304, 130))
+- self.trajBox.SetBestFittingSize(wx.Size(304, 112))
++ self.trajBox.SetInitialSize(wx.Size(304, 112))
+
+ self.drawTrajCheck = wx.CheckBox(id=wxID_QUIVVARFRAMEDRAWTRAJCHECK,
+ label='Draw trajectory', name='drawTrajCheck', parent=self,
+@@ -241,8 +241,7 @@ class quivVarFrame(wx.MiniFrame):
+
+
+ if __name__ == '__main__':
+- app = wx.PySimpleApp()
+- wx.InitAllImageHandlers()
++ app = wx.App(False)
+ frame = create(None)
+ frame.Show()
+
+--- model-builder-0.4.1.orig/model_builder/uncertaintyMiniFrame.py
++++ model-builder-0.4.1/model_builder/uncertaintyMiniFrame.py
+@@ -25,7 +25,7 @@
+ #-----------------------------------------------------------------------------
+ #Boa:MiniFrame:uncertaintyMiniFrame
+ import wxversion
+-wxversion.select('2.8')
++wxversion.select('3.0')
+ import wx
+ import wx.gizmos
+ from Numeric import *
+@@ -235,7 +235,7 @@ class uncertaintyMiniFrame(wx.MiniFrame)
+ self.statusPanel.AppendText('Done!\n\n')
+ if not self.likList.GetLineText(0) =='': #read datafile
+ self.statusPanel.AppendText('Reading data from file...\n')
+- dlg = wx.FileDialog(self, "Open data file", ".", "", "*.txt", wx.OPEN)
++ dlg = wx.FileDialog(self, "Open data file", ".", "", "*.txt", wx.FD_OPEN)
+ try:
+ if dlg.ShowModal() == wx.ID_OK:
+ filename = dlg.GetPath()
+--- model-builder-0.4.1.orig/model_builder/wxFrame1.py
++++ model-builder-0.4.1/model_builder/wxFrame1.py
+@@ -26,7 +26,7 @@
+ #Boa:Frame:wxFrame1
+ from __future__ import division
+ import wxversion
+-wxversion.select('2.8')
++wxversion.select('3.0')
+ import wx
+ import wx.stc
+ #from Numeric import *
+@@ -319,7 +319,7 @@ class wxFrame1(wx.Frame):
+ self.SetMenuBar(self.menuBar1)
+ self.SetToolTipString('Model Builder')
+ self.SetAutoLayout(True)
+- self.SetBestFittingSize(wx.Size(730, 480))
++ self.SetInitialSize(wx.Size(730, 480))
+ self.SetMaxSize(wx.Size(730, 480))
+ self.SetIcon(wx.Icon('/usr/share/pixmaps/MB.ico',wx.BITMAP_TYPE_ICO))
+ self.Bind(wx.EVT_CLOSE, self.OnWxFrame1Close)
+@@ -346,7 +346,7 @@ class wxFrame1(wx.Frame):
+ name='initValInput', parent=self.panel1, pos=wx.Point(0, 208),
+ size=wx.Size(465, 22), style=0, value='')
+ self.initValInput.SetToolTipString('Initial conditions: values separated by spaces.')
+- self.initValInput.SetBestFittingSize(wx.Size(465, 22))
++ self.initValInput.SetInitialSize(wx.Size(465, 22))
+
+ self.startText = wx.StaticText(id=wxID_WXFRAME1STARTTEXT,
+ label='Start time:', name='startText', parent=self.panel1,
+@@ -412,7 +412,7 @@ class wxFrame1(wx.Frame):
+ self.separaLine = wx.StaticLine(id=wxID_WXFRAME1SEPARALINE,
+ name='separaLine', parent=self.panel1, pos=wx.Point(477, 0),
+ size=wx.Size(30, 780),
+- style=wx.MAXIMIZE_BOX | wx.LI_VERTICAL | wx.THICK_FRAME | wx.LI_VERTICAL| 1)
++ style=wx.MAXIMIZE_BOX | wx.LI_VERTICAL | wx.RESIZE_BORDER | wx.LI_VERTICAL | wx.CENTRE)
+ self.separaLine.SetBackgroundColour(wx.Colour(0, 0, 0))
+ self.separaLine.SetToolTipString('')
+ self.separaLine.SetThemeEnabled(True)
+@@ -457,12 +457,12 @@ class wxFrame1(wx.Frame):
+ parent=self.panel1, pos=wx.Point(0, 0), size=wx.Size(465, 22),
+ style=0)
+ self.eqText.SetThemeEnabled(True)
+- self.eqText.SetBestFittingSize(wx.Size(465, 22))
++ self.eqText.SetInitialSize(wx.Size(465, 22))
+
+ self.initValText = wx.StaticText(id=wxID_WXFRAME1INITVALTEXT,
+ label='Initial values:', name='initValText', parent=self.panel1,
+ pos=wx.Point(0, 184), size=wx.Size(465, 22), style=0)
+- self.initValText.SetBestFittingSize(wx.Size(465, 22))
++ self.initValText.SetInitialSize(wx.Size(465, 22))
+
+ self.minStepText = wx.StaticText(id=wxID_WXFRAME1MINSTEPTEXT,
+ label='Min. Step Size:', name='minStepText', parent=self.panel1,
+@@ -509,7 +509,7 @@ class wxFrame1(wx.Frame):
+ self.modtree = Model() #reset the modtree object upon the opening of a new model
+ if self.curdir:
+ os.chdir(self.curdir)
+- dlg = wx.FileDialog(self, "Choose a file", self.curdir, "", "*.ode", wx.OPEN)
++ dlg = wx.FileDialog(self, "Choose a file", self.curdir, "", "*.ode", wx.FD_OPEN)
+ try:
+ if dlg.ShowModal() == wx.ID_OK:
+ filename = dlg.GetPath()
+@@ -604,7 +604,7 @@ class wxFrame1(wx.Frame):
+ Save as menu entry
+ """
+ self.modtree = Model()
+- dlg = wx.FileDialog(self, "Save File As", self.curdir, "", "*.ode", wx.SAVE)
++ dlg = wx.FileDialog(self, "Save File As", self.curdir, "", "*.ode", wx.FD_SAVE)
+ try:
+ if dlg.ShowModal() == wx.ID_OK:
+ self.FileName = dlg.GetPath()
+--- model-builder-0.4.1.orig/model_builder/wxFrame2.py
++++ model-builder-0.4.1/model_builder/wxFrame2.py
+@@ -25,7 +25,7 @@
+ #Boa:Frame:wxFrame2
+
+ import wxversion
+-wxversion.select('2.8')
++wxversion.select('3.0')
+ import wx
+ import wx.grid
+ from numpy import *
+@@ -147,7 +147,7 @@ class wxFrame2(wx.Frame):
+ self.filename = None
+
+ def OnToolbar1tools0Tool(self, event):
+- dlg = wx.FileDialog(self, "Save Data As", ".", "", "*.dat", wx.SAVE)
++ dlg = wx.FileDialog(self, "Save Data As", ".", "", "*.dat", wx.FD_SAVE)
+ try:
+ if dlg.ShowModal() == wx.ID_OK:
+ filename = dlg.GetPath()
+@@ -294,8 +294,7 @@ class TableBase(wx.grid.PyGridTableBase)
+ self.collabels[col]= label
+
+ if __name__ == '__main__':
+- app = wx.PySimpleApp()
+- wx.InitAllImageHandlers()
++ app = wx.App(False)
+ frame = create(None)
+ frame.Show()
+