# $Id: PKGBUILD 53837 2011-08-08 20:19:32Z ibiru $ #Maintainer: Ionut Biru pkgbase=virtualbox pkgname=('virtualbox' 'virtualbox-archlinux-additions' 'virtualbox-archlinux-modules' 'virtualbox-sdk') pkgver=4.1.0 pkgrel=5 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL' 'custom') makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libxcursor' 'qt' 'libidl2' 'sdl_ttf' 'alsa-lib' 'libpulse' 'libxtst' 'xalan-c' 'sdl' 'libxmu' 'curl' 'python2' 'linux-libre-headers' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'openjdk6' 'gsoap' 'vde2' 'xorg-server-devel' 'xf86driproto' 'libxcomposite') [[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc') source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2 UserManual-$pkgver.pdf::http://download.virtualbox.org/virtualbox/${pkgver}/UserManual.pdf virtualbox-4-makeself-check.patch virtualbox-4-mkisofs-check.patch 10-vboxdrv.rules 60-vboxguest.rules vboxdrv-reference.patch LocalConfig.kmk vboxdrv.sh change_default_driver_dir.patch fix-kernel-panic.patch) _kernver=3.0-LIBRE build() { cd "$srcdir/VirtualBox-${pkgver}_OSE" patch -Np1 -i "$srcdir/virtualbox-4-makeself-check.patch" patch -Np1 -i "$srcdir/virtualbox-4-mkisofs-check.patch" patch -Np1 -i "$srcdir/vboxdrv-reference.patch" patch -Np1 -i "$srcdir/change_default_driver_dir.patch" patch -Np2 -i "$srcdir/fix-kernel-panic.patch" cp "$srcdir/LocalConfig.kmk" . ./configure --disable-docs \ --enable-webservice \ --enable-vde \ --with-linux=/usr/src/linux-${_kernver} source ./env.sh kmk all export KERN_DIR=/usr/src/linux-${_kernver} make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src" make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src/vboxvideo" sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' "out/linux.$BUILD_PLATFORM_ARCH/release/bin/vboxshell.py" } package_virtualbox() { pkgdesc="Powerful x86 virtualization for enterprise as well as home use" depends=('libxml2' 'libxcursor' 'libidl2' 'libxinerama' 'sdl' 'libxmu' 'curl' 'libvncserver' 'libpng' 'linux-libre-headers' 'gcc' 'make') optdepends=('qt: for VirtualBox GUI' 'vde2: Virtual Distributed Ethernet support' 'virtualbox-sdk: developer kit') replaces=('virtualbox-ose') conflicts=('virtualbox-ose') 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,lib/virtualbox/ExtensionPacks,share/virtualbox/nls} #doc install -m 0644 "$srcdir/UserManual-$pkgver.pdf" "$pkgdir/usr/share/virtualbox/UserManual.pdf" #Binaries and Wrapper with Launchers install -m 0755 VBox.sh "$pkgdir/usr/bin/VBox" for i in VBoxHeadless vboxheadless VBoxManage vboxmanage VBoxSDL vboxsdl VirtualBox virtualbox vboxwebsrv VBoxBalloonCtrl vboxballoonctrl; do ln -sf VBox "$pkgdir/usr/bin/$i" done install -m 0755 VBoxTunctl "$pkgdir/usr/bin" #components install -m 0755 components/* -t "$pkgdir/usr/lib/virtualbox/components" #lib install -m 0755 *.so "$pkgdir/usr/lib/virtualbox" install -m 0644 *.gc *.r0 VBoxEFI*.fd "$pkgdir/usr/lib/virtualbox" #setuid root binaries install -m 4755 VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl -t "$pkgdir/usr/lib/virtualbox" #other binaries install -m 0755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL VBoxBalloonCtrl vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox" #language install -m 0755 nls/*.qm -t "$pkgdir/usr/share/virtualbox/nls" #useless scripts install -m 0755 VBoxCreateUSBNode.sh VBoxSysInfo.sh -t "$pkgdir/usr/share/virtualbox" #icons install -D -m 0644 VBox.png "$pkgdir/usr/share/pixmaps/VBox.png" pushd icons for i in *; do install -d "$pkgdir/usr/share/icons/hicolor/$i/mimetypes" cp $i/* "$pkgdir/usr/share/icons/hicolor/$i/mimetypes" done popd #desktop install -D -m 0644 virtualbox.desktop "$pkgdir/usr/share/applications/virtualbox.desktop" install -D -m 0644 virtualbox.xml "$pkgdir/usr/share/mime/packages/virtualbox.xml" #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/LICENSE" install -D -m 0644 "$srcdir/10-vboxdrv.rules" \ "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules" #sources for modules cp -r src ${pkgdir}/usr/lib/virtualbox #install compilation script install -D -m 755 "${srcdir}/vboxdrv.sh" "${pkgdir}/etc/rc.d/vboxdrv" } package_virtualbox-sdk() { pkgdesc=" VirtualBox Software Developer Kit (SDK)" depends=('python2') mkdir -p "$pkgdir/usr/lib/virtualbox" source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin" install -D -m 0755 vboxshell.py "$pkgdir/usr/lib/virtualbox/vboxshell.py" #python sdk pushd sdk/installer VBOX_INSTALL_PATH="/usr/lib/virtualbox" python2 vboxapisetup.py install --root "${pkgdir}" popd rm -rf sdk/installer mv sdk "$pkgdir/usr/lib/virtualbox" } package_virtualbox-archlinux-additions(){ pkgdesc="Additions only for Arch Linux guests (userspace tools)" depends=("virtualbox-archlinux-modules=$pkgver" 'gcc-libs' 'libxmu' 'xorg-xrandr') replaces=('virtualbox-guest-additions') conflicts=('virtualbox-guest-additions') source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions" install -d "$pkgdir"/{usr/bin,sbin} install -m755 VBoxClient VBoxControl VBoxService "$pkgdir/usr/bin" install -m755 mount.vboxsf "$pkgdir/sbin" install -m644 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/50-vboxmouse.conf \ "$pkgdir"/etc/X11/xorg.conf.d/50-vboxmouse.conf install -m644 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/linux/installer/70-xorg-vboxmouse.rules \ "$pkgdir"/lib/udev/rules.d/70-xorg-vboxmouse.rules install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ "$pkgdir"/usr/bin/VBoxClient-all install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/vboxclient.desktop \ "$pkgdir"/etc/xdg/autostart/vboxclient.desktop install -D vboxmouse_drv_110.so \ "$pkgdir/usr/lib/xorg/modules/input/vboxmouse.so" install -D vboxvideo_drv_110.so \ "$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so" install -d "$pkgdir/usr/lib/xorg/modules/dri" install -m755 VBoxOGL*.so "$pkgdir/usr/lib" ln -s /usr/lib/VBoxOGL.so "$pkgdir/usr/lib/xorg/modules/dri/vboxvideo_dri.so" install -m755 -D pam_vbox.so "$pkgdir/lib/security/pam_vbox.so" } package_virtualbox-archlinux-modules(){ pkgdesc="Additions only for Arch Linux guests (kernel modules)" license=('GPL') install=virtualbox-archlinux-modules.install depends=('linux-libre>=3.0' 'linux-libre<3.1') replaces=('virtualbox-guest-modules') conflicts=('virtualbox-guest-modules') source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src" install -D -m644 vboxguest.ko \ "$pkgdir/lib/modules/$_kernver/misc/vboxguest.ko" install -D -m644 vboxsf.ko \ "$pkgdir/lib/modules/$_kernver/misc/vboxsf.ko" install -D -m644 vboxvideo.ko \ "$pkgdir/lib/modules/$_kernver/misc/vboxvideo.ko" install -D -m 0644 "$srcdir/60-vboxguest.rules" \ "$pkgdir/lib/udev/rules.d/60-vboxguest.rules" sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-archlinux-modules.install" } md5sums=('02556a6b4877cfdfbaa3ce0a0c0dcf31' '24056c13ddbe2c9b5d135e8c96a53a11' '44efb3c4be214daa453a317d527f1f30' '32a232b43852b9a08cb11a7bcd64b347' '5f85710e0b8606de967716ded7b2d351' 'ed1341881437455d9735875ddf455fbe' '4cf75d9c091199a47a7a1bc2f4e347d9' '78ffa67ff131680f1d2b6f06d4325c5b' '790a1456345fe74b6b714d71f90a1c6d' '97e193f050574dd272a38e5ee5ebe62b' '863107a852607b758b356cd53850679d')