aboutsummaryrefslogtreecommitdiffstats
path: root/community/virtualbox-guest-modules-lts/APKBUILD
blob: 07252f0bd13263304964af92343e961b1e53d5a1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# Maintainer: Ben Allen <bensallen@me.com>
# Contributor: Ben Allen <bensallen@me.com>

# when changing _ver we *must* bump _rel
_name=virtualbox-guest-modules
_ver=6.0.14
_rel=0

_flavor=${FLAVOR:-lts}
_kpkg=linux-$_flavor
_kver=5.4.12
_krel=1

_kpkgver="$_kver-r$_krel"
_kabi=$_kver-$_krel-$_flavor
_kabi_virt=$_kver-$_krel-virt

pkgname=$_name-$_flavor
pkgver=$_kver
pkgrel=$(($_krel + $_rel))

pkgdesc="VirtualBox Additions guest kernel modules for $_flavor"
arch='x86_64' # seems to fail on x86: https://github.com/alpinelinux/aports/pull/8215#issuecomment-496630776
url='https://virtualbox.org/'
license="GPL-2.0 custom"
makedepends="linux-$_flavor-dev=$_kpkgver linux-virt-dev=$_kpkgver sed coreutils"
subpackages="$_name-virt:virt"
source="https://download.virtualbox.org/virtualbox/$_ver/VirtualBox-$_ver.tar.bz2
	linux-5.4-compat.patch
	"
install_if="linux-$_flavor=$_kpkgver virtualbox-guest-additions"
builddir="$srcdir"/VirtualBox-$_ver

prepare() {
	local i

	cd "$builddir"
	default_prepare
	# verify the kernel version
	local _kapkbuild=../../main/linux-$_flavor-/APKBUILD
	if [ -f $_kapkbuild ]; then
		(	. $_kapkbuild
			pkgname=$_name-$_flavor
			[ "$_kver" != "$pkgver" ] && die "please update _kver to $pkgver"
			[ "$_krel" != "$pkgrel" ] && die "please update _krel to $pkgrel"
			return 0
		)
	fi

	for i in $_kabi $_kabi_virt; do
		KERN_VER=$_kabi "$builddir"/src/VBox/Additions/linux/export_modules.sh \
			--folder "$srcdir/$i"
	done
}

build() {
	local i
	for i in $_kabi $_kabi_virt; do
		cd "$srcdir/$i"
		# Build Kernel Modules
		msg "Build for $i"
		make KERN_DIR=/lib/modules/${i}/build all
	done
}

check() {
	local i
	for i in $_kabi $_kabi_virt; do
		cd "$srcdir/$i"
		make KERN_DIR=/lib/modules/${i}/build check
	done
}

package() {
	local i module=
	for i in $_kabi $_kabi_virt; do
		cd "$srcdir/$i"
		for module in *.ko; do
			install -v -D -m644 ${module} \
				"$pkgdir/lib/modules/$i/misc/${module}"
		done
	done
}

virt() {
	pkgdesc="VirtualBox Additions kernel modules for virt"
	install_if="linux-virt=$_kpkgver virtualbox-guest-additions"
	mkdir -p "$subpkgdir"/lib/modules/
	# vboxvideo.ko won't load with virt kernel as it doesn't have DRM
	rm "$pkgdir"/lib/modules/$_kabi_virt/misc/vboxvideo.ko
	mv "$pkgdir"/lib/modules/$_kabi_virt \
		"$subpkgdir"/lib/modules/
}

sha512sums="e1a64c6633987e178b368dc17e738c6fbef4ab262c574188819f1186bf33f38d8c5accd6a566279a12ccd3544bab4ee5a1f8dce7c8c56d7373489c5ff7f8556d  VirtualBox-6.0.14.tar.bz2
74459c095113c9fc7c3861d0e56a636dde55d02d8f514267f762fb2be71d382806803aa33953af8f2c7d3a172a34d311caa9ba3d58e39af304b8d11fadfff9b0  linux-5.4-compat.patch"