summaryrefslogtreecommitdiff
path: root/dev-python/wxpython/files
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/wxpython/files')
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch46
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-x86-time.patch34
2 files changed, 80 insertions, 0 deletions
diff --git a/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch b/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch
new file mode 100644
index 000000000000..7baf5708b8ff
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch
@@ -0,0 +1,46 @@
+https://bugs.gentoo.org/934482
+https://github.com/wxWidgets/Phoenix/commit/6a049ccc0ad96f25c3f7d8540b218ffe8921d8c5
+
+From 6a049ccc0ad96f25c3f7d8540b218ffe8921d8c5 Mon Sep 17 00:00:00 2001
+From: Scott Talbert <swt@techie.net>
+Date: Tue, 5 Dec 2023 23:42:21 -0500
+Subject: [PATCH] Support building with Doxygen 1.9.7
+
+Doxygen 1.9.7 made some changes whereby some method definitions are now
+defined in separate XML files, with a "refid" that links to them. In
+order to support this, we need to follow these "refids" to pick up the
+method definition from the separate group XML files.
+--- a/etgtools/extractors.py
++++ b/etgtools/extractors.py
+@@ -62,6 +62,8 @@ def extract(self, element):
+ # class. Should be overridden in derived classes to get what each one
+ # needs in addition to the base.
+ self.name = element.find(self.nameTag).text
++ if self.name is None:
++ self.name = ''
+ if '::' in self.name:
+ loc = self.name.rfind('::')
+ self.name = self.name[loc+2:]
+@@ -1574,12 +1576,21 @@ def addElement(self, element):
+ extractingMsg(kind, element)
+ for node in element.findall('sectiondef/memberdef'):
+ self.addElement(node)
++ for node in element.findall('sectiondef/member'):
++ node = self.resolveRefid(node)
++ self.addElement(node)
+
+ else:
+ raise ExtractorError('Unknown module item kind: %s' % kind)
+
+ return item
+
++ def resolveRefid(self, node):
++ from etgtools import XMLSRC
++ refid = node.get('refid')
++ fname = os.path.join(XMLSRC, refid.rsplit('_', 1)[0]) + '.xml'
++ root = et.parse(fname).getroot()
++ return root.find(".//memberdef[@id='{}']".format(refid))
+
+
+ def addCppFunction(self, type, name, argsString, body, doc=None, **kw):
+
diff --git a/dev-python/wxpython/files/wxpython-4.2.1-x86-time.patch b/dev-python/wxpython/files/wxpython-4.2.1-x86-time.patch
new file mode 100644
index 000000000000..ea144419833e
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.1-x86-time.patch
@@ -0,0 +1,34 @@
+https://bugs.gentoo.org/922328
+https://github.com/wxWidgets/Phoenix/issues/1910
+https://github.com/wxWidgets/Phoenix/issues/2197 (specifically https://github.com/wxWidgets/Phoenix/issues/2197#issuecomment-1169378156)
+https://github.com/StefanBruens/Phoenix/commit/8b743981d557d0465ba53e938784be94f4679145 but w/ s/SIP_SSIZE_T/long
+i.e. a revert of https://github.com/wxWidgets/Phoenix/commit/c78823549bac1b28d99a1ad6dc1008485a2afb33.
+
+From 8b743981d557d0465ba53e938784be94f4679145 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
+Date: Tue, 28 Jun 2022 18:32:32 +0200
+Subject: [PATCH] Fix time_t ETG typedef, extend DateTime.FromTimeT tests
+
+Before c78823549bac ("Ensure time_t is treated as a 64-bit value by SIP")
+the typedef used "long" instead of wxInt64, which caused issues on Win64,
+as long is 32bit there (LLP64). On the other hand, wxInt64 is wrong on
+32 bit Linux (e.g. armv7, i586), and thus the code crashes.
+
+As SIP_SSIZE_T is 64 bit for both LLP64 (Windows) and LP64 (Linux), but
+32 bit on 32bit archs, it matches time_t better (though, according to the
+C standard, it could even be a double).
+
+Fixes #2197.
+ etg/defs.py | 2 +-
+
+--- a/etg/defs.py
++++ b/etg/defs.py
+@@ -73,7 +73,7 @@ def run():
+ td = module.find('wxUIntPtr')
+ module.insertItemAfter(td, etgtools.TypedefDef(type='wchar_t', name='wxUChar'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='wchar_t', name='wxChar'))
+- module.insertItemAfter(td, etgtools.TypedefDef(type='wxInt64', name='time_t'))
++ module.insertItemAfter(td, etgtools.TypedefDef(type='long', name='time_t'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='long long', name='wxFileOffset'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='SIP_SSIZE_T', name='ssize_t'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='unsigned char', name='byte', pyInt=True))