summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-06-18 05:48:25 +0100
committerSam James <sam@gentoo.org>2024-06-18 05:48:53 +0100
commite9d357d68f7a77aeff1aa1bee8c69746f5d0515d (patch)
treef7c6b064fc5ae4086896d098ce9fe493d27c6371
parentdev-python/griffe: Bump to 0.46.1 (diff)
downloadgentoo-e9d357d68f7a77aeff1aa1bee8c69746f5d0515d.tar.gz
gentoo-e9d357d68f7a77aeff1aa1bee8c69746f5d0515d.tar.bz2
gentoo-e9d357d68f7a77aeff1aa1bee8c69746f5d0515d.zip
dev-python/wxpython: fix build w/ some doxygen versions
Closes: https://bugs.gentoo.org/934482 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch46
-rw-r--r--dev-python/wxpython/wxpython-4.2.1-r2.ebuild1
2 files changed, 47 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/wxpython-4.2.1-r2.ebuild b/dev-python/wxpython/wxpython-4.2.1-r2.ebuild
index f97c735170b3..2e58fca2a380 100644
--- a/dev-python/wxpython/wxpython-4.2.1-r2.ebuild
+++ b/dev-python/wxpython/wxpython-4.2.1-r2.ebuild
@@ -59,6 +59,7 @@ PATCHES=(
"${FILESDIR}/${PN}-4.2.0-cython-3.patch"
"${FILESDIR}/${PN}-4.2.1-integer-division-for-randint.patch"
"${FILESDIR}/${PN}-4.2.1-x86-time.patch"
+ "${FILESDIR}/${PN}-4.2.1-doxygen-1.9.7.patch"
)
python_prepare_all() {