From cba2d082b6e25ca8e7b5d3f828f11a835059e5cb Mon Sep 17 00:00:00 2001 From: alihanozturk Date: Fri, 3 Mar 2017 23:19:49 +0300 Subject: [PATCH] virtualbox:Add patch --- ...VirtualBox-5.1.14-linux-4.9-buildfix.patch | 42 +++++ .../virtualbox/files/new-xorg-1.19.patch | 165 ++++++++++++++++++ hardware/virtualization/virtualbox/pspec.xml | 6 +- 3 files changed, 211 insertions(+), 2 deletions(-) create mode 100644 hardware/virtualization/virtualbox/files/VirtualBox-5.1.14-linux-4.9-buildfix.patch create mode 100644 hardware/virtualization/virtualbox/files/new-xorg-1.19.patch diff --git a/hardware/virtualization/virtualbox/files/VirtualBox-5.1.14-linux-4.9-buildfix.patch b/hardware/virtualization/virtualbox/files/VirtualBox-5.1.14-linux-4.9-buildfix.patch new file mode 100644 index 0000000000..2488b1816f --- /dev/null +++ b/hardware/virtualization/virtualbox/files/VirtualBox-5.1.14-linux-4.9-buildfix.patch @@ -0,0 +1,42 @@ +Index: trunk/configure +=================================================================== +--- trunk/configure ++++ trunk/configure +@@ -1921,9 +1921,32 @@ + else + if test_execute; then +- cnf_append "VBOX_LINUX_SRC" "`cd $LINUX ; pwd`" +- fi +- fi +-} +- ++ cat > $ODIR.tmp_src.c << EOF ++#include ++int printf(const char *format, ...); ++int main(void) ++{ ++ return LINUX_VERSION_CODE > KERNEL_VERSION(4,8,0) ? 1 : 0; ++} ++EOF ++ echo "compiling the following source file:" >> $LOG ++ cat $ODIR.tmp_src.c >> $LOG ++ echo "using the following command line:" >> $LOG ++ echo "$CC -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.c -nostdinc -I$LINUX/include " \ ++ "-I$LINUX/include/generated/uapi" >> $LOG ++ $CC -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.c -nostdinc -I$LINUX/include \ ++ -I$LINUX/include/generated/uapi >> $LOG 2>&1 ++ if [ $? -eq 0 ]; then ++ $ODIR.tmp_out ++ if [ $? -ne 0 ]; then ++ cnf_append "VBOX_WITH_VBOXDRV" "" ++ cnf_append "VBOX_WITH_ADDITION_DRIVERS" "" ++ echo "Detected Linux >= 4.8 -- disabling compiling of Linux kernel modules." ++ else ++ cnf_append "VBOX_LINUX_SRC" "`cd $LINUX ; pwd`" ++ fi ++ fi ++ fi ++ fi ++} + + # diff --git a/hardware/virtualization/virtualbox/files/new-xorg-1.19.patch b/hardware/virtualization/virtualbox/files/new-xorg-1.19.patch new file mode 100644 index 0000000000..65d73b6951 --- /dev/null +++ b/hardware/virtualization/virtualbox/files/new-xorg-1.19.patch @@ -0,0 +1,165 @@ +Description: upstream: 64269 64270 +Index: virtualbox/src/VBox/Additions/common/crOpenGL/Makefile.kmk +=================================================================== +--- virtualbox.orig/src/VBox/Additions/common/crOpenGL/Makefile.kmk ++++ virtualbox/src/VBox/Additions/common/crOpenGL/Makefile.kmk +@@ -71,7 +71,7 @@ + /usr/include/x11 \ + /usr/include/xorg \ + /usr/include/pixman-1 \ +- $(VBOX_MESA_INCS) \ ++ $(VBOX_GL_INCS) \ + /usr/include/drm \ + /usr/include/libdrm + VBoxOGL_DEFS += VBOX_NO_NATIVEGL +@@ -439,7 +439,7 @@ + array + if1of ($(KBUILD_TARGET), linux solaris freebsd) + VBoxOGLarrayspu_INCS += \ +- $(VBOX_MESA_INCS) ++ $(VBOX_GL_INCS) + endif + if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM) + VBoxOGLarrayspu_INSTTYPE.win = none +@@ -487,7 +487,7 @@ + passthrough + if1of ($(KBUILD_TARGET), linux solaris freebsd) + VBoxOGLpassthroughspu_INCS += \ +- $(VBOX_MESA_INCS) ++ $(VBOX_GL_INCS) + endif + if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM) + VBoxOGLpassthroughspu_INSTTYPE.win = none +@@ -536,7 +536,7 @@ + pack + if1of ($(KBUILD_TARGET), linux solaris freebsd) + VBoxOGLpackspu_INCS += \ +- $(VBOX_MESA_INCS) ++ $(VBOX_GL_INCS) + endif + if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM) + VBoxOGLpackspu_INSTTYPE.win = none +@@ -642,7 +642,7 @@ + feedback + if1of ($(KBUILD_TARGET), linux solaris freebsd) + VBoxOGLfeedbackspu_INCS += \ +- $(VBOX_MESA_INCS) ++ $(VBOX_GL_INCS) + endif + if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM) + VBoxOGLfeedbackspu_INSTTYPE.win = none +Index: virtualbox/src/VBox/Additions/x11/Makefile.kmk +=================================================================== +--- virtualbox.orig/src/VBox/Additions/x11/Makefile.kmk ++++ virtualbox/src/VBox/Additions/x11/Makefile.kmk +@@ -20,12 +20,18 @@ + # Include sub-makefiles. + if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris) + include $(PATH_SUB_CURRENT)/VBoxClient/Makefile.kmk +- include $(PATH_SUB_CURRENT)/vboxvideo/Makefile.kmk +- ifneq ($(KBUILD_TARGET), solaris) +- include $(PATH_SUB_CURRENT)/vboxmouse/Makefile.kmk +- endif +- ifndef VBOX_USE_SYSTEM_XORG_HEADERS +- include $(PATH_SUB_CURRENT)/x11stubs/Makefile.kmk ++ ifndef VBOX_NO_LEGACY_XORG_X11 ++ include $(PATH_SUB_CURRENT)/vboxvideo/Makefile.kmk ++ ifneq ($(KBUILD_TARGET), solaris) ++ include $(PATH_SUB_CURRENT)/vboxmouse/Makefile.kmk ++ endif ++ # This should logically only be controlled by VBOX_NO_LEGACY_XORG_X11, ++ # as it is not used for drivers at all, but rather to build X11 clients ++ # on systems missing needed libraries. ++ ## @todo fix at some later point when it will not break people's workflows. ++ ifndef VBOX_USE_SYSTEM_XORG_HEADERS ++ include $(PATH_SUB_CURRENT)/x11stubs/Makefile.kmk ++ endif + endif + endif + +Index: virtualbox/src/VBox/GuestHost/OpenGL/Makefile.kmk +=================================================================== +--- virtualbox.orig/src/VBox/GuestHost/OpenGL/Makefile.kmk ++++ virtualbox/src/VBox/GuestHost/OpenGL/Makefile.kmk +@@ -54,7 +54,7 @@ + VBoxOGLcrutil_INTERMEDIATES = $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h + if1of ($(KBUILD_TARGET), linux solaris freebsd) + VBoxOGLcrutil_INCS += \ +- $(VBOX_MESA_INCS) ++ $(VBOX_GL_INCS) + endif + VBoxOGLcrutil_SOURCES = \ + util/bbox.c \ +@@ -199,7 +199,7 @@ + packer + if1of ($(KBUILD_TARGET), linux solaris freebsd) + VBoxOGLcrpacker_INCS += \ +- $(VBOX_MESA_INCS) ++ $(VBOX_GL_INCS) + endif + VBoxOGLcrpacker_INTERMEDIATES = \ + $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \ +@@ -350,7 +350,7 @@ + $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h + if1of ($(KBUILD_TARGET), linux solaris freebsd) + VBoxOGLspuload_INCS += \ +- $(VBOX_MESA_INCS) ++ $(VBOX_GL_INCS) + endif + VBoxOGLspuload_SOURCES = \ + spu_loader/spuinit.c \ +@@ -423,7 +423,7 @@ + state_tracker + if1of ($(KBUILD_TARGET), linux solaris freebsd) + VBoxOGLcrstate_INCS += \ +- $(VBOX_MESA_INCS) ++ $(VBOX_GL_INCS) + endif + VBoxOGLcrstate_INTERMEDIATES = \ + $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \ +@@ -624,7 +624,7 @@ + $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h + if1of ($(KBUILD_TARGET), linux solaris freebsd) + VBoxOGLerrorspu_INCS += \ +- $(VBOX_MESA_INCS) ++ $(VBOX_GL_INCS) + endif + VBoxOGLerrorspu_SOURCES = \ + $(VBOX_PATH_CROGL_GENFILES)/errorspu.c \ +Index: virtualbox/src/VBox/Additions/x11/vboxvideo/helpers.c +=================================================================== +--- virtualbox.orig/src/VBox/Additions/x11/vboxvideo/helpers.c ++++ virtualbox/src/VBox/Additions/x11/vboxvideo/helpers.c +@@ -82,7 +82,7 @@ + + property_name = MakeAtom(pszName, strlen(pszName), TRUE); + VBVXASSERT(property_name != BAD_RESOURCE, ("Failed to set atom \"%s\"\n", pszName)); +- ChangeWindowProperty(ROOT_WINDOW(pScrn), property_name, XA_INTEGER, 32, PropModeReplace, cData, paData, fSendEvent); ++ dixChangeWindowProperty(serverClient, ROOT_WINDOW(pScrn), property_name, XA_INTEGER, 32, PropModeReplace, cData, paData, fSendEvent); + } + + void vbvxReprobeCursor(ScrnInfoPtr pScrn) +Index: virtualbox/src/VBox/Additions/x11/vboxvideo/vboxvideo.c +=================================================================== +--- virtualbox.orig/src/VBox/Additions/x11/vboxvideo/vboxvideo.c ++++ virtualbox/src/VBox/Additions/x11/vboxvideo/vboxvideo.c +@@ -1229,7 +1229,7 @@ + updateGraphicsCapability(pScrn, TRUE); + + /* Register block and wake-up handlers for getting new screen size hints. */ +- RegisterBlockAndWakeupHandlers(vboxBlockHandler, (WakeupHandlerProcPtr)NoopDDA, (pointer)pScrn); ++ RegisterBlockAndWakeupHandlers(vboxBlockHandler, (ServerWakeupHandlerProcPtr)NoopDDA, (pointer)pScrn); + + /* software cursor */ + miDCInitialize(pScreen, xf86GetPointerScreenFuncs()); +--- virtualbox-5.1.10-dfsg.orig/src/VBox/Additions/x11/vboxvideo/Makefile.kmk ++++ virtualbox-5.1.10-dfsg/src/VBox/Additions/x11/vboxvideo/Makefile.kmk +@@ -376,7 +376,7 @@ vboxvideo_drv_118_SOURCES := $(vboxvideo + + ifdef VBOX_USE_SYSTEM_XORG_HEADERS + # Build using local X.Org headers. We assume X.Org Server 1.7 or later. +- DLLS := $(filter-out vboxvideo_drv_%,$(DLLS)) vboxvideo_drv_system ++ DLLS := $(filter-out vboxvideo_drv_%,$(DLLS)) + SYSMODS := $(filter-out vboxvideo_drv%,$(SYSMODS)) + vboxvideo_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_system_CFLAGS := \ diff --git a/hardware/virtualization/virtualbox/pspec.xml b/hardware/virtualization/virtualbox/pspec.xml index d6c93d148d..05e42dfb62 100644 --- a/hardware/virtualization/virtualbox/pspec.xml +++ b/hardware/virtualization/virtualbox/pspec.xml @@ -58,8 +58,10 @@ 002-dri-driver-path.patch 003-ogl-include-path.patch 008-root-window.patch - 004-xorg.patch + python.patch + new-xorg-1.19.patch + VirtualBox-5.1.14-linux-4.9-buildfix.patch @@ -148,7 +150,7 @@ - 2017-02-20 + 2017-03-03 5.1.14 Version Bump Alihan Öztürk