_extramodules=extramodules-6.8-next _kernver="$(cat /lib/modules/$_extramodules/version)" #_kernver=4.8.3-1-next # hardcode in case system not running linux-next pkgname=virtualbox-modules-next pkgver=7.0.16 _pkgver=7.0.16 pkgrel=2 pkgdesc="Kernel modules for VirtualBox" url="https://www.virtualbox.org" arch=('x86_64') license=('GPL-2') depends=('linux-next>=6.8' 'linux-next<6.9.0') makedepends=('linux-next-headers' 'elfutils') provides=('virtualbox-modules') options=('!strip') source=("https://sourceforge.net/projects/kaosx/files/sources/virtualbox-modules/vbox-kernel-module-src-${_pkgver}.tar.xz" 'virtualbox-modules-depmod.patch' 'vbox-modules-next.conf' 'linux5.18.patch') install=${pkgname}.install md5sums=('094b6ffd2e71b967c77ecab7adce7753' 'c9f84fb084a79275d269c542ff53ba4d' '232f7c1b893245a8e87a38768e9d1c1d' 'c8ed11362d8b60c40fbce0ff3f730e11') prepare() { cd vbox-kernel-module-src-${_pkgver} #patch -p1 -i ${srcdir}/linux5.18.patch #sed -i -e 's|if RTLNX_VER_MIN(6,5,0)|if RTLNX_VER_MIN(6,4,10)|g' vboxnetflt/linux/VBoxNetFlt-linux.c } build() { cd vbox-kernel-module-src-${_pkgver} mkdir -p lib/modules/${_kernver}/misc make KERN_DIR=/lib/modules/${_kernver}/build MODULE_DIR_TST=${pkgdir}/lib/modules/${_kernver} \ MODULE_DIR=${pkgdir}/lib/modules/${_kernver}/misc # sign the modules _file=/usr/src/linux-${_kernver}/scripts/sign-file _pem=/$HOME/signing_key.pem _key=/$HOME/signing_key.x509 ${_file} sha256 ${_pem} ${_key} vboxdrv/vboxdrv.ko ${_file} sha256 ${_pem} ${_key} vboxnetadp/vboxnetadp.ko ${_file} sha256 ${_pem} ${_key} vboxnetflt/vboxnetflt.ko #${_file} sha256 ${_pem} ${_key} vboxpci.ko } package() { cd vbox-kernel-module-src-${_pkgver} make KERN_DIR=/lib/modules/${_kernver}/build MODULE_DIR_TST=${pkgdir}/lib/modules/${_kernver} \ MODULE_DIR=${pkgdir}/lib/modules/${_kernver}/misc INSTALL_MOD_PATH=${pkgdir} install sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/virtualbox-modules-next.install" install -D -m644 ../vbox-modules-next.conf ${pkgdir}/etc/modules-load.d/vbox-modules-next.conf }