diff options
Diffstat (limited to 'emulators/virtualbox-ose-additions-70')
8 files changed, 323 insertions, 0 deletions
| diff --git a/emulators/virtualbox-ose-additions-70/Makefile b/emulators/virtualbox-ose-additions-70/Makefile new file mode 100644 index 000000000000..855c3f405b8e --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/Makefile @@ -0,0 +1,174 @@ +PORTNAME=	virtualbox-ose +DISTVERSION=	7.0.26 +PORTREVISION?=	0 +CATEGORIES=	emulators +MASTER_SITES=	https://download.virtualbox.org/virtualbox/${DISTVERSION}/ +PKGNAMESUFFIX?=	-additions-70 +DISTNAME=	VirtualBox-${DISTVERSION} + +MAINTAINER=	vbox@FreeBSD.org +COMMENT=	VirtualBox additions for FreeBSD guests +WWW=		https://www.virtualbox.org/ + +LICENSE=	GPLv2 +LICENSE_FILE=	${WRKSRC}/COPYING + +ONLY_FOR_ARCHS=	amd64 + +BUILD_DEPENDS=	yasm:devel/yasm \ +		kmk:devel/kBuild \ +		xsltproc:textproc/libxslt + +USES=		compiler:c++14-lang cpe iconv kmod tar:bzip2 +CPE_VENDOR=	oracle +CPE_PRODUCT=	vm_virtualbox +USE_RC_SUBR=	vboxguest vboxservice + +HAS_CONFIGURE=		yes +CONFIGURE_ARGS+=	--disable-alsa \ +			--disable-docs \ +			--disable-libvpx \ +			--disable-opengl \ +			--disable-pulse \ +			--disable-python \ +			--disable-sdl-ttf \ +			--disable-xpcom +CONFIGURE_ARGS+=	--nofatal --with-gcc="${CC}" --with-g++="${CXX}" + +MAKE_JOBS_UNSAFE=	yes + +CONFLICTS_INSTALL=	virtualbox-ose-additions-legacy \ +			virtualbox-ose-additions-nox11-legacy \ +			virtualbox-ose-additions \ +			virtualbox-ose-additions-nox11 \ +			virtualbox-ose-additions-71 \ +			virtualbox-ose-additions-nox11-71 \ +			virtualbox-ose-additions-72 \ +			virtualbox-ose-additions-nox11-72 + +PATCHDIR=		${.CURDIR}/../${PORTNAME}-70/files +EXTRACT_AFTER_ARGS=	--exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware +PORTSCOUT=		limit:^7\.0\. + +WRKSRC=			${WRKDIR}/VirtualBox-${DISTVERSION} + +OPTIONS_DEFINE=		DBUS DEBUG X11 +OPTIONS_DEFAULT=	DBUS X11 +OPTIONS_SUB=		yes + +DBUS_LIB_DEPENDS=	libdbus-1.so:devel/dbus +DBUS_CONFIGURE_OFF=	--disable-dbus +DEBUG_CONFIGURE_ON=	--build-debug +DEBUG_VARS=		KMK_BUILDTYPE=debug +DEBUG_VARS_OFF=		KMK_BUILDTYPE=release +X11_BUILD_DEPENDS=	${LOCALBASE}/include/xorg/compiler.h:x11-servers/xorg-server +X11_RUN_DEPENDS=	xrandr:x11/xrandr +X11_USES=		pkgconfig xorg +X11_USE=		XORG=x11,xcursor,xext,xorgproto,xmu,xrandr,xt +X11_VARS=		VBOX_WITH_X11=1 + +.include <bsd.port.options.mk> + +.if ${SLAVE_PORT} == no +CONFLICTS_INSTALL+=	virtualbox-ose-additions-nox11-70 +.else +CONFLICTS_INSTALL+=	virtualbox-ose-additions-70 +.endif + +VIDEODIR=	${PREFIX}/lib/xorg/modules/drivers +INPUTDIR=	${PREFIX}/lib/xorg/modules/input + +VBOX_BIN=	${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/additions +VBOX_SBINS=	VBoxControl \ +		VBoxService \ +		mount_vboxvfs + +BUILD_WRKSRC=	${VBOX_BIN}/src + +KMK_ARCH=	freebsd.${ARCH:S/i386/x86/} +KMK_CONFIG+=	VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys VBOX_ONLY_ADDITIONS=1 + +.if ${PORT_OPTIONS:MX11} +.else +VBOX_WITH_X11= +.endif + +.include <bsd.port.pre.mk> + +post-patch: +	@${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_X11}' >> \ +	    ${WRKSRC}/LocalConfig.kmk +	@${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_X11}' >> \ +	    ${WRKSRC}/LocalConfig.kmk +	@${ECHO_CMD} 'VBOX_WITH_X11_ADDITIONS = ${VBOX_WITH_X11}' >> \ +	    ${WRKSRC}/LocalConfig.kmk +	@${ECHO_CMD} 'VBOX_GCC_std = -std=c++11' >> ${WRKSRC}/LocalConfig.kmk +	@${ECHO_CMD} 'CXXDEFS += _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR' >> \ +	    ${WRKSRC}/LocalConfig.kmk +.if ${COMPILER_TYPE} == clang +	@${REINPLACE_CMD} -e 's| -finline-limit=8000||' \ +	    -e 's| -fno-merge-constants||' \ +	    -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk +.endif +	@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ +	    ${WRKSRC}/Config.kmk ${WRKSRC}/configure \ +	    ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \ +	    ${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \ +	    ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ +	    ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ +	    ${WRKSRC}/src/VBox/Additions/x11/vboxmouse/Makefile.kmk \ +	    ${WRKSRC}/src/VBox/Additions/x11/vboxvideo/Makefile.kmk +	@${REINPLACE_CMD} \ +	    -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ +	    ${WRKSRC}/configure +.if empty(ICONV_LIB) +	@${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \ +	    ${WRKSRC}/src/VBox/Runtime/Makefile.kmk \ +	    ${WRKSRC}/src/VBox/Additions/x11/VBoxClient/Makefile.kmk +	@${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk +.endif +.if ${OSVERSION} >= 1500038 +	@${ECHO_CMD} 'HAVE_MNTOPTS_IN_LIBUTIL = 1' >> \ +	    ${WRKSRC}/LocalConfig.kmk +.endif + +post-patch-X11-on: +	@${ECHO_CMD} 'VBOX_USE_SYSTEM_XORG_HEADERS = 1' >> \ +	    ${WRKSRC}/LocalConfig.kmk + +pre-build: +	cd ${WRKSRC} && ${SH} -c \ +	    ". env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk" + +do-install: +	${MKDIR} ${STAGEDIR}${KMODDIR} +	${INSTALL_KLD} ${VBOX_BIN}/src/vboxguest/vboxguest.ko \ +	    ${STAGEDIR}${KMODDIR} +	${INSTALL_KLD} ${VBOX_BIN}/vboxvfs.ko ${STAGEDIR}${KMODDIR} +	${INSTALL_LIB} ${VBOX_BIN}/pam_vbox.so ${STAGEDIR}${PREFIX}/lib +	${INSTALL_PROGRAM} ${VBOX_SBINS:S|^|${VBOX_BIN}/|} \ +	    ${STAGEDIR}${PREFIX}/sbin/ + +do-install-X11-on: +	${INSTALL_PROGRAM} ${VBOX_BIN}/VBoxClient ${STAGEDIR}${PREFIX}/bin/ +	${INSTALL_SCRIPT} \ +	    ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ +	    ${STAGEDIR}${PREFIX}/bin/VBoxClient-all +	# X11 autostart +	${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg/autostart/ +	${INSTALL_DATA} \ +	    ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ +	    ${STAGEDIR}${PREFIX}/etc/xdg/autostart/ +	# KDE autostart +	${MKDIR} ${STAGEDIR}${PREFIX}/share/autostart/ +	${INSTALL_DATA} \ +	    ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ +	    ${STAGEDIR}${PREFIX}/share/autostart/ +	${MKDIR} ${STAGEDIR}${VIDEODIR} +	${INSTALL_LIB} ${VBOX_BIN}/vboxvideo_drv_system.so \ +	    ${STAGEDIR}${VIDEODIR}/vboxvideo_drv.so +	${MKDIR} ${STAGEDIR}${INPUTDIR} +	${INSTALL_LIB} ${VBOX_BIN}/vboxmouse_drv_system.so \ +	    ${STAGEDIR}${INPUTDIR}/vboxmouse_drv.so + +.include <bsd.port.post.mk> diff --git a/emulators/virtualbox-ose-additions-70/distinfo b/emulators/virtualbox-ose-additions-70/distinfo new file mode 100644 index 000000000000..644d77cfbd21 --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1745631388 +SHA256 (VirtualBox-7.0.26.tar.bz2) = 8a6a83dd09e65a4aff85ba0df6bb1ba22c22f7f0923d86e4b130813d4a28c5db +SIZE (VirtualBox-7.0.26.tar.bz2) = 174650718 diff --git a/emulators/virtualbox-ose-additions-70/files/vboxguest.in b/emulators/virtualbox-ose-additions-70/files/vboxguest.in new file mode 100644 index 000000000000..707fedf94a88 --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/files/vboxguest.in @@ -0,0 +1,64 @@ +#!/bin/sh + +# PROVIDE:	vboxguest +# REQUIRE:	FILESYSTEMS +# BEFORE:	netif +# KEYWORD:	nojail + +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# vboxguest_enable (bool):   Set to NO by default. +#               Set it to YES to enable vboxguest on startup + +. /etc/rc.subr + +name="vboxguest" +rcvar=vboxguest_enable +start_cmd="vboxguest_start" +stop_cmd="vboxguest_stop" + +vboxguest_modules="vboxguest:pci/vboxguest" + +vboxguest_start() +{ +	local _k _m + +	for _m in ${vboxguest_modules}; do +		_k=${_m%:*} +		_m=${_m#*:} +		if ! kldstat -q -m ${_m}; then +			if ! kldload ${_k} > /dev/null 2>&1; then +				warn "Can't load ${_k} module." +				return 1 +			fi +		fi +	done +} + +vboxguest_stop() +{ +	local _k _m _r + +	_r= +	for _m in ${vboxguest_modules}; do +		_r="${_m} ${_r}" +	done +	for _m in ${_r}; do +		_k=${_m%:*} +		_m=${_m#*:} +		if kldstat -q -m ${_m}; then +			if ! kldunload ${_k} > /dev/null 2>&1; then +				warn "Can't unload ${_k} module." +				return 1 +			fi +		fi +	done +} + +load_rc_config $name + +: ${vboxguest_enable="NO"} + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-additions-70/files/vboxservice.in b/emulators/virtualbox-ose-additions-70/files/vboxservice.in new file mode 100644 index 000000000000..2a46dbc188ef --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/files/vboxservice.in @@ -0,0 +1,23 @@ +#!/bin/sh + +# PROVIDE: vboxservice +# REQUIRE: DAEMON vboxguest +# BEFORE: LOGIN +# KEYWORD: shutdown + +# Define vboxservice_enable in /etc/rc.conf[.local] to enable it. +# +# vboxservice_enable (bool):  Set to "NO" by default. +#                             Set it to "YES" to enable VBoxService. + +. /etc/rc.subr + +name="vboxservice" +rcvar=vboxservice_enable +command="%%PREFIX%%/sbin/VBoxService" + +load_rc_config $name + +: ${vboxservice_enable="NO"} + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-additions-70/files/vboxvideo.conf b/emulators/virtualbox-ose-additions-70/files/vboxvideo.conf new file mode 100644 index 000000000000..dd6626429703 --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/files/vboxvideo.conf @@ -0,0 +1,5 @@ +libEGL.so.1	VBoxEGL.so +libGL.so.1	VBoxOGL.so + +[libglx.so] +libGL.so.1	libGL.so.1 diff --git a/emulators/virtualbox-ose-additions-70/pkg-descr b/emulators/virtualbox-ose-additions-70/pkg-descr new file mode 100644 index 000000000000..d06e1a04878c --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/pkg-descr @@ -0,0 +1,6 @@ +VirtualBox Guest Additions provide closer integration between host and +guest, and improve the performance of guest systems. + +This FreeBSD provided package can be installed in FreeBSD guest machines. + +Additions are not intended for use on Host machines. diff --git a/emulators/virtualbox-ose-additions-70/pkg-message b/emulators/virtualbox-ose-additions-70/pkg-message new file mode 100644 index 000000000000..9b858849abdb --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/pkg-message @@ -0,0 +1,36 @@ +[ +{ type: install +  message: <<EOM +VirtualBox Guest Additions are installed. + +To enable and start the required services: + +# sysrc vboxguest_enable="YES" +# sysrc vboxservice_enable="YES" + +To start the services, restart the system. + +In some situations, a panic will occur when the kernel module loads. +Having no more than one virtual CPU might mitigate the issue. + +For features such as window scaling and clipboard sharing, membership of +the wheel group is required. With username "jerry" as an example: + +# pw groupmod wheel -m jerry + +The settings dialogue for FreeBSD guests encourages use of the VMSVGA +graphics controller. Whilst this might suit installations of FreeBSD +without a desktop environment (a common use case), it is not appropriate +where Guest Additions are installed. + +Where Guest Additions are installed: + +1. prefer VBoxSVGA + +2. do not enable 3D acceleration (doing so will invisibly +   lose the preference for VBoxSVGA) + +You may ignore the yellow alert that encourages use of VMSVGA. +EOM +} +] diff --git a/emulators/virtualbox-ose-additions-70/pkg-plist b/emulators/virtualbox-ose-additions-70/pkg-plist new file mode 100644 index 000000000000..dac84dc22bcc --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/pkg-plist @@ -0,0 +1,12 @@ +%%X11%%bin/VBoxClient +%%X11%%bin/VBoxClient-all +%%X11%%etc/xdg/autostart/vboxclient.desktop +lib/pam_vbox.so +%%X11%%lib/xorg/modules/drivers/vboxvideo_drv.so +%%X11%%lib/xorg/modules/input/vboxmouse_drv.so +sbin/VBoxControl +sbin/VBoxService +sbin/mount_vboxvfs +%%X11%%share/autostart/vboxclient.desktop +/%%KMODDIR%%/vboxguest.ko +/%%KMODDIR%%/vboxvfs.ko | 
