# Description: VirtualBox is a general-purpose full virtualizer for x86 hardware.
# URL: http://www.virtualbox.org/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: bin86,dev86,hal,libsdl,libidl,qt4,xalan-c,iasl,xorg-libxmu

name=virtualbox
version=2.0.6
release=1
source=(http://download.virtualbox.org/$name/$version/VirtualBox-$version-OSE.tar.bz2 \
        $name 60-vboxdrv.rules $name.desktop)

build() {
  local QT3GUI QT4GUI
  if [ "$(pkginfo -i | grep '^qt3 ')" ]; then
    QT3GUI="--with-qt-dir=/usr/share/qt"
  else
    QT3GUI="--disable-qt3"
  fi
  if [ "$(pkginfo -i | grep '^qt4 ')" ]; then
    QT4GUI="--with-qt4-dir=/usr/share/qt4"
  else
    QT4GUI="--disable-qt4"
  fi

  cd VirtualBox-$version
  # compile
  ./configure $QT3GUI $QT4GUI \
              --disable-hardening \
              --ose \
              --disable-pulse
  source ./env.sh
  kmk all
  # compile kernel module
  cd out/linux.x86/release/bin/src
  make
  # install kernel module
  install -D -m 0644 vboxdrv.ko $PKG/lib/modules/`uname -r`/kernel/drivers/misc/vboxdrv.ko
  # remove superfluous files
  rm -rf $SRC/VirtualBox-$version/out/linux.x86/release/bin/{src,sdk/samples,testcase} \
    $SRC/VirtualBox-$version/out/linux.x86/release/bin/{vboxdrv.ko,additions/src,nls}
  find $SRC/VirtualBox-$version/out/linux.x86/release/bin -type f -name 'tst*' -exec rm -rf {} \;
  # do the rest
  install -D -m 0644 $SRC/60-vboxdrv.rules $PKG/etc/udev/rules.d/60-vboxdrv.rules
  install -d $PKG/usr/{bin,share/$name,share/pixmaps}
  install -m 0755 $SRC/$name $PKG/usr/bin/$name
  mv $SRC/VirtualBox-$version/out/linux.x86/release/{bin,lib} $PKG/usr/share/$name
  chmod +s $PKG/usr/share/$name/bin/VirtualBox
  install -D -m 0644 $SRC/$name.desktop $PKG/usr/share/applications/$name.desktop
  mv $PKG/usr/share/$name/bin/VBox.png $PKG/usr/share/pixmaps/$name.png
  rm $PKG/usr/share/$name/bin/{VBox.sh,SUP*nstall}
}
