summaryrefslogtreecommitdiff
path: root/libre/virtualbox-libre/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/virtualbox-libre/PKGBUILD')
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/PKGBUILD326
1 files changed, 234 insertions, 92 deletions
diff --git a/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD
index 402d1c7fd..54978ea3c 100644..100755
--- a/libre/virtualbox-libre/PKGBUILD
+++ b/libre/virtualbox-libre/PKGBUILD
@@ -1,80 +1,203 @@
# $Id$
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
# Maintainer (Parabola): Nicolas Reynolds <fauno@kiwwwi.com.ar>
-# Maintainer (Parabola): Jorge López <jorginho@adinet.com.uy>
-# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
-# 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>
+# Maintainer (Parabola): Jorge López <jorginho@lavabit.com>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
pkgbase=virtualbox-libre
-pkgname=('virtualbox-libre' 'virtualbox-parabola-additions' 'virtualbox-sdk' 'virtualbox-source')
-pkgver=4.1.16
+pkgname=('virtualbox-libre'
+ 'virtualbox-libre-sdk'
+ 'virtualbox-libre-host-source'
+ 'virtualbox-libre-guest-utils'
+ 'virtualbox-libre-guest-source')
+pkgver=4.2.4
pkgrel=1
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' 'jdk7-openjdk' 'gsoap' 'vde2')
-#'xorg-server-devel' 'xf86driproto' 'libxcomposite')
+makedepends=('alsa-lib'
+ 'bin86'
+ 'cdrkit-libre'
+ 'curl'
+ 'dev86'
+ 'gsoap'
+ 'iasl'
+ 'jdk7-openjdk'
+ 'libidl2'
+ 'libpulse'
+ 'libstdc++5'
+ 'libvncserver'
+ 'libxcursor'
+ 'libxinerama'
+ 'libxml2'
+ 'libxmu'
+ 'libxrandr'
+ 'libxslt'
+ 'libxtst'
+ 'linux-libre-headers'
+ 'mesa'
+ 'glu'
+ 'python2'
+ 'qt'
+ 'sdl-libre'
+ 'sdl_ttf'
+ 'vde2'
+ 'xalan-c')
[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc')
-source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2
- 10-vboxdrv.rules vboxdrv-reference.patch LocalConfig.kmk vboxbuild
- change_default_driver_dir.patch vbox-service.conf vbox-service.rc
- vboxweb.conf vboxweb.rc)
-
-_extramodules=extramodules-3.4-LIBRE
-_kernver="$(cat /lib/modules/${_extramodules}/version)"
+source=("http://download.virtualbox.org/virtualbox/$pkgver/VirtualBox-$pkgver.tar.bz2"
+ '10-vboxdrv.rules'
+ '60-vboxguest.rules'
+ 'LocalConfig.kmk'
+ 'vboxservice.conf'
+ 'vboxservice.rc'
+ 'vboxservice.service'
+ 'vboxweb.conf'
+ 'vboxweb.rc'
+ 'vboxweb.service'
+ '001-vboxdrv-reference.patch'
+ '002-change_default_driver_dir.patch'
+ 'os_blag_64.png'
+ 'os_blag.png'
+ 'os_dragora_64.png'
+ 'os_dragora.png'
+ 'os_dynebolic.png'
+ 'os_gnewsense_64.png'
+ 'os_gnewsense.png'
+ 'os_gnu_64.png'
+ 'os_gnu.png'
+ 'os_musix_64.png'
+ 'os_musix.png'
+ 'os_parabola_64.png'
+ 'os_parabola.png'
+ 'os_trisquel_64.png'
+ 'os_trisquel.png'
+ 'os_ututo_64.png'
+ 'os_ututo.png'
+ 'os_venenux.png'
+ 'libre.patch'
+ 'free-distros.patch')
+md5sums=('d1ec2d2a3f2f3f0b277dfe2c520c2e33'
+ '5f85710e0b8606de967716ded7b2d351'
+ 'ed1341881437455d9735875ddf455fbe'
+ '58d6e5bb4b4c1c6f3f0b3daa6aaeed03'
+ '3c08ad30b89add47d3f45121200a5360'
+ '7d9823507206de9b8528a72af2f18d74'
+ '07c5f6d86c4b7839d719c8ee0c53653b'
+ '7e9483b1069a54f181546083ac7e5469'
+ 'c159d683ba1947290fc2ad2c64194150'
+ 'bc9efed88e0469cd7fc460d5a5cd7b4b'
+ '4f1692638d6740df4c4ad9766ba4e179'
+ '97e193f050574dd272a38e5ee5ebe62b'
+ '8538dba8686d7449cb481c9bae9d722a'
+ '545c925b46f2ac95e5f8ae407fad101a'
+ 'f6416f509c2e5460e4dc624e0a57f3c1'
+ 'bbfb59dd517c020a23701b480187a355'
+ 'efacfdb61918286ea9bc89866b8fd239'
+ '7c3eb09995e8bafeef414374e44ad4ce'
+ 'a49ed3ab6bd0fb084de0ab3dd97ae93e'
+ '6b432b3305ed446125eef052c38355a6'
+ 'a70022a468bd3e9daf01818d2d74ac3c'
+ '380eb2ab6cad3da198094585853c129c'
+ 'a60bb9a98abcc3c34156f9051d00df9a'
+ '3a908ef6952bcf987e63ef2fe4e98d24'
+ '02e87c39c353634cecacf98f1707fa15'
+ '0cf41a41e7a415d404d5584e047fd450'
+ '449cde3b58390284b59c5d663de3edc9'
+ 'c7951fe6888d939f3a7d0dafe477e82b'
+ '4da8eeb2ece7e475fc7a0d1003da26c6'
+ '5e4187af59726d71c5be48d0cd816c34'
+ '85141ccd2621a8e004b8f55c9a1f83eb'
+ 'c7b29fbf4c24a00e8646ca6dd73f38a1')
build() {
- cd "$srcdir/VirtualBox-${pkgver}"
+ cd "VirtualBox-$pkgver"
- patch -Np1 -i "$srcdir/vboxdrv-reference.patch"
- patch -Np1 -i "$srcdir/change_default_driver_dir.patch"
+ # Apply patches
+ for _p in "$srcdir"/*.patch; do
+ [[ -e $_p ]] || continue
+ msg2 "Apply patch ${_p##*/}"
+ patch -Np1 -i "$_p"
+ done
+
+ ## Removing Nonfree directories and Nonfree files
+ rm -rv "./include/VBox/ExtPack"
+ rm -rv "./src/VBox/ExtPacks"
+ rm -rv "./src/VBox/Main/src-helper-apps"
+ rm -rv "./src/VBox/Main/include/ExtPackManagerImpl.h"
+ rm -rv "./src/VBox/Main/include/ExtPackUtil.h"
+ rm -rv "./src/VBox/Main/src-all/ExtPackManagerImpl.cpp"
+ rm -rv "./src/VBox/Main/src-all/ExtPackUtil.cpp"
+
+ ## Removing Oracle VM VirtualBox Extension Pack icons
+ rm -v "./src/VBox/Resources/darwin/virtualbox-vbox-extpack.icns"
+ rm -v "./src/VBox/Resources/other/virtualbox-vbox-extpack-"{16px,20px,24px,32px,40px,48px,64px,72px,80px,96px,128px,256px,512px}.png
+ rm -v "./src/VBox/Resources/win/OSE/virtualbox-vbox-extpack.ico"
+ rm -v "./src/VBox/Frontends/VirtualBox/images/extension_pack_"{16px,32px,disabled{_16px,_32px},install{_16px,_32px},install_disabled{_16px,_32px},uninstall{_16px,_32px},uninstall_disabled{_16px,_32px}}.png
+
+ ## Adding free distros icons
+ for i in {dynebolic,venenux,{gnu,parabola,gnewsense,blag,dragora,ututo,musix,trisquel}{,_64}}; do
+ cp -v "$srcdir/os_${i}.png" "./src/VBox/Frontends/VirtualBox/images"
+ done
cp "$srcdir/LocalConfig.kmk" .
+ # fake makeself binary to compile without nofatal
+ ln -s /bin/echo makeself
+ export PATH="$CWD:$PATH"
+
./configure --disable-docs \
--enable-webservice \
--enable-vde \
--enable-vnc \
- --nofatal \
- --with-linux=/usr/src/linux-${_kernver}
+ --disable-kmods
+# --with-linux=/usr/src/linux-${_kernver}
source ./env.sh
kmk all
sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' "out/linux.$BUILD_PLATFORM_ARCH/release/bin/vboxshell.py"
+ # build rdesktop-vrdp (broken from LocalConfig.kmk)
+ cd src/VBox/RDP/client
+ cp "$srcdir/LocalConfig.kmk" .
+ kmk all
}
package_virtualbox-libre() {
- pkgdesc="Powerful x86 virtualization for enterprise as well as home use"
- depends=('virtualbox-modules' 'libxml2' 'libxcursor' 'libxinerama' 'sdl' 'libxmu' 'curl' 'libvncserver' 'libpng')
- optdepends=('qt: for VirtualBox GUI'
+ pkgdesc='Powerful x86 virtualization for enterprise as well as home use (with free GNU/Linux distros presets and Oracle VM VirtualBox Extension Pack support removed)'
+ depends=('curl'
+ 'libpng'
+ 'libvncserver'
+ 'libxcursor'
+ 'libxinerama'
+ 'libxml2'
+ 'libxmu'
+ 'sdl-libre'
+ 'virtualbox-libre-host-modules')
+ optdepends=('qt: VirtualBox GUI support'
'vde2: Virtual Distributed Ethernet support'
- 'virtualbox-sdk: developer kit'
- 'virtualbox-source: host kernel source modules for non-stock kernels'
- 'net-tools: for host-only or bridged networking')
-
- backup=('etc/vbox/vbox.cfg')
+ 'virtualbox-libre-sdk: Developer kit'
+ 'virtualbox-libre-host-source: Host kernel libre source modules for non-stock kernels'
+ 'net-tools: Host-only or bridged networking support')
+ backup=('etc/vbox/vbox.cfg' 'etc/conf.d/vboxweb')
replaces=('virtualbox' 'virtualbox-ose')
conflicts=('virtualbox' 'virtualbox-ose')
provides=("virtualbox=$pkgver")
- install=virtualbox.install
+ install=virtualbox-libre.install
- source "$srcdir/VirtualBox-${pkgver}/env.sh"
-
- cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
- mkdir -p "$pkgdir"/usr/{bin,lib/virtualbox/components,lib/virtualbox/ExtensionPacks,share/virtualbox/nls}
+ source "VirtualBox-$pkgver/env.sh"
+ cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
+ install -dm755 "$pkgdir"/usr/{bin,lib/virtualbox/components,share/virtualbox/nls,share/virtualbox/rdesktop-vrdp-keymaps}
#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
+ for i in VBoxHeadless VBoxManage VBoxSDL VirtualBox vboxwebsrv VBoxBalloonCtrl; do
ln -sf VBox "$pkgdir/usr/bin/$i"
+ ln -sf VBox "$pkgdir/usr/bin/${i,,}"
done
install -m 0755 VBoxTunctl "$pkgdir/usr/bin"
+ install -m 0755 rdesktop-vrdp "$pkgdir/usr/bin"
#components
install -m 0755 components/* -t "$pkgdir/usr/lib/virtualbox/components"
@@ -86,11 +209,14 @@ package_virtualbox-libre() {
#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"
+ install -m 0755 VBoxManage VBoxSVC VBoxXPCOMIPCD VBoxTestOGL VBoxBalloonCtrl vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox"
#language
install -m 0755 nls/*.qm -t "$pkgdir/usr/share/virtualbox/nls"
+ #rdesktop keymaps
+ install -m 0644 rdesktop-vrdp-keymaps/* "$pkgdir/usr/share/virtualbox/rdesktop-vrdp-keymaps"
+
#useless scripts
install -m 0755 VBoxCreateUSBNode.sh VBoxSysInfo.sh -t "$pkgdir/usr/share/virtualbox"
@@ -120,87 +246,103 @@ package_virtualbox-libre() {
# install rc.d script
install -D -m755 "$srcdir/vboxweb.rc" "$pkgdir/etc/rc.d/vboxweb"
+ # install systemd service
+ install -D -m644 "$srcdir/vboxweb.service" \
+ "$pkgdir/usr/lib/systemd/system/vboxweb.service"
# install sample config
install -D -m644 "$srcdir/vboxweb.conf" "$pkgdir/etc/conf.d/vboxweb"
}
-package_virtualbox-source() {
- pkgdesc="VirtualBox kernel modules source"
- depends=(gcc make)
- provides=(virtualbox-modules)
- optdepends=('linux-libre-headers'
- 'linux-libre-lts-headers')
- install=virtualbox-source.install
-
- source "$srcdir/VirtualBox-${pkgver}/env.sh"
- mkdir -p $pkgdir/usr/lib/virtualbox
-
- cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
-
- #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)"
+package_virtualbox-libre-sdk() {
+ pkgdesc='VirtualBox Software Developer Kit (SDK)'
depends=('python2')
+ replaces=('virtualbox-sdk')
+ conflicts=('virtualbox-sdk')
+ provides=("virtualbox-sdk=$pkgver")
- mkdir -p "$pkgdir/usr/lib/virtualbox"
+ install -dm755 "$pkgdir/usr/lib/virtualbox"
- source "$srcdir/VirtualBox-${pkgver}/env.sh"
- cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
+ source "VirtualBox-$pkgver/env.sh"
+ cd "VirtualBox-$pkgver/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}"
+ 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' 'libxfixes')
- replaces=('virtualbox-guest-additions' 'virtualbox-archlinux-additions')
- conflicts=('virtualbox-guest-additions' 'virtualbox-archlinux-additions')
- provides=("virtualbox-archlinux-additions=${pkgver}")
+package_virtualbox-libre-host-source() {
+ pkgdesc='VirtualBox Host kernel libre modules source (DKMS)'
+ depends=('dkms' 'gcc' 'make')
+ provides=("virtualbox-host-source=$pkgver" 'virtualbox-libre-host-modules')
+ replaces=('virtualbox-host-source' 'virtualbox-source' 'virtualbox-libre-source')
+ conflicts=('virtualbox-host-source' 'virtualbox-source' 'virtualbox-libre-source')
+ optdepends=('linux-libre-headers'
+ 'linux-libre-lts-headers')
+ install=virtualbox-libre-host-source.install
- source "$srcdir/VirtualBox-${pkgver}/env.sh"
+ install -dm755 "$pkgdir/usr/src"
+ source "VirtualBox-$pkgver/env.sh"
+ cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
+ cp -r src "$pkgdir/usr/src/vboxhost-$pkgver"
+}
+
+package_virtualbox-libre-guest-source() {
+ pkgdesc='VirtualBox Guest kernel libre modules source (DKMS)'
+ depends=('dkms' 'gcc' 'make')
+ provides=("virtualbox-guest-source=$pkgver" 'virtualbox-libre-guest-modules')
+ replaces=('virtualbox-guest-source' 'virtualbox-archlinux-source' 'virtualbox-parabola-source')
+ conflicts=('virtualbox-guest-source' 'virtualbox-archlinux-source' 'virtualbox-parabola-source')
+ optdepends=('linux-libre-headers'
+ 'linux-libre-lts-headers')
+ install=virtualbox-libre-guest-source.install
- cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
+ install -dm755 "$pkgdir/usr/src"
+ source "VirtualBox-$pkgver/env.sh"
+ cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
+ cp -r src "$pkgdir/usr/src/vboxguest-$pkgver"
+}
+package_virtualbox-libre-guest-utils(){
+ pkgdesc='VirtualBox Guest userspace utilities'
+ depends=('virtualbox-libre-guest-modules' 'gcc-libs' 'libxmu' 'xorg-xrandr' 'libxfixes')
+ optdepends=('virtualbox-guest-source: Guest kernel libre source modules for non-stock kernels')
+ provides=("virtualbox-guest-utils=$pkgver")
+ replaces=('virtualbox-guest-utils' 'virtualbox-archlinux-additions' 'virtualbox-parabola-additions' 'virtualbox-guest-additions' 'virtualbox-libre-guest-additions')
+ conflicts=('virtualbox-guest-utils' 'virtualbox-archlinux-additions' 'virtualbox-parabola-additions' 'virtualbox-guest-additions' 'virtualbox-libre-guest-additions')
+ backup=('etc/conf.d/vboxservice')
+ install=virtualbox-libre-guest-utils.install
+
+ source "VirtualBox-$pkgver/env.sh"
+ pushd "VirtualBox-$pkgver/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}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
+ install -m755 -D "$srcdir"/VirtualBox-$pkgver/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
"$pkgdir"/usr/bin/VBoxClient-all
- install -m755 -D "$srcdir"/VirtualBox-${pkgver}/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ install -m755 -D "$srcdir"/VirtualBox-$pkgver/src/VBox/Additions/x11/Installer/vboxclient.desktop \
"$pkgdir"/etc/xdg/autostart/vboxclient.desktop
- install -D vboxvideo_drv_112.so \
+ install -D vboxvideo_drv_113.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/usr/lib/security/pam_vbox.so"
-
+ popd
+ # install udev rules
+ install -D -m 0644 60-vboxguest.rules \
+ "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules"
# install rc.d script
- install -D -m755 "$srcdir/vbox-service.rc" "$pkgdir/etc/rc.d/vbox-service"
-
+ install -D -m755 vboxservice.rc "$pkgdir/etc/rc.d/vboxservice"
# install sample config
- install -D -m644 "$srcdir/vbox-service.conf" "$pkgdir/etc/conf.d/vbox-service"
+ install -D -m644 vboxservice.conf "$pkgdir/etc/conf.d/vboxservice"
+ # install systemd service file
+ install -D -m644 vboxservice.service \
+ "$pkgdir/usr/lib/systemd/system/vboxservice.service"
}
-md5sums=('eacfb802ecdd6d3435228eb3d3488719'
- '5f85710e0b8606de967716ded7b2d351'
- '755ab0dd9bcacf2c00d2275b1ca69547'
- 'a1ff1d1b4423556887e48a32978226a6'
- '3c96faa76894c182c1bb56bb30d9a17e'
- '97e193f050574dd272a38e5ee5ebe62b'
- '3c08ad30b89add47d3f45121200a5360'
- '208cf5f842eb2e3a5b6dcfc59080d26c'
- '3ac185709bfe688bb753c46e170d0546'
- 'c159d683ba1947290fc2ad2c64194150')
+
+# vim:set ts=4 sw=4 et: