kernel 4.14 require libelf to compile modules.
[...] 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]
This commit is contained in:
committed by
Tuomas Tynkkynen
parent
77cc63950a
commit
1e77d0b975
@@ -49,6 +49,9 @@ let
|
||||
inherit (stdenv.lib)
|
||||
hasAttr getAttr optional optionalString optionalAttrs maintainers platforms;
|
||||
|
||||
# Dependencies that are required to build kernel modules
|
||||
moduleBuildDependencies = stdenv.lib.optional (stdenv.lib.versionAtLeast version "4.14") libelf;
|
||||
|
||||
installkernel = writeTextFile { name = "installkernel"; executable=true; text = ''
|
||||
#!${stdenv.shell} -e
|
||||
mkdir -p $4
|
||||
@@ -85,7 +88,7 @@ let
|
||||
(isModular || (config.isDisabled "FIRMWARE_IN_KERNEL"));
|
||||
in (optionalAttrs isModular { outputs = [ "out" "dev" ]; }) // {
|
||||
passthru = {
|
||||
inherit version modDirVersion config kernelPatches configfile;
|
||||
inherit version modDirVersion config kernelPatches configfile moduleBuildDependencies;
|
||||
};
|
||||
|
||||
inherit src;
|
||||
|
||||
Reference in New Issue
Block a user