View difference between Paste ID: VxFXs45V and
SHOW: | | - or go back to the newest paste.
1-
1+
# Maintainer: The Ringmaster [theringmaster@archlinux.us]
2
3
pkgname="virtualbox_bin_beta"
4
pkgver="3.2.8"
5
_build=(`wget http://download.virtualbox.org/virtualbox/${pkgver}/ -qO - | grep rhel4 | cut -d "_" -f2`)    # automatic generation
6
pkgrel=1
7
pkgdesc="A powerful x86 virtualizer (PUEL edition) - Bleeding edge version"  # Pkgname should not be mentioned in pkgdesc. This is a suggestion for you to start with
8
url="http://virtualbox.org"
9
license=('custom:PUEL')
10
arch=('i686' 'x86_64')
11
install='virtualbox.install'
12
depends=('libidl2' 'libxcursor' 'libxinerama' 'libxslt' 'curl' 'gcc' 'make' 'kernel26-headers')
13
optdepends=("qt: for GUI support"    		 # there's no other GUI in VirtualBox than the one it has
14
            "sdl: for VBoxSDL and GUI support"
15
            "libgl: for shared OpenGL support"   # the missing 'support' for some of these
16
            "libxt: for shared Clipboard support"
17
            "alsa-lib: for ALSA support"
18
            "pulseaudio: for PulseAudio support")
19
provides=("virtualbox=${pkgver}")
20
conflicts=('virtualbox-ose' 'virtualbox-modules')
21
_arch='x86'
22
[ "$CARCH" = "x86_64" ] && _arch='amd64'
23
source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}-${_build}-Linux_${_arch}.run    # simplicity ;)
24
        '10-vboxdrv.rules'
25
        'vboxdrv')
26
md5sums=(`wget http://download.virtualbox.org/virtualbox/${pkgver}/MD5SUMS -qO - | grep ${_arch}.run | cut -d " " -f1`    # automatic generation
27
         '98859bfca9ef2ebf2ea43eb9123316fc'
28
         '160fc08a43cd9a719d306b5f023dea42')
29
30
build() {
31
  # unpack the .run package via sh(1)
32
  echo yes | sh "VirtualBox-${pkgver}-${_build}-Linux_${_arch}.run" --target "$srcdir" \
33
    --nox11 --noexec &> /dev/null   # since 3.4 pacman automatically interrupts the build when an error occurs deprecating "return 1"s
34
				    # no need for a 2nd md5sums check either (the '--check' operation)
35
  # Unpack bundled files
36
  install -d "$pkgdir/opt/VirtualBox"
37
  cd "$pkgdir/opt/VirtualBox"
38
  tar -xjf "$srcdir/VirtualBox.tar.bz2"
39
40
  install -d "$pkgdir/usr/"{bin,share/applications,share/pixmaps}
41
42
  # Hardened build: Mark binaries suid root, create symlinks for working around
43
  #                 unsupported $ORIGIN/.. in VBoxC.so and make sure the
44
  #                 directory is only writable by the user (paranoid).
45
  chmod 4511 VirtualBox VBox{SDL,Headless,NetDHCP}
46
  for _lib in VBox{VMM,REM,RT,DDU,XPCOM}.so; do
47
    ln -sf "/opt/VirtualBox/${_lib}" "components/${_lib}"
48
  done
49
  chmod go-w .
50
51
  # VBoxNetAdpCtl needs to be suid root in any case
52
  chmod 4511 VBoxNetAdpCtl
53
54
  # Replace VirtualBox built-in Qt by system Qt libraries (disabled as of
55
  # 2010-03-26, 3.1.6-1)
56
  #for _lib in libQt{Core,Gui,Network,OpenGL}; do
57
  #  rm "${_lib}VBox.so.4"
58
  #  ln -s "/usr/lib/${_lib}.so.4" "${_lib}VBox.so.4"
59
  #done
60
61
  # Install the SDK (disabled, since the extension expects an UCS4-compiled
62
  # python, while Arch Linux has an UCS2-compiled python)
63
  #cd "$pkgdir/opt/VirtualBox/sdk/installer"
64
  #VBOX_INSTALL_PATH="/opt/VirtualBox" python vboxapisetup.py install --root "$pkgdir"
65
  #rm -Rf build
66
  #cd "$pkgdir/opt/VirtualBox"
67
  rm -Rf sdk vboxshell.py VBoxPython*
68
69
  # Install rc.d script for module compilation
70
  install -Dm0755 "$srcdir/vboxdrv" "$pkgdir/etc/rc.d/vboxdrv"    # no need for exceptional curly brackets ("{", "}") here, if not used in other "$pkgdir"/"$srcdir" functions either
71
72
  # Replace init script stuff
73
  sed -i -e 's,sudo /etc/init.d/vboxdrv setup,/etc/rc.d/vboxdrv setup,g' \
74
    "$pkgdir/opt/VirtualBox/VBox.sh"
75
  sed -i -e 's,sudo /etc/init.d/vboxdrv restart,modprobe vboxdrv,g' \
76
    "$pkgdir/opt/VirtualBox/VBox.sh"
77
78
  # Install udev rules
79
  install -Dm0644 "$srcdir/10-vboxdrv.rules" "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules"
80
81
  # Symlink the launchers
82
  for _bin in VirtualBox VBox{Headless,Manage,SDL,SVC,Tunctl,NetAdpCtl} rdesktop-vrdp; do
83
    ln -s "/opt/VirtualBox/${_bin}" "$pkgdir/usr/bin/${_bin}"
84
  done
85
86
  # Symlink the desktop icon and ".desktop" files
87
  ln -s "/opt/VirtualBox/VBox.png" "$pkgdir/usr/share/pixmaps/VBox.png"
88
  ln -s "/opt/VirtualBox/virtualbox.desktop" "$pkgdir/usr/share/applications/VirtualBox.desktop"
89
90
  # Symlink the license
91
  install -d "$pkgdir/usr/share/licenses/$pkgname"
92
  ln -s "/opt/VirtualBox/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/PUEL"
93
94
  # Setup configuration
95
  install -d "$pkgdir/etc/vbox"
96
  echo 'INSTALL_DIR="/opt/VirtualBox"' > "$pkgdir/etc/vbox/vbox.cfg"
97
}