diff --git a/0001-Fix-conversion-of-variant-list-members.patch b/0001-Fix-conversion-of-variant-list-members.patch deleted file mode 100644 index 0f7751f..0000000 --- a/0001-Fix-conversion-of-variant-list-members.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 0c055a0af876d4f44ebe04ebb744dfc88b2243ad Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Sat, 30 May 2020 02:04:41 +0200 -Subject: [PATCH 1/3] Fix conversion of variant list members - -Item() returns either a Node* or (with wxUSE_STL=1) a -compatibility_iterator. While the former is silently and erroneously -converted to a Variant using the Variant(void*) overload, the STL -flavor fortunately failed. Dereference the Node*/iterator before -passing it to wxVariant_out_helper(const Variant&). ---- - sip/cpp/sip_corewxVariantList.cpp | 2 +- - sip/cpp/sip_propgridwxPGVariantList.cpp | 2 +- - src/pgvariant.sip | 2 +- - src/variant.sip | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/sip/cpp/sip_corewxVariantList.cpp b/sip/cpp/sip_corewxVariantList.cpp -index 0c9f0f4c..fe9be050 100644 ---- a/sip/cpp/sip_corewxVariantList.cpp -+++ b/sip/cpp/sip_corewxVariantList.cpp -@@ -84,7 +84,7 @@ static PyObject *convertFrom_wxVariantList(void *sipCppV, PyObject *) - size_t idx = 0; - PyObject* value = PyList_New(0); - for (idx=0; idx < sipCpp->GetCount(); idx++) { -- PyObject* item = wxVariant_out_helper(sipCpp->Item(idx)); -+ PyObject* item = wxVariant_out_helper(sipCpp->Item(idx)->GetData()); - PyList_Append(value, item); - } - return value; -diff --git a/sip/cpp/sip_propgridwxPGVariantList.cpp b/sip/cpp/sip_propgridwxPGVariantList.cpp -index 2c21df45..ca2d0b65 100644 ---- a/sip/cpp/sip_propgridwxPGVariantList.cpp -+++ b/sip/cpp/sip_propgridwxPGVariantList.cpp -@@ -84,7 +84,7 @@ static PyObject *convertFrom_wxPGVariantList(void *sipCppV, PyObject *) - size_t idx = 0; - PyObject* value = PyList_New(0); - for (idx=0; idx < sipCpp->GetCount(); idx++) { -- PyObject* item = wxPGVariant_out_helper(sipCpp->Item(idx)); -+ PyObject* item = wxPGVariant_out_helper(sipCpp->Item(idx)->GetData()); - PyList_Append(value, item); - } - return value; -diff --git a/src/pgvariant.sip b/src/pgvariant.sip -index 05a2d429..32cd5fe4 100644 ---- a/src/pgvariant.sip -+++ b/src/pgvariant.sip -@@ -182,7 +182,7 @@ PyObject* wxPGVariant_out_helper(const wxVariant& value) - size_t idx = 0; - PyObject* value = PyList_New(0); - for (idx=0; idx < sipCpp->GetCount(); idx++) { -- PyObject* item = wxPGVariant_out_helper(sipCpp->Item(idx)); -+ PyObject* item = wxPGVariant_out_helper(sipCpp->Item(idx)->GetData()); - PyList_Append(value, item); - } - return value; -diff --git a/src/variant.sip b/src/variant.sip -index c4a53eef..9e2572e7 100644 ---- a/src/variant.sip -+++ b/src/variant.sip -@@ -77,7 +77,7 @@ - size_t idx = 0; - PyObject* value = PyList_New(0); - for (idx=0; idx < sipCpp->GetCount(); idx++) { -- PyObject* item = wxVariant_out_helper(sipCpp->Item(idx)); -+ PyObject* item = wxVariant_out_helper(sipCpp->Item(idx)->GetData()); - PyList_Append(value, item); - } - return value; --- -2.26.2 - diff --git a/0001-Fix-wxUIActionSimulator-Text-parameter-documentation.patch b/0001-Fix-wxUIActionSimulator-Text-parameter-documentation.patch deleted file mode 100644 index 63bb543..0000000 --- a/0001-Fix-wxUIActionSimulator-Text-parameter-documentation.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 5b810b129db00a98c84672cd94a4a4be83ba8e69 Mon Sep 17 00:00:00 2001 -From: Vadim Zeitlin -Date: Mon, 1 Jun 2020 17:25:41 +0200 -Subject: [PATCH] Fix wxUIActionSimulator::Text() parameter documentation - -This function explicitly accepts ASCII strings only, so it's limited to -"const char*", but was incorrectly documented as taking wxString. - -Closes https://github.com/wxWidgets/wxWidgets/pull/1879 ---- - ext/wxWidgets/interface/wx/uiaction.h | 4 ++-- - sip/cpp/sip_corewxUIActionSimulator.cpp | 2 +- - sip/gen/uiaction.sip | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/ext/wxWidgets/interface/wx/uiaction.h b/ext/wxWidgets/interface/wx/uiaction.h -index 27b3aaf2..7d4eba52 100644 ---- a/ext/wxWidgets/interface/wx/uiaction.h -+++ b/ext/wxWidgets/interface/wx/uiaction.h -@@ -176,8 +176,8 @@ public: - keyboard layout but may not work with other layouts. - - @param text -- The string to type. -+ The string, containing only US ASCII characters, to type. - */ -- bool Text(const wxString& text); -+ bool Text(const char* text); - }; - -diff --git a/sip/cpp/sip_corewxUIActionSimulator.cpp b/sip/cpp/sip_corewxUIActionSimulator.cpp -index 42bc481a..85a47384 100644 ---- a/sip/cpp/sip_corewxUIActionSimulator.cpp -+++ b/sip/cpp/sip_corewxUIActionSimulator.cpp -@@ -496,7 +496,7 @@ static PyObject *meth_wxUIActionSimulator_Text(PyObject *sipSelf, PyObject *sipA - PyErr_Clear(); - - Py_BEGIN_ALLOW_THREADS -- sipRes = sipCpp->Text(*text); -+ sipRes = sipCpp->Text(text->c_str()); - Py_END_ALLOW_THREADS - sipReleaseType(const_cast< ::wxString *>(text),sipType_wxString,textState); - -diff --git a/sip/gen/uiaction.sip b/sip/gen/uiaction.sip -index 788e2b65..ff27dfa0 100644 ---- a/sip/gen/uiaction.sip -+++ b/sip/gen/uiaction.sip -@@ -129,7 +129,7 @@ public: - %End - - bool Text( -- const wxString & text -+ const char* text - ); - %Docstring - Text(text) -> bool --- -2.27.0 - diff --git a/0003-Use-explicit-wxString-c_str-conversion-for-sipFindTy.patch b/0003-Use-explicit-wxString-c_str-conversion-for-sipFindTy.patch deleted file mode 100644 index fa51bfb..0000000 --- a/0003-Use-explicit-wxString-c_str-conversion-for-sipFindTy.patch +++ /dev/null @@ -1,181 +0,0 @@ -From a88ca321429320675fba92f74d4f88d7e9a1845e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Mon, 1 Jun 2020 04:06:53 +0200 -Subject: [PATCH 3/3] Use explicit wxString::c_str conversion for - sipFindType(const char*) - ---- - etgtools/tweaker_tools.py | 6 +++--- - sip/cpp/sip_corecmodule.cpp | 18 +++++++++--------- - sip/gen/object.sip | 6 +++--- - sip/gen/window.sip | 6 +++--- - src/wxpy_api.sip | 6 +++--- - 5 files changed, 21 insertions(+), 21 deletions(-) - -diff --git a/etgtools/tweaker_tools.py b/etgtools/tweaker_tools.py -index 09c798be..c07fdfa6 100644 ---- a/etgtools/tweaker_tools.py -+++ b/etgtools/tweaker_tools.py -@@ -520,14 +520,14 @@ def addSipConvertToSubClassCode(klass): - %ConvertToSubClassCode - const wxClassInfo* info = sipCpp->GetClassInfo(); - wxString name = info->GetClassName(); -- bool exists = sipFindType(name) != NULL; -+ bool exists = sipFindType(name.c_str()) != NULL; - while (info && !exists) { - info = info->GetBaseClass1(); - name = info->GetClassName(); -- exists = sipFindType(name) != NULL; -+ exists = sipFindType(name.c_str()) != NULL; - } - if (info) -- sipType = sipFindType(name); -+ sipType = sipFindType(name.c_str()); - else - sipType = NULL; - %End -diff --git a/sip/cpp/sip_corecmodule.cpp b/sip/cpp/sip_corecmodule.cpp -index bab2a087..3fcddece 100644 ---- a/sip/cpp/sip_corecmodule.cpp -+++ b/sip/cpp/sip_corecmodule.cpp -@@ -7576,7 +7576,7 @@ static PyObject* i_wxPyConstructObject(void* ptr, - if (pos != wxNOT_FOUND) - name = name.Mid(pos + nsDelimiter.Len()); - -- const sipTypeDef* td = sipFindType(name); -+ const sipTypeDef* td = sipFindType(name.c_str()); - if (!td) - return NULL; - PyObject* transferObj = setThisOwn ? Py_None : NULL; -@@ -7594,7 +7594,7 @@ static bool i_wxPyWrappedPtr_Check(PyObject* obj) - // Check if a PyObject is a specific wrapped class or subclass - static bool i_wxPyWrappedPtr_TypeCheck(PyObject* obj, const wxString& className) - { -- const sipTypeDef* td = sipFindType(className); -+ const sipTypeDef* td = sipFindType(className.c_str()); - if (!td) - return false; - return sipCanConvertToType(obj, td, SIP_NO_CONVERTORS); -@@ -7604,7 +7604,7 @@ static bool i_wxPyWrappedPtr_TypeCheck(PyObject* obj, const wxString& className) - // Convert a wrapped SIP object to its C++ pointer, ensuring that it is of the expected type - static bool i_wxPyConvertWrappedPtr(PyObject* obj, void **ptr, const wxString& className) - { -- const sipTypeDef* td = sipFindType(className); -+ const sipTypeDef* td = sipFindType(className.c_str()); - if (!td) - return false; - if (! sipCanConvertToType(obj, td, SIP_NO_CONVERTORS)) -@@ -16045,14 +16045,14 @@ static const sipTypeDef *sipSubClass_wxObject(void **sipCppRet) - - const wxClassInfo* info = sipCpp->GetClassInfo(); - wxString name = info->GetClassName(); -- bool exists = sipFindType(name) != NULL; -+ bool exists = sipFindType(name.c_str()) != NULL; - while (info && !exists) { - info = info->GetBaseClass1(); - name = info->GetClassName(); -- exists = sipFindType(name) != NULL; -+ exists = sipFindType(name.c_str()) != NULL; - } - if (info) -- sipType = sipFindType(name); -+ sipType = sipFindType(name.c_str()); - else - sipType = NULL; - -@@ -16069,14 +16069,14 @@ static const sipTypeDef *sipSubClass_wxWindow(void **sipCppRet) - - const wxClassInfo* info = sipCpp->GetClassInfo(); - wxString name = info->GetClassName(); -- bool exists = sipFindType(name) != NULL; -+ bool exists = sipFindType(name.c_str()) != NULL; - while (info && !exists) { - info = info->GetBaseClass1(); - name = info->GetClassName(); -- exists = sipFindType(name) != NULL; -+ exists = sipFindType(name.c_str()) != NULL; - } - if (info) -- sipType = sipFindType(name); -+ sipType = sipFindType(name.c_str()); - else - sipType = NULL; - -diff --git a/sip/gen/object.sip b/sip/gen/object.sip -index d94e1243..71d2fe78 100644 ---- a/sip/gen/object.sip -+++ b/sip/gen/object.sip -@@ -189,14 +189,14 @@ public: - %ConvertToSubClassCode - const wxClassInfo* info = sipCpp->GetClassInfo(); - wxString name = info->GetClassName(); -- bool exists = sipFindType(name) != NULL; -+ bool exists = sipFindType(name.c_str()) != NULL; - while (info && !exists) { - info = info->GetBaseClass1(); - name = info->GetClassName(); -- exists = sipFindType(name) != NULL; -+ exists = sipFindType(name.c_str()) != NULL; - } - if (info) -- sipType = sipFindType(name); -+ sipType = sipFindType(name.c_str()); - else - sipType = NULL; - %End -diff --git a/sip/gen/window.sip b/sip/gen/window.sip -index 6ad84464..b29898bb 100644 ---- a/sip/gen/window.sip -+++ b/sip/gen/window.sip -@@ -2932,14 +2932,14 @@ public: - %ConvertToSubClassCode - const wxClassInfo* info = sipCpp->GetClassInfo(); - wxString name = info->GetClassName(); -- bool exists = sipFindType(name) != NULL; -+ bool exists = sipFindType(name.c_str()) != NULL; - while (info && !exists) { - info = info->GetBaseClass1(); - name = info->GetClassName(); -- exists = sipFindType(name) != NULL; -+ exists = sipFindType(name.c_str()) != NULL; - } - if (info) -- sipType = sipFindType(name); -+ sipType = sipFindType(name.c_str()); - else - sipType = NULL; - %End -diff --git a/src/wxpy_api.sip b/src/wxpy_api.sip -index 5e63fc58..ac9c10ad 100644 ---- a/src/wxpy_api.sip -+++ b/src/wxpy_api.sip -@@ -111,7 +111,7 @@ static PyObject* i_wxPyConstructObject(void* ptr, - if (pos != wxNOT_FOUND) - name = name.Mid(pos + nsDelimiter.Len()); - -- const sipTypeDef* td = sipFindType(name); -+ const sipTypeDef* td = sipFindType(name.c_str()); - if (!td) - return NULL; - PyObject* transferObj = setThisOwn ? Py_None : NULL; -@@ -129,7 +129,7 @@ static bool i_wxPyWrappedPtr_Check(PyObject* obj) - // Check if a PyObject is a specific wrapped class or subclass - static bool i_wxPyWrappedPtr_TypeCheck(PyObject* obj, const wxString& className) - { -- const sipTypeDef* td = sipFindType(className); -+ const sipTypeDef* td = sipFindType(className.c_str()); - if (!td) - return false; - return sipCanConvertToType(obj, td, SIP_NO_CONVERTORS); -@@ -139,7 +139,7 @@ static bool i_wxPyWrappedPtr_TypeCheck(PyObject* obj, const wxString& className) - // Convert a wrapped SIP object to its C++ pointer, ensuring that it is of the expected type - static bool i_wxPyConvertWrappedPtr(PyObject* obj, void **ptr, const wxString& className) - { -- const sipTypeDef* td = sipFindType(className); -+ const sipTypeDef* td = sipFindType(className.c_str()); - if (!td) - return false; - if (! sipCanConvertToType(obj, td, SIP_NO_CONVERTORS)) --- -2.26.2 - diff --git a/_constraints b/_constraints index 4988ecd..33c3419 100644 --- a/_constraints +++ b/_constraints @@ -1,7 +1,7 @@ - 10 + 15 diff --git a/python-wxPython.changes b/python-wxPython.changes index a199c4d..75661e0 100644 --- a/python-wxPython.changes +++ b/python-wxPython.changes @@ -1,3 +1,82 @@ +------------------------------------------------------------------- +Fri Jun 11 01:41:18 UTC 2021 - Stanislav Brabec + +- Increase disk space constraint to 15G. + +------------------------------------------------------------------- +Tue Jun 8 17:52:01 UTC 2021 - Antoine Belvire + +- Update to version 4.1.1: + * wxWidgets is now validating the flags passed when adding items + to a sizer, to ensure that they are the correct flags for the + type of the sizer. If the given flags do not make sense, for + example using horizontal alignment flags in a horizontal box + sizer, then a wxAssertionError error is raised. + * Fixed missing binder for wxEVT_STC_AUTOCOMP_SELECTION_CHANGE. + (PR#1613). + * DataViewModel.HasValue can be overridden and will inform the + DataViewCtrl whether or not an item and column has data. If + HasValue returns False, then GetValue for that item/col will + not be called. This allows a distinction between a truly empty + cell, and one that has a value even if it is an empty string. + (PR#1600) + * Added flag that allows blocking of item dragging in the + UltimateListControl class. (PR#1620) + * Add the column index to notification events in + UltimateListControl (PR#1630). + * Added orientation parameter to UltimateListControl.GetScrollPos. + (PR#1632) + * wx.lib.agw.aui.AuiNotebook RemovePage() now hides the removed + page, so it needs to be shown again if it is reused in another + place. (PR#1668) + * Fixed issue that could modify bytes objects under Python. + (PR#1680) + * Added wx.lib.agw.aui.EVT_AUI_PANE_CLOSE event which is sent when + a AUI (the agw version) Pane has been closed (after it has been + closed, not when it is about to be closed, which is when + EVT_AUI_PANE_CLOSE is sent.) (PR#1628) + * Exposed the wx.DC methods GetGraphicsContext and + SetGraphicsContext. Depending on the platform and the type of + the DC, there may be a wx.GraphicsContext used for the + implementation of the DC. If so, the GetGraphicsContext method + enables access to it. Be sure to check that the return value is + not None before trying to use it. + * Simplified the implementation of the wx.App.InitLocale method. + See the MigrationGuide for more information. + * Added wx.lib.agw.aui.AUI_DOCKART_HINT_WINDOW_BORDER_COLOUR + constant so the hint window border color can be themed as well. + * The wx.lib.mixins.listCtrl.CheckListCtrlMixin is now obsolete + because wx.ListCtrl has new functionality which does pretty much + the same thing. In fact there is some overlap in method names + which may trip up some use cases. It is advised to drop the use + of CheckListCtrlMixin and just use the wx.ListBox functionality. + You will need to call EnableCheckBoxes to turn it on, and you + may need to change some event handlers or overloaded methods. + * wx.html2.WebView is now able to use Microsoft's Edge browser + component as its backend renderer. This should improve the + capabilities of the WebView widget on Windows, and be more + consistent with the WebViews on the other platforms, compared to + the original IE 11 backend. Using this backed requires that a + new-ish version of the Edge browser is installed on the end + user's computer. + * Added the wx.Image.ConvertToRegion method. This lets you create + a wx.Region from an image and a specified color or the mask if + the image has one. This was done to workaround a bug in wxMac, + but it seems worthwhile enough to keep it around even after the + bug was fixed. + * Added the missing context manager methods for wx.LogNull. + (PR#1842) + * Refactored ScrolledThumbnail out of agw.ThumbnailCtrl so as to + be usable outside of ThumbnailCtrl. +- Add wxPython-4.1.1-fix-overrides.patch: Fix build with wxWidgets + 3.1.5 (gh#wxWidgets/Phoenix#1909). +- Remove patches merged upstream: + * 0001-Fix-conversion-of-variant-list-members.patch + * 0001-Fix-wxUIActionSimulator-Text-parameter-documentation.patch + * 0003-Use-explicit-wxString-c_str-conversion-for-sipFindTy.patch +- Increase required disk space to 15GB: Fix build failures due to + disk space exhaustion. + ------------------------------------------------------------------- Wed Mar 31 01:32:34 UTC 2021 - Steve Kowalik diff --git a/python-wxPython.spec b/python-wxPython.spec index 6159c9f..e686764 100644 --- a/python-wxPython.spec +++ b/python-wxPython.spec @@ -32,7 +32,7 @@ %define skip_python36 1 %endif Name: python-wxPython -Version: 4.1.0 +Version: 4.1.1 Release: 0 Summary: The "Phoenix" variant of the wxWidgets Python bindings License: GPL-2.0-or-later @@ -44,12 +44,8 @@ Source1: python-wxPython-rpmlintrc Patch0: fix_no_return_in_nonvoid.patch # PATCH-FIX-OPENSUSE Patch1: use_stl_build.patch -# PATCH-FIX-UPSTREAM -- patch for bundled wxWidgets -Patch2: 0001-Fix-conversion-of-variant-list-members.patch -# PATCH-FIX-UPSTREAM -Patch3: 0001-Fix-wxUIActionSimulator-Text-parameter-documentation.patch -# PATCH-FIX-UPSTREAM -Patch4: 0003-Use-explicit-wxString-c_str-conversion-for-sipFindTy.patch +# PATCH-FIX-UPSTREAM wxPython-4.1.1-fix-overrides.patch -- Fix build with wxWidgets 3.1.5 (gh#wxWidgets/Phoenix#1909) +Patch2: wxPython-4.1.1-fix-overrides.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module requests} BuildRequires: %{python_module setuptools} diff --git a/wxPython-4.1.0.tar.gz b/wxPython-4.1.0.tar.gz deleted file mode 100644 index ae8be94..0000000 --- a/wxPython-4.1.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2e2475cb755ac8d93d2f9335c39c060b4d17ecb5d4e0e86626d1e2834b64a48b -size 65752038 diff --git a/wxPython-4.1.1-fix-overrides.patch b/wxPython-4.1.1-fix-overrides.patch new file mode 100644 index 0000000..99cfd49 --- /dev/null +++ b/wxPython-4.1.1-fix-overrides.patch @@ -0,0 +1,13 @@ +--- wxPython-4.1.1.orig/sip/cpp/sip_gridwxGridEvent.cpp 2020-11-21 20:10:38.000000000 +0100 ++++ wxPython-4.1.1/sip/cpp/sip_gridwxGridEvent.cpp 2021-05-16 03:21:55.031555889 +0200 +@@ -32,8 +32,8 @@ + * this class. + */ + protected: +- int GetRow() SIP_OVERRIDE; +- int GetCol() SIP_OVERRIDE; ++ int GetRow(); ++ int GetCol(); + ::wxEvent* Clone() const SIP_OVERRIDE; + ::wxEventCategory GetEventCategory() const SIP_OVERRIDE; + diff --git a/wxPython-4.1.1.tar.gz b/wxPython-4.1.1.tar.gz new file mode 100644 index 0000000..d0be1fd --- /dev/null +++ b/wxPython-4.1.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00e5e3180ac7f2852f342ad341d57c44e7e4326de0b550b9a5c4a8361b6c3528 +size 66043287