summaryrefslogtreecommitdiff
path: root/emulators/virtualbox-ose-additions-71
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/virtualbox-ose-additions-71')
-rw-r--r--emulators/virtualbox-ose-additions-71/Makefile174
-rw-r--r--emulators/virtualbox-ose-additions-71/distinfo3
-rw-r--r--emulators/virtualbox-ose-additions-71/files/vboxguest.in64
-rw-r--r--emulators/virtualbox-ose-additions-71/files/vboxservice.in23
-rw-r--r--emulators/virtualbox-ose-additions-71/files/vboxvideo.conf5
-rw-r--r--emulators/virtualbox-ose-additions-71/pkg-descr6
-rw-r--r--emulators/virtualbox-ose-additions-71/pkg-message36
-rw-r--r--emulators/virtualbox-ose-additions-71/pkg-plist12
8 files changed, 323 insertions, 0 deletions
diff --git a/emulators/virtualbox-ose-additions-71/Makefile b/emulators/virtualbox-ose-additions-71/Makefile
new file mode 100644
index 000000000000..3a252cd3362b
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/Makefile
@@ -0,0 +1,174 @@
+PORTNAME= virtualbox-ose
+DISTVERSION= 7.1.14
+PORTREVISION?= 0
+CATEGORIES= emulators
+MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/
+PKGNAMESUFFIX?= -additions-71
+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++17-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-70 \
+ virtualbox-ose-additions-nox11-70 \
+ virtualbox-ose-additions-72 \
+ virtualbox-ose-additions-nox11-72
+
+PATCHDIR= ${.CURDIR}/../${PORTNAME}-71/files
+EXTRACT_AFTER_ARGS= --exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware
+PORTSCOUT= limit:^7\.1\.
+
+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-71
+.else
+CONFLICTS_INSTALL+= virtualbox-ose-additions-71
+.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-71/distinfo b/emulators/virtualbox-ose-additions-71/distinfo
new file mode 100644
index 000000000000..904760a18c0f
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/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-71/files/vboxguest.in b/emulators/virtualbox-ose-additions-71/files/vboxguest.in
new file mode 100644
index 000000000000..707fedf94a88
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/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-71/files/vboxservice.in b/emulators/virtualbox-ose-additions-71/files/vboxservice.in
new file mode 100644
index 000000000000..2a46dbc188ef
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/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-71/files/vboxvideo.conf b/emulators/virtualbox-ose-additions-71/files/vboxvideo.conf
new file mode 100644
index 000000000000..dd6626429703
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/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-71/pkg-descr b/emulators/virtualbox-ose-additions-71/pkg-descr
new file mode 100644
index 000000000000..d06e1a04878c
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/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-71/pkg-message b/emulators/virtualbox-ose-additions-71/pkg-message
new file mode 100644
index 000000000000..9b858849abdb
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/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-71/pkg-plist b/emulators/virtualbox-ose-additions-71/pkg-plist
new file mode 100644
index 000000000000..dac84dc22bcc
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/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