From 384e59a6313dbe1dffdbd67115246af764d4622f Mon Sep 17 00:00:00 2001 From: oxalica Date: Wed, 30 Oct 2019 15:08:44 +0800 Subject: [PATCH] linuxConfig: fix deps and cross-compiling behavior --- pkgs/top-level/all-packages.nix | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3cd2e249d20..6ff739167fb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16310,17 +16310,25 @@ in linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {}); # Derive one of the default .config files - linuxConfig = { src, makeTarget ? "defconfig", name ? "kernel.config" }: - stdenv.mkDerivation { - inherit name src; - buildPhase = '' - set -x - make ${makeTarget} - ''; - installPhase = '' - cp .config $out - ''; - }; + linuxConfig = let + kernelArch = stdenv.hostPlatform.kernelArch; + in buildPackages.callPackage ({ + src, + version ? (builtins.parseDrvName src.name).version, + makeTarget ? "defconfig", + name ? "kernel.config", + lib, stdenv, bison, flex + }: stdenv.mkDerivation { + inherit name src; + nativeBuildInputs = lib.optionals (lib.versionAtLeast version "4.16") [ bison flex ]; + buildPhase = '' + set -x + make ${makeTarget} ARCH=${kernelArch} + ''; + installPhase = '' + cp .config $out + ''; + }); buildLinux = attrs: callPackage ../os-specific/linux/kernel/generic.nix attrs;