diff options
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.patch | 43 |
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(); + } |