wxPython: update to 4.2.3.

This commit is contained in:
Andrew J. Hesford 2025-07-28 10:20:34 -04:00
parent e2acd5d860
commit ca32e1b054
7 changed files with 28 additions and 119 deletions

View file

@ -8,8 +8,8 @@ https://git.alpinelinux.org/aports/plain/community/py3-wxpython/no-stacktrace.pa
PyErr_Clear();
Py_BEGIN_ALLOW_THREADS
- sipRes = new ::wxString((sipSelfWasArg ? sipCpp-> ::wxAppTraits::GetAssertStackTrace() : sipCpp->GetAssertStackTrace()));
+ sipRes = new ::wxString("");
- sipRes = new ::wxString((sipSelfWasArg ? sipCpp->::wxAppTraits::GetAssertStackTrace() : sipCpp->GetAssertStackTrace()));
+ sipRes = new ::wxString("");
Py_END_ALLOW_THREADS
if (PyErr_Occurred())

View file

@ -13,10 +13,10 @@ diff --git a/sip/siplib/siplib.c b/sip/siplib/siplib.c
index d4003e9f..a52da595 100644
--- a/sip/siplib/siplib.c
+++ b/sip/siplib/siplib.c
@@ -12597,7 +12597,11 @@ static void *sip_api_get_type_user_data(const sipWrapperType *wt)
*/
static PyObject *sip_api_py_type_dict(const PyTypeObject *py_type)
{
@@ -12592,7 +12592,11 @@
"sipPyTypeDictRef() instead",
1);
+#if PY_VERSION_HEX >= 0x030c0000
+ return PyType_GetDict(py_type);
+#else
@ -25,6 +25,3 @@ index d4003e9f..a52da595 100644
}
--
2.40.1

View file

@ -1,38 +0,0 @@
https://src.fedoraproject.org/rpms/python-wxpython4/c/46eb04f8ac5674968bfa3def439a67a39301024e
From 9540ec1682a0f12e9634a0f087af8b85af45e547 Mon Sep 17 00:00:00 2001
From: Phil Thompson <phil@riverbankcomputing.com>
Date: Mon, 26 Jun 2023 15:04:53 +0200
Subject: [PATCH] sipMalloc() and sipFree() are now implemented using
PyMem_RawMalloc() and PyMem_RawFree() so that they should be safe to call
from functions registered with Py_AtExit().
---
sip/siplib/siplib.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sip/siplib/siplib.c b/sip/siplib/siplib.c
index 95563e5c..d4003e9f 100644
--- a/sip/siplib/siplib.c
+++ b/sip/siplib/siplib.c
@@ -2147,7 +2147,7 @@ void *sip_api_malloc(size_t nbytes)
{
void *mem;
- if ((mem = PyMem_Malloc(nbytes)) == NULL)
+ if ((mem = PyMem_RawMalloc(nbytes)) == NULL)
PyErr_NoMemory();
return mem;
@@ -2159,7 +2159,7 @@ void *sip_api_malloc(size_t nbytes)
*/
void sip_api_free(void *mem)
{
- PyMem_Free(mem);
+ PyMem_RawFree(mem);
}
--
2.40.1

View file

@ -1,57 +0,0 @@
--- a/wx/lib/docview.py
+++ b/wx/lib/docview.py
@@ -1034,7 +1034,7 @@ class DocTemplate(wx.Object):
string will be displayed in the file filter list of Windows file
selectors.
- filter is an appropriate file filter such as \*.txt.
+ filter is an appropriate file filter such as *.txt.
dir is the default directory to use for file selectors.
--- a/wx/lib/layoutf.py
+++ b/wx/lib/layoutf.py
@@ -132,8 +132,8 @@ class Layoutf(wx.LayoutConstraints):
'r': 'wx.Right', 'h': 'wx.Height', 'w': 'wx.Width',
'x': 'wx.CentreX', 'y': 'wx.CentreY' }
- rexp1 = re.compile('^\s*([tlrbhwxy])\s*([!\?\*])\s*(\d*)\s*$')
- rexp2 = re.compile('^\s*([tlrbhwxy])\s*([=%<>^_])\s*([tlrbhwxy]?)\s*(\d*)\s*#(\d+)\s*$')
+ rexp1 = re.compile(r'^\s*([tlrbhwxy])\s*([!\?\*])\s*(\d*)\s*$')
+ rexp2 = re.compile(r'^\s*([tlrbhwxy])\s*([=%<>^_])\s*([tlrbhwxy]?)\s*(\d*)\s*#(\d+)\s*$')
def __init__(self,pstr=None,winlist=None):
wx.LayoutConstraints.__init__(self)
--- a/wx/lib/wxpTag.py
+++ b/wx/lib/wxpTag.py
@@ -45,7 +45,7 @@ The name-value pairs in all the nested P
strings into a python dictionary and passed to the __init__ method of
the class as keyword arguments. This means that they are all
accessible from the __init__ method as regular parameters, or you use
-the special Python \*\*kw syntax in your __init__ method to get the
+the special Python **kw syntax in your __init__ method to get the
dictionary directly.
Some parameter values are special and if they are present then they will
--- a/wx/tools/pywxrc.py
+++ b/wx/tools/pywxrc.py
@@ -521,7 +521,7 @@ class XmlResourceCompiler:
# Generate subclasses
for subclass in subclasses:
windowClass = bases[subclass]
- subclass = re.sub("^\S+\.", "", subclass)
+ subclass = re.sub(r"^\S+\.", "", subclass)
windowClass = re.sub("^wx", "", windowClass)
outputList.append(self.templates.SUBCLASS_HEADER % locals())
outputList.append('\n')
@@ -766,8 +766,8 @@ class XmlResourceCompiler:
\n => \\n
\r => \\r
\t => \\t
- \ => \\
- " => \"
+ \\ => \\\\
+ " => \\"
Returns result as string, which is bytes in py2 or unicode in py3.
"""

View file

@ -0,0 +1,19 @@
Disable attempts by the build script to fetch missing tools.
--- a/build.py
+++ b/build.py
@@ -21,8 +21,12 @@
import re
import shutil
import subprocess
-import requests
-from requests.exceptions import HTTPError
+
+#import requests
+#from requests.exceptions import HTTPError
+requests = None
+HTTPError = None
+
import traceback
from io import BytesIO
import bz2

View file

@ -1,12 +0,0 @@
The only thing preventing use of Cython 3 is an unused, invalid import.
--- a/wx/svg/_nanosvg.pyx
+++ b/wx/svg/_nanosvg.pyx
@@ -42,7 +42,6 @@
import sys
-cimport cython.object
from cpython.buffer cimport (
Py_buffer, PyObject_CheckBuffer, PyObject_GetBuffer, PyBUF_SIMPLE,
PyBuffer_Release)

View file

@ -1,7 +1,7 @@
# Template file for 'wxPython'
pkgname=wxPython
version=4.2.1
revision=6
version=4.2.3
revision=1
build_style=python3-module
make_build_args="--skip-build"
make_install_args="--skip-build"
@ -14,7 +14,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="custom:wxWindows"
homepage="http://www.wxpython.org/"
distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
checksum=20d6e0c927e27ced85643719bd63e9f7fd501df6e9a8aab1489b039897fd7c01
export WXPYTHON_RELEASE=yes
if [ "$CROSS_BUILD" ]; then