summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorAndrey Rodionov2018-01-17 20:25:32 +0300
committerAndrey Rodionov2018-01-17 20:27:24 +0300
commit6d4b2cd10f4cfeca5b9dc54de8e83dae91819033 (patch)
tree61cdc989e488c28deffc9f95225ccf5fe7fc8d00 /PKGBUILD
downloadaur-6d4b2cd10f4cfeca5b9dc54de8e83dae91819033.tar.gz
Initial import
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD388
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: