# # Chakra Packages for Chakra, part of chakra-project.org # # maintainer (i686): Phil Miller # maintainer (x86_64): Manuel Tortosa # include global config pkgname=virtualbox pkgver=4.0.8 _build=71778 pkgrel=1 pkgdesc='Oracle VM VirtualBox Binary Edition' arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL2') depends=('libidl2' 'libxcursor' 'libxinerama' 'libxslt' 'curl' 'gcc' 'make' 'kernel26-headers' 'python2') optdepends=('virtualbox-ext-oracle: for Oracle extensions' 'qt: for GUI support' 'sdl: for VBoxSDL and GUI support' 'mesa: for OpenGL support' 'libgl: for shared OpenGL support' 'libxt: for shared clipboard support' 'alsa-lib: for ALSA support' 'pulseaudio: for PulseAudio support') provides=("virtualbox=${pkgver}") conflicts=('virtualbox' 'virtualbox-ose' 'virtualbox-modules') backup=('etc/vbox/vbox.cfg') install='virtualbox.install' _sarch='x86' [ "${CARCH}" = 'x86_64' ] && _sarch='amd64' source=("VirtualBox-${pkgver}-${_build}-Linux_${_sarch}.run::http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}-${_build}-Linux_${_sarch}.run" '10-vboxdrv.rules' 'vboxdrv') md5sums=('ce6472660e5c5eb23700c96d03e244a1' '98859bfca9ef2ebf2ea43eb9123316fc' '8b3b5fb34d5e8594ee873d7947f3d09b') [ "${CARCH}" = 'x86_64' ] && md5sums[0]='3a780b41b45aa0b38f4993b7fd3383fb' build() { # Check and unpack the run package via sh(1) sh "VirtualBox-${pkgver}-${_build}-Linux_${_sarch}.run" --check echo yes | sh "VirtualBox-${pkgver}-${_build}-Linux_${_sarch}.run" --target "${srcdir}" \ --nox11 --noexec &> /dev/null # Unpack bundled files install -d "${pkgdir}/opt/VirtualBox" cd "${pkgdir}/opt/VirtualBox" tar -xjf "${srcdir}/VirtualBox.tar.bz2" # Hardened build: Mark binaries suid root, create symlinks for working around # unsupported $ORIGIN/.. in VBoxC.so and make sure the # directory is only writable by the user (paranoid). chmod 4511 VirtualBox VBox{SDL,Headless,NetDHCP} for _lib in VBox{VMM,REM,RT,DDU,XPCOM}.so; do ln -sf "/opt/VirtualBox/${_lib}" "components/${_lib}" done chmod go-w . # VBoxNetAdpCtl needs to be suid root in any case chmod 4511 VBoxNetAdpCtl # Replace VirtualBox built-in Qt by system Qt libraries (disabled as of # 2010-03-26, 3.1.6-1) for _lib in libQt{Core,Gui,Network,OpenGL}; do rm "${_lib}VBox.so.4" ln -s "/usr/lib/${_lib}.so.4" "${_lib}VBox.so.4" done # Patch "vboxshell.py" to use Python 2.x instead of Python 3 sed -i 's#/usr/bin/python#\02#' "${pkgdir}/opt/VirtualBox/vboxshell.py" # Install the SDK cd "${pkgdir}/opt/VirtualBox/sdk/installer" VBOX_INSTALL_PATH="/opt/VirtualBox" python2 vboxapisetup.py install --root "${pkgdir}" rm -Rf build cd "${pkgdir}/opt/VirtualBox" # Install rc.d script for module compilation install -Dm0755 "${srcdir}/vboxdrv" "${pkgdir}/etc/rc.d/vboxdrv" # Replace init script stuff sed -i -e 's,sudo /etc/init.d/vboxdrv setup,/etc/rc.d/vboxdrv setup,g' \ "${pkgdir}/opt/VirtualBox/VBox.sh" sed -i -e 's,sudo /etc/init.d/vboxdrv restart,modprobe vboxdrv,g' \ "${pkgdir}/opt/VirtualBox/VBox.sh" # Install udev rules install -Dm0644 "${srcdir}/10-vboxdrv.rules" "${pkgdir}/lib/udev/rules.d/10-vboxdrv.rules" # Symlink the launchers install -d "${pkgdir}/usr/bin" for _bin in VirtualBox VBox{Headless,Manage,SDL,SVC,Tunctl,NetAdpCtl} rdesktop-vrdp; do ln -s "/opt/VirtualBox/${_bin}" "${pkgdir}/usr/bin/${_bin}" done # Symlink the desktop icon and ".desktop" files install -d "${pkgdir}/usr/"{share/applications,share/pixmaps} ln -s "/opt/VirtualBox/VBox.png" "${pkgdir}/usr/share/pixmaps/VBox.png" ln -s "/opt/VirtualBox/virtualbox.desktop" "${pkgdir}/usr/share/applications/VirtualBox.desktop" # Symlink mime info install -d "${pkgdir}/usr/share/mime/packages" ln -s "/opt/VirtualBox/virtualbox.xml" "${pkgdir}/usr/share/mime/packages/virtualbox.xml" # Symlink doc install -d "${pkgdir}/usr/share/doc/${pkgname}" ln -s "/opt/VirtualBox/VirtualBox.chm" "${pkgdir}/usr/share/doc/$pkgname/VirtualBox.chm" # Symlink the license install -d "${pkgdir}/usr/share/licenses/${pkgname}" ln -s /opt/VirtualBox/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" # Setup configuration install -d "${pkgdir}/etc/vbox" echo 'INSTALL_DIR="/opt/VirtualBox"' > "${pkgdir}/etc/vbox/vbox.cfg" # Create the directory below if it doesn't exist install -d "${pkgdir}/var/run/VirtualBox" } # vim:set ts=2 sw=2 ft=sh et: