View difference between Paste ID: RuNyjL9p and
SHOW:
|
|
- or go back to the newest paste.
1 | - | |
1 | + | # Maintainer: Det <nimetonmaili at gmail a-dot com> |
2 | # Contributor: The Ringmaster <theringmaster AT archlinux.us> | |
3 | # Contributor: Balwinder S "bsd" Dheeman <bdheeman AT gmail.com> | |
4 | # Contributor: thotypous <matiasΘarchlinux-br·org> | |
5 | # Based on virtualbox_bin | |
6 | ||
7 | pkgname=virtualbox_bin_beta | |
8 | pkgver=4.0.0_BETA3 | |
9 | _build=68940 | |
10 | pkgrel=1 | |
11 | pkgdesc='Powerful x86 virtualizer (Bleeding edge, Personal Use Binaries Edition)' | |
12 | arch=('i686' 'x86_64') | |
13 | url='http://virtualbox.org' | |
14 | license=('custom:PUEL') | |
15 | depends=('libidl2' 'libxcursor' 'libxinerama' 'libxslt' 'curl' 'gcc' 'make' 'kernel26-headers' 'python2') | |
16 | optdepends=('qt: for GUI support' | |
17 | 'sdl: for VBoxSDL and GUI support' | |
18 | 'mesa: for OpenGL support' | |
19 | 'libgl: for shared OpenGL support' | |
20 | 'libxt: for shared clipboard support' | |
21 | 'alsa-lib: for ALSA support' | |
22 | 'pulseaudio: for PulseAudio support') | |
23 | provides=("virtualbox=${pkgver}") | |
24 | conflicts=('virtualbox-ose' 'virtualbox-modules' 'virtualbox_bin') | |
25 | backup=('etc/vbox/vbox.cfg') | |
26 | install=virtualbox_bin_beta.install | |
27 | _arch='x86' | |
28 | [ "${CARCH}" = 'x86_64' ] && _arch='amd64' | |
29 | source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}-${_build}-Linux_${_arch}.run | |
30 | '10-vboxdrv.rules' | |
31 | 'vboxdrv') | |
32 | md5sums=(`wget ${source/V*}MD5SUMS -qO - | grep ${_arch}.run | cut -d " " -f1` | |
33 | '98859bfca9ef2ebf2ea43eb9123316fc' | |
34 | '8b3b5fb34d5e8594ee873d7947f3d09b') | |
35 | ||
36 | package() { | |
37 | # Unpack the run package via sh(1) | |
38 | echo yes | sh "VirtualBox-${pkgver}-${_build}-Linux_${_arch}.run" --target "${srcdir}" \ | |
39 | --nox11 --noexec &> /dev/null | |
40 | ||
41 | # Unpack bundled files | |
42 | install -d "${pkgdir}/opt/VirtualBox" | |
43 | cd "${pkgdir}/opt/VirtualBox" | |
44 | tar -xjf "${srcdir}/VirtualBox.tar.bz2" | |
45 | ||
46 | install -d "${pkgdir}/usr/"{bin,share/applications,share/pixmaps} | |
47 | ||
48 | # Hardened build: Mark binaries suid root, create symlinks for working around | |
49 | # unsupported $ORIGIN/.. in VBoxC.so and make sure the | |
50 | # directory is only writable by the user (paranoid). | |
51 | chmod 4511 VirtualBox VBox{SDL,Headless,NetDHCP} | |
52 | for _lib in VBox{VMM,REM,RT,DDU,XPCOM}.so; do | |
53 | ln -sf "/opt/VirtualBox/${_lib}" "components/${_lib}" | |
54 | done | |
55 | chmod go-w . | |
56 | ||
57 | # VBoxNetAdpCtl needs to be suid root in any case | |
58 | chmod 4511 VBoxNetAdpCtl | |
59 | ||
60 | # Patch "vboxshell.py" to use Python 2.x (instead of Python 3) | |
61 | sed -i 's#/usr/bin/python#\02#' "${pkgdir}/opt/VirtualBox/vboxshell.py" | |
62 | ||
63 | # Install the SDK | |
64 | cd "${pkgdir}/opt/VirtualBox/sdk/installer" | |
65 | VBOX_INSTALL_PATH="/opt/VirtualBox" python2 vboxapisetup.py install --root "${pkgdir}" | |
66 | rm -Rf build | |
67 | cd "${pkgdir}/opt/VirtualBox" | |
68 | ||
69 | # Install rc.d script for module compilation | |
70 | install -Dm0755 "${srcdir}/vboxdrv" "${pkgdir}/etc/rc.d/vboxdrv" | |
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 | ||
98 | # Install the USB Extension Package (see: http://forums.virtualbox.org/viewtopic.php?f=24&p=164806) | |
99 | _extpack=Oracle_VM_VirtualBox_Extension_Pack-${pkgver}-${_build}.vbox-extpack | |
100 | wget ${source/V*}${_extpack} | |
101 | install -d ExtensionPacks/${_extpack/-*} | |
102 | tar xzf ${_extpack} -C ExtensionPacks/${_extpack/-*} | |
103 | chown -R root:root ExtensionPacks/ | |
104 | rm ${_extpack} | |
105 | } |