1{ stdenv, virtualbox, kernel }:
2
3stdenv.mkDerivation {
4 name = "virtualbox-modules-${virtualbox.version}-${kernel.version}";
5 src = virtualbox.modsrc;
6 hardeningDisable = [
7 "fortify" "pic" "stackprotector"
8 ];
9
10 nativeBuildInputs = kernel.moduleBuildDependencies;
11
12 patches = [
13 ./fix_kerndir.patch
14 ./fix_kbuild.patch
15 ];
16
17 KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
18 INCLUDE_BASE = "${virtualbox.modsrc}";
19
20 makeFlags = [
21 "-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
22 "INSTALL_MOD_PATH=$(out)"
23 ];
24 preBuild = "makeFlagsArray+=(\"M=$(pwd)\")";
25 buildFlags = [ "modules" ];
26 installTargets = [ "modules_install" ];
27
28 enableParallelBuilding = true;
29
30 meta = virtualbox.meta // {
31 description = virtualbox.meta.description + " (kernel modules)";
32 };
33}