From 634664ec69b6c439487af70f0fc01f7aec6b5530 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Mon, 19 Sep 2022 21:08:44 -0400 Subject: [PATCH] wxPython4: rebuild for Python 3.11 --- srcpkgs/wxPython4/patches/python-3.11.patch | 36 +++++++++++++-------- srcpkgs/wxPython4/template | 4 +-- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch index 904a398beda..15496bdecbc 100644 --- a/srcpkgs/wxPython4/patches/python-3.11.patch +++ b/srcpkgs/wxPython4/patches/python-3.11.patch @@ -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/bin/.waf3/waflib/ConfigSet.py -@@ -146,7 +146,7 @@ class ConfigSet(object): +@@ -146,7 +146,7 @@ Utils.writef(filename,''.join(buf)) def load(self,filename): tbl=self.table @@ -11,11 +10,10 @@ Index: wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py for m in re_imp.finditer(code): g=m.group 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/bin/.waf3/waflib/Context.py -@@ -106,7 +106,7 @@ class Context(ctx): +@@ -106,7 +106,7 @@ cache[node]=True self.pre_recurse(node) 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) finally: self.post_recurse(node) -@@ -346,7 +346,7 @@ def load_module(path,encoding=None): +@@ -346,7 +346,7 @@ pass module=imp.new_module(WSCRIPT_FILE) try: @@ -33,11 +31,22 @@ Index: wxPython-4.0.7/bin/.waf3/waflib/Context.py except EnvironmentError: raise Errors.WafError('Could not read the file %r'%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/sip/siplib/sip.h -@@ -1794,7 +1794,7 @@ typedef struct _sipAPIDef { +@@ -1794,7 +1794,7 @@ int (*api_get_time)(PyObject *, sipTimeDef *); PyObject *(*api_from_time)(const sipTimeDef *); 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 *); PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **); 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/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 PyObject *sip_api_from_time(const sipTimeDef *time); 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, const char *name); 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. */ diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython4/template index 6fe82717aca..996e363aa1e 100644 --- a/srcpkgs/wxPython4/template +++ b/srcpkgs/wxPython4/template @@ -1,7 +1,7 @@ # Template file for 'wxPython4' pkgname=wxPython4 version=4.0.7 -revision=5 +revision=6 wrksrc="wxPython-${version}" build_style=python3-module 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" fi -post_extract() { +pre_patch() { # need to patch for Python 3.11, extract them now. cd bin sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf