forked from mirrors/nixpkgs
1e77d0b975
[...] make modules -C /nix/store/h1vzl6bq4wif3m8dd1bw2p3fv4shjg3n-linux-4.14.9-dev/lib/modules/4.14.9/build EXTRA_CFLAGS=-Werror-implicit-function-declaration M=/tmp/nix-build-spl-kernel-2017-11-16-4.14.9.drv-0/source/build /nix/store/h1vzl6bq4wif3m8dd1bw2p3fv4shjg3n-linux-4.14.9-dev/lib/modules/4.14.9/source/Makefile:939: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel". Stop. This patch introduces kernel.moduleBuildDependencies to avoid the logic "stdenv.lib.optional (stdenv.lib.versionAtLeast kernel.version "4.14") libelf" in multiple places. [dezgeg did some minor tweaks on top]
34 lines
839 B
Nix
34 lines
839 B
Nix
{ stdenv, virtualbox, kernel, strace }:
|
|
|
|
stdenv.mkDerivation {
|
|
name = "virtualbox-modules-${virtualbox.version}-${kernel.version}";
|
|
src = virtualbox.modsrc;
|
|
hardeningDisable = [
|
|
"fortify" "pic" "stackprotector"
|
|
];
|
|
|
|
nativeBuildInputs = kernel.moduleBuildDependencies;
|
|
|
|
patches = [
|
|
./fix_kerndir.patch
|
|
./fix_kbuild.patch
|
|
];
|
|
|
|
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
|
INCLUDE_BASE = "${virtualbox.modsrc}";
|
|
|
|
makeFlags = [
|
|
"-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
|
"INSTALL_MOD_PATH=$(out)"
|
|
];
|
|
preBuild = "makeFlagsArray+=(\"M=$(pwd)\")";
|
|
buildFlags = [ "modules" ];
|
|
installTargets = [ "modules_install" ];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = virtualbox.meta // {
|
|
description = virtualbox.meta.description + " (kernel modules)";
|
|
};
|
|
}
|