summaryrefslogtreecommitdiff
path: root/libre/virtualbox/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/virtualbox/PKGBUILD')
-rw-r--r--libre/virtualbox/PKGBUILD212
1 files changed, 212 insertions, 0 deletions
diff --git a/libre/virtualbox/PKGBUILD b/libre/virtualbox/PKGBUILD
new file mode 100644
index 000000000..bfd784c0d
--- /dev/null
+++ b/libre/virtualbox/PKGBUILD
@@ -0,0 +1,212 @@
+# $Id: PKGBUILD 56698 2011-10-10 18:23:45Z ibiru $
+# Maintainer: Nicolas Reynolds <fauno@kiwwwi.com.ar>
+# Changes:
+# * Adapt to linux-libre
+# * virtualbox-{archlinux,parabola}-*
+# * Removed unfree user manual
+# * Package with --pkg "virtualbox-parabola-additions virtualbox-parabola-modules"
+# Based on
+#Maintainer: Ionut Biru <ibiru@archlinux.org>
+pkgbase=virtualbox
+pkgname=('virtualbox' 'virtualbox-parabola-additions' 'virtualbox-parabola-modules' 'virtualbox-sdk')
+pkgver=4.1.4
+pkgrel=2
+arch=('i686' 'x86_64')
+url='http://virtualbox.org'
+license=('GPL' 'custom')
+makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libxcursor' 'qt' 'libidl2' 'sdl_ttf' 'alsa-lib' 'libpulse' 'libxtst'
+'xalan-c' 'sdl' 'libxmu' 'curl' 'python2' 'linux-libre-headers' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'openjdk6' 'gsoap' 'vde2'
+'xorg-server-devel' 'xf86driproto' 'libxcomposite' 'pkgconfig')
+[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc')
+source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2
+ virtualbox-4-makeself-check.patch virtualbox-4-mkisofs-check.patch
+ 10-vboxdrv.rules 60-vboxguest.rules vboxdrv-reference.patch LocalConfig.kmk vboxbuild
+ change_default_driver_dir.patch vbox-service.conf vbox-service.rc)
+_kernver=3.0-LIBRE
+options=(!distcc)
+
+build() {
+ cd "$srcdir/VirtualBox-${pkgver}_OSE"
+
+ patch -Np1 -i "$srcdir/virtualbox-4-makeself-check.patch"
+ patch -Np1 -i "$srcdir/virtualbox-4-mkisofs-check.patch"
+ patch -Np1 -i "$srcdir/vboxdrv-reference.patch"
+ patch -Np1 -i "$srcdir/change_default_driver_dir.patch"
+
+ cp "$srcdir/LocalConfig.kmk" .
+
+ ./configure --disable-docs \
+ --enable-webservice \
+ --enable-vde \
+ --with-linux=/usr/src/linux-${_kernver}
+ source ./env.sh
+ kmk all
+
+ export KERN_DIR=/usr/src/linux-${_kernver}
+ make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
+ make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src/vboxvideo"
+ sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' "out/linux.$BUILD_PLATFORM_ARCH/release/bin/vboxshell.py"
+}
+
+package_virtualbox() {
+ pkgdesc="Powerful x86 virtualization for enterprise as well as home use"
+ depends=('libxml2' 'libxcursor' 'libidl2' 'libxinerama' 'sdl' 'libxmu' 'curl' 'libvncserver' 'libpng' 'linux-libre-headers' 'gcc' 'make')
+ optdepends=('qt: for VirtualBox GUI'
+ 'vde2: Virtual Distributed Ethernet support'
+ 'virtualbox-sdk: developer kit')
+
+ replaces=('virtualbox-ose')
+ conflicts=('virtualbox-ose')
+ install=virtualbox.install
+
+ source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
+
+ cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
+ mkdir -p "$pkgdir"/usr/{bin,lib/virtualbox/components,lib/virtualbox/ExtensionPacks,share/virtualbox/nls}
+
+ #Binaries and Wrapper with Launchers
+ install -m 0755 VBox.sh "$pkgdir/usr/bin/VBox"
+
+ for i in VBoxHeadless vboxheadless VBoxManage vboxmanage VBoxSDL vboxsdl VirtualBox virtualbox vboxwebsrv VBoxBalloonCtrl vboxballoonctrl; do
+ ln -sf VBox "$pkgdir/usr/bin/$i"
+ done
+ install -m 0755 VBoxTunctl "$pkgdir/usr/bin"
+
+ #components
+ install -m 0755 components/* -t "$pkgdir/usr/lib/virtualbox/components"
+
+ #lib
+ install -m 0755 *.so "$pkgdir/usr/lib/virtualbox"
+ install -m 0644 *.gc *.r0 VBoxEFI*.fd "$pkgdir/usr/lib/virtualbox"
+
+ #setuid root binaries
+ install -m 4755 VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl -t "$pkgdir/usr/lib/virtualbox"
+ #other binaries
+ install -m 0755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL VBoxBalloonCtrl vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox"
+
+ #language
+ install -m 0755 nls/*.qm -t "$pkgdir/usr/share/virtualbox/nls"
+
+ #useless scripts
+ install -m 0755 VBoxCreateUSBNode.sh VBoxSysInfo.sh -t "$pkgdir/usr/share/virtualbox"
+
+ #icons
+ install -D -m 0644 VBox.png "$pkgdir/usr/share/pixmaps/VBox.png"
+
+ pushd icons
+ for i in *; do
+ install -d "$pkgdir/usr/share/icons/hicolor/$i/mimetypes"
+ cp $i/* "$pkgdir/usr/share/icons/hicolor/$i/mimetypes"
+ done
+ popd
+
+ #desktop
+ install -D -m 0644 virtualbox.desktop "$pkgdir/usr/share/applications/virtualbox.desktop"
+ install -D -m 0644 virtualbox.xml "$pkgdir/usr/share/mime/packages/virtualbox.xml"
+
+ #install configuration
+ mkdir -p "$pkgdir/etc/vbox"
+ echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg"
+
+ #udev and licence
+ install -D -m 0644 "$srcdir/VirtualBox-${pkgver}_OSE/COPYING" \
+ "$pkgdir/usr/share/licenses/virtualbox/LICENSE"
+ install -D -m 0644 "$srcdir/10-vboxdrv.rules" \
+ "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules"
+
+ #sources for modules
+ cp -r src ${pkgdir}/usr/lib/virtualbox
+ #install compilation script
+ install -D -m 755 "${srcdir}/vboxbuild" "${pkgdir}/usr/bin/vboxbuild"
+}
+
+package_virtualbox-sdk() {
+ pkgdesc=" VirtualBox Software Developer Kit (SDK)"
+ depends=('python2')
+
+ mkdir -p "$pkgdir/usr/lib/virtualbox"
+
+ source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
+ cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
+
+ install -D -m 0755 vboxshell.py "$pkgdir/usr/lib/virtualbox/vboxshell.py"
+ #python sdk
+ pushd sdk/installer
+ VBOX_INSTALL_PATH="/usr/lib/virtualbox" python2 vboxapisetup.py install --root "${pkgdir}"
+ popd
+ rm -rf sdk/installer
+ mv sdk "$pkgdir/usr/lib/virtualbox"
+}
+
+package_virtualbox-parabola-additions(){
+ pkgdesc="Additions only for Parabola guests (userspace tools)"
+ depends=("virtualbox-parabola-modules=$pkgver" 'gcc-libs' 'libxmu' 'xorg-xrandr')
+ replaces=('virtualbox-guest-additions' 'virtualbox-archlinux-additions')
+ conflicts=('virtualbox-guest-additions' 'virtualbox-archlinux-additions')
+ provides=("virtualbox-archlinux-additions=${pkgver}")
+
+ source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
+
+ cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
+
+ install -d "$pkgdir"/{usr/bin,sbin}
+ install -m755 VBoxClient VBoxControl VBoxService "$pkgdir/usr/bin"
+ install -m755 mount.vboxsf "$pkgdir/sbin"
+
+ install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
+ "$pkgdir"/usr/bin/VBoxClient-all
+ install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ "$pkgdir"/etc/xdg/autostart/vboxclient.desktop
+ install -D vboxvideo_drv_111.so \
+ "$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so"
+ install -d "$pkgdir/usr/lib/xorg/modules/dri"
+ install -m755 VBoxOGL*.so "$pkgdir/usr/lib"
+ ln -s /usr/lib/VBoxOGL.so "$pkgdir/usr/lib/xorg/modules/dri/vboxvideo_dri.so"
+ install -m755 -D pam_vbox.so "$pkgdir/lib/security/pam_vbox.so"
+
+ # install rc.d script
+ install -D -m755 "${srcdir}/vbox-service.rc" "${pkgdir}/etc/rc.d/vbox-service"
+
+ # install sample config
+ install -D -m644 "${srcdir}/vbox-service.conf" "${pkgdir}/etc/conf.d/vbox-service"
+}
+
+package_virtualbox-parabola-modules(){
+ pkgdesc="Additions only for Parabola guests (kernel modules)"
+ license=('GPL')
+ install=virtualbox-parabola-modules.install
+ depends=('linux-libre>=3.0' 'linux-libre<3.1')
+ replaces=('virtualbox-guest-modules' 'virtualbox-archlinux-modules')
+ conflicts=('virtualbox-guest-modules' 'virtualbox-archlinux-modules')
+ provides=("virtualbox-archlinux-modules=${pkgver}")
+
+ source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
+
+ cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
+
+ install -D -m644 vboxguest.ko \
+ "$pkgdir/lib/modules/$_kernver/misc/vboxguest.ko"
+
+ install -D -m644 vboxsf.ko \
+ "$pkgdir/lib/modules/$_kernver/misc/vboxsf.ko"
+
+ install -D -m644 vboxvideo.ko \
+ "$pkgdir/lib/modules/$_kernver/misc/vboxvideo.ko"
+
+ install -D -m 0644 "$srcdir/60-vboxguest.rules" \
+ "$pkgdir/lib/udev/rules.d/60-vboxguest.rules"
+
+ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-parabola-modules.install"
+}
+
+md5sums=('dc6e6801b3823332b6ca2e9915221aae'
+ 'a9f22ccaacb207e0e1c5450fede82d06'
+ 'b7cbcf89a30c712fed4435dea28d1703'
+ 'cee0c968c923760181ae060eab1c2e58'
+ '13ff08388a54fd48cc04523380f26af6'
+ '47349d711ecb5fbc105a18f9f936953b'
+ '0d91f80ce6a4985db8d2f8f65a61458e'
+ '47d6ee4f673bf31babbb7b4edb61e547'
+ '6df8eb5173c4f84faedb4962c4d5f0ef'
+ 'b978dfdbff377e00ddecb24cb3218ed2'
+ '2460dedb8bdce85f9d7e075742e94d24')