#Maintainer: Richard Lapointe <richard@laprjns.com>
#Former Maintainer(s): Name <email@address.com>
#Anything commented out is optional and can be deleted.

pkgname=VirtualBox	
pkgver=3.0.12
pkgrel=1rl
arch=i486
source=(http://download.virtualbox.org/virtualbox/$pkgver/$pkgname-${pkgver}-OSE.tar.bz2 \
		http://download.virtualbox.org/virtualbox/$pkgver/VBoxGuestAdditions_$pkgver.iso \
		http://download.virtualbox.org/virtualbox/$pkgver/UserManual.pdf \
		vboxusers_to_users.patch \
		no_registration.patch)
sourcetemplate=http://people.salixos.org/laprjns/virtualbox/$pkgver/
docs=("readme" "install" "copying" "changelog" "authors" "news" "todo")
url=http://www.virtualbox.org/
#dotnew=()
#CFLAGS=
#CXXFLAGS=
options=('noautodotnew')

doinst() {
 chmod 4511 usr/lib/VirtualBox-3.0.12_OSE/VirtualBox
 chmod 4511 usr/lib/VirtualBox-3.0.12_OSE/VBoxHeadless
 chmod 4511 usr/lib/VirtualBox-3.0.12_OSE/VBoxSDL
 chmod 4511 usr/lib/VirtualBox-3.0.12_OSE/VBoxNetAdpCtl
 chmod 4511 usr/lib/VirtualBox-3.0.12_OSE/VBoxNetDHCP
 rmmod vboxnetadp vboxnetflt vboxdrv
 depmod
 /etc/rc.d/rc.vboxdrv start
}

slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"VirtualBox OSE Edition."
"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."
""
)


build() {

#Prepare the package directories	
	mkdir -p $startdir/pkg/usr/lib/$pkgname-${pkgver}_OSE
	mkdir -p $startdir/pkg/usr/bin
	mkdir -p $startdir/pkg/etc/vbox
	mkdir -p $startdir/pkg/etc/rc.d
	mkdir -p $startdir/pkg/lib/modules/$(uname -r)/misc	
	mkdir -p $startdir/pkg/usr/share/applications
	
# patch the source tree for change from vboxusers to users
	cd $startdir/src/$pkgname-${pkgver}_OSE
	patch -p1 < ../../vboxusers_to_users.patch
	patch -p1 < ../../no_registration.patch
	cat <<EOF >LocalConfig.kmk
# shut up wine complaining about unknown locale
	EXEC_X86_WIN32          := wine
# don't build testcases to save time, they are not needed for the package
	VBOX_WITH_TESTCASES     := 
	VBOX_WITH_TESTSUITE     :=
	VBOX_DOCBOOK_WITH_LATEX :=
	VBOX_WITHOUT_DOCS       := 1
	KBUILD_MSG_STYLE        := brief
	VBOX_WITH_HARDENING     := 1
	VBOX_WITH_ORIGIN        :=
	VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/$pkgname-${pkgver}_OSE
	VBOX_PATH_SHARED_LIBS      := /usr/lib/$pkgname-${pkgver}_OSE
	VBOX_WITH_RUNPATH          := /usr/lib/$pkgname-${pkgver}_OSE
	VBOX_PATH_APP_PRIVATE      := /usr/lib/$pkgname-${pkgver}_OSE
	VBOX_PATH_APP_DOCS         := /usr/doc/$pkgname-${pkgver}_OSE
EOF
	
# Compile the application
   cd $startdir/src/$pkgname-${pkgver}_OSE
   ./configure \
     --disable-pulse
   source ./env.sh
   kmk all || return 1
# Build kernel modules	
	cd $startdir/src/$pkgname-${pkgver}_OSE/out/linux.x86/release/bin/src
	make

#Remove unneed stuff	
	cd $startdir/src/$pkgname-${pkgver}_OSE/out/linux.x86/release/bin/
	rm -rf sdk tst* testcase SUPInstall SUPUninstall
	rm -rf *.png *.desktop *.tar.gz
	
# Move the binary's and modules to the package directorys
	cp -rf $startdir/src/$pkgname-${pkgver}_OSE/out/linux.x86/release/bin/src/*.ko $startdir/pkg/lib/modules/$(uname -r)/misc
    cp -rf $startdir/src/$pkgname-${pkgver}_OSE/out/linux.x86/release/bin/* $startdir/pkg/usr/lib/$pkgname-${pkgver}_OSE
	cp -rf $startdir/VBoxGuestAdditions_${pkgver}.iso $startdir/pkg/usr/lib/$pkgname-${pkgver}_OSE/VBoxGuestAdditions.iso
	install -m 755 $startdir/src/$pkgname-${pkgver}_OSE/src/VBox/Installer/linux/vboxdrv.sh.in  $startdir/pkg/etc/rc.d/rc.vboxdrv
	install -m 755 $startdir/src/$pkgname-${pkgver}_OSE/src/VBox/Installer/linux/VBox.sh $startdir/pkg/usr/lib/$pkgname-${pkgver}_OSE/VBox.sh
	cp -rf $startdir/src/$pkgname-${pkgver}_OSE/src/VBox/Installer/linux/virtualbox.desktop $startdir/pkg/usr/share/applications/virtualbox.desktop
	cp -rf $startdir/UserManual.pdf $startdir/src/$pkgname-${pkgver}_OSE
	rm -f $startdir/pkg/usr/src/$pkgname-${pkgver}_OSE/$pkgname-${pkgver}-OSE.tar.bz2
	
# set
	
#  need to insert package installation path in vboc.cfg 
	echo "# VirtualBox installation directory" > $startdir/pkg/etc/vbox/vbox.cfg
	echo "INSTALL_DIR='/usr/lib/$pkgname-${pkgver}_OSE'" >> $startdir/pkg/etc/vbox/vbox.cfg


# Copy icons to the right place
	ICONSIZES="48 32 16"
	for i in $ICONSIZES; do
		mkdir -p $startdir/pkg/usr/share/icons/hicolor/$i\x$i/apps;
		mv $startdir/src/$pkgname-${pkgver}_OSE/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_${i}px.png $startdir/pkg/usr/share/icons/hicolor/$i\x$i/apps/VBox.png;
	done;
	
    (cd $startdir/pkg/usr/bin/ 
		ln -sf ../lib/$pkgname-${pkgver}_OSE/VBox.sh VirtualBox
		ln -sf ../lib/$pkgname-${pkgver}_OSE/VBox.sh VBoxManage
		ln -sf ../lib/$pkgname-${pkgver}_OSE/VBox.sh VBoxHeadless
		ln -sf ../lib/$pkgname-${pkgver}_OSE/VBox.sh VBoxSDL
		ln -sf ../lib/$pkgname-${pkgver}_OSE/VBox.sh VBoxVRDP
		cd $startdir/pkg/usr/lib/$pkgname-${pkgver}_OSE/components
	)
}