From c0db7e8e696bb0c64aa7735c143bc0bf7b3fd8dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Wed, 14 Dec 2022 01:58:50 +0700 Subject: [PATCH] virtualbox-ose: update to 7.0.4. --- srcpkgs/virtualbox-ose/files/LocalConfig.kmk | 3 + .../{INSTALL.msg => files/README.voidlinux} | 0 .../patches/005-gsoap-build.patch | 2 +- .../patches/008-no-vboxvideo.patch | 2 +- .../virtualbox-ose/patches/013-Makefile.patch | 56 ++++++++++++------- .../patches/016-disable-cloud.patch | 16 +++--- .../patches/017-libvdeplug-soname.patch | 4 +- .../patches/050-fix-include.patch | 12 ++++ .../patches/051-file-prefix-map.patch | 15 +++++ srcpkgs/virtualbox-ose/template | 30 +++++----- 10 files changed, 94 insertions(+), 46 deletions(-) rename srcpkgs/virtualbox-ose/{INSTALL.msg => files/README.voidlinux} (100%) create mode 100644 srcpkgs/virtualbox-ose/patches/050-fix-include.patch create mode 100644 srcpkgs/virtualbox-ose/patches/051-file-prefix-map.patch diff --git a/srcpkgs/virtualbox-ose/files/LocalConfig.kmk b/srcpkgs/virtualbox-ose/files/LocalConfig.kmk index d283c39363bb..b60eb09c0f5f 100644 --- a/srcpkgs/virtualbox-ose/files/LocalConfig.kmk +++ b/srcpkgs/virtualbox-ose/files/LocalConfig.kmk @@ -16,6 +16,8 @@ VBOX_WITH_UPDATE_REQUEST = VBOX_USE_SYSTEM_XORG_HEADERS = 1 VBOX_NO_LEGACY_XORG_X11 = 1 PATH_SDK_QT5_INC := /usr/include/qt5 +PATH_SDK_QT6 := /usr +PATH_SDK_QT6_INC := /usr/include/qt6 # Enable it when vnc pkg is available. #VBOX_WITH_VNC := 1 VBOX_GCC_WERR = @@ -24,3 +26,4 @@ USERNAME = builder@void # fix gsoap missing zlib include and produce errors with --as-needed VBOX_GSOAP_CXX_LIBS := gsoapssl++ z +VBOX_USE_SYSTEM_GL_HEADERS=true diff --git a/srcpkgs/virtualbox-ose/INSTALL.msg b/srcpkgs/virtualbox-ose/files/README.voidlinux similarity index 100% rename from srcpkgs/virtualbox-ose/INSTALL.msg rename to srcpkgs/virtualbox-ose/files/README.voidlinux diff --git a/srcpkgs/virtualbox-ose/patches/005-gsoap-build.patch b/srcpkgs/virtualbox-ose/patches/005-gsoap-build.patch index a2855354f5e2..b7700e1bd98e 100644 --- a/srcpkgs/virtualbox-ose/patches/005-gsoap-build.patch +++ b/srcpkgs/virtualbox-ose/patches/005-gsoap-build.patch @@ -1,6 +1,6 @@ --- a/src/VBox/Main/webservice/Makefile.kmk +++ b/src/VBox/Main/webservice/Makefile.kmk -@@ -771,7 +771,7 @@ $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts +@@ -848,7 +848,7 @@ $(if-expr !defined(VBOX_WITHOUT_NOINLINE $(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@) $(call MSG_GENERATE,,lots of files,$(GSOAPH_RELEVANT)) $(RM) -f $@ diff --git a/srcpkgs/virtualbox-ose/patches/008-no-vboxvideo.patch b/srcpkgs/virtualbox-ose/patches/008-no-vboxvideo.patch index 6f646ac02eeb..7838fb4e6352 100644 --- a/srcpkgs/virtualbox-ose/patches/008-no-vboxvideo.patch +++ b/srcpkgs/virtualbox-ose/patches/008-no-vboxvideo.patch @@ -1,6 +1,6 @@ --- a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk +++ b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk -@@ -397,7 +397,7 @@ vboxvideo_drv_118_LIBS += $(vboxvideo_dr +@@ -406,7 +406,7 @@ vboxvideo_drv_118_LIBS += $(vboxvideo_dr ifdef VBOX_USE_SYSTEM_XORG_HEADERS # Build using local X.Org headers. We assume X.Org Server 1.7 or later. diff --git a/srcpkgs/virtualbox-ose/patches/013-Makefile.patch b/srcpkgs/virtualbox-ose/patches/013-Makefile.patch index d1b5a8dcf874..47e255e49e09 100644 --- a/srcpkgs/virtualbox-ose/patches/013-Makefile.patch +++ b/srcpkgs/virtualbox-ose/patches/013-Makefile.patch @@ -1,30 +1,29 @@ --- a/src/VBox/HostDrivers/linux/Makefile +++ b/src/VBox/HostDrivers/linux/Makefile -@@ -23,25 +23,25 @@ - # terms and conditions of either the GPL or the CDDL or both. +@@ -33,25 +33,25 @@ + # SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0 # -ifneq ($(KERNELRELEASE),) +ifneq ($(KBUILD_EXTMOD),) --# Building from kBuild (make -C M=`pwd`), + # Building from kBuild (make -C M=`pwd`), -# or inside a kernel source tree. -+# Building from kBuild (make -C M=`pwd`). +# KBUILD_EXTMOD is set to $(M) in this case. obj-m = vboxdrv/ --ifneq ($(wildcard $(CURDIR)/vboxnetflt/Makefile),) -+ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxnetflt/Makefile),) - obj-m += vboxnetflt/ - endif --ifneq ($(wildcard $(CURDIR)/vboxnetadp/Makefile),) -+ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxnetadp/Makefile),) - obj-m += vboxnetadp/ - endif --ifneq ($(wildcard $(CURDIR)/vboxpci/Makefile),) -+ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxpci/Makefile),) - obj-m += vboxpci/ - endif +- ifneq ($(wildcard $(CURDIR)/vboxnetflt/Makefile),) ++ ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxnetflt/Makefile),) + obj-m += vboxnetflt/ + endif +- ifneq ($(wildcard $(CURDIR)/vboxnetadp/Makefile),) ++ ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxnetadp/Makefile),) + obj-m += vboxnetadp/ + endif +- ifneq ($(wildcard $(CURDIR)/vboxpci/Makefile),) ++ ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxpci/Makefile),) + obj-m += vboxpci/ + endif -else # ! KERNELRELEASE +else # ! KBUILD_EXTMOD @@ -32,11 +31,30 @@ -# convenience Makefile without KERNELRELEASE +# convenience Makefile without KBUILD_EXTMOD - KBUILD_VERBOSE ?= - KERN_VER ?= $(shell uname -r) -@@ -167,4 +167,4 @@ load: unload + ifndef SUDO + ifneq ($(shell id -u),0) +@@ -133,7 +133,7 @@ install-vboxpci: + install: install-vboxdrv install-vboxnetflt install-vboxnetadp install-vboxpci + + # Look for wrapper modules, sorting them so vmmr0 is first. +-VBOX_WRAPPER_DIRS := $(notdir $(wildcard $(CURDIR)/vbox_*)) ++VBOX_WRAPPER_DIRS := $(notdir $(wildcard $(KBUILD_EXTMOD)/vbox_*)) + ifneq ($(VBOX_WRAPPER_DIRS),) + VBOX_WRAPPER_DIRS := $(filter vbox_vmmr0,$(VBOX_WRAPPER_DIRS)) $(sort $(filter-out vbox_vmmr0,$(VBOX_WRAPPER_DIRS))) + endif +@@ -176,7 +176,7 @@ buildid: + buildid=`readelf -n $${module} | sed -ne 's/^.*Build ID: *\([[:xdigit:]][[:xdigit:]]\)\(.*\)$$/\1\/\2/p' `; \ + if [ -n "$${buildid}" ]; then \ + mkdir -p ~/.debug/.build-id/`dirname $${buildid}`; \ +- ln -sfn -- "$(CURDIR)/$${module}" ~/.debug/.build-id/$${buildid}; \ ++ ln -sfn -- "$(KBUILD_EXTMOD)/$${module}" ~/.debug/.build-id/$${buildid}; \ + else \ + echo "warning: No build ID for $${module}"; \ + fi \ +@@ -244,5 +244,5 @@ load: unload fi; \ done -endif # ! KERNELRELEASE +endif # ! KBUILD_EXTMOD + diff --git a/srcpkgs/virtualbox-ose/patches/016-disable-cloud.patch b/srcpkgs/virtualbox-ose/patches/016-disable-cloud.patch index e92e52306d1d..5fd300f4b901 100644 --- a/srcpkgs/virtualbox-ose/patches/016-disable-cloud.patch +++ b/srcpkgs/virtualbox-ose/patches/016-disable-cloud.patch @@ -1,11 +1,11 @@ --- a/Config.kmk +++ b/Config.kmk -@@ -802,7 +802,7 @@ endif - # Use new VBoxNetDhcpd instead of old VBoxNetDHCP +@@ -974,7 +974,7 @@ endif VBOX_WITH_DHCPD = 1 - # Experimental suport for cloud network integration --VBOX_WITH_CLOUD_NET = 1 -+VBOX_WITH_CLOUD_NET = - ## @} - - + # Experimental suport for cloud network integration (depends on libssh) + ifdef VBOX_WITH_LIBSSH +- VBOX_WITH_CLOUD_NET = 1 ++ VBOX_WITH_CLOUD_NET = + endif + # Use Mac OS X VMNET API instead of network kernel extensions + VBOX_WITH_VMNET = 1 diff --git a/srcpkgs/virtualbox-ose/patches/017-libvdeplug-soname.patch b/srcpkgs/virtualbox-ose/patches/017-libvdeplug-soname.patch index a3c1e34a057e..0ab6059ddd5c 100644 --- a/srcpkgs/virtualbox-ose/patches/017-libvdeplug-soname.patch +++ b/srcpkgs/virtualbox-ose/patches/017-libvdeplug-soname.patch @@ -7,11 +7,11 @@ Author: Felix Geyer @@ -1,5 +1,5 @@ /** @file - * Symbols from libvdeplug.so to be loaded at runtime for DrvVDE.cpp -+ * Symbols from libvdeplug.so.2 to be loaded at runtime for DrvVDE.cpp ++ * Symbols from libvdeplug.so.3 to be loaded at runtime for DrvVDE.cpp */ /* -@@ -24,7 +24,7 @@ +@@ -34,7 +34,7 @@ */ /** The file name of the DBus library */ diff --git a/srcpkgs/virtualbox-ose/patches/050-fix-include.patch b/srcpkgs/virtualbox-ose/patches/050-fix-include.patch new file mode 100644 index 000000000000..f6f3e115dba3 --- /dev/null +++ b/srcpkgs/virtualbox-ose/patches/050-fix-include.patch @@ -0,0 +1,12 @@ +Index: virtualbox-ose-7.0.4/src/VBox/Frontends/VirtualBox/src/networking/UINetworkReply.h +=================================================================== +--- virtualbox-ose-7.0.4.orig/src/VBox/Frontends/VirtualBox/src/networking/UINetworkReply.h ++++ virtualbox-ose-7.0.4/src/VBox/Frontends/VirtualBox/src/networking/UINetworkReply.h +@@ -32,6 +32,7 @@ + #endif + + /* Qt includes: */ ++#include + #include + #include + diff --git a/srcpkgs/virtualbox-ose/patches/051-file-prefix-map.patch b/srcpkgs/virtualbox-ose/patches/051-file-prefix-map.patch new file mode 100644 index 000000000000..36952e8321d6 --- /dev/null +++ b/srcpkgs/virtualbox-ose/patches/051-file-prefix-map.patch @@ -0,0 +1,15 @@ +Technically -ffile-prefix-map is not OPTimisation flags, +but it's the easiest flags to be plugged in for all objects +Index: virtualbox-ose-7.0.4/Config.kmk +=================================================================== +--- virtualbox-ose-7.0.4.orig/Config.kmk ++++ virtualbox-ose-7.0.4/Config.kmk +@@ -3680,7 +3680,7 @@ else + # We should use -fomit-frame-pointer for GCC / -Oy for VCC. + # -funwind-tables provides support for backtraces in gdb then. + VBOX_GCC_FP ?= -fno-omit-frame-pointer +- VBOX_GCC_OPT ?= -O2 $(VBOX_GCC_mtune-generic) ++ VBOX_GCC_OPT ?= -O2 $(VBOX_GCC_mtune-generic) -ffile-prefix-map=$(CURDIR)=. + VBOX_VCC_FP ?= -Oy- + VBOX_VCC_OPT ?= -O2 + VBOX_GCC_R0_FP ?= -fno-omit-frame-pointer diff --git a/srcpkgs/virtualbox-ose/template b/srcpkgs/virtualbox-ose/template index f04ac2b800b7..679dac249a25 100644 --- a/srcpkgs/virtualbox-ose/template +++ b/srcpkgs/virtualbox-ose/template @@ -1,6 +1,6 @@ # Template file for 'virtualbox-ose' pkgname=virtualbox-ose -version=6.1.36 +version=7.0.4 revision=1 short_desc="General-purpose full virtualizer for x86 hardware" maintainer="Orphaned " @@ -8,17 +8,20 @@ license="GPL-2.0-only, CDDL-1.0" homepage="https://www.virtualbox.org" changelog="https://www.virtualbox.org/wiki/Changelog" distfiles="http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2" -checksum=e47942e42892c13c621869865e2b7b320340154f0fa74ecbdaf18fdaf70ef047 +checksum=58951f7d1bcda836c5e50ca0a6b13f0e61a07a904f476526a831df3d9bfe5b17 nopie=yes lib32disabled=yes archs="x86_64" -hostmakedepends="acpica-utils dev86 perl pkg-config qt5-tools tar yasm which" +hostmakedepends="acpica-utils dev86 perl pkg-config qt5-tools tar yasm which glslang + qt6-base" makedepends="device-mapper-devel docbook-xsl gsoap-devel libcap-devel libcurl-devel - libIDL-devel libvpx-devel libXcomposite-devel libXcursor-devel + libIDL-devel libvpx-devel libXcomposite-devel libXcursor-devel qt6-base-devel libXinerama-devel libxslt-devel opus-devel pam-devel python3-devel qt5-x11extras-devel - SDL-devel xorg-server-devel" + SDL-devel xorg-server-devel qt6-qt5compat-devel libtpms-devel + qt6-scxml-devel qt6-tools-devel SDL2-devel SDL2_ttf-devel SDL2_gfx-devel + SDL2_image-devel SDL2_net-devel SDL2_mixer-devel" if [ "$XBPS_MACHINE" = "x86_64" ]; then makedepends+=" gcc-multilib" @@ -27,25 +30,20 @@ fi depends="virtualbox-ose-dkms-${version}_${revision} hicolor-icon-theme desktop-file-utils dbus" system_groups="vboxusers" -pre_configure() { +do_configure() { cp ${FILESDIR}/LocalConfig.kmk . ln -s /bin/echo makeself - - echo 'VBOX_USE_SYSTEM_GL_HEADERS=true' >> LocalConfig.kmk -} - -do_configure() { ./configure --disable-docs --disable-java --enable-vde \ --disable-python --disable-kmods --nofatal --enable-webservice } do_build() { - export USERNAME="$(whoami)" + export USERNAME="builder@void" vsed -i src/VBox/Main/webservice/Makefile.kmk \ -e "/webtest_LIBS/,/^webtest_/s/.*LIB_.*/\0 z/" \ -e "/vboxwebsrv_LIBS/,/^vboxwebsrv_/s/.*LIB_.*/\0 z/" source ./env.sh - kmk ${makejobs} KBUILD_VERBOSE=2 all + kmk ${makejobs} KBUILD_VERBOSE=2 VBOX_WITH_QT6=1 all } do_install() { @@ -59,7 +57,7 @@ do_install() { mkdir -p ${DESTDIR}/usr/{bin,lib/virtualbox/components,share/virtualbox/nls} install -m0755 VBox.sh ${DESTDIR}/usr/bin/VBox - for f in VirtualBox VBoxManage VBoxSDL VBoxHeadless \ + for f in VirtualBox VBoxManage VBoxHeadless \ VBoxBalloonCtrl vboxwebsrv; do ln -sf VBox ${DESTDIR}/usr/bin/${f} done @@ -71,7 +69,7 @@ do_install() { install -m0644 *.r0 *.fd ${DESTDIR}/usr/lib/virtualbox # setuid - install -m4755 VBoxSDL VirtualBoxVM VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl \ + install -m4755 VirtualBoxVM VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl \ VBoxNetNAT -t ${DESTDIR}/usr/lib/virtualbox install -m0755 VirtualBox VBoxManage VBoxSVC VBoxExtPackHelperApp \ @@ -113,6 +111,8 @@ do_install() { vinstall ${FILESDIR}/virtualbox.conf 644 usr/lib/modules-load.d vsv vboxwebsrv + + vdoc ${FILESDIR}/README.voidlinux } virtualbox-ose-dkms_package() {