summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViorel Munteanu <ceamac@gentoo.org>2024-04-19 10:00:02 +0300
committerViorel Munteanu <ceamac@gentoo.org>2024-04-19 10:00:02 +0300
commitb9b44ce66013e1b517cff46a01fc6b2ec0a194c0 (patch)
treef79ad35defc1f78815a04dd07a6b18d076a696ee
parentUpdate patchset for current live version (diff)
downloadvirtualbox-patches-b9b44ce66013e1b517cff46a01fc6b2ec0a194c0.tar.gz
virtualbox-patches-b9b44ce66013e1b517cff46a01fc6b2ec0a194c0.tar.bz2
virtualbox-patches-b9b44ce66013e1b517cff46a01fc6b2ec0a194c0.zip
Backport libxml2 patch from 7.0.16 to livev7.1.0_pre20240419
Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
-rw-r--r--patches/021_virtualbox-7.0.14-libxml2-2.12.patch43
-rw-r--r--patches/021_virtualbox-7.0.16-libxml2-2.12.5.patch33
2 files changed, 33 insertions, 43 deletions
diff --git a/patches/021_virtualbox-7.0.14-libxml2-2.12.patch b/patches/021_virtualbox-7.0.14-libxml2-2.12.patch
deleted file mode 100644
index a523bad..0000000
--- a/patches/021_virtualbox-7.0.14-libxml2-2.12.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-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();
- }
diff --git a/patches/021_virtualbox-7.0.16-libxml2-2.12.5.patch b/patches/021_virtualbox-7.0.16-libxml2-2.12.5.patch
new file mode 100644
index 0000000..2ef7557
--- /dev/null
+++ b/patches/021_virtualbox-7.0.16-libxml2-2.12.5.patch
@@ -0,0 +1,33 @@
+Bug: https://bugs.gentoo.org/922445
+
+The change in libxml2 is not backwards compatibe.
+
+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);
+
+Upstream fixed it for dev-libs/libxml2-2.12.6, but we need the fix for 2.12.5 as well.
+
+--- a/src/VBox/Runtime/r3/xml.cpp
++++ b/src/VBox/Runtime/r3/xml.cpp
+@@ -1856,7 +1856,7 @@
+ va_end(args);
+ }
+
+-#if LIBXML_VERSION >= 21206
++#if LIBXML_VERSION >= 21205
+ static void xmlStructuredErrorFunc(void *userData, const xmlError *error) RT_NOTHROW_DEF
+ {
+ NOREF(userData);
+@@ -1878,7 +1878,7 @@
+ throw std::bad_alloc();
+ /* per-thread so it must be here */
+ xmlSetGenericErrorFunc(NULL, xmlParserBaseGenericError);
+-#if LIBXML_VERSION >= 21206
++#if LIBXML_VERSION >= 21205
+ xmlSetStructuredErrorFunc(NULL, xmlStructuredErrorFunc);
+ #else
+ xmlSetStructuredErrorFunc(NULL, xmlParserBaseStructuredError);