commit:     449534eed20b415faf59d70b13724a60c8f5e847
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 28 10:36:30 2024 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Sun Jan 28 10:44:44 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=449534ee

app-emulation/virtualbox: fix building with dev-libs/libxml2-2.12

Closes: https://bugs.gentoo.org/922445
Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 .../files/virtualbox-7.0.14-libxml2-2.12.patch     | 43 ++++++++++++++++++++++
 ....1.48-r1.ebuild => virtualbox-6.1.48-r2.ebuild} |  5 ++-
 ....1.50-r1.ebuild => virtualbox-6.1.50-r2.ebuild} |  5 ++-
 ....0.12-r1.ebuild => virtualbox-7.0.12-r2.ebuild} |  5 ++-
 ....0.14-r1.ebuild => virtualbox-7.0.14-r2.ebuild} |  5 ++-
 5 files changed, 55 insertions(+), 8 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();
+ }

diff --git a/app-emulation/virtualbox/virtualbox-6.1.48-r1.ebuild 
b/app-emulation/virtualbox/virtualbox-6.1.48-r2.ebuild
similarity index 99%
rename from app-emulation/virtualbox/virtualbox-6.1.48-r1.ebuild
rename to app-emulation/virtualbox/virtualbox-6.1.48-r2.ebuild
index 87034f0a749c..73aee19fe61f 100644
--- a/app-emulation/virtualbox/virtualbox-6.1.48-r1.ebuild
+++ b/app-emulation/virtualbox/virtualbox-6.1.48-r2.ebuild
@@ -36,14 +36,13 @@ IUSE="alsa debug doc dtrace headless java lvm +opus pam 
pax-kernel pch pulseaudi
 
 unset WATCOM #856769
 
-# <libxml2-2.12.0: bug #922445
 COMMON_DEPEND="
        ${PYTHON_DEPS}
        acct-group/vboxusers
        ~app-emulation/virtualbox-modules-${PV}
        >=dev-libs/libxslt-1.1.19
        net-misc/curl
-       <dev-libs/libxml2-2.12.0
+       dev-libs/libxml2
        media-libs/libpng:0=
        media-libs/libvpx:0=
        sys-libs/zlib:=
@@ -181,6 +180,8 @@ PATCHES=(
 
        # 906309
        "${FILESDIR}"/${PN}-6.1.44-fix-libxml2.patch
+       # 922445
+       "${FILESDIR}"/${PN}-7.0.14-libxml2-2.12.patch
 
        # Downloaded patchset
        "${WORKDIR}"/virtualbox-patches-6.1.36/patches

diff --git a/app-emulation/virtualbox/virtualbox-6.1.50-r1.ebuild 
b/app-emulation/virtualbox/virtualbox-6.1.50-r2.ebuild
similarity index 99%
rename from app-emulation/virtualbox/virtualbox-6.1.50-r1.ebuild
rename to app-emulation/virtualbox/virtualbox-6.1.50-r2.ebuild
index 313402ffc61d..61d748604580 100644
--- a/app-emulation/virtualbox/virtualbox-6.1.50-r1.ebuild
+++ b/app-emulation/virtualbox/virtualbox-6.1.50-r2.ebuild
@@ -36,14 +36,13 @@ IUSE="alsa debug doc dtrace headless java lvm +opus pam 
pax-kernel pch pulseaudi
 
 unset WATCOM #856769
 
-# <libxml2-2.12.0: bug #922445
 COMMON_DEPEND="
        ${PYTHON_DEPS}
        acct-group/vboxusers
        ~app-emulation/virtualbox-modules-${PV}
        >=dev-libs/libxslt-1.1.19
        net-misc/curl
-       <dev-libs/libxml2-2.12.0
+       dev-libs/libxml2
        media-libs/libpng:0=
        media-libs/libvpx:0=
        sys-libs/zlib:=
@@ -181,6 +180,8 @@ PATCHES=(
 
        # 906309
        "${FILESDIR}"/${PN}-6.1.44-fix-libxml2.patch
+       # 922445
+       "${FILESDIR}"/${PN}-7.0.14-libxml2-2.12.patch
 
        # Downloaded patchset
        "${WORKDIR}"/virtualbox-patches-6.1.36/patches

diff --git a/app-emulation/virtualbox/virtualbox-7.0.12-r1.ebuild 
b/app-emulation/virtualbox/virtualbox-7.0.12-r2.ebuild
similarity index 99%
rename from app-emulation/virtualbox/virtualbox-7.0.12-r1.ebuild
rename to app-emulation/virtualbox/virtualbox-7.0.12-r2.ebuild
index f407a63b7d9a..2a2956c15e0b 100644
--- a/app-emulation/virtualbox/virtualbox-7.0.12-r1.ebuild
+++ b/app-emulation/virtualbox/virtualbox-7.0.12-r2.ebuild
@@ -39,13 +39,12 @@ IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch 
pulseaudio +opengl py
 
 unset WATCOM #856769
 
-# <libxml2-2.12.0: bug #922445
 COMMON_DEPEND="
        ${PYTHON_DEPS}
        acct-group/vboxusers
        ~app-emulation/virtualbox-modules-${PV}
        dev-libs/libtpms
-       <dev-libs/libxml2-2.12.0
+       dev-libs/libxml2
        dev-libs/openssl:0=
        media-libs/libpng:0=
        media-libs/libvpx:0=
@@ -209,6 +208,8 @@ PATCHES=(
        "${FILESDIR}"/${PN}-7.0.6-fix-libxml2.patch
        # 913109
        "${FILESDIR}"/${PN}-7.0.10-fix-binutils-hardened.patch
+       # 922445
+       "${FILESDIR}"/${PN}-7.0.14-libxml2-2.12.patch
 
        # Downloaded patchset
        "${WORKDIR}"/virtualbox-patches-7.0.8/patches

diff --git a/app-emulation/virtualbox/virtualbox-7.0.14-r1.ebuild 
b/app-emulation/virtualbox/virtualbox-7.0.14-r2.ebuild
similarity index 99%
rename from app-emulation/virtualbox/virtualbox-7.0.14-r1.ebuild
rename to app-emulation/virtualbox/virtualbox-7.0.14-r2.ebuild
index 1709f2f3716f..202adf9284a7 100644
--- a/app-emulation/virtualbox/virtualbox-7.0.14-r1.ebuild
+++ b/app-emulation/virtualbox/virtualbox-7.0.14-r2.ebuild
@@ -39,13 +39,12 @@ IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch 
pulseaudio +opengl py
 
 unset WATCOM #856769
 
-# <libxml2-2.12.0: bug #922445
 COMMON_DEPEND="
        ${PYTHON_DEPS}
        acct-group/vboxusers
        ~app-emulation/virtualbox-modules-${PV}
        dev-libs/libtpms
-       <dev-libs/libxml2-2.12.0
+       dev-libs/libxml2
        dev-libs/openssl:0=
        media-libs/libpng:0=
        media-libs/libvpx:0=
@@ -209,6 +208,8 @@ PATCHES=(
        "${FILESDIR}"/${PN}-7.0.6-fix-libxml2.patch
        # 913109
        "${FILESDIR}"/${PN}-7.0.10-fix-binutils-hardened.patch
+       # 922445
+       "${FILESDIR}"/${PN}-7.0.14-libxml2-2.12.patch
 
        # Downloaded patchset
        "${WORKDIR}"/virtualbox-patches-7.0.8/patches

Reply via email to