wxPython4: rebuild for Python 3.11

This commit is contained in:
Andrew J. Hesford 2022-09-19 21:08:44 -04:00
parent c3a9d14118
commit 634664ec69
2 changed files with 24 additions and 16 deletions

View file

@ -1,8 +1,7 @@
Index: wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
===================================================================
--- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py --- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py +++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
@@ -146,7 +146,7 @@ class ConfigSet(object): @@ -146,7 +146,7 @@
Utils.writef(filename,''.join(buf)) Utils.writef(filename,''.join(buf))
def load(self,filename): def load(self,filename):
tbl=self.table tbl=self.table
@ -11,11 +10,10 @@ Index: wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
for m in re_imp.finditer(code): for m in re_imp.finditer(code):
g=m.group g=m.group
tbl[g(2)]=eval(g(3)) tbl[g(2)]=eval(g(3))
Index: wxPython-4.0.7/bin/.waf3/waflib/Context.py diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
===================================================================
--- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py --- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py +++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
@@ -106,7 +106,7 @@ class Context(ctx): @@ -106,7 +106,7 @@
cache[node]=True cache[node]=True
self.pre_recurse(node) self.pre_recurse(node)
try: try:
@ -24,7 +22,7 @@ Index: wxPython-4.0.7/bin/.waf3/waflib/Context.py
exec(compile(function_code,node.abspath(),'exec'),self.exec_dict) exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
finally: finally:
self.post_recurse(node) self.post_recurse(node)
@@ -346,7 +346,7 @@ def load_module(path,encoding=None): @@ -346,7 +346,7 @@
pass pass
module=imp.new_module(WSCRIPT_FILE) module=imp.new_module(WSCRIPT_FILE)
try: try:
@ -33,11 +31,22 @@ Index: wxPython-4.0.7/bin/.waf3/waflib/Context.py
except EnvironmentError: except EnvironmentError:
raise Errors.WafError('Could not read the file %r'%path) raise Errors.WafError('Could not read the file %r'%path)
module_dir=os.path.dirname(path) module_dir=os.path.dirname(path)
Index: wxPython-4.0.7/sip/siplib/sip.h diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
=================================================================== --- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
@@ -207,7 +207,7 @@
x='MACOSX_DEPLOYMENT_TARGET'
if dct[x]:
env[x]=conf.environ[x]=dct[x]
- env.pyext_PATTERN='%s'+dct['SO']
+ env.pyext_PATTERN='%s.so'
num='.'.join(env.PYTHON_VERSION.split('.')[:2])
conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
if env.PYTHON_CONFIG:
diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
--- wxPython-4.0.7.orig/sip/siplib/sip.h --- wxPython-4.0.7.orig/sip/siplib/sip.h
+++ wxPython-4.0.7/sip/siplib/sip.h +++ wxPython-4.0.7/sip/siplib/sip.h
@@ -1794,7 +1794,7 @@ typedef struct _sipAPIDef { @@ -1794,7 +1794,7 @@
int (*api_get_time)(PyObject *, sipTimeDef *); int (*api_get_time)(PyObject *, sipTimeDef *);
PyObject *(*api_from_time)(const sipTimeDef *); PyObject *(*api_from_time)(const sipTimeDef *);
int (*api_is_user_type)(const sipWrapperType *); int (*api_is_user_type)(const sipWrapperType *);
@ -46,11 +55,10 @@ Index: wxPython-4.0.7/sip/siplib/sip.h
int (*api_check_plugin_for_type)(const sipTypeDef *, const char *); int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **); PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
void (*api_unicode_write)(int, void *, int, unsigned); void (*api_unicode_write)(int, void *, int, unsigned);
Index: wxPython-4.0.7/sip/siplib/siplib.c diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
===================================================================
--- wxPython-4.0.7.orig/sip/siplib/siplib.c --- wxPython-4.0.7.orig/sip/siplib/siplib.c
+++ wxPython-4.0.7/sip/siplib/siplib.c +++ wxPython-4.0.7/sip/siplib/siplib.c
@@ -439,7 +439,7 @@ static PyObject *sip_api_from_datetime(c @@ -439,7 +439,7 @@
static int sip_api_get_time(PyObject *obj, sipTimeDef *time); static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
static PyObject *sip_api_from_time(const sipTimeDef *time); static PyObject *sip_api_from_time(const sipTimeDef *time);
static int sip_api_is_user_type(const sipWrapperType *wt); static int sip_api_is_user_type(const sipWrapperType *wt);
@ -59,7 +67,7 @@ Index: wxPython-4.0.7/sip/siplib/siplib.c
static int sip_api_check_plugin_for_type(const sipTypeDef *td, static int sip_api_check_plugin_for_type(const sipTypeDef *td,
const char *name); const char *name);
static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar, static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
@@ -13688,15 +13688,19 @@ static int sip_api_is_user_type(const si @@ -13688,15 +13688,19 @@
/* /*
* Return a frame from the execution stack. * Return a frame from the execution stack.
*/ */

View file

@ -1,7 +1,7 @@
# Template file for 'wxPython4' # Template file for 'wxPython4'
pkgname=wxPython4 pkgname=wxPython4
version=4.0.7 version=4.0.7
revision=5 revision=6
wrksrc="wxPython-${version}" wrksrc="wxPython-${version}"
build_style=python3-module build_style=python3-module
make_build_args="--skip-build" make_build_args="--skip-build"
@ -21,7 +21,7 @@ if [ "$CROSS_BUILD" ]; then
CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include" CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
fi fi
post_extract() { pre_patch() {
# need to patch for Python 3.11, extract them now. # need to patch for Python 3.11, extract them now.
cd bin cd bin
sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf