mirror of
https://gitdl.cn/https://github.com/chakralinux/desktop.git
synced 2025-01-25 02:52:13 +08:00
122 lines
4.6 KiB
Bash
122 lines
4.6 KiB
Bash
#
|
|
# Chakra Packages for Chakra, part of chakra-project.org
|
|
#
|
|
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
|
|
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
|
|
|
# include global config
|
|
|
|
pkgname=virtualbox
|
|
pkgver=4.0.4
|
|
_build=70112
|
|
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'
|
|
_arch='x86'
|
|
[ "${CARCH}" = 'x86_64' ] && _arch='amd64'
|
|
source=("VirtualBox-${pkgver}-${_build}-Linux_${_arch}.run::http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}-${_build}-Linux_${_arch}.run"
|
|
'10-vboxdrv.rules'
|
|
'vboxdrv')
|
|
md5sums=('2a382c44557d06fa7337b045902baaa0'
|
|
'98859bfca9ef2ebf2ea43eb9123316fc'
|
|
'8b3b5fb34d5e8594ee873d7947f3d09b')
|
|
[ "${CARCH}" = 'x86_64' ] #&& md5sums[0]='494de209709e86840ecb6430c9619992'
|
|
|
|
build() {
|
|
# Check and unpack the run package via sh(1)
|
|
sh "VirtualBox-${pkgver}-${_build}-Linux_${_arch}.run" --check
|
|
echo yes | sh "VirtualBox-${pkgver}-${_build}-Linux_${_arch}.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: |