Date: Sun, 7 Jul 2013 13:55:57 GMT From: oleksandr@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r254313 - in soc2013/oleksandr/ports: . emulators emulators/virtualbox-ose-additions emulators/virtualbox-ose-additions/files Message-ID: <201307071355.r67DtvHE039533@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: oleksandr Date: Sun Jul 7 13:55:56 2013 New Revision: 254313 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=254313 Log: Initial add virtualbox-ose-additions port Added: soc2013/oleksandr/ports/ soc2013/oleksandr/ports/emulators/ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/Makefile soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/distinfo soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-VBoxGuestLib-Makefile.kmk soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-crOpenGL-Makefile.kmk soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-crOpenGL-fakedri_drv.c soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-x11-Installer-vboxclient.desktop soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd.c soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/vboxguest.in soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/vboxservice.in soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/pkg-descr soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/pkg-message soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/pkg-plist Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/Makefile Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,191 @@ +# Created by: Bernhard Froehlich <decke@bluelife.at> +# $FreeBSD: emulators/virtualbox-ose-additions/Makefile 321665 2013-06-24 06:07:53Z decke $ + +PORTNAME= virtualbox-ose +DISTVERSION= 4.2.14 +CATEGORIES= emulators kld +MASTER_SITES= http://download.virtualbox.org/virtualbox/${DISTVERSION}/ \ + http://tmp.chruetertee.ch/ \ + http://disasterarea.chruetertee.ch/ +PKGNAMESUFFIX= -additions +DISTNAME= VirtualBox-${DISTVERSION} + +MAINTAINER= vbox@FreeBSD.org +COMMENT= VirtualBox additions for FreeBSD guests + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \ + as86:${PORTSDIR}/devel/dev86 \ + kmk:${PORTSDIR}/devel/kBuild + +UNIQUENAME= ${PORTNAME}${PKGNAMESUFFIX} +WRKSRC= ${WRKDIR}/VirtualBox-${PORTVERSION} +USE_RC_SUBR= vboxguest vboxservice +ONLY_FOR_ARCHS= i386 amd64 +FETCH_ARGS= -pRr +USE_BZIP2= yes +MAKE_JOBS_UNSAFE= yes + +HAS_CONFIGURE= yes +CONFIGURE_ARGS+=--with-gcc="${CC}" --with-g++="${CXX}" --nofatal \ + --disable-xpcom --disable-sdl-ttf --disable-pulse \ + --disable-alsa --disable-dbus --disable-python + +CONFLICTS= bcc-[0-9]* +CONFLICTS_INSTALL= virtualbox-ose-additions-devel-[3,4]* virtualbox-ose-[3,4]* virtualbox-ose-devel-[3,4]* virtualbox-ose-legacy-[3,4]* + +OPTIONS_DEFINE= DEBUG X11 OPENGL +OPTIONS_DEFAULT= X11 + +.include <bsd.port.options.mk> + +PLIST_SUB+= KMODDIR=${KMODDIR:C,^/,,} + +KMODDIR= /boot/modules +SRC_BASE?= /usr/src +VIDEODIR= ${PREFIX}/lib/xorg/modules/drivers +INPUTDIR= ${PREFIX}/lib/xorg/modules/input + +VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/additions + +KMK_BUILDTYPE= release +KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} +KMK_FLAGS= + +MAKE_FLAGS= SYSDIR=${SRC_BASE}/sys + +.if ${PORT_OPTIONS:MDEBUG} +KMK_FLAGS+= BUILD_TYPE=debug +KMK_BUILDTYPE= debug +MAKE_FLAGS+= DEBUG_FLAGS="-O1 -g" +PLIST_SUB+= WITH_DEBUG="" +.else +PLIST_SUB+= WITH_DEBUG="@comment " +.endif + +.if ${PORT_OPTIONS:MX11} +VBOX_WITH_X11= 1 +USE_XORG= xcursor xmu inputproto xorg-server xrandr +PLIST_SUB+= X11="" +.else +VBOX_WITH_X11= +PLIST_SUB+= X11="@comment " +.endif + +.if ${PORT_OPTIONS:MOPENGL} +USE_XORG+= xcomposite xdamage xext xfixes +USE_GL= gl +PLIST_SUB+= OPENGL="" +.else +CONFIGURE_ARGS+=--disable-opengl +PLIST_SUB+= OPENGL="@comment " +.endif + +.if ${ARCH} == i386 +KMK_ARCH= freebsd.x86 +.else +KMK_ARCH= freebsd.${ARCH} +.endif + +XSERVER_ABI:= ${XSERVER_VER:S/.//:R} + +.if !exists(${SRC_BASE}/sys/kern/bus_if.m) +IGNORE= requires kernel sources +.endif + +.include <bsd.port.pre.mk> + +pre-everything:: +.if ${ARCH} == "amd64" +.if !exists(/usr/lib32/libc.so) + @${ECHO} 'Requires 32-bit libraries installed under /usr/lib32.' + @${ECHO} 'Do: cd /usr/src; make build32 install32; ldconfig -v -m -R /usr/lib32' + @${FALSE} +.endif +.endif + +post-patch: + @${ECHO} 'VBOX_ONLY_ADDITIONS = 1' > ${WRKSRC}/LocalConfig.kmk + @${ECHO} 'VBOX_WITH_X11_ADDITIONS = ${VBOX_WITH_X11}' >> ${WRKSRC}/LocalConfig.kmk + @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ + ${WRKSRC}/Config.kmk \ + ${WRKSRC}/configure \ + ${WRKSRC}/kBuild/units/qt4.kmk \ + ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop + @${REINPLACE_CMD} -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' ${WRKSRC}/configure + +pre-build: + @${REINPLACE_CMD} -e 's|/bin/bash|/bin/sh|' \ + ${WRKSRC}/env.sh \ + ${WRKSRC}/src/VBox/Additions/freebsd/Installer/vboxguest.sh + +do-build: + cd ${WRKSRC} && ${SH} env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS} + cd ${VBOX_BIN}/src && make ${MAKE_FLAGS} + +do-install: + ${MKDIR} ${KMODDIR} + ${INSTALL_KLD} ${VBOX_BIN}/src/vboxguest/vboxguest.ko ${KMODDIR} +.if ${PORT_OPTIONS:MDEBUG} + ${INSTALL_KLD} ${VBOX_BIN}/src/vboxguest/vboxguest.ko.symbols ${KMODDIR} +.endif +.if ${PORT_OPTIONS:MX11} + ${INSTALL_KLD} ${VBOX_BIN}/vboxvideo.ko ${KMODDIR} +.if ${PORT_OPTIONS:MDEBUG} + ${INSTALL_KLD} ${VBOX_BIN}/vboxvideo.ko.symbols ${KMODDIR} +.endif +.endif + @/usr/sbin/kldxref ${KMODDIR} + + ${MKDIR} ${PREFIX}/etc/rc.d/ + + ${MKDIR} ${PREFIX}/sbin + ${INSTALL_PROGRAM} ${VBOX_BIN}/VBoxControl ${PREFIX}/sbin/ + ${INSTALL_PROGRAM} ${VBOX_BIN}/VBoxService ${PREFIX}/sbin/ + +.if ${PORT_OPTIONS:MX11} + ${INSTALL_PROGRAM} ${VBOX_BIN}/VBoxClient ${PREFIX}/bin/ + + ${MKDIR} ${PREFIX}/bin + ${INSTALL_SCRIPT} ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + ${PREFIX}/bin/VBoxClient-all + + # X11 autostart + ${MKDIR} ${PREFIX}/etc/xdg/autostart/ + ${INSTALL_DATA} ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${PREFIX}/etc/xdg/autostart/ + + # KDE autostart + ${MKDIR} ${PREFIX}/share/autostart/ + ${INSTALL_DATA} ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${PREFIX}/share/autostart/ + + ${MKDIR} ${VIDEODIR} + ${INSTALL_DATA} ${VBOX_BIN}/vboxvideo_drv_${XSERVER_ABI}.so ${VIDEODIR}/vboxvideo_drv.so + + ${MKDIR} ${INPUTDIR} + ${INSTALL_DATA} ${VBOX_BIN}/vboxmouse_drv_${XSERVER_ABI}.so ${INPUTDIR}/vboxmouse_drv.so +.endif + +.if ${PORT_OPTIONS:MOPENGL} + ${MKDIR} ${PREFIX}/lib + ${INSTALL_DATA} ${VBOX_BIN}/VBoxOGL.so ${PREFIX}/lib/ + ${INSTALL_DATA} ${VBOX_BIN}/VBoxOGLarrayspu.so ${PREFIX}/lib/ + ${INSTALL_DATA} ${VBOX_BIN}/VBoxOGLcrutil.so ${PREFIX}/lib/ + ${INSTALL_DATA} ${VBOX_BIN}/VBoxOGLerrorspu.so ${PREFIX}/lib/ + ${INSTALL_DATA} ${VBOX_BIN}/VBoxOGLfeedbackspu.so ${PREFIX}/lib/ + ${INSTALL_DATA} ${VBOX_BIN}/VBoxOGLpackspu.so ${PREFIX}/lib/ + ${INSTALL_DATA} ${VBOX_BIN}/VBoxOGLpassthroughspu.so ${PREFIX}/lib/ + + ${MKDIR} ${PREFIX}/lib/dri + ${LN} -sf ${PREFIX}/lib/VBoxOGL.so ${PREFIX}/lib/dri/vboxvideo_dri.so +.endif + +post-install: + @${CAT} ${PKGMESSAGE} + +.include <bsd.port.post.mk> Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/distinfo Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,2 @@ +SHA256 (VirtualBox-4.2.14.tar.bz2) = f8f6dc19612f3c84a5c857b8e5c452b8db2cf3c8c52a678b6a00e5dd5831130d +SIZE (VirtualBox-4.2.14.tar.bz2) = 76888627 Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-VBoxGuestLib-Makefile.kmk ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-VBoxGuestLib-Makefile.kmk Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,18 @@ +--- src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk.orig 2010-10-07 11:37:10.000000000 +0200 ++++ src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk 2010-10-07 11:36:16.000000000 +0200 +@@ -140,6 +140,7 @@ + # the X server runtime instead of IPRT, for use with old servers where the + # C library is not available. + # ++ifdef VBOX_WITH_X11_ADDITIONS + VBoxGuestR3LibXFree86_TEMPLATE = VBOXGUESTR3XF86LIB + VBoxGuestR3LibXFree86_DEFS = \ + VBOX_WITH_HGCM \ +@@ -163,6 +164,7 @@ + $(VBOX_PATH_X11_XFREE_4_3)/exports/include/X11 + + VBoxGuestR3LibRuntimeXF86.cpp_CXXFLAGS = -Wno-shadow ++endif + + include $(KBUILD_PATH)/subfooter.kmk + Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-crOpenGL-Makefile.kmk ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-crOpenGL-Makefile.kmk Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,40 @@ +--- src/VBox/Additions/common/crOpenGL/Makefile.kmk.orig 2013-04-12 12:35:06.000000000 +0200 ++++ src/VBox/Additions/common/crOpenGL/Makefile.kmk 2013-05-02 23:33:26.523212251 +0200 +@@ -42,7 +42,7 @@ + + if1of ($(KBUILD_TARGET), linux solaris freebsd) + #VBoxOGL_DRI = 1 +- ifn1of ($(KBUILD_TARGET),solaris freebsd) # No DRI on Solaris yet ++ ifn1of ($(KBUILD_TARGET),solaris) # No DRI on Solaris yet + VBoxOGL_FAKEDRI = 1 + endif + +@@ -209,8 +209,13 @@ + $(PATH_STAGE_LIB)/libXfixes.so \ + $(PATH_STAGE_LIB)/libXext.so + ifdef VBoxOGL_FAKEDRI +- VBoxOGL_LIBS += \ ++ ifeq ($(KBUILD_TARGET), freebsd) ++ VBoxOGL_LIBS += \ ++ elf ++ else ++ VBoxOGL_LIBS += \ + dl ++ endif + endif + endif + ifdef VBOX_WITH_CRHGSMI +@@ -368,6 +373,13 @@ + | $$(dir $$@) + $(call MSG_GENERATE,python,$@,$<) + $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) ++ else ifeq ($(KBUILD_TARGET),freebsd) ++$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c: \ ++ $(PATH_SUB_CURRENT)/FreeBSD_exports.py \ ++ $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \ ++ | $$(dir $$@) ++ $(call MSG_GENERATE,python,$@,$<) ++ $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) + else + $(VBOX_PATH_CROGL_GENFILES)/linux_exports.c: \ + $(PATH_SUB_CURRENT)/Linux_exports.py \ Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-crOpenGL-fakedri_drv.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-crOpenGL-fakedri_drv.c Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,120 @@ +--- src/VBox/Additions/common/crOpenGL/fakedri_drv.c.orig 2012-12-19 13:25:04.000000000 -0500 ++++ src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2013-01-27 17:57:04.000000000 -0500 +@@ -29,6 +29,15 @@ + #include <dlfcn.h> + #include <elf.h> + #include <unistd.h> ++ ++#include <sys/param.h> ++#if defined(BSD) ++#include <fcntl.h> ++#include <gelf.h> ++#include <libelf.h> ++#include <string.h> ++#endif ++ + /** X server message type definitions. */ + typedef enum { + X_PROBED, /* Value was probed */ +@@ -50,11 +59,11 @@ + + //@todo this could be different... + #ifdef RT_ARCH_AMD64 +-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib64/dri:/usr/lib/dri:/usr/lib/x86_64-linux-gnu/dri" +-# define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/" ++# define DRI_DEFAULT_DRIVER_DIR "/usr/local/lib/dri" ++# define DRI_XORG_DRV_DIR "/usr/local/lib/xorg/modules/drivers/" + #else +-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/dri:/usr/lib/i386-linux-gnu/dri" +-# define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/" ++# define DRI_DEFAULT_DRIVER_DIR "/usr/local/lib/dri" ++# define DRI_XORG_DRV_DIR "/usr/local/lib/xorg/modules/drivers/" + #endif + + #ifdef DEBUG_DRI_CALLS +@@ -209,6 +218,85 @@ + + #define FAKEDRI_JMP64_PATCH_SIZE 13 + ++#if defined(BSD) ++/* Provide basic dladdr1 flags */ ++enum { ++ RTLD_DL_SYMENT = 1 ++}; ++ ++/* Provide a minimal local version of dladdr1 */ ++static int ++dladdr1(const void *address, Dl_info *dlip, void **info, int flags) ++{ ++ static DRI_ELFSYM desym; ++ GElf_Sym sym; ++ GElf_Shdr shdr; ++ Elf *elf; ++ Elf_Scn *scn; ++ Elf_Data *data; ++ int ret, fd, count, i; ++ ++ /* Initialize variables */ ++ fd = -1; ++ elf = NULL; ++ ++ /* Call dladdr first */ ++ ret = dladdr(address, dlip); ++ if (ret == 0) goto err_exit; ++ ++ /* Check for supported flags */ ++ if (flags != RTLD_DL_SYMENT) return 1; ++ ++ /* Open shared library's ELF file */ ++ if (elf_version(EV_CURRENT) == EV_NONE) goto err_exit; ++ fd = open(dlip->dli_fname, O_RDONLY); ++ if (fd < 0) goto err_exit; ++ elf = elf_begin(fd, ELF_C_READ, NULL); ++ if (elf == NULL) goto err_exit; ++ ++ /* Find the '.dynsym' section */ ++ scn = elf_nextscn(elf, NULL); ++ while (scn != NULL) { ++ if (gelf_getshdr(scn, &shdr) == NULL) goto err_exit; ++ if (shdr.sh_type == SHT_DYNSYM) break; ++ scn = elf_nextscn(elf, scn); ++ } ++ if (scn == NULL) goto err_exit; ++ ++ /* Search for the requested symbol by name and offset */ ++ data = elf_getdata(scn, NULL); ++ count = shdr.sh_size / shdr.sh_entsize; ++ for (i = 0; i < count; i++) { ++ gelf_getsym(data, i, &sym); ++ if ((strcmp(dlip->dli_sname, ++ elf_strptr(elf, shdr.sh_link, sym.st_name)) == 0) && ++ (sym.st_value == (dlip->dli_saddr - dlip->dli_fbase))) { ++ break; ++ } ++ } ++ ++ /* Close ELF file */ ++ elf_end(elf); ++ close(fd); ++ ++ /* Return symbol entry in native format */ ++ desym.st_name = sym.st_name; ++ desym.st_info = sym.st_info; ++ desym.st_other = sym.st_other; ++ desym.st_shndx = sym.st_shndx; ++ desym.st_value = sym.st_value; ++ desym.st_size = sym.st_size; ++ *info = &desym; ++ return 1; ++ ++ /* Error handler */ ++err_exit: ++ if (elf != NULL) elf_end(elf); ++ if (fd >= 0) close(fd); ++ return 0; ++} ++#endif ++ + static void + vboxPatchMesaExport(const char* psFuncName, const void *pStart, const void *pEnd) + { Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,27 @@ +--- src/VBox/Additions/x11/Installer/98vboxadd-xclient.orig 2010-09-10 14:24:55.000000000 +0200 ++++ src/VBox/Additions/x11/Installer/98vboxadd-xclient 2010-12-29 20:42:00.000000000 +0100 +@@ -28,8 +28,8 @@ + xorgbin=Xorg + found=`which Xorg | grep "no Xorg"` + if test ! -z "$found"; then +- if test -f "/usr/X11/bin/Xorg"; then +- xorgbin=/usr/X11/bin/Xorg ++ if test -f "/usr/local/bin/Xorg"; then ++ xorgbin=/usr/local/bin/Xorg + else + exit 1 + fi +@@ -40,9 +40,9 @@ + no_display=1 + fi + +-/usr/bin/VBoxClient --clipboard +-/usr/bin/VBoxClient --checkhostversion ++/usr/local/bin/VBoxClient --clipboard ++/usr/local/bin/VBoxClient --checkhostversion + test -z "$no_display" && +- /usr/bin/VBoxClient --display ++ /usr/local/bin/VBoxClient --display + test -z "$no_display" && +- /usr/bin/VBoxClient --seamless ++ /usr/local/bin/VBoxClient --seamless Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-x11-Installer-vboxclient.desktop ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-x11-Installer-vboxclient.desktop Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,10 @@ +--- src/VBox/Additions/x11/Installer/vboxclient.desktop.orig 2009-06-12 12:34:57.000000000 +0000 ++++ src/VBox/Additions/x11/Installer/vboxclient.desktop 2011-01-13 22:07:37.000000000 +0000 +@@ -8,6 +8,6 @@ + Comment=VirtualBox User Session Services + Comment[it]=Servizi di sessione utente di VirtualBox + Comment[pl]=Usługi sesji użytkownika VirtualBox +-Exec=/usr/bin/VBoxClient-all ++Exec=/usr/local/bin/VBoxClient-all + X-GNOME-Autostart-enabled=true + X-KDE-autostart-after=panel Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,20 @@ +--- src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig 2012-10-26 18:23:35.000000000 +0200 ++++ src/VBox/Additions/x11/vboxvideo/Makefile.kmk 2012-10-28 16:54:59.074303788 +0100 +@@ -196,7 +196,7 @@ + vboxvideo_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_15_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_15_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=100503000 +-if1of ($(KBUILD_TARGET), linux solaris) ++if1of ($(KBUILD_TARGET), freebsd linux solaris) + vboxvideo_drv_15_DEFS += VBOX_DRI + endif + vboxvideo_drv_15_INCS = \ +@@ -204,7 +204,7 @@ + $(VBOX_PATH_X11_ROOT)/xorg-server-1.5.3 + vboxvideo_drv_15_INCS += $(PATH_ROOT)/src/VBox/Runtime/include + vboxvideo_drv_15_SOURCES = $(vboxvideo_drv_13_SOURCES) +-if1of ($(KBUILD_TARGET), linux solaris) ++if1of ($(KBUILD_TARGET), freebsd linux solaris) + vboxvideo_drv_15_SOURCES += \ + vboxvideo_dri.c + endif Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd.c Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,56 @@ +From Alan L. Cox on FreeBSD-current: + + I just glanced at the virtualbox code for a couple minutes. For + FreeBSD 9 and 10, these lock acquires are completely unnecessary, and + have been since FreeBSD 9.0. Just delete them. They may be equally + unnecessary under FreeBSD 8, but I didn't look carefully enough to + answer that question. + +[1] http://lists.freebsd.org/pipermail/freebsd-current/2012-November/037963.html +--- + src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c b/src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c +index 5c90cf3..1176b51 100644 +--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c ++++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c +@@ -164,14 +164,19 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + { + VM_OBJECT_LOCK(pMemFreeBSD->pObject); + vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0); ++#if __FreeBSD_version < 900000 ++ /* See http://lists.freebsd.org/pipermail/freebsd-current/2012-November/037963.html */ + vm_page_lock_queues(); ++#endif + for (vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0); + pPage != NULL; + pPage = vm_page_next(pPage)) + { + vm_page_unwire(pPage, 0); + } ++#if __FreeBSD_version < 900000 + vm_page_unlock_queues(); ++#endif + VM_OBJECT_UNLOCK(pMemFreeBSD->pObject); + vm_object_deallocate(pMemFreeBSD->pObject); + break; +@@ -263,11 +268,15 @@ static int rtR0MemObjFreeBSDPhysAllocHelper(vm_object_t pObject, u_long cPages, + while (iPage-- > 0) + { + pPage = vm_page_lookup(pObject, iPage); ++#if __FreeBSD_version < 900000 + vm_page_lock_queues(); ++#endif + if (fWire) + vm_page_unwire(pPage, 0); + vm_page_free(pPage); ++#if __FreeBSD_version < 900000 + vm_page_unlock_queues(); ++#endif + } + VM_OBJECT_UNLOCK(pObject); + return rcNoMem; +-- +1.7.11.5 + Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,132 @@ +$FreeBSD: emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c 317147 2013-05-02 20:54:04Z decke $ + +--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c 2013-03-20 19:19:36.795745576 -0700 ++++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c 2013-03-20 19:15:35.164791970 -0700 +@@ -162,7 +162,11 @@ + case RTR0MEMOBJTYPE_PHYS: + case RTR0MEMOBJTYPE_PHYS_NC: + { ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WLOCK(pMemFreeBSD->pObject); ++#else + VM_OBJECT_LOCK(pMemFreeBSD->pObject); ++#endif + vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0); + #if __FreeBSD_version < 900000 + /* See http://lists.freebsd.org/pipermail/freebsd-current/2012-November/037963.html */ +@@ -177,7 +181,12 @@ + #if __FreeBSD_version < 900000 + vm_page_unlock_queues(); + #endif ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); ++#else + VM_OBJECT_UNLOCK(pMemFreeBSD->pObject); ++#endif ++ + vm_object_deallocate(pMemFreeBSD->pObject); + break; + } +@@ -205,10 +214,18 @@ + + while (cTries <= 1) + { ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WLOCK(pObject); ++#else + VM_OBJECT_LOCK(pObject); ++#endif + pPages = vm_page_alloc_contig(pObject, iPIndex, fFlags, cPages, 0, + VmPhysAddrHigh, uAlignment, 0, VM_MEMATTR_DEFAULT); ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WUNLOCK(pObject); ++#else + VM_OBJECT_UNLOCK(pObject); ++#endif + if (pPages) + break; + vm_pageout_grow_cache(cTries, 0, VmPhysAddrHigh); +@@ -228,7 +245,11 @@ + + if (!pPages) + return pPages; ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WLOCK(pObject); ++#else + VM_OBJECT_LOCK(pObject); ++#endif + for (vm_pindex_t iPage = 0; iPage < cPages; iPage++) + { + vm_page_t pPage = pPages + iPage; +@@ -240,7 +261,11 @@ + atomic_add_int(&cnt.v_wire_count, 1); + } + } ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WUNLOCK(pObject); ++#else + VM_OBJECT_UNLOCK(pObject); ++#endif + return pPages; + #endif + } +@@ -264,7 +289,11 @@ + if (!pPage) + { + /* Free all allocated pages */ ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WLOCK(pObject); ++#else + VM_OBJECT_LOCK(pObject); ++#endif + while (iPage-- > 0) + { + pPage = vm_page_lookup(pObject, iPage); +@@ -278,7 +307,11 @@ + vm_page_unlock_queues(); + #endif + } ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WUNLOCK(pObject); ++#else + VM_OBJECT_UNLOCK(pObject); ++#endif + return rcNoMem; + } + } +@@ -411,9 +444,17 @@ + if (fContiguous) + { + Assert(enmType == RTR0MEMOBJTYPE_PHYS); ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WLOCK(pMemFreeBSD->pObject); ++#else + VM_OBJECT_LOCK(pMemFreeBSD->pObject); ++#endif + pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_page_find_least(pMemFreeBSD->pObject, 0)); ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); ++#else + VM_OBJECT_UNLOCK(pMemFreeBSD->pObject); ++#endif + pMemFreeBSD->Core.u.Phys.fAllocated = true; + } + +@@ -823,9 +864,17 @@ + case RTR0MEMOBJTYPE_PHYS_NC: + { + RTHCPHYS addr; ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WLOCK(pMemFreeBSD->pObject); ++#else + VM_OBJECT_LOCK(pMemFreeBSD->pObject); ++#endif + addr = VM_PAGE_TO_PHYS(vm_page_lookup(pMemFreeBSD->pObject, iPage)); ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject); ++#else + VM_OBJECT_UNLOCK(pMemFreeBSD->pObject); ++#endif + return addr; + } + Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,20 @@ +--- src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h.orig 2013-03-05 14:28:07.000000000 +0000 ++++ src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h 2013-03-28 13:10:34.000000000 +0000 +@@ -50,6 +50,9 @@ + #include <sys/unistd.h> + #include <sys/kthread.h> + #include <sys/lock.h> ++#if __FreeBSD_version >= 1000030 ++#include <sys/rwlock.h> ++#endif + #include <sys/mutex.h> + #include <sys/sched.h> + #include <sys/callout.h> +@@ -64,6 +67,7 @@ + #include <vm/vm_kern.h> + #include <vm/vm_param.h> /* KERN_SUCCESS ++ */ + #include <vm/vm_page.h> ++#include <vm/vm_pageout.h> + #include <vm/vm_phys.h> /* vm_phys_alloc_* */ + #include <vm/vm_extern.h> /* kmem_alloc_attr */ + #include <sys/vmmeter.h> /* cnt */ Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/vboxguest.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/vboxguest.in Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,69 @@ +#!/bin/sh +# +# $FreeBSD: emulators/virtualbox-ose-additions/files/vboxguest.in 318265 2013-05-15 21:22:21Z decke $ +# + +# 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_start() +{ + if ! kldstat -q -m pci/vboxguest; + then + if ! kldload vboxguest > /dev/null 2>&1; + then + warn "Can't load vboxguest module." + return 1 + fi + fi + if ! kldstat -q -m vgapci/vboxvideo; + then + if ! kldload vboxvideo > /dev/null 2>&1; + then + warn "Can't load vboxvideo module." + return 1 + fi + fi +} + +vboxguest_stop() +{ + if kldstat -q -m vgapci/vboxvideo; + then + if ! kldunload vboxvideo > /dev/null 2>&1; + then + warn "Can't unload vboxvideo module." + return 1 + fi + fi + if kldstat -q -m pci/vboxguest; + then + if ! kldunload vboxguest > /dev/null 2>&1; + then + warn "Can't unload vboxguest module." + return 1 + fi + fi +} + +load_rc_config $name + +: ${vboxguest_enable="NO"} + +run_rc_command "$1" Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/vboxservice.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/vboxservice.in Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,25 @@ +#!/bin/sh + +# $FreeBSD: emulators/virtualbox-ose-additions/files/vboxservice.in 300896 2012-07-14 13:54:48Z beat $ + +# 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" Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/pkg-descr Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,9 @@ +These additions are for installation inside a FreeBSD guest. + +VirtualBox is a family of powerful x86 virtualization products for +enterprise as well as home use. Not only is VirtualBox an extremely +feature rich, high performance product for enterprise customers, it +is also the only professional solution that is freely available as +Open Source Software under the terms of the GNU General Public License. + +WWW: http://www.virtualbox.org/ Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/pkg-message ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/pkg-message Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,21 @@ +============================================================================= + +VirtualBox Guest Additions were installed. + + +You need to enable the vboxguest startscript to load the kernel module and +vboxservice to use host time synchronization. + +vboxguest_enable="YES" +vboxservice_enable="YES" + +You also have to add all X11 users that want to use any of the additional +features (clipboard sharing, window scaling) to the wheel group. + +% pw groupmod wheel -m jerry + +Reboot the machine to load the needed kernel modules. + +For detailed informations please visit http://wiki.freebsd.org/VirtualBox + +============================================================================= Added: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/pkg-plist Sun Jul 7 13:55:56 2013 (r254313) @@ -0,0 +1,31 @@ +@comment $FreeBSD: emulators/virtualbox-ose-additions/pkg-plist 318940 2013-05-24 09:47:12Z decke $ +%%X11%%bin/VBoxClient-all +%%X11%%bin/VBoxClient +%%X11%%etc/xdg/autostart/vboxclient.desktop +sbin/VBoxControl +sbin/VBoxService +%%OPENGL%%lib/VBoxOGL.so +%%OPENGL%%lib/VBoxOGLarrayspu.so +%%OPENGL%%lib/VBoxOGLcrutil.so +%%OPENGL%%lib/VBoxOGLerrorspu.so +%%OPENGL%%lib/VBoxOGLfeedbackspu.so +%%OPENGL%%lib/VBoxOGLpackspu.so +%%OPENGL%%lib/VBoxOGLpassthroughspu.so +%%OPENGL%%lib/dri/vboxvideo_dri.so +%%X11%%share/autostart/vboxclient.desktop +%%X11%%lib/xorg/modules/drivers/vboxvideo_drv.so +%%X11%%lib/xorg/modules/input/vboxmouse_drv.so +%%X11%%@dirrmtry share/autostart +%%X11%%@dirrmtry lib/xorg/modules/drivers +%%X11%%@dirrmtry lib/xorg/modules/input +%%X11%%@dirrmtry lib/xorg/modules +%%X11%%@dirrmtry lib/xorg +%%OPENGL%%@dirrmtry lib/dri +%%X11%%@dirrmtry lib +@cwd / +%%KMODDIR%%/vboxguest.ko +%%WITH_DEBUG%%%%KMODDIR%%/vboxguest.ko.symbols +%%X11%%%%KMODDIR%%/vboxvideo.ko +%%WITH_DEBUG%%%%X11%%%%KMODDIR%%/vboxvideo.ko +@exec /usr/sbin/kldxref /%%KMODDIR%% +@unexec /usr/sbin/kldxref /%%KMODDIR%%
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307071355.r67DtvHE039533>