diff options
author | Andrey Rodionov | 2018-01-17 20:25:32 +0300 |
---|---|---|
committer | Andrey Rodionov | 2018-01-17 20:27:24 +0300 |
commit | 6d4b2cd10f4cfeca5b9dc54de8e83dae91819033 (patch) | |
tree | 61cdc989e488c28deffc9f95225ccf5fe7fc8d00 /PKGBUILD | |
download | aur-6d4b2cd10f4cfeca5b9dc54de8e83dae91819033.tar.gz |
Initial import
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 388 |
1 files changed, 388 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..97a9ecee2634 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,388 @@ +# $Id$ +# Maintainer: Sébastien "Seblu" Luttringer +# Contributor: Ionut Biru <ibiru@archlinux.org> + +pkgbase=virtualbox51 +pkgname=('virtualbox51' + 'virtualbox51-host-dkms' + 'virtualbox51-guest-dkms' + 'virtualbox51-sdk' + 'virtualbox51-guest-utils' + 'virtualbox51-guest-utils-nox' + 'virtualbox51-ext-vnc') +pkgver=5.1.32 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://virtualbox.org' +license=('GPL' 'custom') +makedepends=('alsa-lib' + 'bin86' + 'cdrkit' + 'curl' + 'dev86' + 'device-mapper' + 'glu' + 'gsoap' + 'iasl' + 'jdk7-openjdk' + 'libidl2' + 'libpulse' + 'libstdc++5' + 'libvncserver' + 'libvpx' + 'libxcomposite' + 'libxcursor' + 'libxinerama' + 'libxml2' + 'libxmu' + 'libxrandr' + 'libxslt' + 'libxtst' + 'linux-headers' + 'mesa' + 'python2' + 'qt5-base' + 'qt5-x11extras' + 'qt5-tools' + 'sdl' + 'sdl_ttf' + 'vde2' + 'xalan-c' + 'xf86driproto' + 'xorg-server-devel') +makedepends_x86_64=('gcc-multilib' 'lib32-glibc') +source=("http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2" + 'virtualbox-host-dkms.conf' + 'virtualbox-guest-dkms.conf' + 'virtualbox.sysusers' + 'virtualbox-guest-utils.sysusers' + '60-vboxdrv.rules' + '60-vboxguest.rules' + 'LocalConfig.kmk' + 'vboxservice.service' + 'vboxservice-nox.service' + 'vboxweb.service' + 'vboxreload' + '002-dri-driver-path.patch' + '003-ogl-include-path.patch' + '005-gsoap-build.patch' + '006-rdesktop-vrdp-keymap-path.patch' + '007-python2-path.patch' + '008-no-vboxvideo.patch' + 'linux-4.14-host.patch' + ) +sha256sums=('80383316dd9900c5879a31331c0f853757c53b28ab8d5249e9e4066065a3f229' + 'deb03efa7ad0376aa55a087f2e882afe00935f10b0e7aa853ba9147090d341ec' + '113f9b92141b85df01f1e74d22f01d1f1aa81650eb79b89ceefc3cae20afe2e2' + '2101ebb58233bbfadf3aa74381f22f7e7e508559d2b46387114bc2d8e308554c' + 'da4c49f6ca94e047e196cdbcba2c321199f4760056ea66e0fbc659353e128c9e' + '9c5238183019f9ebc7d92a8582cad232f471eab9d3278786225abc1a1c7bf66e' + '033c597e0f5285d2ddb0490868e5b6f945f45c7b1b1152a02a9e6fea438b2c95' + '0105ce26b79dbe533085423decf042ac0f5e6aa28edb5e6a9bc713cca2ab04c5' + '94a808f46909a51b2d0cf2c6e0a6c9dea792034943e6413bf9649a036c921b21' + '01dbb921bd57a852919cc78be5b73580a564f28ebab2fe8d6c9b8301265cbfce' + 'e6e875ef186578b53106d7f6af48e426cdaf1b4e86834f01696b8ef1c685787f' + '2a9d7748dc58f9d091f791da06b733a696943114f7c0d580fa00a0752eb1d2ac' + 'ee54fe188e27b6e80e2044ea9ba1874db2ca2c026ad04f393be1be69c18d440d' + '188014070bce4f6fb9b2535bcd64d066119e182e848c521407ea891ab41a995b' + '7d2da8fe10a90f76bbfc80ad1f55df4414f118cd10e10abfb76070326abebd46' + '5d5af2de5b1f1c61ec793503350f2440661cf8fd640f11b8a86f10bce499c0dc' + '6bdb017459532537199c399eefd3d84d8dc7f1786e79997caebd3b6eb5c75d9f' + '8b7f241107863f82a5b0ae336aead0b3366a40103ff72dbebf33f54b512a0cbc' + '80c4173c0bd6fffae7225267ceebe09d26f504dd9544939c3b723b9e6aca345b' + ) + +prepare() { + cd "VirtualBox-$pkgver" + + # apply patch from the source array (should be a pacman feature) + local filename + for filename in "${source[@]}"; do + if [[ "$filename" =~ \.patch$ ]]; then + msg2 "Applying patch ${filename##*/}" + patch -p1 -N -i "$srcdir/${filename##*/}" + fi + done + + msg2 'Applying local config' + cp "$srcdir/LocalConfig.kmk" . + + msg2 'Use our CFLAGS' + echo "VBOX_GCC_OPT=$CXXFLAGS" >> LocalConfig.kmk + + msg2 'Remove gcc version censorship' + sed -i 's/^check_gcc$/#check_gcc/' configure +} + +build() { + cd "VirtualBox-$pkgver" + + msg2 'Build virtualbox' + ./configure \ + --disable-docs \ + --enable-webservice \ + --enable-vde \ + --enable-vnc \ + --disable-kmods \ + --with-makeself=/usr/bin/echo + # fake makeself binary to compile without nofatal + # makeself is used by linux installer. we don't need it. + source ./env.sh + kmk + + msg2 'Build rdesktop-vrdp' + kmk -C src/VBox/RDP/client-1.8.3 + + msg2 'Build VNC extension pack' + kmk -C src/VBox/ExtPacks/VNC packing +} + +package_virtualbox51() { + pkgdesc='Powerful x86 virtualization for enterprise as well as home use' + depends=('glibc' 'openssl' 'curl' 'gcc-libs' 'libpng' 'python2' 'sdl' + 'libvpx' 'libxml2' 'procps-ng' 'shared-mime-info' 'zlib' + 'libxcursor' 'libxinerama' 'libx11' 'libxext' 'libxmu' 'libxt' + 'qt5-base' 'qt5-x11extras' 'VIRTUALBOX-HOST-MODULES') + optdepends=('vde2: Virtual Distributed Ethernet support' + 'virtualbox-guest-iso: Guest Additions CD image' + 'virtualbox-ext-vnc: VNC server support' + 'virtualbox-sdk: Developer kit') + backup=('etc/vbox/vbox.cfg') + replaces=('virtualbox-ose' 'virtualbox') + conflicts=('virtualbox-ose' 'virtualbox') + install=virtualbox.install + + source "VirtualBox-$pkgver/env.sh" + cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + + # binaries + install -dm755 "$pkgdir/usr/bin" + install -m755 VBox.sh "$pkgdir/usr/bin/VBox" + 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 -m755 VBoxTunctl "$pkgdir/usr/bin" + install -m755 rdesktop-vrdp "$pkgdir/usr/bin" + + # libraries + install -dm755 "$pkgdir/usr/lib/virtualbox" + install -m755 *.so "$pkgdir/usr/lib/virtualbox" + install -m644 *.rc *.r0 VBoxEFI*.fd "$pkgdir/usr/lib/virtualbox" + ## setuid root binaries + install -m4755 VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl VBoxNetNAT -t "$pkgdir/usr/lib/virtualbox" + ## other binaries + install -m755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL VBoxBalloonCtrl vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox" + + # components + install -dm755 "$pkgdir/usr/lib/virtualbox/components" + install -m755 components/* -t "$pkgdir/usr/lib/virtualbox/components" + + # extensions packs + ## as virtualbox install itself stuff in this directory, move it to /var and + ## trick it with a symlink + ## FIXME: trick is disabled for now + #install -dm755 "$pkgdir/var/lib/virtualbox/extensions" + #install -dm755 "$pkgdir/usr/share/virtualbox/extensions" + #ln -s ../../../var/lib/virtualbox/extensions "$pkgdir/usr/lib/virtualbox/ExtensionPacks" + install -dm755 "$pkgdir/usr/lib/virtualbox/ExtensionPacks" + + # languages + install -dm755 "$pkgdir/usr/share/virtualbox/nls" + install -m755 nls/*.qm -t "$pkgdir/usr/share/virtualbox/nls" + + # rdesktop keymaps + install -dm755 "$pkgdir/usr/share/virtualbox/rdesktop-vrdp-keymaps" + install -m644 rdesktop-vrdp-keymaps/* "$pkgdir/usr/share/virtualbox/rdesktop-vrdp-keymaps" + + # useless scripts + install -m755 VBoxCreateUSBNode.sh VBoxSysInfo.sh -t "$pkgdir/usr/share/virtualbox" + + # icons + install -Dm644 VBox.png "$pkgdir/usr/share/pixmaps/VBox.png" + + pushd icons >/dev/null + for i in *; do + install -d "$pkgdir/usr/share/icons/hicolor/$i/mimetypes" + cp $i/* "$pkgdir/usr/share/icons/hicolor/$i/mimetypes" + done + popd >/dev/null + + #desktop + install -Dm644 virtualbox.desktop "$pkgdir/usr/share/applications/virtualbox.desktop" + install -Dm644 virtualbox.xml "$pkgdir/usr/share/mime/packages/virtualbox.xml" + + #install configuration + install -dm755 "$pkgdir/etc/vbox" + echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg" + + # back to srcdir + cd "$srcdir" + + #licence + install -Dm644 VirtualBox-$pkgver/COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # install systemd stuff + install -Dm644 60-vboxdrv.rules "$pkgdir/usr/lib/udev/rules.d/60-vboxdrv.rules" + install -Dm644 vboxweb.service "$pkgdir/usr/lib/systemd/system/vboxweb.service" + install -Dm644 virtualbox.sysusers "$pkgdir/usr/lib/sysusers.d/virtualbox.conf" + + # install module reloading shortcut (with a symlink with default helper) + install -Dm755 vboxreload "$pkgdir/usr/bin" + ln -s vboxreload "$pkgdir/usr/bin/rcvboxdrv" +} + +package_virtualbox51-sdk() { + pkgdesc='VirtualBox Software Developer Kit (SDK)' + depends=('python2') + + install -dm755 "$pkgdir/usr/lib/virtualbox" + + source "VirtualBox-$pkgver/env.sh" + cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + + install -Dm755 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 + cp -r sdk "$pkgdir/usr/lib/virtualbox" + # licence + install -Dm644 "$srcdir/VirtualBox-$pkgver/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_virtualbox51-host-dkms() { + pkgdesc='VirtualBox Host kernel modules sources' + depends=('dkms' 'gcc' 'make') + replaces=('virtualbox-source' + 'virtualbox-host-source' + 'virtualbox-host-modules-lts' + 'virtualbox-host-dkms') + conflicts=('virtualbox-source' 'virtualbox-host-source') + provides=('VIRTUALBOX-HOST-MODULES') + optdepends=('linux-headers: build modules against Arch kernel' + 'linux-lts-headers: build modules against LTS kernel' + 'linux-zen-headers: build modules against ZEN kernel') + install=virtualbox-host-dkms.install + + 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}_OSE" + # licence + install -Dm644 "$srcdir/VirtualBox-$pkgver/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + # module loading + local _p="$pkgdir/usr/lib/modules-load.d/$pkgname.conf" + install -Dm644 /dev/null "$_p" + printf "vboxdrv\nvboxpci\nvboxnetadp\nvboxnetflt\n" > "$_p" + # starting vbox 5.1, dkms.conf file was dropped + local _p="$pkgdir/usr/src/vboxhost-${pkgver}_OSE/dkms.conf" + install -Dm644 "$srcdir/$pkgname.conf" "$_p" + sed -i "s,@VERSION@,$pkgver," "$_p" +} + +package_virtualbox51-guest-dkms() { + pkgdesc='VirtualBox Guest kernel modules sources' + depends=('dkms' 'gcc' 'make') + replaces=('virtualbox-archlinux-source' + 'virtualbox-guest-source' + 'virtualbox-guest-modules-lts' + 'virtualbox-guest-dkms') + provides=('VIRTUALBOX-GUEST-MODULES') + conflicts=('virtualbox-archlinux-source' + 'virtualbox-guest-source' + 'virtualbox-guest-dkms') + optdepends=('linux-headers: build modules against Arch kernel' + 'linux-lts-headers: build modules against LTS kernel' + 'linux-zen-headers: build modules against ZEN kernel') + install=virtualbox-guest-dkms.install + + 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}_OSE" + # licence + install -Dm644 "$srcdir/VirtualBox-$pkgver/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + # module loading + local _p="$pkgdir/usr/lib/modules-load.d/$pkgname.conf" + install -Dm644 /dev/null "$_p" + printf "vboxguest\nvboxsf\nvboxvideo\n" > "$_p" + # starting vbox 5.1, dkms.conf file was dropped + local _p="$pkgdir/usr/src/vboxguest-${pkgver}_OSE/dkms.conf" + install -Dm644 "$srcdir/$pkgname.conf" "$_p" + sed -i "s,@VERSION@,$pkgver," "$_p" +} + +package_virtualbox51-guest-utils() { + pkgdesc='VirtualBox Guest userspace utilities' + depends=('glibc' 'pam' 'libx11' 'libxcomposite' + 'libxdamage' 'libxext' 'libxfixes' 'libxmu' 'libxt' 'xorg-xrandr' + 'VIRTUALBOX-GUEST-MODULES') + replaces=('virtualbox-archlinux-additions' + 'virtualbox-guest-additions' + 'virtualbox-guest-utils') + conflicts=('virtualbox-archlinux-additions' + 'virtualbox-guest-additions' + 'virtualbox51-guest-utils-nox' + 'virtualbox-guest-utils') + + source "VirtualBox-$pkgver/env.sh" + pushd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions" + install -d "$pkgdir/usr/bin" + install -m755 VBoxClient VBoxControl VBoxService mount.vboxsf "$pkgdir/usr/bin" + install -m755 -D "$srcdir"/VirtualBox-$pkgver/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + "$pkgdir"/usr/bin/VBoxClient-all + install -m644 -D "$srcdir"/VirtualBox-$pkgver/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + "$pkgdir"/etc/xdg/autostart/vboxclient.desktop + 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 + # systemd stuff + install -Dm644 60-vboxguest.rules "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules" + install -Dm644 vboxservice.service "$pkgdir/usr/lib/systemd/system/vboxservice.service" + install -Dm644 virtualbox-guest-utils.sysusers "$pkgdir/usr/lib/sysusers.d/virtualbox-guest-utils.conf" + # licence + install -Dm644 VirtualBox-$pkgver/COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_virtualbox51-guest-utils-nox() { + pkgdesc='VirtualBox Guest userspace utilities without X support' + depends=('glibc' 'pam' 'VIRTUALBOX-GUEST-MODULES') + conflicts=('virtualbox-guest-utils' 'virtualbox51-guest-utils') + + source "VirtualBox-$pkgver/env.sh" + pushd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions" + install -d "$pkgdir/usr/bin" + install -m755 VBoxControl VBoxService mount.vboxsf "$pkgdir/usr/bin" + install -m755 -D pam_vbox.so "$pkgdir/usr/lib/security/pam_vbox.so" + popd + # systemd stuff + install -Dm644 60-vboxguest.rules "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules" + install -Dm644 vboxservice-nox.service "$pkgdir/usr/lib/systemd/system/vboxservice.service" + install -Dm644 virtualbox-guest-utils.sysusers "$pkgdir/usr/lib/sysusers.d/virtualbox-guest-utils.conf" + # licence + install -Dm644 "$srcdir/VirtualBox-$pkgver/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_virtualbox51-ext-vnc() { + pkgdesc='VirtualBox VNC extension pack' + depends=('virtualbox' 'libvncserver') + optdepends=('tigervnc: vnc client') + install=virtualbox-ext-vnc.install + + source "VirtualBox-$pkgver/env.sh" + cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/packages" + install -Dm644 VNC-*.vbox-extpack "$pkgdir/usr/share/virtualbox/extensions/VNC-${pkgver}.vbox-extpack" + # licence + install -Dm644 "$srcdir/VirtualBox-$pkgver/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=4 sw=4 et: |