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 + +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 diff --git a/emulators/virtualbox-ose-additions-70/distinfo b/emulators/virtualbox-ose-additions-70/distinfo new file mode 100644 index 000000000000..904760a18c0f --- /dev/null +++ b/emulators/virtualbox-ose-additions-70/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1761146098 +SHA256 (VirtualBox-7.1.14.tar.bz2) = 6a4eea884cd98049a5357133b718078d8aaae68047836a3f86cd5904336d6218 +SIZE (VirtualBox-7.1.14.tar.bz2) = 216819853 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: <