From e9d357d68f7a77aeff1aa1bee8c69746f5d0515d Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 18 Jun 2024 05:48:25 +0100 Subject: dev-python/wxpython: fix build w/ some doxygen versions Closes: https://bugs.gentoo.org/934482 Signed-off-by: Sam James --- .../files/wxpython-4.2.1-doxygen-1.9.7.patch | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch (limited to 'dev-python/wxpython/files') 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 +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): + -- cgit v1.2.3-65-gdbad