# $Id: PKGBUILD 12111 2010-02-27 14:50:18Z ibiru $
#Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgbase=('virtualbox-ose')
pkgname=('virtualbox-ose' 'virtualbox-modules')
pkgver=3.1.6
pkgrel=1
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL' 'custom')
makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2'
'libxcursor' 'qt' 'libidl2' 'sdl_ttf'
'libxtst' 'xalan-c' 'sdl' 'libxmu' 'curl' 'python' 'kernel26-headers>=2.6.33' 'mesa')
source=(#http://download.virtualbox.org/virtualbox/$pkgver/VirtualBox-$pkgver-OSE.tar.bz2
'60-virtualbox.rules' '60-vboxguest.rules' 'LocalConfig.kmk')
build() {
cd "$srcdir/VirtualBox-${pkgver}_OSE"
cp "$srcdir/LocalConfig.kmk" .
sed -i 's/python2.4/python2.6/g' configure
./configure --disable-alsa --disable-pulse || return 1
source ./env.sh
kmk all || return 1
#build modules
cd out/linux.$BUILD_PLATFORM_ARCH/release/bin/src
make || return 1
#build guest additions modules
#cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
#make || return 1
#cd vboxvideo
#make || return 1
}
package_virtualbox-ose() {
pkgdesc="Powerful x86 virtualization for enterprise as well as home use (Open Source Edition)"
provides=('virtualbox')
conflicts=('virtualbox')
depends=('virtualbox-modules' 'libxcursor' 'libidl2' 'libxslt' 'sdl' 'libxmu' 'curl')
optdepends=('qt: For VirtualBox GUI'
'libgl: For Shared OpenGL'
'python: For Python Support')
provides=("virtualbox=${pkgver}")
install=virtualbox.install
source $srcdir/VirtualBox-${pkgver}_OSE/env.sh
cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
mkdir -p "$pkgdir"/usr/{bin,lib/virtualbox/components,share/virtualbox/nls}
#Binaries and Wrapper with Launchers
install -m 0755 VBox.sh "$pkgdir/usr/bin/VBox"
ln -sf VBox "$pkgdir/usr/bin/VBoxHeadless"
ln -sf VBox "$pkgdir/usr/bin/VBoxManage"
ln -sf VBox "$pkgdir/usr/bin/VBoxSDL"
ln -sf VBox "$pkgdir/usr/bin/VirtualBox"
install -m 0755 VBoxTunctl "$pkgdir/usr/bin" || return 1
#components
install -m 0755 components/* -t "$pkgdir/usr/lib/virtualbox/components" || return 1
#lib
install -m 0755 *.so "$pkgdir/usr/lib/virtualbox" || return 1
install -m 0644 *.gc *.r0 VBoxEFI*.fd "$pkgdir/usr/lib/virtualbox" || return 1
cd "sdk/installer"
VBOX_INSTALL_PATH="/usr/lib/virtualBox" python vboxapisetup.py install --root "${pkgdir}" || return 1
cd $OLDPWD
#setuid root binaries
install -m 4755 VBoxHeadless VBoxSDL VBoxNetDHCP VBoxNetAdpCtl VirtualBox VBoxBFE \
-t "$pkgdir/usr/lib/virtualbox" || return 1
#other binaries
install -m 0755 VBoxManage VBoxSVC VBoxXPCOMIPCD VBoxSysInfo.sh xpidl \
VBoxTestOGL EfiThunk \
-t "$pkgdir/usr/lib/virtualbox" || return 1
#language
install -m 0755 nls/* -t "$pkgdir/usr/share/virtualbox/nls" || return 1
#icon
install -D -m 0644 VBox.png "$pkgdir/usr/share/pixmaps/VBox.png" || return 1
#desktop
install -D -m 0644 virtualbox.desktop "$pkgdir/usr/share/applications/virtualbox.desktop" || return 1
#install configuration
mkdir -p "$pkgdir/etc/vbox"
echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg"
#udev and licence
install -D -m 0644 "$srcdir/VirtualBox-${pkgver}_OSE/COPYING" \
"$pkgdir/usr/share/licenses/virtualbox-ose/LICENSE" || return 1
install -D -m 0644 "$srcdir/60-virtualbox.rules" \
"$pkgdir/lib/udev/rules.d/60-virtualbox.rules" || return 1
}
package_virtualbox-modules(){
_kernver=`uname -r`
pkgdesc="Kernel modules for VirtualBox"
license=('GPL')
depends=('kernel26>=2.6.33' 'kernel26<2.6.34')
install=virtualbox-modules.install
cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src"
install -D -m644 vboxdrv.ko "$pkgdir/lib/modules/${_kernver}/misc/vboxdrv.ko"
install -D -m644 vboxnetflt.ko "$pkgdir/lib/modules/${_kernver}/misc/vboxnetflt.ko"
install -D -m644 vboxnetadp.ko "$pkgdir/lib/modules/${_kernver}/misc/vboxnetadp.ko"
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-modules.install"
}
package_virtualbox-ose-additions(){
pkgdesc="Guest Additions for VirtualBox (Open Source Edition)"
depends=("virtualbox-ose-additions-modules=$pkgver" 'gcc-libs' 'libxmu')
cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
install -d "$pkgdir/usr/bin"
install -d "$pkgdir/sbin"
install -m755 VBoxClient VBoxControl VBoxService "$pkgdir/usr/bin" || return 1
install -m755 mount.vboxsf "$pkgdir/sbin" || return 1
install -m755 "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/VBoxRandR.sh \
"$pkgdir"/usr/bin/VBoxRandR || return 1
install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
"$pkgdir"/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh || return 1
install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/vboxclient.desktop \
"$pkgdir"/etc/xdg/autostart/vboxclient.desktop || return 1
install -D vboxmouse_drv_17.so \
"$pkgdir/usr/lib/xorg/modules/input/vboxmouse.so" || return 1
install -D vboxvideo_drv_17.so \
"$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so" || return 1
install -m755 -D $srcdir/VirtualBox-${pkgver}_OSE/src/VBox/Additions/linux/installer/90-vboxguest.fdi \
"$pkgdir/usr/share/hal/fdi/policy/20thirdparty/90-vboxguest.fdi" || return 1
install -d "$pkgdir/usr/lib/"
install -m755 VBoxOGL*.so "$pkgdir/usr/lib" || return 1
}
package_virtualbox-ose-additions-modules(){
_kernver=2.6.33-ARCH
pkgdesc="Kernel modules for VirtualBox Guest Additions"
license=('GPL')
install=virtualbox-ose-additions-modules.install
depends=('kernel26>=2.6.33' 'kernel26<2.6.34')
cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
cd vboxguest
install -D -m644 vboxguest.ko \
"$pkgdir/lib/modules/$_kernver/misc/vboxguest.ko" || return 1
cd ../vboxvfs
install -D -m644 vboxvfs.ko \
"$pkgdir/lib/modules/$_kernver/misc/vboxvfs.ko" || return 1
cd ../vboxvideo
install -D -m644 vboxvideo.ko \
"$pkgdir/lib/modules/$_kernver/misc/vboxvideo.ko" || return 1
install -D -m 0644 "$srcdir/60-vboxguest.rules" \
"$pkgdir/lib/udev/rules.d/60-vboxguest.rules" || return 1
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-ose-additions-modules.install" || return 1
}