diff --git a/srcpkgs/virtualbox-ose-dkms b/srcpkgs/virtualbox-ose-dkms new file mode 120000 index 00000000000..0e682f0738d --- /dev/null +++ b/srcpkgs/virtualbox-ose-dkms @@ -0,0 +1 @@ +virtualbox-ose \ No newline at end of file diff --git a/srcpkgs/virtualbox-ose-guest b/srcpkgs/virtualbox-ose-guest new file mode 120000 index 00000000000..0e682f0738d --- /dev/null +++ b/srcpkgs/virtualbox-ose-guest @@ -0,0 +1 @@ +virtualbox-ose \ No newline at end of file diff --git a/srcpkgs/virtualbox-ose-guest-dkms b/srcpkgs/virtualbox-ose-guest-dkms new file mode 120000 index 00000000000..0e682f0738d --- /dev/null +++ b/srcpkgs/virtualbox-ose-guest-dkms @@ -0,0 +1 @@ +virtualbox-ose \ No newline at end of file diff --git a/srcpkgs/virtualbox-ose/INSTALL b/srcpkgs/virtualbox-ose/INSTALL new file mode 100644 index 00000000000..a90cf9c3039 --- /dev/null +++ b/srcpkgs/virtualbox-ose/INSTALL @@ -0,0 +1,11 @@ +case "${ACTION}" in +post) + echo "============================================================" + echo "To use VirtualBox the following modules should be loaded:" + echo " vboxdrv, vboxnetadp, vboxnetflt" + echo + echo "You can load them at boot in /etc/conf.d/modules, like:" + echo " modules=\"vboxdrv vboxnetadp vboxnetflt\"" + echo "============================================================" + ;; +esac diff --git a/srcpkgs/virtualbox-ose/files/LocalConfig.kmk b/srcpkgs/virtualbox-ose/files/LocalConfig.kmk new file mode 100644 index 00000000000..95c320f6365 --- /dev/null +++ b/srcpkgs/virtualbox-ose/files/LocalConfig.kmk @@ -0,0 +1,16 @@ +VBOX_WITH_ADDITION_DRIVERS = +VBOX_WITH_INSTALLER = 1 +VBOX_WITH_LINUX_ADDITIONS = 1 +VBOX_WITH_X11_ADDITIONS = 1 +VBOX_WITH_TESTCASES = +VBOX_WITH_TESTSUITE = +VBOX_WITH_ORIGIN := +VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox +VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox +VBOX_PATH_APP_DOCS = $(VBOX_PATH_PACKAGE_DOCS) +VBOX_WITH_REGISTRATION_REQUEST = +VBOX_WITH_UPDATE_REQUEST = +# Enable it when vnc pkg is available. +#VBOX_WITH_VNC := 1 diff --git a/srcpkgs/virtualbox-ose/files/virtualbox-ose-dkms.dkms b/srcpkgs/virtualbox-ose/files/virtualbox-ose-dkms.dkms new file mode 100644 index 00000000000..6df12f77303 --- /dev/null +++ b/srcpkgs/virtualbox-ose/files/virtualbox-ose-dkms.dkms @@ -0,0 +1,13 @@ +PACKAGE_NAME="virtualbox-ose" +PACKAGE_VERSION="#MODULE_VERSION#" +CLEAN="rm -f *.*o" +BUILT_MODULE_NAME[0]="vboxdrv" +BUILT_MODULE_LOCATION[0]="vboxdrv" +DEST_MODULE_LOCATION[0]="/updates" +BUILT_MODULE_NAME[1]="vboxnetadp" +BUILT_MODULE_LOCATION[1]="vboxnetadp" +DEST_MODULE_LOCATION[1]="/updates" +BUILT_MODULE_NAME[2]="vboxnetflt" +BUILT_MODULE_LOCATION[2]="vboxnetflt" +DEST_MODULE_LOCATION[2]="/updates" +AUTOINSTALL="yes" diff --git a/srcpkgs/virtualbox-ose/files/virtualbox-ose-dkms.udev b/srcpkgs/virtualbox-ose/files/virtualbox-ose-dkms.udev new file mode 100644 index 00000000000..a075da87fbf --- /dev/null +++ b/srcpkgs/virtualbox-ose/files/virtualbox-ose-dkms.udev @@ -0,0 +1 @@ +KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600" diff --git a/srcpkgs/virtualbox-ose/files/virtualbox-ose-guest-dkms.dkms b/srcpkgs/virtualbox-ose/files/virtualbox-ose-guest-dkms.dkms new file mode 100644 index 00000000000..d2aefcf4b05 --- /dev/null +++ b/srcpkgs/virtualbox-ose/files/virtualbox-ose-guest-dkms.dkms @@ -0,0 +1,13 @@ +PACKAGE_NAME="virtualbox-ose-guest" +PACKAGE_VERSION="#MODULE_VERSION#" +CLEAN="rm -f *.*o" +BUILT_MODULE_NAME[0]="vboxguest" +BUILT_MODULE_LOCATION[0]="vboxguest" +DEST_MODULE_LOCATION[0]="/updates" +BUILT_MODULE_NAME[1]="vboxsf" +BUILT_MODULE_LOCATION[1]="vboxsf" +DEST_MODULE_LOCATION[1]="/updates" +BUILT_MODULE_NAME[2]="vboxvideo" +BUILT_MODULE_LOCATION[2]="vboxvideo" +DEST_MODULE_LOCATION[2]="/updates" +AUTOINSTALL="yes" diff --git a/srcpkgs/virtualbox-ose/files/virtualbox-ose-guest-dkms.udev b/srcpkgs/virtualbox-ose/files/virtualbox-ose-guest-dkms.udev new file mode 100644 index 00000000000..629d07532c4 --- /dev/null +++ b/srcpkgs/virtualbox-ose/files/virtualbox-ose-guest-dkms.udev @@ -0,0 +1,2 @@ +KERNEL=="vboxguest", NAME="vboxguest", OWNER="root", MODE="0660" +KERNEL=="vboxuser", NAME="vboxuser", OWNER="root", MODE="0666" diff --git a/srcpkgs/virtualbox-ose/patches/kernel_headers_path.diff b/srcpkgs/virtualbox-ose/patches/kernel_headers_path.diff new file mode 100644 index 00000000000..3dd06f8e4bb --- /dev/null +++ b/srcpkgs/virtualbox-ose/patches/kernel_headers_path.diff @@ -0,0 +1,15 @@ +--- configure.orig 2010-12-22 14:24:16.536609268 +0100 ++++ configure 2010-12-22 14:24:57.939796907 +0100 +@@ -139,11 +139,7 @@ QT4DIR_PKGCONFIG=1 + QT4UIC3DIR="/usr/bin" + KBUILDDIR="`cd \`dirname $0\`; pwd`/kBuild" + DEVDIR="`cd \`dirname $0\`; pwd`/tools" +-if [ -d "/lib/modules/`uname -r`/build" ]; then +- LINUX="/lib/modules/`uname -r`/build" +-else +- LINUX="/usr/src/linux" +-fi ++LINUX="/lib/modules/@@XBPS_KERNHDRVER@@/build" + KCHMVIEWER="kchmviewer" + LOG="configure.log" + CNF="AutoConfig.kmk" diff --git a/srcpkgs/virtualbox-ose/template b/srcpkgs/virtualbox-ose/template new file mode 100644 index 00000000000..0aac0e67e72 --- /dev/null +++ b/srcpkgs/virtualbox-ose/template @@ -0,0 +1,186 @@ +# Template file for 'virtualbox-ose' +pkgname=virtualbox-ose +version=4.0.0 +wrksrc="VirtualBox-${version}_OSE" +distfiles="http://download.virtualbox.org/virtualbox/$version/VirtualBox-$version.tar.bz2" +build_style=custom-install +short_desc="General-purpose full virtualizer for x86 hardware" +maintainer="Juan RP " +checksum=c60b42385b4956780babd133d2b694dade4838e18ef723a78f899fc3bd8543a0 +long_desc=" + VirtualBox is a free x86 virtualization solution allowing a wide range of x86 + operating systems such as Windows, DOS, BSD or Linux to run on a Linux system." + +gtk_iconcache_dirs="/usr/share/icons/hicolor" +subpackages="${pkgname}-dkms ${pkgname}-guest ${pkgname}-guest-dkms" + +Add_dependency run libgcc +Add_dependency run glibc +Add_dependency run libstdc++ +Add_dependency run libpng +Add_dependency run zlib +Add_dependency run libssl +Add_dependency run libxml2 +Add_dependency run libcurl +Add_dependency run SDL +Add_dependency run qt +Add_dependency run libX11 +Add_dependency run libXmu +Add_dependency run libXext +Add_dependency run python +Add_dependency run libXcursor +Add_dependency run libXt +Add_dependency run libXinerama +Add_dependency run MesaLib +Add_dependency run libIDL +Add_dependency run glib +Add_dependency run ${pkgname}-dkms ">=${version}" + +Add_dependency build libpng-devel +Add_dependency build zlib-devel +Add_dependency build openssl-devel +Add_dependency build libxml2-devel +Add_dependency build libcurl-devel +Add_dependency build SDL-devel +Add_dependency build qt-devel +Add_dependency build libX11-devel +Add_dependency build libXmu-devel +Add_dependency build libXext-devel +Add_dependency build python-devel +Add_dependency build libXcursor-devel +Add_dependency build libXt-devel +Add_dependency build libXinerama-devel +Add_dependency build MesaLib-devel +Add_dependency build libIDL-devel +Add_dependency build glib-devel +Add_dependency build pam-devel +Add_dependency build libxslt +Add_dependency build docbook-xml +Add_dependency build docbook-xsl +Add_dependency build acpica-utils +Add_dependency build kernel-headers +Add_dependency build dev86 +Add_dependency build makeself +if [ "${xbps_machine}" = "x86_64" ]; then + Add_dependency build gcc-c++-multilib +fi +Add_dependency full gcc +Add_dependency full coreutils +Add_dependency full hicolor-icon-theme +Add_dependency full desktop-file-utils + +do_build() +{ + _khdrver=$($XBPS_PKGDB_CMD version kernel-headers) + + # Fix path for kernel-headers location. + sed -i -e "s|@@XBPS_KERNHDRVER@@|${_khdrver}|g" configure + + # Build. + cp -f ${FILESDIR}/LocalConfig.kmk . + ./configure --disable-kmods --disable-java --enable-vde --disable-docs + source ./env.sh + kmk all +} + +do_install() +{ + local f _osedir _guestdir + + source ./env.sh + # + # virtualbox-ose. + # + cd ${wrksrc}/out/linux.$BUILD_PLATFORM_ARCH/release/bin + 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 vboxwebsrv; do + ln -sf VBox ${DESTDIR}/usr/bin/${f} + done + install -m0755 components/* -t ${DESTDIR}/usr/lib/virtualbox/components + install -m0755 *.so ${DESTDIR}/usr/lib/virtualbox + install -m0644 *.gc *.r0 VBoxEFI* ${DESTDIR}/usr/lib/virtualbox + install -m4755 VBoxHeadless VBoxSDL VBoxNetDHCP VBoxNetAdpCtl \ + VirtualBox VBoxBFE -t ${DESTDIR}/usr/lib/virtualbox + install -m0755 VBoxManage VBoxSVC VBoxXPCOMIPCD VBoxSysInfo.sh xpidl \ + VBoxTestOGL EfiThunk *.py -t ${DESTDIR}/usr/lib/virtualbox + + install -m0755 nls/*.qm -t ${DESTDIR}/usr/share/virtualbox/nls + + install -D -m0644 VBox.png ${DESTDIR}/usr/share/pixmaps/VBox.png + install -D -m0644 virtualbox.desktop \ + ${DESTDIR}/usr/share/applications/virtualbox.desktop + sed -i -e "s|Icon=VBox|Icon=VBox.png|" \ + ${DESTDIR}/usr/share/applications/virtualbox.desktop + install -d ${DESTDIR}/usr/share/icons/hicolor + cp -a icons ${DESTDIR}/usr/share/icons/hicolor + + mkdir -p ${DESTDIR}/etc/vbox + echo 'INSTALL_DIR=/usr/lib/virtualbox' > ${DESTDIR}/etc/vbox/vbox.cfg + + mkdir -p ${DESTDIR}/usr/lib/virtualbox/sdk/bindings/xpcom/python + cd sdk/installer + VBOX_INSTALL_PATH="/usr/lib/virtualBox" \ + python vboxapisetup.py install --root "${DESTDIR}" + cd ${wrksrc}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/sdk/bindings/xpcom/python + cp -r xpcom ${DESTDIR}/usr/lib/virtualbox/sdk/bindings/xpcom/python + chmod 644 ${DESTDIR}/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/*.py + chmod 644 ${DESTDIR}/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/*.py + chmod 644 ${DESTDIR}/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/client/*.py + + cd ${wrksrc}/out/linux.$BUILD_PLATFORM_ARCH/release/bin + install -d ${DESTDIR}/usr/share/licenses/${pkgname} + install -m0644 ${wrksrc}/COPYING* \ + ${DESTDIR}/usr/share/licenses/${pkgname} + # + # virtualbox-ose-dkms. + # + cd ${wrksrc}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src + local _osedir=${DESTDIR}/usr/src/${pkgname}-${version} + + mkdir -p ${_osedir} + cp -a . ${_osedir} + + install -m644 ${FILESDIR}/${pkgname}-dkms.dkms ${_osedir}/dkms.conf + mkdir -p ${DESTDIR}/lib/udev/rules.d + install -m644 ${FILESDIR}/${pkgname}-dkms.udev \ + ${DESTDIR}/lib/udev/rules.d/60-virtualbox-ose-dkms.rules + # + # virtualbox-ose-guest. + # + cd ${wrksrc}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions + install -d ${DESTDIR}/usr/bin ${DESTDIR}/sbin + + install -m755 VBoxClient VBoxControl VBoxService ${DESTDIR}/usr/bin + install -m755 mount.vboxsf ${DESTDIR}/sbin + install -m644 -D ${wrksrc}/src/VBox/Additions/x11/Installer/50-vboxmouse.conf \ + ${DESTDIR}/usr/share/X11/xorg.conf.d/50-vboxmouse.conf + install -m644 -D ${wrksrc}/src/VBox/Additions/linux/installer/70-xorg-vboxmouse.rules \ + ${DESTDIR}/lib/udev/rules.d/70-xorg-vboxmouse.rules + install -m755 -D ${wrksrc}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + ${DESTDIR}/etc/X11/Xsession.d/98vboxadd-xclient + install -m755 -D ${wrksrc}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + ${DESTDIR}/etc/xdg/autostart/vboxclient.desktop + install -D vboxmouse_drv_19.so \ + ${DESTDIR}/usr/lib/xorg/modules/input/vboxmouse.so + install -D vboxvideo_drv_19.so \ + ${DESTDIR}/usr/lib/xorg/modules/drivers/vboxvideo.so + install -d ${DESTDIR}/usr/lib/xorg/modules/dri + install -m755 VBoxOGL*.so ${DESTDIR}/usr/lib + cd ${DESTDIR}/usr/lib && ln -s VBoxOGL.so \ + ${DESTDIR}/usr/lib/xorg/modules/dri/vboxvideo_dri.so + cd ${wrksrc}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions + install -m755 -D pam_vbox.so ${DESTDIR}/lib/security/pam_vbox.so + # + # virtualbox-ose-guest-dkms. + # + cd ${wrksrc}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src + local _guestdir=${DESTDIR}/usr/src/${pkgname}-guest-${version} + + cp -a . ${_guestdir} + install -m644 ${FILESDIR}/${pkgname}-guest-dkms.dkms \ + ${_guestdir}/dkms.conf + install -m644 ${FILESDIR}/${pkgname}-guest-dkms.udev \ + ${DESTDIR}/lib/udev/rules.d/60-virtualbox-ose-guest-dkms.rules +} diff --git a/srcpkgs/virtualbox-ose/virtualbox-ose-dkms.template b/srcpkgs/virtualbox-ose/virtualbox-ose-dkms.template new file mode 100644 index 00000000000..dff0e1fc764 --- /dev/null +++ b/srcpkgs/virtualbox-ose/virtualbox-ose-dkms.template @@ -0,0 +1,22 @@ +# Template file for 'virtualbox-ose-dkms'. +# +short_desc="${short_desc} - kernel module sources for dkms" +long_desc="${long_desc} + + This package provides the source code for the virtualbox kernel module to be + build with dkms. The virtualbox-ose package is also required in order to make + use of these modules. Kernel sources or headers are required to compile this + module." + +dkms_modules="virtualbox-ose ${version}" +noarch=yes + +do_install() +{ + install -d ${DESTDIR}/lib/udev/rules.d + install -d ${DESTDIR}/usr/src + mv ${SRCPKGDESTDIR}/usr/src/virtualbox-ose-${version} \ + ${DESTDIR}/usr/src + mv ${SRCPKGDESTDIR}/lib/udev/rules.d/60-virtualbox-ose-dkms.rules \ + ${DESTDIR}/lib/udev/rules.d +} diff --git a/srcpkgs/virtualbox-ose/virtualbox-ose-guest-dkms.template b/srcpkgs/virtualbox-ose/virtualbox-ose-guest-dkms.template new file mode 100644 index 00000000000..4930e1021fb --- /dev/null +++ b/srcpkgs/virtualbox-ose/virtualbox-ose-guest-dkms.template @@ -0,0 +1,20 @@ +# Template file for 'virtualbox-ose-guest-dkms'. +# +short_desc="${short_desc} - guest addition module source for dkms" +long_desc="${long_desc} + + This package provides the source code for the virtualbox guest addition kernel + modules to be build with dkms. The virtualbox-ose package is also required in + order to make use of these modules. Kernel sources or headers are required to + compile these modules." + +dkms_modules="virtualbox-ose-guest ${version}" +noarch=yes + +do_install() +{ + install -d ${DESTDIR}/usr ${DESTDIR}/lib/udev/rules.d + mv ${SRCPKGDESTDIR}/usr/src ${DESTDIR}/usr + mv ${SRCPKGDESTDIR}/lib/udev/rules.d/60-virtualbox-ose-guest-* \ + ${DESTDIR}/lib/udev/rules.d +} diff --git a/srcpkgs/virtualbox-ose/virtualbox-ose-guest.template b/srcpkgs/virtualbox-ose/virtualbox-ose-guest.template new file mode 100644 index 00000000000..8c20d698041 --- /dev/null +++ b/srcpkgs/virtualbox-ose/virtualbox-ose-guest.template @@ -0,0 +1,42 @@ +# Template file for 'virtualbox-ose-guest'. +# +short_desc="${short_desc} - guest utilities" +long_desc="${long_desc} + + This package provides the guest utilities of the Open Source Edition of + VirtualBox. These utilities are meant to be run inside the virtual machine. + They provide closer integration and allow to share data through shared folders + between the host system and the virtual machine." + +Add_dependency run glibc +Add_dependency run libX11 +Add_dependency run libXrandr +Add_dependency run libXt +Add_dependency run libXext +Add_dependency run libXmu +Add_dependency run libXcomposite +Add_dependency run libXdamage +Add_dependency run libXfixes +Add_dependency run pam +Add_dependency run MesaLib +Add_dependency run ${pkgname}-dkms ">=${version}" + +do_install() +{ + install -d ${DESTDIR}/usr/{bin,lib} ${DESTDIR}/{etc,lib} \ + ${DESTDIR}/lib/udev/rules.d ${DESTDIR}/usr/share/X11 + for f in VBoxClient* VBoxControl VBoxService; do + mv ${SRCPKGDESTDIR}/usr/bin/${f} ${DESTDIR}/usr/bin + done + mv ${SRCPKGDESTDIR}/usr/share/X11 ${DESTDIR}/usr/share + mv ${SRCPKGDESTDIR}/sbin ${DESTDIR} + mv ${SRCPKGDESTDIR}/etc/xdg ${DESTDIR}/etc + mv ${SRCPKGDESTDIR}/usr/lib/xorg ${DESTDIR}/usr/lib + mv ${SRCPKGDESTDIR}/lib/udev/rules.d/70-xorg-vboxmouse.rules \ + ${DESTDIR}/lib/udev/rules.d + mv ${SRCPKGDESTDIR}/lib/security ${DESTDIR}/lib + for f in VBoxOGL VBoxOGLarrayspu VBoxOGLcrutil VBoxOGLerrorspu \ + VBoxOGLfeedbackspu VBoxOGLpackspu VBoxOGLpassthroughspu; do + mv ${SRCPKGDESTDIR}/usr/lib/${f}.so ${DESTDIR}/usr/lib + done +} diff --git a/xbps-src/common/mapping_shlib_binpkg.txt b/xbps-src/common/mapping_shlib_binpkg.txt index 29fd6a1453f..0edc3617362 100644 --- a/xbps-src/common/mapping_shlib_binpkg.txt +++ b/xbps-src/common/mapping_shlib_binpkg.txt @@ -721,3 +721,13 @@ libwavpack.so libwavpack wavpack-devel libvala-0.10.so libvala vala-devel libSDL_net-1.2.so SDL_net SDL_net-devel libmodplug.so libmodplug libmodplug-devel +VBoxVMM.so virtualbox-ose +VBoxRT.so virtualbox-ose +VBoxXPCOM.so virtualbox-ose +VBoxREM.so virtualbox-ose +VBoxDDU.so virtualbox-ose +VBoxDD2.so virtualbox-ose +VBoxOGLhostcrutil.so virtualbox-ose +VBoxKeyboard.so virtualbox-ose +VBoxOGLrenderspu.so virtualbox-ose +VBoxOGLcrutil.so virtualbox-ose-guest