summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViorel Munteanu <ceamac@gentoo.org>2024-01-28 12:36:30 +0200
committerViorel Munteanu <ceamac@gentoo.org>2024-01-28 12:44:44 +0200
commit449534eed20b415faf59d70b13724a60c8f5e847 (patch)
tree8d6d1e14396b30ec7c4bd3f55ef2fe0bb02db864 /app-emulation/virtualbox/files/virtualbox-7.0.14-libxml2-2.12.patch
parentdev-libs/tree-sitter: drop 0.20.6, 0.20.7 (diff)
downloadgentoo-449534eed20b415faf59d70b13724a60c8f5e847.tar.gz
gentoo-449534eed20b415faf59d70b13724a60c8f5e847.tar.bz2
gentoo-449534eed20b415faf59d70b13724a60c8f5e847.zip
app-emulation/virtualbox: fix building with dev-libs/libxml2-2.12
Closes: https://bugs.gentoo.org/922445 Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
Diffstat (limited to 'app-emulation/virtualbox/files/virtualbox-7.0.14-libxml2-2.12.patch')
-rw-r--r--app-emulation/virtualbox/files/virtualbox-7.0.14-libxml2-2.12.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/app-emulation/virtualbox/files/virtualbox-7.0.14-libxml2-2.12.patch b/app-emulation/virtualbox/files/virtualbox-7.0.14-libxml2-2.12.patch
new file mode 100644
index 000000000000..a523bad41a30
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-7.0.14-libxml2-2.12.patch
@@ -0,0 +1,43 @@
+Bug: https://bugs.gentoo.org/922445
+
+The change in libxml2 is not backwards compatibe.
+A patch like the one in arch does not work with 2.11, so just cast the argument to maintain compatibility with both.
+
+The upstream change is in include/libxml/xmlerror.h:
+
+ typedef xmlError *xmlErrorPtr;
+
+-typedef void (*xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error);
++typedef void (*xmlStructuredErrorFunc) (void *userData, const xmlError *error);
+
+See also: https://gitlab.archlinux.org/archlinux/packaging/packages/virtualbox/-/blob/main/019-libxml-2-12.patch?ref_type=heads
+
+--- a/src/VBox/Runtime/r3/xml.cpp
++++ b/src/VBox/Runtime/r3/xml.cpp
+@@ -1870,7 +1870,7 @@
+ throw std::bad_alloc();
+ /* per-thread so it must be here */
+ xmlSetGenericErrorFunc(NULL, xmlParserBaseGenericError);
+- xmlSetStructuredErrorFunc(NULL, xmlParserBaseStructuredError);
++ xmlSetStructuredErrorFunc(NULL, (xmlStructuredErrorFunc)xmlParserBaseStructuredError);
+ }
+
+ XmlParserBase::~XmlParserBase()
+@@ -1931,7 +1931,7 @@
+ pcszFilename,
+ NULL, // encoding = auto
+ options)))
+- throw XmlError(xmlCtxtGetLastError(m_ctxt));
++ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt));
+
+ doc.refreshInternals();
+ }
+@@ -2191,7 +2191,7 @@
+ pcszFilename,
+ NULL, // encoding = auto
+ options)))
+- throw XmlError(xmlCtxtGetLastError(m_ctxt));
++ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt));
+
+ doc.refreshInternals();
+ }