commit:     9f7b9fb31d387ec7783abba052b8e2d35fe75dad
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 29 13:28:29 2015 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Tue Sep 29 13:29:05 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f7b9fb3

app-emulation/virtualbox: Added x86 buildfix patches (bug #561758).

Package-Manager: portage-2.2.22
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 .../files/virtualbox-5.0.4-x86_buildfix_1.patch         | 17 +++++++++++++++++
 .../files/virtualbox-5.0.4-x86_buildfix_2.patch         | 12 ++++++++++++
 app-emulation/virtualbox/virtualbox-5.0.4.ebuild        |  3 +++
 3 files changed, 32 insertions(+)

diff --git 
a/app-emulation/virtualbox/files/virtualbox-5.0.4-x86_buildfix_1.patch 
b/app-emulation/virtualbox/files/virtualbox-5.0.4-x86_buildfix_1.patch
new file mode 100644
index 0000000..3e5b5a5
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-5.0.4-x86_buildfix_1.patch
@@ -0,0 +1,17 @@
+fix VirtualBox-5.0.4/src/VBox/ExtPacks/VNC/VBoxVNC.cpp:339:30: error: invalid 
conversion from 'rfbNewClientAction (__attribute__((regparm(0), cdecl)) 
*)(rfbClientPtr) {aka rfbNewClientAction (__attribute__((regparm(0), cdecl)) 
*)(_rfbClientRec*)}' to 'rfbNewClientHookPtr {aka rfbNewClientAction 
(*)(_rfbClientRec*)}' [-fpermissive]
+error for 32-bit build
+
+See:
+https://www.virtualbox.org/ticket/14564
+
+--- VirtualBox-5.0.4/src/VBox/ExtPacks/VNC/VBoxVNC.cpp
++++ VirtualBox-5.0.4/src/VBox/ExtPacks/VNC/VBoxVNC.cpp
+@@ -104,6 +104,6 @@
+     unsigned char *mFrameBuffer;
+     uint32_t uClients;
+-    static DECLCALLBACK(enum rfbNewClientAction) 
rfbNewClientEvent(rfbClientPtr cl);
+-    static DECLCALLBACK(void) vncMouseEvent(int buttonMask, int x, int y, 
rfbClientPtr cl);
++    static enum rfbNewClientAction rfbNewClientEvent(rfbClientPtr cl);
++    static void vncMouseEvent(int buttonMask, int x, int y, rfbClientPtr cl);
+     static void vncKeyboardEvent(rfbBool down, rfbKeySym keySym, rfbClientPtr 
cl);
+     static void clientGoneHook(rfbClientPtr cl);

diff --git 
a/app-emulation/virtualbox/files/virtualbox-5.0.4-x86_buildfix_2.patch 
b/app-emulation/virtualbox/files/virtualbox-5.0.4-x86_buildfix_2.patch
new file mode 100644
index 0000000..191862e
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-5.0.4-x86_buildfix_2.patch
@@ -0,0 +1,12 @@
+fix 
VirtualBox-5.0.4/src/VBox/Additions/linux/lightdm-greeter/vbox-greeter.cpp:929:64:
 error: invalid conversion from 'void (*)(PRTLOGGER, RTLOGPHASE, 
PFNRTLOGPHASEMSG) {aka void (*)(RTLOGGER*, RTLOGPHASE, void 
(__attribute__((regparm(0), cdecl)) *)(RTLOGGER*, const char*, ...))}' to 
'PFNRTLOGPHASE {aka void (__attribute__((regparm(0), cdecl)) *)(RTLOGGER*, 
RTLOGPHASE, void (__attribute__((regparm(0), cdecl)) *)(RTLOGGER*, const char*, 
...))}' [-fpermissive]
+for 32-bit build
+
+--- VirtualBox-5.0.4/src/VBox/Additions/linux/lightdm-greeter/vbox-greeter.cpp
++++ VirtualBox-5.0.4/src/VBox/Additions/linux/lightdm-greeter/vbox-greeter.cpp
+@@ -843,5 +843,5 @@
+  * @param   pfnLog
+  */
+-static void vboxGreeterLogHeaderFooter(PRTLOGGER pLoggerRelease, RTLOGPHASE 
enmPhase, PFNRTLOGPHASEMSG pfnLog)
++static DECLCALLBACK(void) vboxGreeterLogHeaderFooter(PRTLOGGER 
pLoggerRelease, RTLOGPHASE enmPhase, PFNRTLOGPHASEMSG pfnLog)
+ {
+     /* Some introductory information. */

diff --git a/app-emulation/virtualbox/virtualbox-5.0.4.ebuild 
b/app-emulation/virtualbox/virtualbox-5.0.4.ebuild
index b10c461..3151d9e 100644
--- a/app-emulation/virtualbox/virtualbox-5.0.4.ebuild
+++ b/app-emulation/virtualbox/virtualbox-5.0.4.ebuild
@@ -174,6 +174,9 @@ src_prepare() {
        EPATCH_FORCE="yes" \
        epatch "${WORKDIR}/patches"
 
+       # x86 build fixes (#561758)
+       epatch "${FILESDIR}"/${P}-x86_buildfix_{1,2}.patch
+
        epatch_user
 }
 

Reply via email to