diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..02f9d27 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +wxPython-src-2.8.11.0.tar.bz2 +/wxPython-src-2.8.12.0.tar.bz2 +/wxPython-src-3.0.2.0.tar.bz2 diff --git a/dead.package b/dead.package deleted file mode 100644 index fb13297..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Python 2 only - replaced by python-wxpython4 diff --git a/fix-editra-removal.patch b/fix-editra-removal.patch new file mode 100644 index 0000000..c21a153 --- /dev/null +++ b/fix-editra-removal.patch @@ -0,0 +1,160 @@ +diff --git a/wxPython/distrib/DIRLIST b/wxPython/distrib/DIRLIST +index 688d0d1..82dd00d 100644 +--- a/wxPython/distrib/DIRLIST ++++ b/wxPython/distrib/DIRLIST +@@ -149,104 +149,5 @@ wx/tools/XRCed/misc/src-images + wx/tools/XRCed/plugins + wx/tools/XRCed/plugins/bitmaps + wx/tools/XRCed/plugins/src-images +-wx/tools/Editra +-wx/tools/Editra/docs +-wx/tools/Editra/include +-wx/tools/Editra/include/python2.5 +-wx/tools/Editra/include/python2.5/darwin +-wx/tools/Editra/include/python2.5/win32 +-wx/tools/Editra/locale +-wx/tools/Editra/locale/ca_ES@valencia +-wx/tools/Editra/locale/ca_ES@valencia/LC_MESSAGES +-wx/tools/Editra/locale/cs_CZ +-wx/tools/Editra/locale/cs_CZ/LC_MESSAGES +-wx/tools/Editra/locale/da_DK +-wx/tools/Editra/locale/da_DK/LC_MESSAGES +-wx/tools/Editra/locale/de_DE +-wx/tools/Editra/locale/de_DE/LC_MESSAGES +-wx/tools/Editra/locale/en_US +-wx/tools/Editra/locale/en_US/LC_MESSAGES +-wx/tools/Editra/locale/es_ES +-wx/tools/Editra/locale/es_ES/LC_MESSAGES +-wx/tools/Editra/locale/fr_FR +-wx/tools/Editra/locale/fr_FR/LC_MESSAGES +-wx/tools/Editra/locale/gl_ES +-wx/tools/Editra/locale/gl_ES/LC_MESSAGES +-wx/tools/Editra/locale/it_IT +-wx/tools/Editra/locale/it_IT/LC_MESSAGES +-wx/tools/Editra/locale/hr_HR +-wx/tools/Editra/locale/hr_HR/LC_MESSAGES +-wx/tools/Editra/locale/hu_HU +-wx/tools/Editra/locale/hu_HU/LC_MESSAGES +-wx/tools/Editra/locale/ja_JP +-wx/tools/Editra/locale/ja_JP/LC_MESSAGES +-wx/tools/Editra/locale/lv_LV +-wx/tools/Editra/locale/lv_LV/LC_MESSAGES +-wx/tools/Editra/locale/nl_NL +-wx/tools/Editra/locale/nl_NL/LC_MESSAGES +-wx/tools/Editra/locale/nn_NO +-wx/tools/Editra/locale/nn_NO/LC_MESSAGES +-wx/tools/Editra/locale/pl_PL +-wx/tools/Editra/locale/pl_PL/LC_MESSAGES +-wx/tools/Editra/locale/pt_BR +-wx/tools/Editra/locale/pt_BR/LC_MESSAGES +-wx/tools/Editra/locale/ro_RO +-wx/tools/Editra/locale/ro_RO/LC_MESSAGES +-wx/tools/Editra/locale/ru_RU +-wx/tools/Editra/locale/ru_RU/LC_MESSAGES +-wx/tools/Editra/locale/sk_SK +-wx/tools/Editra/locale/sk_SK/LC_MESSAGES +-wx/tools/Editra/locale/sl_SI +-wx/tools/Editra/locale/sl_SI/LC_MESSAGES +-wx/tools/Editra/locale/sr_RS +-wx/tools/Editra/locale/sr_RS/LC_MESSAGES +-wx/tools/Editra/locale/sv_SE +-wx/tools/Editra/locale/sv_SE/LC_MESSAGES +-wx/tools/Editra/locale/tr_TR +-wx/tools/Editra/locale/tr_TR/LC_MESSAGES +-wx/tools/Editra/locale/uk_UA +-wx/tools/Editra/locale/uk_UA/LC_MESSAGES +-wx/tools/Editra/locale/zh_CN +-wx/tools/Editra/locale/zh_CN/LC_MESSAGES +-wx/tools/Editra/locale/zh_TW +-wx/tools/Editra/locale/zh_TW/LC_MESSAGES +-wx/tools/Editra/pixmaps +-wx/tools/Editra/pixmaps/theme +-wx/tools/Editra/pixmaps/theme/Default +-wx/tools/Editra/pixmaps/theme/Tango +-wx/tools/Editra/pixmaps/theme/Tango/menu +-wx/tools/Editra/pixmaps/theme/Tango/mime +-wx/tools/Editra/pixmaps/theme/Tango/other +-wx/tools/Editra/pixmaps/theme/Tango/toolbar +-wx/tools/Editra/pixmaps/theme/Tango/other +-wx/tools/Editra/plugins +-wx/tools/Editra/plugins/codebrowser +-wx/tools/Editra/plugins/codebrowser/codebrowser +-wx/tools/Editra/plugins/codebrowser/codebrowser/gentag +-wx/tools/Editra/plugins/filebrowser +-wx/tools/Editra/plugins/filebrowser/filebrowser +-wx/tools/Editra/plugins/hello +-wx/tools/Editra/plugins/hello/hello +-wx/tools/Editra/plugins/Launch +-wx/tools/Editra/plugins/Launch/launch +-wx/tools/Editra/plugins/pyshell +-wx/tools/Editra/plugins/pyshell/pyshell +-wx/tools/Editra/scripts +-wx/tools/Editra/scripts/i18n +-wx/tools/Editra/src +-wx/tools/Editra/src/autocomp +-wx/tools/Editra/src/ebmlib +-wx/tools/Editra/src/eclib +-wx/tools/Editra/src/extern +-wx/tools/Editra/src/extern/aui +-wx/tools/Editra/src/extern/pygments +-wx/tools/Editra/src/extern/pygments/filters +-wx/tools/Editra/src/extern/pygments/formatters +-wx/tools/Editra/src/extern/pygments/lexers +-wx/tools/Editra/src/extern/pygments/styles +-wx/tools/Editra/src/syntax +-wx/tools/Editra/styles +-wx/tools/Editra/templates +-wx/tools/Editra/tests/syntax + + wxversion +diff --git a/wxPython/setup.py b/wxPython/setup.py +index 35ce514..76fe6d1 100755 +--- a/wxPython/setup.py ++++ b/wxPython/setup.py +@@ -897,13 +897,6 @@ WX_PKGLIST = [ 'wx', + 'wx.tools', + 'wx.tools.XRCed', + 'wx.tools.XRCed.plugins', +- 'wx.tools.Editra', +- 'wx.tools.Editra.src', +- 'wx.tools.Editra.src.autocomp', +- 'wx.tools.Editra.src.eclib', +- 'wx.tools.Editra.src.ebmlib', +- 'wx.tools.Editra.src.extern', +- 'wx.tools.Editra.src.syntax', + ] + + +@@ -921,7 +914,6 @@ else: + opj('scripts/pywrap'), + opj('scripts/pywxrc'), + opj('scripts/xrced'), +- opj('scripts/editra'), + ] + if os.name == 'nt': + SCRIPTS.append( opj('scripts/genaxmodule') ) +@@ -936,16 +928,6 @@ DATA_FILES += find_data_files('wx/tools/XRCed', '*.txt', '*.xrc', '*.htb') + DATA_FILES += find_data_files('wx/tools/XRCed/plugins', '*.crx') + DATA_FILES += find_data_files('wx/tools/XRCed/plugins/bitmaps', '*.png') + +-DATA_FILES += find_data_files('wx/tools/Editra/docs', '*.txt') +-DATA_FILES += find_data_files('wx/tools/Editra/locale', '*.mo') +-DATA_FILES += find_data_files('wx/tools/Editra/pixmaps', +- '*.png', '*.icns', '*.ico', 'README', 'AUTHORS', 'COPYING') +-DATA_FILES += find_data_files('wx/tools/Editra/plugins', '*.egg') +-DATA_FILES += find_data_files('wx/tools/Editra/src', 'README') +-DATA_FILES += find_data_files('wx/tools/Editra/styles', '*.ess') +-DATA_FILES += find_data_files('wx/tools/Editra/tests/syntax', '*') +-DATA_FILES += find_data_files('wx/tools/Editra', '[A-Z]*', recursive=False) +- + + ## import pprint + ## pprint.pprint(DATA_FILES) +@@ -995,7 +977,6 @@ if EGGing: + 'pyshell = wx.py.PyShell:main', + 'pywrap = wx.py.PyWrap:main', + 'helpviewer = wx.tools.helpviewer:main', +- 'editra = wx.tools.Editra.launcher:main', + 'xrced = wx.tools.XRCed.xrced:main', + ], + }, diff --git a/sources b/sources new file mode 100644 index 0000000..1cbbf0e --- /dev/null +++ b/sources @@ -0,0 +1 @@ +922b02ff2c0202a7bf1607c98bbbbc04 wxPython-src-3.0.2.0.tar.bz2 diff --git a/wxPython-2.8.12.0-aui.patch b/wxPython-2.8.12.0-aui.patch new file mode 100644 index 0000000..bd631e0 --- /dev/null +++ b/wxPython-2.8.12.0-aui.patch @@ -0,0 +1,24 @@ +diff -up wxPython-src-2.8.12.0/wxPython/wx/tools/Editra/src/ed_pages.py.aui wxPython-src-2.8.12.0/wxPython/wx/tools/Editra/src/ed_pages.py +--- wxPython-src-2.8.12.0/wxPython/wx/tools/Editra/src/ed_pages.py.aui 2011-04-13 22:28:07.000000000 +0200 ++++ wxPython-src-2.8.12.0/wxPython/wx/tools/Editra/src/ed_pages.py 2011-04-26 08:40:13.000000000 +0200 +@@ -37,7 +37,7 @@ import ed_txt + import ed_mdlg + import ebmlib + import eclib +-from extern import aui ++from wx.lib.agw import aui + import ed_book + + #--------------------------------------------------------------------------# +diff -up wxPython-src-2.8.12.0/wxPython/wx/tools/Editra/src/ed_shelf.py.aui wxPython-src-2.8.12.0/wxPython/wx/tools/Editra/src/ed_shelf.py +--- wxPython-src-2.8.12.0/wxPython/wx/tools/Editra/src/ed_shelf.py.aui 2011-04-13 22:28:07.000000000 +0200 ++++ wxPython-src-2.8.12.0/wxPython/wx/tools/Editra/src/ed_shelf.py 2011-04-26 08:40:26.000000000 +0200 +@@ -29,7 +29,7 @@ from profiler import Profile_Get + import ed_msg + import plugin + import iface +-from extern import aui ++from wx.lib.agw import aui + import ed_book + + #--------------------------------------------------------------------------# diff --git a/wxPython-2.8.12.0-format.patch b/wxPython-2.8.12.0-format.patch new file mode 100644 index 0000000..64644df --- /dev/null +++ b/wxPython-2.8.12.0-format.patch @@ -0,0 +1,230 @@ +diff -up wxPython-src-2.8.12.0/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp.format 2014-03-14 11:35:34.581008618 +0100 ++++ wxPython-src-2.8.12.0/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp 2014-03-14 11:35:46.035843300 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/contrib/glcanvas/gtk/glcanvas_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/contrib/glcanvas/gtk/glcanvas_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/contrib/glcanvas/gtk/glcanvas_wrap.cpp.format 2014-03-14 11:34:19.451092820 +0100 ++++ wxPython-src-2.8.12.0/wxPython/contrib/glcanvas/gtk/glcanvas_wrap.cpp 2014-03-14 11:34:32.157909458 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/contrib/stc/gtk/stc_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/contrib/stc/gtk/stc_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/contrib/stc/gtk/stc_wrap.cpp.format 2014-03-14 11:34:48.078679712 +0100 ++++ wxPython-src-2.8.12.0/wxPython/contrib/stc/gtk/stc_wrap.cpp 2014-03-14 11:34:59.102520628 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/_core_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/_core_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/_core_wrap.cpp.format 2014-03-14 11:27:46.008769964 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/_core_wrap.cpp 2014-03-14 11:28:51.805819727 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/_gdi_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/_gdi_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/_gdi_wrap.cpp.format 2014-03-14 11:27:46.008769964 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/_gdi_wrap.cpp 2014-03-14 11:28:51.805819727 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/animate_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/animate_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/animate_wrap.cpp.format 2014-03-14 11:27:46.008769964 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/animate_wrap.cpp 2014-03-14 11:28:51.805819727 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/aui_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/aui_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/aui_wrap.cpp.format 2014-03-14 11:27:46.013769892 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/aui_wrap.cpp 2014-03-14 11:29:04.018643338 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/calendar_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/calendar_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/calendar_wrap.cpp.format 2014-03-14 11:27:46.015769863 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/calendar_wrap.cpp 2014-03-14 11:29:17.674446166 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/combo_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/combo_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/combo_wrap.cpp.format 2014-03-14 11:27:46.018769820 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/combo_wrap.cpp 2014-03-14 11:29:29.227279558 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/_controls_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/_controls_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/_controls_wrap.cpp.format 2014-03-14 11:27:46.025769719 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/_controls_wrap.cpp 2014-03-14 11:28:04.778498903 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/_core_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/_core_wrap.cpp +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/_gdi_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/_gdi_wrap.cpp +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/grid_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/grid_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/grid_wrap.cpp.format 2014-03-14 11:27:46.044769444 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/grid_wrap.cpp 2014-03-14 11:29:40.914111013 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/html_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/html_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/html_wrap.cpp.format 2014-03-14 11:27:46.048769387 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/html_wrap.cpp 2014-03-14 11:29:52.878938455 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/media_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/media_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/media_wrap.cpp.format 2014-03-14 11:27:46.050769358 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/media_wrap.cpp 2014-03-14 11:30:04.953764306 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/_misc_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/_misc_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/_misc_wrap.cpp.format 2014-03-14 11:27:46.055769285 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/_misc_wrap.cpp 2014-03-14 11:28:26.677182645 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/richtext_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/richtext_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/richtext_wrap.cpp.format 2014-03-14 11:27:46.060769213 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/richtext_wrap.cpp 2014-03-14 11:30:15.843607244 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/webkit_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/webkit_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/webkit_wrap.cpp.format 2014-03-14 11:27:46.063769170 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/webkit_wrap.cpp 2014-03-14 11:30:31.108387076 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/_windows_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/_windows_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/_windows_wrap.cpp.format 2014-03-14 11:27:46.068769098 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/_windows_wrap.cpp 2014-03-14 11:28:41.342970838 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/wizard_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/wizard_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/wizard_wrap.cpp.format 2014-03-14 11:27:46.070769069 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/wizard_wrap.cpp 2014-03-14 11:30:42.440223630 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -up wxPython-src-2.8.12.0/wxPython/src/gtk/xrc_wrap.cpp.format wxPython-src-2.8.12.0/wxPython/src/gtk/xrc_wrap.cpp +--- wxPython-src-2.8.12.0/wxPython/src/gtk/xrc_wrap.cpp.format 2014-03-14 11:27:46.073769026 +0100 ++++ wxPython-src-2.8.12.0/wxPython/src/gtk/xrc_wrap.cpp 2014-03-14 11:30:55.391036827 +0100 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + diff --git a/wxPython-3.0.0.0-format.patch b/wxPython-3.0.0.0-format.patch new file mode 100644 index 0000000..540ced9 --- /dev/null +++ b/wxPython-3.0.0.0-format.patch @@ -0,0 +1,264 @@ +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp wxPython-src-3.0.0.0/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp 2013-12-16 08:52:12.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp 2014-09-04 22:58:04.035387024 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/animate_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/animate_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/animate_wrap.cpp 2013-12-16 08:51:56.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/animate_wrap.cpp 2014-09-04 22:58:04.075387422 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/aui_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/aui_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/aui_wrap.cpp 2013-12-28 04:28:56.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/aui_wrap.cpp 2014-09-04 22:58:04.080387472 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/calendar_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/calendar_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/calendar_wrap.cpp 2013-12-16 08:51:28.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/calendar_wrap.cpp 2014-09-04 22:58:04.082387492 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/combo_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/combo_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/combo_wrap.cpp 2013-12-16 08:51:32.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/combo_wrap.cpp 2014-09-04 22:58:04.084387512 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/_controls_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/_controls_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/_controls_wrap.cpp 2013-12-16 08:51:23.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/_controls_wrap.cpp 2014-09-04 22:58:04.094387611 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/_core_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/_core_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/_core_wrap.cpp 2013-12-28 04:18:40.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/_core_wrap.cpp 2014-09-04 22:58:04.062387293 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/dataview_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/dataview_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/dataview_wrap.cpp 2013-12-16 08:51:45.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/dataview_wrap.cpp 2014-09-04 23:00:27.042820179 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/_gdi_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/_gdi_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/_gdi_wrap.cpp 2013-12-16 08:51:16.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/_gdi_wrap.cpp 2014-09-04 22:58:04.073387402 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/glcanvas_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/glcanvas_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/glcanvas_wrap.cpp 2013-12-16 08:52:07.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/glcanvas_wrap.cpp 2014-09-04 22:58:04.037387044 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/grid_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/grid_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/grid_wrap.cpp 2013-12-16 08:51:35.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/grid_wrap.cpp 2014-09-04 22:58:04.100387671 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/html2_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/html2_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/html2_wrap.cpp 2013-12-28 04:28:56.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/html2_wrap.cpp 2014-09-04 23:01:00.379154803 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/html_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/html_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/html_wrap.cpp 2013-12-16 08:51:38.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/html_wrap.cpp 2014-09-04 22:58:04.104387710 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/media_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/media_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/media_wrap.cpp 2013-12-16 08:51:39.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/media_wrap.cpp 2014-09-04 22:58:04.106387730 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/_misc_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/_misc_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/_misc_wrap.cpp 2013-12-28 04:18:47.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/_misc_wrap.cpp 2014-09-04 22:58:04.113387800 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/propgrid_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/propgrid_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/propgrid_wrap.cpp 2013-12-16 08:52:01.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/propgrid_wrap.cpp 2014-09-04 23:01:26.082412807 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/richtext_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/richtext_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/richtext_wrap.cpp 2013-12-16 08:51:52.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/richtext_wrap.cpp 2014-09-04 22:58:04.122387890 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/stc_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/stc_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/stc_wrap.cpp 2013-12-16 08:52:06.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/stc_wrap.cpp 2014-09-04 22:58:04.045387124 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/webkit_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/webkit_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/webkit_wrap.cpp 2013-12-16 08:51:41.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/webkit_wrap.cpp 2014-09-04 22:58:04.124387909 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/_windows_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/_windows_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/_windows_wrap.cpp 2013-12-16 08:51:19.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/_windows_wrap.cpp 2014-09-04 22:58:04.131387979 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/wizard_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/wizard_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/wizard_wrap.cpp 2013-12-16 08:51:43.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/wizard_wrap.cpp 2014-09-04 22:58:04.134388009 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + +diff -Nrup wxPython-src-3.0.0.0.orig/wxPython/src/gtk/xrc_wrap.cpp wxPython-src-3.0.0.0/wxPython/src/gtk/xrc_wrap.cpp +--- wxPython-src-3.0.0.0.orig/wxPython/src/gtk/xrc_wrap.cpp 2013-12-16 08:51:46.000000000 -0500 ++++ wxPython-src-3.0.0.0/wxPython/src/gtk/xrc_wrap.cpp 2014-09-04 22:58:04.136388029 -0400 +@@ -861,7 +861,7 @@ SWIG_Python_AddErrorMsg(const char* mesg + Py_DECREF(old_str); + Py_DECREF(value); + } else { +- PyErr_Format(PyExc_RuntimeError, mesg); ++ PyErr_Format(PyExc_RuntimeError, "%s", mesg); + } + } + diff --git a/wxPython-3.0.2.0-getxwindowcrash.patch b/wxPython-3.0.2.0-getxwindowcrash.patch new file mode 100644 index 0000000..ce0217f --- /dev/null +++ b/wxPython-3.0.2.0-getxwindowcrash.patch @@ -0,0 +1,26 @@ +diff -up wxPython-src-3.0.2.0/wxPython/src/helpers.cpp.getxwindowcrash wxPython-src-3.0.2.0/wxPython/src/helpers.cpp +--- wxPython-src-3.0.2.0/wxPython/src/helpers.cpp.getxwindowcrash 2014-10-13 18:37:52.000000000 -0400 ++++ wxPython-src-3.0.2.0/wxPython/src/helpers.cpp 2015-01-03 22:05:35.936010783 -0500 +@@ -29,9 +29,19 @@ + #include + #include + #ifdef __WXGTK3__ +-#define GetXWindow(wxwin) (wxwin)->m_wxwindow ? \ +- GDK_WINDOW_XID(gtk_widget_get_window((wxwin)->m_wxwindow)) : \ +- GDK_WINDOW_XID(gtk_widget_get_window((wxwin)->m_widget)) ++// Unlike GDK_WINDOW_XWINDOW, GDK_WINDOW_XID can't handle a NULL, so check 1st ++static XID GetXWindow(wxWindow* wxwin) { ++ if ((wxwin)->m_wxwindow) { ++ if (gtk_widget_get_window((wxwin)->m_wxwindow)) ++ return GDK_WINDOW_XID(gtk_widget_get_window((wxwin)->m_wxwindow)); ++ return 0; ++ } ++ else { ++ if (gtk_widget_get_window((wxwin)->m_widget)) ++ return GDK_WINDOW_XID(gtk_widget_get_window((wxwin)->m_widget)); ++ return 0; ++ } ++} + #else + #define GetXWindow(wxwin) (wxwin)->m_wxwindow ? \ + GDK_WINDOW_XWINDOW((wxwin)->m_wxwindow->window) : \ diff --git a/wxPython-3.0.2.0-listctrl-mixin-edit.patch b/wxPython-3.0.2.0-listctrl-mixin-edit.patch new file mode 100644 index 0000000..47a6b16 --- /dev/null +++ b/wxPython-3.0.2.0-listctrl-mixin-edit.patch @@ -0,0 +1,16 @@ +diff -up wxPython-src-3.0.2.0/wxPython/wx/lib/mixins/listctrl.py.editzeroheight wxPython-src-3.0.2.0/wxPython/wx/lib/mixins/listctrl.py +--- wxPython-src-3.0.2.0/wxPython/wx/lib/mixins/listctrl.py.editzeroheight 2014-10-13 18:37:52.000000000 -0400 ++++ wxPython-src-3.0.2.0/wxPython/wx/lib/mixins/listctrl.py 2015-09-29 20:57:15.334780365 -0400 +@@ -604,7 +604,11 @@ class TextEditMixin: + y0 = self.GetItemRect(row)[1] + + editor = self.editor +- editor.SetDimensions(x0-scrolloffset,y0, x1,-1) ++ # Temp fix: for some reason on GTK3, setting the height as -1 (default) ++ # with the above code flow results in the height being zero. Work ++ # around this by setting the height to the existing height. Upstream ++ # bug reported: http://trac.wxwidgets.org/ticket/17160 ++ editor.SetDimensions(x0-scrolloffset,y0, x1,editor.GetSize()[1]) + + editor.SetValue(self.GetItem(row, col).GetText()) + editor.Show() diff --git a/wxPython-3.0.2.0-plot.patch b/wxPython-3.0.2.0-plot.patch new file mode 100644 index 0000000..f56956a --- /dev/null +++ b/wxPython-3.0.2.0-plot.patch @@ -0,0 +1,91 @@ +diff -up wxPython-src-3.0.2.0/wxPython/wx/lib/plot.py.plot wxPython-src-3.0.2.0/wxPython/wx/lib/plot.py +--- wxPython-src-3.0.2.0/wxPython/wx/lib/plot.py.plot 2014-10-13 18:37:22.000000000 -0400 ++++ wxPython-src-3.0.2.0/wxPython/wx/lib/plot.py 2015-01-04 20:38:04.645350202 -0500 +@@ -237,7 +237,7 @@ class PolyLine(PolyPoints): + :keyword `attr`: keyword attributes, default to: + + ========================== ================================ +- 'colour'= 'black' wx.Pen Colour any wx.Colour ++ 'colour'= 'black' wx.Pen Colour any wx.NamedColour + 'width'= 1 Pen width + 'style'= wx.PENSTYLE_SOLID wx.Pen style + 'legend'= '' Line Legend to display +@@ -251,7 +251,7 @@ class PolyLine(PolyPoints): + width = self.attributes['width'] * printerScale * self._pointSize[0] + style = self.attributes['style'] + if not isinstance(colour, wx.Colour): +- colour = wx.Colour(colour) ++ colour = wx.NamedColour(colour) + pen = wx.Pen(colour, width, style) + pen.SetCap(wx.CAP_BUTT) + dc.SetPen(pen) +@@ -287,7 +287,7 @@ class PolySpline(PolyLine): + :keyword `attr`: keyword attributes, default to: + + ========================== ================================ +- 'colour'= 'black' wx.Pen Colour any wx.Colour ++ 'colour'= 'black' wx.Pen Colour any wx.NamedColour + 'width'= 1 Pen width + 'style'= wx.PENSTYLE_SOLID wx.Pen style + 'legend'= '' Line Legend to display +@@ -301,7 +301,7 @@ class PolySpline(PolyLine): + width = self.attributes['width'] * printerScale * self._pointSize[0] + style = self.attributes['style'] + if not isinstance(colour, wx.Colour): +- colour = wx.Colour(colour) ++ colour = wx.NamedColour(colour) + pen = wx.Pen(colour, width, style) + pen.SetCap(wx.CAP_ROUND) + dc.SetPen(pen) +@@ -365,9 +365,9 @@ class PolyMarker(PolyPoints): + marker = self.attributes['marker'] + + if colour and not isinstance(colour, wx.Colour): +- colour = wx.Colour(colour) ++ colour = wx.NamedColour(colour) + if fillcolour and not isinstance(fillcolour, wx.Colour): +- fillcolour = wx.Colour(fillcolour) ++ fillcolour = wx.NamedColour(fillcolour) + + dc.SetPen(wx.Pen(colour, width)) + if fillcolour: +@@ -595,9 +595,9 @@ class PlotCanvas(wx.Panel): + + # set curser as cross-hairs + self.canvas.SetCursor(wx.CROSS_CURSOR) +- self.HandCursor = wx.Cursor(Hand.GetImage()) +- self.GrabHandCursor = wx.Cursor(GrabHand.GetImage()) +- self.MagCursor = wx.Cursor(MagPlus.GetImage()) ++ self.HandCursor = wx.CursorFromImage(Hand.GetImage()) ++ self.GrabHandCursor = wx.CursorFromImage(GrabHand.GetImage()) ++ self.MagCursor = wx.CursorFromImage(MagPlus.GetImage()) + + # Things for printing + self._print_data = None +@@ -681,7 +681,7 @@ class PlotCanvas(wx.Panel): + if isinstance(colour, wx.Colour): + self._gridColour = colour + else: +- self._gridColour = wx.Colour(colour) ++ self._gridColour = wx.NamedColour(colour) + + # SaveFile + def SaveFile(self, fileName=''): +@@ -1513,7 +1513,7 @@ class PlotCanvas(wx.Panel): + # Make new offscreen bitmap: this bitmap will always have the + # current drawing in it, so it can be used to save the image to + # a file, or whatever. +- self._Buffer = wx.Bitmap(Size.width, Size.height) ++ self._Buffer = wx.EmptyBitmap(Size.width, Size.height) + self._setSize() + + self.last_PointLabel = None # reset pointLabel +@@ -1578,7 +1578,7 @@ class PlotCanvas(wx.Panel): + width = self._Buffer.GetWidth() + height = self._Buffer.GetHeight() + if sys.platform != "darwin": +- tmp_Buffer = wx.Bitmap(width, height) ++ tmp_Buffer = wx.EmptyBitmap(width, height) + dcs = wx.MemoryDC() + dcs.SelectObject(tmp_Buffer) + dcs.Clear() diff --git a/wxPython.spec b/wxPython.spec new file mode 100644 index 0000000..4e55d20 --- /dev/null +++ b/wxPython.spec @@ -0,0 +1,312 @@ +%global py_setup_args WX_CONFIG=/usr/bin/wx-config-3.0 WXPORT=gtk3 + +Name: wxPython +Version: 3.0.2.0 +Release: 10%{?dist} + +Summary: GUI toolkit for the Python programming language + +Group: Development/Languages +License: LGPLv2+ and wxWidgets +URL: http://www.wxpython.org/ +Source0: http://downloads.sourceforge.net/wxpython/%{name}-src-%{version}.tar.bz2 +# Remove Editra - it doesn't work and is technically a bundle. Thanks to +# Debian for the patch. +Patch0: fix-editra-removal.patch +Patch1: wxPython-3.0.0.0-format.patch +# http://trac.wxwidgets.org/ticket/16765 +Patch2: wxPython-3.0.2.0-getxwindowcrash.patch +# http://trac.wxwidgets.org/ticket/16767 +Patch3: wxPython-3.0.2.0-plot.patch +# http://trac.wxwidgets.org/ticket/17160 +Patch4: wxPython-3.0.2.0-listctrl-mixin-edit.patch +# make sure to keep this updated as appropriate +BuildRequires: wxGTK3-devel >= 3.0.0 +BuildRequires: python2-devel + +%description +wxPython is a GUI toolkit for the Python programming language. It allows +Python programmers to create programs with a robust, highly functional +graphical user interface, simply and easily. It is implemented as a Python +extension module (native code) that wraps the popular wxWindows cross +platform GUI library, which is written in C++. + +%package devel +Group: Development/Libraries +Summary: Development files for wxPython add-on modules +Requires: %{name} = %{version}-%{release} +Requires: wxGTK3-devel + +%description devel +This package includes C++ header files and SWIG files needed for developing +add-on modules for wxPython. It is NOT needed for development of most +programs which use the wxPython toolkit. + +%package docs +Group: Documentation +Summary: Documentation and samples for wxPython +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description docs +Documentation, samples and demo application for wxPython. + + +%prep +%autosetup -p1 -n wxPython-src-%{version} + +# fix libdir otherwise additional wx libs cannot be found, fix default optimization flags +sed -i -e 's|/usr/lib|%{_libdir}|' -e 's|-O3|-O2|' wxPython/config.py + + +%build +cd wxPython +%py2_build + + +%install +cd wxPython +%py2_install + +# this is a kludge.... +%if "%{python2_sitelib}" != "%{python2_sitearch}" +mv $RPM_BUILD_ROOT%{python2_sitelib}/wx.pth $RPM_BUILD_ROOT%{python2_sitearch} +mv $RPM_BUILD_ROOT%{python2_sitelib}/wxversion.py* $RPM_BUILD_ROOT%{python2_sitearch} +%endif + + +%files +%license wxPython/licence/* +%{_bindir}/* +%{python2_sitelib}/* +%{python2_sitearch}/* + +%files devel +%dir %{_includedir}/wx-3.0/wx/wxPython +%{_includedir}/wx-3.0/wx/wxPython/*.h +%dir %{_includedir}/wx-3.0/wx/wxPython/i_files +%{_includedir}/wx-3.0/wx/wxPython/i_files/*.i +%{_includedir}/wx-3.0/wx/wxPython/i_files/*.py* +%{_includedir}/wx-3.0/wx/wxPython/i_files/*.swg + +%files docs +%doc wxPython/docs wxPython/demo wxPython/samples + + +%changelog +* Fri Feb 05 2016 Fedora Release Engineering - 3.0.2.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 06 2016 Scott Talbert - 3.0.2.0-9 +- Modernize python packaging and general cleanup + +* Sun Dec 27 2015 Scott Talbert - 3.0.2.0-8 +- Replace define macros with global ones + +* Tue Sep 29 2015 Scott Talbert - 3.0.2.0-7 +- Add patch to workaround TextCtrl height issue in ListCtrl mixin (#1264698) + +* Fri Jun 19 2015 Fedora Release Engineering - 3.0.2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon May 04 2015 Jason L Tibbitts III - 3.0.2.0-5 +- Indicate that this package bundles scintilla 3.2.1. + +* Sat May 02 2015 Kalev Lember - 3.0.2.0-4 +- Rebuilt for GCC 5 C++11 ABI change + +* Thu Mar 19 2015 Devrim Gunduz - 3.0.2.0-3 +- Rebuild for new GCC to fix C++ ABI issues. + +* Sun Jan 04 2015 Scott Talbert - 3.0.2.0-2 +- Added patches for fixing crash in GetXWindow() and wx.lib.plot bugs + +* Tue Dec 23 2014 Scott Talbert - 3.0.2.0-1 +- New upstream release 3.0.2.0, built against wxGTK3 + +* Mon Aug 18 2014 Fedora Release Engineering - 2.8.12.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 2.8.12.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Mar 14 2014 Dan Horák - 2.8.12.0-6 +- fix FTBFS due -Werror=format-security +- modernize spec + +* Sun Aug 04 2013 Fedora Release Engineering - 2.8.12.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Feb 15 2013 Fedora Release Engineering - 2.8.12.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Jul 22 2012 Fedora Release Engineering - 2.8.12.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 2.8.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Apr 26 2011 Dan Horák - 2.8.12.0-1 +- update to 2.8.12.0 (#699207) + +* Mon Feb 07 2011 Fedora Release Engineering - 2.8.11.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Jul 22 2010 David Malcolm - 2.8.11.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Mon Jul 12 2010 Dan Horák - 2.8.11.0-3 +- rebuilt against wxGTK-2.8.11-2 + +* Sun Jul 11 2010 Lubomir Rintel - 2.8.11.0-2 +- Include egg-info when build on recent RHEL + +* Mon May 31 2010 Dan Horák - 2.8.11.0-1 +- update to 2.8.11.0 (#593837, #595936, #597639) + +* Sun May 2 2010 Dan Horák - 2.8.10.1-3 +- rebuilt with wxGTK 2.8.11 + +* Wed Mar 17 2010 Dan Horák - 2.8.10.1-2 +- add missing module (#573961) + +* Sat Jan 16 2010 Dan Horák - 2.8.10.1-1 +- update to 2.8.10.1 +- backport to wxGTK 2.8.10 API +- cleaned up BRs + +* Thu Jan 7 2010 Hans de Goede - 2.8.9.2-4 +- Change python_foo macros to use %%global as the new rpm will break + using %%define here, see: + https://www.redhat.com/archives/fedora-devel-list/2010-January/msg00093.html + +* Mon Jul 27 2009 Fedora Release Engineering - 2.8.9.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Apr 10 2009 Dan Horák - 2.8.9.2-2 +- add patch to fix compile failure for contrib/gizmos/_treelist.i + +* Fri Apr 10 2009 Dan Horák - 2.8.9.2-1 +- update to 2.8.9.2 +- create noarch docs subpackage + +* Thu Mar 5 2009 Lubomir Rintel - 2.8.9.1-4 +- Rebuilt for newer wxgtk package + +* Wed Feb 25 2009 Fedora Release Engineering - 2.8.9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 2.8.9.1-2 +- Rebuild for Python 2.6 + +* Tue Sep 30 2008 Dan Horak - 2.8.9.1-1 +- update to 2.8.9.1 +- fix libdir for additional wx libraries (#306761) + +* Mon Sep 29 2008 Dan Horak - 2.8.9.0-1 +- update to 2.8.9.0 + +* Sat Sep 6 2008 Tom "spot" Callaway - 2.8.8.0-2 +- fix license tag + +* Thu Jul 31 2008 Matthew Miller - 2.8.8.0-1 +- update to 2.8.8.0 (bug #457408) +- a fix for bug #450073 is included in the upstream release, so + dropping that patch. + +* Thu Jun 12 2008 Hans de Goede - 2.8.7.1-5 +- Fix an attribute error when importing wxPython (compat) module + (redhat bugzilla 450073, 450074) + +* Sat Jun 7 2008 Matthew Miller - 2.8.7.1-4 +- gratuitously bump package release number to work around build system + glitch. again, but it will work this time. + +* Wed Jun 4 2008 Matthew Miller - 2.8.7.1-3 +- gratuitously bump package release number to work around build system + glitch + +* Thu Feb 21 2008 Matthew Miller - 2.8.7.1-2 +- include egg-info files for fedora 9 or greater + +* Wed Feb 20 2008 Matthew Miller - 2.8.7.1-1 +- update to 2.8.7.1 + +* Tue Feb 19 2008 Fedora Release Engineering - 2.8.4.0-3 +- Autorebuild for GCC 4.3 + +* Wed Aug 29 2007 Fedora Release Engineering - 2.8.4.0-2 +- Rebuild for selinux ppc32 issue. + +* Wed Jul 11 2007 Matthew Miller - 2.8.4.0-1 +- update to 2.8.4.0 +- obsolete compat-wxPythonGTK + +* Sun Apr 15 2007 Matthew Miller - 2.8.3.0-1 +- update to 2.8.3.0 + +* Fri Dec 15 2006 Matthew Miller - 2.8.0.1-1 +- update to 2.8.0.1 +- make buildrequire wxGTK of version-wxpythonsubrelease +- add wxaddons to filelist + +* Mon Dec 11 2006 Matthew Miller - 2.6.3.2-3 +- bump release for rebuild against python 2.5. + +* Mon Aug 28 2006 Matthew Miller - 2.6.3.2-2 +- bump release for FC6 rebuild + +* Thu Apr 13 2006 Matthew Miller - 2.6.3.2-1 +- version 2.6.3.2 +- move wxversion.py _into_ lib64. Apparently that's the right thing to do. :) +- upstream tarball no longer includes embedded.o (since I finally got around + to pointing that out to the developers instead of just kludging it away.) +- buildrequires to just libGLU-devel instead of mesa-libGL-devel + +* Fri Mar 31 2006 Matthew Miller - 2.6.3.0-4 +- grr. bump relnumber. + +* Fri Mar 31 2006 Matthew Miller - 2.6.3.0-3 +- oh yeah -- wxversion.py not lib64. + +* Fri Mar 31 2006 Matthew Miller - 2.6.3.0-2 +- buildrequires mesa-libGLU-devel + +* Thu Mar 30 2006 Matthew Miller - 2.6.3.0-1 +- update to 2.6.3.0 +- wxGTK and wxPython versions are inexorably linked; make BuildRequires + be exact, rather than >=. +- make devel subpackage as per comment #7 in bug #163440. + +* Thu Nov 24 2005 Matthew Miller - 2.6.1.0-1 +- update to 2.6.0.0 +- merge in changes from current extras 2.4.x package +- Happy Thanksgiving +- build animate extention again -- works now. + +* Thu Apr 28 2005 Matthew Miller - 2.6.0.0-bu45.1 +- get rid of accidental binaries in source tarball -- they generates + spurious dependencies and serve no purpose +- update to 2.6.0.0 and build for Velouria +- switch to Fedora Extras base spec file +- enable gtk2 and unicode and all the code stuff (as FE does) +- disable BUILD_ANIMATE extension from contrib -- doesn't build +- files are in a different location now -- adjust to that +- zap include files (needed only for building wxPython 3rd-party modules), + because I don't think this is likely to be very useful. Other option + would be to create a -devel package, but I think that'd be confusing. + +* Tue Feb 08 2005 Thorsten Leemhuis 0:2.4.2.4-4 +- remove included disutils - it is not multilib aware; this + fixes build on x86_64 + +* Tue Jan 06 2004 Panu Matilainen 0:2.4.2.4-0.fdr.3 +- rename package to wxPythonGTK2, provide wxPython (see bug 927) +- dont ship binaries in /usr/share + +* Thu Nov 20 2003 Panu Matilainen 0:2.4.2.4-0.fdr.2 +- add missing buildrequires: python-devel, wxGTK2-gl + +* Sun Nov 02 2003 Panu Matilainen 0:2.4.2.4-0.fdr.1 +- Initial RPM release. +~