diff options
Diffstat (limited to 'libre/virtualbox-libre/PKGBUILD')
-rwxr-xr-x[-rw-r--r--] | libre/virtualbox-libre/PKGBUILD | 326 |
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: |