diff options
author | William Turner | 2020-06-03 14:32:08 -0400 |
---|---|---|
committer | William Turner | 2020-06-03 14:32:08 -0400 |
commit | 8a658cbb07ec0940b9d49690999125bb83fa29a6 (patch) | |
tree | 4c3ede3b88c58894c4255fe0fced175817a1de65 | |
download | aur-8a658cbb07ec0940b9d49690999125bb83fa29a6.tar.gz |
Initial version
-rw-r--r-- | .SRCINFO | 35 | ||||
-rw-r--r-- | LocalConfig.kmk | 36 | ||||
-rw-r--r-- | PKGBUILD | 75 | ||||
-rw-r--r-- | vboxvmsvga.service | 10 | ||||
-rw-r--r-- | virtualbox-guest-dkms-vmsvga.conf | 15 | ||||
-rw-r--r-- | virtualbox-guest-dkms-vmsvga.install | 9 |
6 files changed, 180 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..4162c46c87e1 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,35 @@ +pkgbase = virtualbox-guest-dkms-vmsvga + pkgdesc = VirtualBox Guest kernel modules sources (VMSVGA fix) + pkgver = 6.1.8 + pkgrel = 1 + url = https://virtualbox.org/ + install = virtualbox-guest-dkms-vmsvga.install + arch = x86_64 + license = GPL + license = custom + depends = dkms + depends = gcc + depends = make + depends = virtualbox-guest-utils + optdepends = linux-headers: build modules against Arch kernel + optdepends = linux-lts-headers: build modules against LTS kernel + optdepends = linux-zen-headers: build modules against ZEN kernel + provides = VIRTUALBOX-GUEST-MODULES + conflicts = virtualbox-archlinux-source + conflicts = virtualbox-guest-source + conflicts = virtualbox-guest-dkms + replaces = virtualbox-archlinux-source + replaces = virtualbox-guest-source + replaces = virtualbox-guest-modules-lts + replaces = virtualbox-guest-dkms + source = https://download.virtualbox.org/virtualbox/6.1.8/VirtualBox-6.1.8.tar.bz2 + source = LocalConfig.kmk + source = virtualbox-guest-dkms-vmsvga.conf + source = vboxvmsvga.service + sha256sums = 426888f83036b6b1f79c272d317a4e8ecf43781f6a266fd7209c03dca504eefc + sha256sums = 2be313b98bffde482aad93b00c419f1d5f7645fd9e6053175ffb0d925067f96a + sha256sums = edd0492f0706e03169cdf3654658ea650687c30967ca5e32fde19d43e3dd4e5e + sha256sums = b6da21bfbc2d452aa8e2ae5c118ec8ed8b87ad6d86000e6b27f28c098b9871ca + +pkgname = virtualbox-guest-dkms-vmsvga + diff --git a/LocalConfig.kmk b/LocalConfig.kmk new file mode 100644 index 000000000000..b413859931a9 --- /dev/null +++ b/LocalConfig.kmk @@ -0,0 +1,36 @@ +# do not build test cases +VBOX_WITH_TESTCASES := +VBOX_WITH_TESTSUITE := +VBOX_WITH_VALIDATIONKIT := + +# no legacy X.org - use KMS +VBOX_USE_SYSTEM_XORG_HEADERS = 1 +VBOX_NO_LEGACY_XORG_X11 = 1 + +# archlinux path +VBOX_WITH_ORIGIN := +VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox +VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox +VBOX_PATH_APP_DOCS := /usr/share/doc/virtualbox +VBOX_PATH_PACKAGE_DOCS := $(VBOX_PATH_APP_DOCS) +VBOX_BLD_PYTHON = python +VBOX_JAVA_HOME = /usr/lib/jvm/java-7-openjdk + +# do not fail on warning +VBOX_GCC_WERR = +VBOX_GCC_WARN = + +# fix gsoap missing zlib include and produce errors with --as-needed +VBOX_GSOAP_CXX_LIBS := gsoapssl++ z + +# use system xorg and gl headers +VBOX_USE_SYSTEM_XORG_HEADERS = 1 +VBOX_USE_SYSTEM_GL_HEADERS = 1 + +# no update request. update are handled via pacman +VBOX_WITH_UPDATE_REQUEST := 0 + +# build shared library +VBOX_GUI_WITH_SHARED_LIBRARY = 1 diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..290fe2f7c672 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: William Turner <willtur.will@gmail.com> + +pkgname=virtualbox-guest-dkms-vmsvga +pkgver=6.1.8 +pkgrel=1 +pkgdesc='VirtualBox Guest kernel modules sources (VMSVGA fix)' +arch=('x86_64') +url='https://virtualbox.org/' +license=('GPL' 'custom') +depends=('dkms' 'gcc' 'make' 'virtualbox-guest-utils') +optdepends=('linux-headers: build modules against Arch kernel' + 'linux-lts-headers: build modules against LTS kernel' + 'linux-zen-headers: build modules against ZEN kernel') +provides=('VIRTUALBOX-GUEST-MODULES') +conflicts=('virtualbox-archlinux-source' + 'virtualbox-guest-source' + 'virtualbox-guest-dkms') +replaces=('virtualbox-archlinux-source' + 'virtualbox-guest-source' + 'virtualbox-guest-modules-lts' + '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-vmsvga.install +source=("https://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2" + 'LocalConfig.kmk' + 'virtualbox-guest-dkms-vmsvga.conf' + 'vboxvmsvga.service') +sha256sums=('426888f83036b6b1f79c272d317a4e8ecf43781f6a266fd7209c03dca504eefc' + '2be313b98bffde482aad93b00c419f1d5f7645fd9e6053175ffb0d925067f96a' + 'edd0492f0706e03169cdf3654658ea650687c30967ca5e32fde19d43e3dd4e5e' + 'b6da21bfbc2d452aa8e2ae5c118ec8ed8b87ad6d86000e6b27f28c098b9871ca') + +prepare() { + cd "VirtualBox-$pkgver" + + cp "$srcdir/LocalConfig.kmk" . + echo "VBOX_GCC_OPT=$CXXFLAGS" >> LocalConfig.kmk +} + +build() { + cd "VirtualBox-$pkgver" + + echo 'Build virtualbox' + ./configure \ + --only-additions \ + --with-makeself=/usr/bin/echo + + source ./env.sh + kmk +} + +package() { + source "VirtualBox-$pkgver/env.sh" + cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions" + + # dkms modules + install -d -m0755 "$pkgdir/usr/src" + cp -r src "$pkgdir/usr/src/vboxguest-${pkgver}_OSE" + echo 'obj-m = vboxguest/ vboxsf/ vboxvideo/' > "$pkgdir/usr/src/vboxguest-${pkgver}_OSE/Makefile" + sed "s/@VERSION@/$pkgver/" "$srcdir/$pkgname.conf" > "$pkgdir/usr/src/vboxguest-${pkgver}_OSE/dkms.conf" + + # module loading + install -d -m0755 "$pkgdir/usr/lib/depmod.d" + printf 'override vboxguest * kernel/misc\noverride vboxsf * kernel/misc\noverride vboxvideo * kernel/misc\n' > "$pkgdir/usr/lib/depmod.d/$pkgname.conf" + install -d -m0755 "$pkgdir/usr/lib/modules-load.d" + printf 'vboxguest\nvboxsf\nvboxvideo\n' > "$pkgdir/usr/lib/modules-load.d/$pkgname.conf" + + # systemd unit + install -D -m0644 "$srcdir/vboxvmsvga.service" "$pkgdir/usr/lib/systemd/system/vboxvmsvga.service" + + # license + install -D -m0644 "$srcdir/VirtualBox-$pkgver/COPYING" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/vboxvmsvga.service b/vboxvmsvga.service new file mode 100644 index 000000000000..8a48a4043cad --- /dev/null +++ b/vboxvmsvga.service @@ -0,0 +1,10 @@ +[Unit] +Description=VirtualBox VMSVGA Service +ConditionVirtualization=oracle +After=vboxservice.service + +[Service] +ExecStart=/usr/bin/VBoxClient -f --vmsvga + +[Install] +WantedBy=graphical.target diff --git a/virtualbox-guest-dkms-vmsvga.conf b/virtualbox-guest-dkms-vmsvga.conf new file mode 100644 index 000000000000..be69afae28d7 --- /dev/null +++ b/virtualbox-guest-dkms-vmsvga.conf @@ -0,0 +1,15 @@ +PACKAGE_NAME="vboxguest" +PACKAGE_VERSION=@VERSION@_OSE +AUTOINSTALL=yes + +BUILT_MODULE_NAME[0]="vboxguest" +BUILT_MODULE_LOCATION[0]="vboxguest" +DEST_MODULE_LOCATION[0]="/kernel/misc" + +BUILT_MODULE_NAME[1]="vboxsf" +BUILT_MODULE_LOCATION[1]="vboxsf" +DEST_MODULE_LOCATION[1]="/kernel/misc" + +BUILT_MODULE_NAME[2]="vboxvideo" +BUILT_MODULE_LOCATION[2]="vboxvideo" +DEST_MODULE_LOCATION[2]="/kernel/misc" diff --git a/virtualbox-guest-dkms-vmsvga.install b/virtualbox-guest-dkms-vmsvga.install new file mode 100644 index 000000000000..8bbc2d1edda3 --- /dev/null +++ b/virtualbox-guest-dkms-vmsvga.install @@ -0,0 +1,9 @@ +#! /bin/bash + +post_install() { + echo '==> The vboxvmsvga service must be started for auto-resize to work with the VMSVGA adapter.' +} + +post_upgrade() { + post_install $1 +} |