Added virtualbox-4.0.0 build template (with DKMS support!).

This commit is contained in:
Juan RP 2010-12-23 14:41:13 +01:00
parent 8f19147495
commit ce79a6fe48
15 changed files with 354 additions and 0 deletions

1
srcpkgs/virtualbox-ose-dkms Symbolic link
View File

@ -0,0 +1 @@
virtualbox-ose

View File

@ -0,0 +1 @@
virtualbox-ose

View File

@ -0,0 +1 @@
virtualbox-ose

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -0,0 +1 @@
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"

View File

@ -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"

View File

@ -0,0 +1,2 @@
KERNEL=="vboxguest", NAME="vboxguest", OWNER="root", MODE="0660"
KERNEL=="vboxuser", NAME="vboxuser", OWNER="root", MODE="0666"

View File

@ -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"

View File

@ -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 <xtraeme@gmail.com>"
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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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