Don't like ads? PRO users don't see any ads ;-)
Guest

PKGBUILD

By: a guest on Mar 26th, 2010  |  syntax: Bash  |  size: 6.80 KB  |  hits: 303  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. # $Id: PKGBUILD 12111 2010-02-27 14:50:18Z ibiru $
  2. #Maintainer: Ionut Biru <ibiru@archlinux.org>
  3. pkgbase=('virtualbox-ose')
  4. pkgname=('virtualbox-ose' 'virtualbox-modules')
  5. pkgver=3.1.6
  6. pkgrel=1
  7. arch=('i686' 'x86_64')
  8. url='http://virtualbox.org'
  9. license=('GPL' 'custom')
  10. makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2'
  11.              'libxcursor' 'qt' 'libidl2' 'sdl_ttf'
  12.              'libxtst' 'xalan-c' 'sdl' 'libxmu' 'curl' 'python' 'kernel26-headers>=2.6.33' 'mesa')
  13. source=(#http://download.virtualbox.org/virtualbox/$pkgver/VirtualBox-$pkgver-OSE.tar.bz2
  14.         '60-virtualbox.rules' '60-vboxguest.rules' 'LocalConfig.kmk')
  15.  
  16. build() {
  17.     cd "$srcdir/VirtualBox-${pkgver}_OSE"
  18.  
  19.     cp "$srcdir/LocalConfig.kmk" .
  20.     sed -i 's/python2.4/python2.6/g' configure
  21.  
  22.     ./configure --disable-alsa --disable-pulse || return 1
  23.     source ./env.sh
  24.     kmk all || return 1
  25.  
  26.     #build modules
  27.     cd out/linux.$BUILD_PLATFORM_ARCH/release/bin/src
  28.     make || return 1
  29.     #build guest additions modules
  30.     #cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
  31.     #make || return 1
  32.     #cd vboxvideo
  33.     #make || return 1
  34. }
  35.  
  36. package_virtualbox-ose() {
  37.     pkgdesc="Powerful x86 virtualization for enterprise as well as home use (Open Source Edition)"
  38.     provides=('virtualbox')
  39.     conflicts=('virtualbox')
  40.     depends=('virtualbox-modules' 'libxcursor' 'libidl2' 'libxslt' 'sdl' 'libxmu' 'curl')
  41.     optdepends=('qt: For VirtualBox GUI'
  42.                 'libgl: For Shared OpenGL'
  43.                 'python: For Python Support')
  44.     provides=("virtualbox=${pkgver}")
  45.     install=virtualbox.install
  46.  
  47.     source $srcdir/VirtualBox-${pkgver}_OSE/env.sh
  48.     cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
  49.     mkdir -p "$pkgdir"/usr/{bin,lib/virtualbox/components,share/virtualbox/nls}
  50.  
  51.     #Binaries and Wrapper with Launchers
  52.     install -m 0755 VBox.sh "$pkgdir/usr/bin/VBox"
  53.     ln -sf VBox "$pkgdir/usr/bin/VBoxHeadless"
  54.     ln -sf VBox "$pkgdir/usr/bin/VBoxManage"
  55.     ln -sf VBox "$pkgdir/usr/bin/VBoxSDL"
  56.     ln -sf VBox "$pkgdir/usr/bin/VirtualBox"
  57.  
  58.     install -m 0755 VBoxTunctl "$pkgdir/usr/bin" || return 1
  59.  
  60.     #components
  61.     install -m 0755 components/* -t "$pkgdir/usr/lib/virtualbox/components" || return 1
  62.  
  63.     #lib
  64.     install -m 0755 *.so "$pkgdir/usr/lib/virtualbox" || return 1
  65.     install -m 0644 *.gc *.r0  VBoxEFI*.fd "$pkgdir/usr/lib/virtualbox" || return 1
  66.  
  67.     cd "sdk/installer"
  68.     VBOX_INSTALL_PATH="/usr/lib/virtualBox" python vboxapisetup.py install --root "${pkgdir}" || return 1
  69.     cd $OLDPWD
  70.  
  71.     #setuid root binaries
  72.     install -m 4755 VBoxHeadless VBoxSDL VBoxNetDHCP VBoxNetAdpCtl VirtualBox VBoxBFE \
  73.             -t "$pkgdir/usr/lib/virtualbox" || return 1
  74.     #other binaries
  75.     install -m 0755 VBoxManage VBoxSVC VBoxXPCOMIPCD VBoxSysInfo.sh xpidl \
  76.                     VBoxTestOGL EfiThunk \
  77.             -t "$pkgdir/usr/lib/virtualbox" || return 1
  78.  
  79.     #language
  80.     install -m 0755 nls/* -t "$pkgdir/usr/share/virtualbox/nls" || return 1
  81.  
  82.     #icon
  83.     install -D -m 0644 VBox.png "$pkgdir/usr/share/pixmaps/VBox.png" || return 1
  84.  
  85.     #desktop
  86.     install -D -m 0644 virtualbox.desktop "$pkgdir/usr/share/applications/virtualbox.desktop" || return 1
  87.  
  88.     #install configuration
  89.     mkdir -p "$pkgdir/etc/vbox"
  90.     echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg"
  91.  
  92.     #udev and licence
  93.     install -D -m 0644 "$srcdir/VirtualBox-${pkgver}_OSE/COPYING" \
  94.             "$pkgdir/usr/share/licenses/virtualbox-ose/LICENSE" || return 1
  95.     install -D -m 0644 "$srcdir/60-virtualbox.rules" \
  96.             "$pkgdir/lib/udev/rules.d/60-virtualbox.rules" || return 1
  97. }
  98.  
  99. package_virtualbox-modules(){
  100.     _kernver=`uname -r`
  101.     pkgdesc="Kernel modules for VirtualBox"
  102.     license=('GPL')
  103.     depends=('kernel26>=2.6.33' 'kernel26<2.6.34')
  104.     install=virtualbox-modules.install
  105.  
  106.     cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src"
  107.  
  108.     install -D -m644 vboxdrv.ko "$pkgdir/lib/modules/${_kernver}/misc/vboxdrv.ko"
  109.     install -D -m644 vboxnetflt.ko "$pkgdir/lib/modules/${_kernver}/misc/vboxnetflt.ko"
  110.     install -D -m644 vboxnetadp.ko "$pkgdir/lib/modules/${_kernver}/misc/vboxnetadp.ko"
  111.     sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-modules.install"
  112. }
  113.  
  114. package_virtualbox-ose-additions(){
  115.     pkgdesc="Guest Additions for VirtualBox (Open Source Edition)"
  116.     depends=("virtualbox-ose-additions-modules=$pkgver" 'gcc-libs' 'libxmu')
  117.     cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
  118.  
  119.     install -d "$pkgdir/usr/bin"
  120.     install -d "$pkgdir/sbin"
  121.     install -m755 VBoxClient VBoxControl VBoxService "$pkgdir/usr/bin" || return 1
  122.     install -m755 mount.vboxsf "$pkgdir/sbin" || return 1
  123.  
  124.     install -m755 "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/VBoxRandR.sh \
  125.            "$pkgdir"/usr/bin/VBoxRandR || return 1
  126.     install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
  127.            "$pkgdir"/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh || return 1
  128.     install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/vboxclient.desktop \
  129.            "$pkgdir"/etc/xdg/autostart/vboxclient.desktop || return 1
  130.     install -D vboxmouse_drv_17.so \
  131.            "$pkgdir/usr/lib/xorg/modules/input/vboxmouse.so" || return 1
  132.     install -D vboxvideo_drv_17.so \
  133.           "$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so" || return 1
  134.     install -m755 -D $srcdir/VirtualBox-${pkgver}_OSE/src/VBox/Additions/linux/installer/90-vboxguest.fdi \
  135.           "$pkgdir/usr/share/hal/fdi/policy/20thirdparty/90-vboxguest.fdi"  || return 1
  136.     install -d "$pkgdir/usr/lib/"
  137.     install -m755 VBoxOGL*.so "$pkgdir/usr/lib" || return 1
  138. }
  139. package_virtualbox-ose-additions-modules(){
  140.     _kernver=2.6.33-ARCH
  141.     pkgdesc="Kernel modules for VirtualBox Guest Additions"
  142.     license=('GPL')
  143.     install=virtualbox-ose-additions-modules.install
  144.     depends=('kernel26>=2.6.33' 'kernel26<2.6.34')
  145.  
  146.     cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
  147.  
  148.     cd vboxguest
  149.     install -D -m644 vboxguest.ko \
  150.         "$pkgdir/lib/modules/$_kernver/misc/vboxguest.ko" || return 1
  151.  
  152.     cd ../vboxvfs
  153.     install -D -m644 vboxvfs.ko \
  154.         "$pkgdir/lib/modules/$_kernver/misc/vboxvfs.ko" || return  1
  155.  
  156.     cd ../vboxvideo
  157.     install -D -m644 vboxvideo.ko \
  158.         "$pkgdir/lib/modules/$_kernver/misc/vboxvideo.ko" || return 1
  159.  
  160.     install -D -m 0644 "$srcdir/60-vboxguest.rules" \
  161.         "$pkgdir/lib/udev/rules.d/60-vboxguest.rules" || return 1
  162.  
  163.     sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-ose-additions-modules.install" || return 1
  164. }