summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2025-01-27 15:43:23 +0100
committerMaximilian Bosch <maximilian@mbosch.me>2025-01-30 14:23:42 +0100
commit2d5b60ee9cec405367c5b15e72bd2bedd0adb433 (patch)
tree651f3936d2ea6f34b388b6bc19fbde024d152040
parent[Backport release-24.11] feishin: 0.11.1 -> 0.12.1 (#377946) (diff)
downloadnixpkgs-2d5b60ee9cec405367c5b15e72bd2bedd0adb433.tar.gz
linux: expose make flags for modules in `linuxKernel.packages.linux_X_Y`
Closes #376820 The issue with providing `moduleMakeFlags` via `passthru` of the kernel package is that when this package gets overriden[1], the `moduleMakeFlags` list still references the kernel without the overrides. This broke e.g. kernel modules of linux-rpi4 which can be reproduced with nix-build --argstr system aarch64-linux -A linuxKernel.packages.linux_rpi4.zfs_2_3 This used to break with Error: modDirVersion 6.6.51 specified in the Nix expression is wrong, it should be: 6.6.51-v8 since KBUILD_OUTPUT referenced the kernel without the changes from `overrideDerivation` that also changes the `modDirVersion`. The new approach is to add the build flags right into `linuxKernel.packages.linux_X_Y`: that way we don't need any hacks to update `moduleMakeFlags` when the derivation with the passthru gets overridden. By using the fixpoint of the package-set, the `kernelModuleMakeFlags` list is correctly updated. E.g. given with import ./. {}; linuxKernel.packages.linux_6_6.extend (self: super: { kernel = super.kernel.overrideAttrs (_: { name = "linux-snens"; }); }) the `makeFlags` is correctly updated: $ nix-instantiate snenskek.nix -A zfs_2_3.makeFlags --eval --strict [ "ARCH=x86_64" "CROSS_COMPILE=" "KBUILD_OUTPUT=/nix/store/gsp68549k1aqbwxwczpgw67w5jjn4shw-linux-snens-dev/lib/modules/6.6.74/build" ] [1] E.g. `linux-rpi4`. (cherry picked from commit 5645cd22d4a4ed66449986cd96f49ebc043cb5d6)
-rw-r--r--pkgs/applications/emulators/cdemu/vhba.nix3
-rw-r--r--pkgs/os-specific/linux/acpi-call/default.nix3
-rw-r--r--pkgs/os-specific/linux/akvcam/default.nix3
-rw-r--r--pkgs/os-specific/linux/amneziawg/default.nix3
-rw-r--r--pkgs/os-specific/linux/apfs/default.nix3
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix3
-rw-r--r--pkgs/os-specific/linux/bbswitch/default.nix3
-rw-r--r--pkgs/os-specific/linux/can-isotp/default.nix3
-rw-r--r--pkgs/os-specific/linux/cryptodev/default.nix3
-rw-r--r--pkgs/os-specific/linux/ddcci/default.nix3
-rw-r--r--pkgs/os-specific/linux/digimend/default.nix3
-rw-r--r--pkgs/os-specific/linux/dpdk-kmods/default.nix3
-rw-r--r--pkgs/os-specific/linux/drbd/driver.nix3
-rw-r--r--pkgs/os-specific/linux/ena/default.nix3
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix3
-rw-r--r--pkgs/os-specific/linux/fanout/default.nix3
-rw-r--r--pkgs/os-specific/linux/framework-laptop-kmod/default.nix3
-rw-r--r--pkgs/os-specific/linux/fwts/module.nix3
-rw-r--r--pkgs/os-specific/linux/gasket/default.nix3
-rw-r--r--pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix3
-rw-r--r--pkgs/os-specific/linux/hid-ite8291r3/default.nix3
-rw-r--r--pkgs/os-specific/linux/hid-t150/default.nix3
-rw-r--r--pkgs/os-specific/linux/hid-tmff2/default.nix4
-rw-r--r--pkgs/os-specific/linux/ipu6-drivers/default.nix3
-rw-r--r--pkgs/os-specific/linux/ithc/default.nix3
-rw-r--r--pkgs/os-specific/linux/ivsc-driver/default.nix3
-rw-r--r--pkgs/os-specific/linux/jool/default.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix36
-rw-r--r--pkgs/os-specific/linux/kernel/perf/default.nix3
-rw-r--r--pkgs/os-specific/linux/lenovo-legion/default.nix3
-rw-r--r--pkgs/os-specific/linux/lkrg/default.nix5
-rw-r--r--pkgs/os-specific/linux/lttng-modules/default.nix3
-rw-r--r--pkgs/os-specific/linux/mba6x_bl/default.nix3
-rw-r--r--pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix3
-rw-r--r--pkgs/os-specific/linux/msi-ec/default.nix3
-rw-r--r--pkgs/os-specific/linux/mstflint_access/default.nix4
-rw-r--r--pkgs/os-specific/linux/nct6687d/default.nix3
-rw-r--r--pkgs/os-specific/linux/netatop/default.nix3
-rw-r--r--pkgs/os-specific/linux/nullfs/default.nix3
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix4
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/open.nix4
-rw-r--r--pkgs/os-specific/linux/openrazer/driver.nix3
-rw-r--r--pkgs/os-specific/linux/qc71_laptop/default.nix3
-rw-r--r--pkgs/os-specific/linux/r8168/default.nix4
-rw-r--r--pkgs/os-specific/linux/rtl8189es/default.nix3
-rw-r--r--pkgs/os-specific/linux/rtl8192eu/default.nix3
-rw-r--r--pkgs/os-specific/linux/rtl8814au/default.nix3
-rw-r--r--pkgs/os-specific/linux/rtl8821ce/default.nix3
-rw-r--r--pkgs/os-specific/linux/rtl8821cu/default.nix3
-rw-r--r--pkgs/os-specific/linux/rtl88x2bu/default.nix3
-rw-r--r--pkgs/os-specific/linux/rtw88/default.nix3
-rw-r--r--pkgs/os-specific/linux/rtw89/default.nix3
-rw-r--r--pkgs/os-specific/linux/rust-out-of-tree-module/default.nix3
-rw-r--r--pkgs/os-specific/linux/shufflecake/default.nix3
-rw-r--r--pkgs/os-specific/linux/tmon/default.nix3
-rw-r--r--pkgs/os-specific/linux/trelay/default.nix3
-rw-r--r--pkgs/os-specific/linux/tuxedo-drivers/default.nix3
-rw-r--r--pkgs/os-specific/linux/v4l2loopback/default.nix4
-rw-r--r--pkgs/os-specific/linux/veikk-linux-driver/default.nix3
-rw-r--r--pkgs/os-specific/linux/virtio_vmmci/default.nix4
-rw-r--r--pkgs/os-specific/linux/vmm_clock/default.nix3
-rw-r--r--pkgs/os-specific/linux/xpadneo/default.nix3
-rw-r--r--pkgs/os-specific/linux/zenergy/default.nix3
-rw-r--r--pkgs/os-specific/linux/zfs/generic.nix6
-rw-r--r--pkgs/top-level/linux-kernels.nix3
65 files changed, 151 insertions, 89 deletions
diff --git a/pkgs/applications/emulators/cdemu/vhba.nix b/pkgs/applications/emulators/cdemu/vhba.nix
index b5487fa68c45..5ef0048324a4 100644
--- a/pkgs/applications/emulators/cdemu/vhba.nix
+++ b/pkgs/applications/emulators/cdemu/vhba.nix
@@ -3,6 +3,7 @@
stdenv,
fetchurl,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
hash = "sha256-zjTLriw2zvjX0Jxfa9QtaHG5tTC7cLTKEA+WSCP+Dpg=";
};
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=$(out)"
];
diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix
index 2bce3881edca..504b713b908d 100644
--- a/pkgs/os-specific/linux/acpi-call/default.nix
+++ b/pkgs/os-specific/linux/acpi-call/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/akvcam/default.nix b/pkgs/os-specific/linux/akvcam/default.nix
index cd2022097d51..ffbdf880efa8 100644
--- a/pkgs/os-specific/linux/akvcam/default.nix
+++ b/pkgs/os-specific/linux/akvcam/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
sourceRoot = "${src.name}/src";
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/amneziawg/default.nix b/pkgs/os-specific/linux/amneziawg/default.nix
index 9e21f4176b55..1f60be0fb0fb 100644
--- a/pkgs/os-specific/linux/amneziawg/default.nix
+++ b/pkgs/os-specific/linux/amneziawg/default.nix
@@ -4,6 +4,7 @@
fetchFromGitHub,
srcOnly,
kernel,
+ kernelModuleMakeFlags,
nix-update-script,
}:
@@ -28,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
];
makeFlags =
- kernel.moduleMakeFlags
+ kernelModuleMakeFlags
++ [ "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]
++ lib.optional (lib.versionAtLeast kernel.version "5.6") "KERNEL_SOURCE_DIR=${srcOnly kernel}";
diff --git a/pkgs/os-specific/linux/apfs/default.nix b/pkgs/os-specific/linux/apfs/default.nix
index 1e46fbb9121a..0a1c392700b9 100644
--- a/pkgs/os-specific/linux/apfs/default.nix
+++ b/pkgs/os-specific/linux/apfs/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
nixosTests,
}:
@@ -23,7 +24,7 @@ stdenv.mkDerivation {
hardeningDisable = [ "pic" ];
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELRELEASE=${kernel.modDirVersion}"
"KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=$(out)"
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index 14ee2a8db539..653769aa8a9b 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchurl,
kernel,
+ kernelModuleMakeFlags,
}:
let
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELPATH=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix
index bdf71c470725..eab7eb5a1d93 100644
--- a/pkgs/os-specific/linux/bbswitch/default.nix
+++ b/pkgs/os-specific/linux/bbswitch/default.nix
@@ -4,6 +4,7 @@
fetchFromGitHub,
fetchpatch,
kernel,
+ kernelModuleMakeFlags,
runtimeShell,
}:
@@ -41,7 +42,7 @@ stdenv.mkDerivation {
--replace "/lib/modules" "${kernel.dev}/lib/modules"
'';
- makeFlags = kernel.moduleMakeFlags;
+ makeFlags = kernelModuleMakeFlags;
installPhase = ''
mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc
diff --git a/pkgs/os-specific/linux/can-isotp/default.nix b/pkgs/os-specific/linux/can-isotp/default.nix
index 9e348e78e315..b01cb541f446 100644
--- a/pkgs/os-specific/linux/can-isotp/default.nix
+++ b/pkgs/os-specific/linux/can-isotp/default.nix
@@ -2,6 +2,7 @@
lib,
stdenv,
kernel,
+ kernelModuleMakeFlags,
fetchFromGitHub,
}:
@@ -18,7 +19,7 @@ stdenv.mkDerivation {
sha256 = "1laax93czalclg7cy9iq1r7hfh9jigh7igj06y9lski75ap2vhfq";
};
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=${placeholder "out"}"
];
diff --git a/pkgs/os-specific/linux/cryptodev/default.nix b/pkgs/os-specific/linux/cryptodev/default.nix
index dac4e9d054b6..2c3d7c3764cc 100644
--- a/pkgs/os-specific/linux/cryptodev/default.nix
+++ b/pkgs/os-specific/linux/cryptodev/default.nix
@@ -4,6 +4,7 @@
fetchFromGitHub,
fetchpatch,
kernel ? false,
+ kernelModuleMakeFlags ? [],
}:
stdenv.mkDerivation rec {
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = kernel.moduleBuildDependencies;
hardeningDisable = [ "pic" ];
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=$(out)"
"prefix=$(out)"
diff --git a/pkgs/os-specific/linux/ddcci/default.nix b/pkgs/os-specific/linux/ddcci/default.nix
index cfe8b16da956..29f7fe8b5d02 100644
--- a/pkgs/os-specific/linux/ddcci/default.nix
+++ b/pkgs/os-specific/linux/ddcci/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitLab,
kernel,
+ kernelModuleMakeFlags,
fetchpatch,
}:
@@ -39,7 +40,7 @@ stdenv.mkDerivation rec {
--replace depmod \#
'';
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"KVER=${kernel.modDirVersion}"
"KERNEL_MODLIB=$(out)/lib/modules/${kernel.modDirVersion}"
diff --git a/pkgs/os-specific/linux/digimend/default.nix b/pkgs/os-specific/linux/digimend/default.nix
index 3262b1d0c1c1..e94ae1646dfa 100644
--- a/pkgs/os-specific/linux/digimend/default.nix
+++ b/pkgs/os-specific/linux/digimend/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
rm -r $out/lib/udev
'';
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KVERSION=${kernel.modDirVersion}"
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"DESTDIR=${placeholder "out"}"
diff --git a/pkgs/os-specific/linux/dpdk-kmods/default.nix b/pkgs/os-specific/linux/dpdk-kmods/default.nix
index 6db752a885b6..72938768fb01 100644
--- a/pkgs/os-specific/linux/dpdk-kmods/default.nix
+++ b/pkgs/os-specific/linux/dpdk-kmods/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchzip,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -16,7 +17,7 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "pic" ];
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"INSTALL_MOD_PATH=${placeholder "out"}"
];
KSRC = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
diff --git a/pkgs/os-specific/linux/drbd/driver.nix b/pkgs/os-specific/linux/drbd/driver.nix
index b86ef3952e24..75036404df2f 100644
--- a/pkgs/os-specific/linux/drbd/driver.nix
+++ b/pkgs/os-specific/linux/drbd/driver.nix
@@ -3,6 +3,7 @@
lib,
fetchurl,
kernel,
+ kernelModuleMakeFlags,
flex,
coccinelle,
python3,
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
python3
];
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"SPAAS=false"
];
diff --git a/pkgs/os-specific/linux/ena/default.nix b/pkgs/os-specific/linux/ena/default.nix
index 7ea3cedd8b14..4a0df540bfaf 100644
--- a/pkgs/os-specific/linux/ena/default.nix
+++ b/pkgs/os-specific/linux/ena/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "pic" ];
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags;
+ makeFlags = kernelModuleMakeFlags;
env.KERNEL_BUILD_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index 0f14a554aee7..41a51f52f184 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
libdrm,
python3,
}:
@@ -39,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
python3WithLibs
];
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KVER=${kernel.modDirVersion}"
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/fanout/default.nix b/pkgs/os-specific/linux/fanout/default.nix
index 99ee011fcf8e..36b2bef05ebc 100644
--- a/pkgs/os-specific/linux/fanout/default.nix
+++ b/pkgs/os-specific/linux/fanout/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
kmod,
nixosTests,
}:
@@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/framework-laptop-kmod/default.nix b/pkgs/os-specific/linux/framework-laptop-kmod/default.nix
index 4bb8f4f0e79e..6f3edcd7d3a9 100644
--- a/pkgs/os-specific/linux/framework-laptop-kmod/default.nix
+++ b/pkgs/os-specific/linux/framework-laptop-kmod/default.nix
@@ -2,6 +2,7 @@
lib,
stdenv,
kernel,
+ kernelModuleMakeFlags,
fetchFromGitHub,
unstableGitUpdater,
}:
@@ -19,7 +20,7 @@ stdenv.mkDerivation {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/fwts/module.nix b/pkgs/os-specific/linux/fwts/module.nix
index 7caafe491ab2..76326198b8be 100644
--- a/pkgs/os-specific/linux/fwts/module.nix
+++ b/pkgs/os-specific/linux/fwts/module.nix
@@ -3,6 +3,7 @@
stdenv,
fwts,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "pic" ];
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"INSTALL_MOD_PATH=${placeholder "out"}"
];
diff --git a/pkgs/os-specific/linux/gasket/default.nix b/pkgs/os-specific/linux/gasket/default.nix
index 43bcd899742c..0be0a18024a1 100644
--- a/pkgs/os-specific/linux/gasket/default.nix
+++ b/pkgs/os-specific/linux/gasket/default.nix
@@ -4,6 +4,7 @@
fetchFromGitHub,
fetchpatch2,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
cd src
'';
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"-C"
"${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"M=$(PWD)"
diff --git a/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix b/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix
index adac60eb2489..d621bf282f6f 100644
--- a/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix
+++ b/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
kmod,
}:
@@ -22,7 +23,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNEL_SOURCE_DIR=${kernel.dev}/${kerneldir}/build"
"INSTALL_MOD_PATH=$(out)"
];
diff --git a/pkgs/os-specific/linux/hid-ite8291r3/default.nix b/pkgs/os-specific/linux/hid-ite8291r3/default.nix
index 5f24fda01d9e..e3d4fc23c620 100644
--- a/pkgs/os-specific/linux/hid-ite8291r3/default.nix
+++ b/pkgs/os-specific/linux/hid-ite8291r3/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"VERSION=${version}"
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/hid-t150/default.nix b/pkgs/os-specific/linux/hid-t150/default.nix
index 74a254b6e22f..dd96c044c99f 100644
--- a/pkgs/os-specific/linux/hid-t150/default.nix
+++ b/pkgs/os-specific/linux/hid-t150/default.nix
@@ -3,6 +3,7 @@
lib,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
sourceRoot = "${src.name}/hid-t150";
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=${placeholder "out"}"
];
diff --git a/pkgs/os-specific/linux/hid-tmff2/default.nix b/pkgs/os-specific/linux/hid-tmff2/default.nix
index 1f4b40e233bf..6d305a7ef958 100644
--- a/pkgs/os-specific/linux/hid-tmff2/default.nix
+++ b/pkgs/os-specific/linux/hid-tmff2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, kernel }:
+{ stdenv, lib, fetchFromGitHub, kernel, kernelModuleMakeFlags }:
stdenv.mkDerivation {
pname = "hid-tmff2";
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/ipu6-drivers/default.nix b/pkgs/os-specific/linux/ipu6-drivers/default.nix
index 0be218282d2c..c7aaa3789d6d 100644
--- a/pkgs/os-specific/linux/ipu6-drivers/default.nix
+++ b/pkgs/os-specific/linux/ipu6-drivers/default.nix
@@ -4,6 +4,7 @@
fetchFromGitHub,
ivsc-driver,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELRELEASE=${kernel.modDirVersion}"
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/ithc/default.nix b/pkgs/os-specific/linux/ithc/default.nix
index 0ede651706bc..9f721bfae939 100644
--- a/pkgs/os-specific/linux/ithc/default.nix
+++ b/pkgs/os-specific/linux/ithc/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"VERSION=${version}"
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/ivsc-driver/default.nix b/pkgs/os-specific/linux/ivsc-driver/default.nix
index 93ce524672a2..b52e21344c73 100644
--- a/pkgs/os-specific/linux/ivsc-driver/default.nix
+++ b/pkgs/os-specific/linux/ivsc-driver/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation {
@@ -18,7 +19,7 @@ stdenv.mkDerivation {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELRELEASE=${kernel.modDirVersion}"
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/jool/default.nix b/pkgs/os-specific/linux/jool/default.nix
index e1d892d33fd0..0af71b24ac95 100644
--- a/pkgs/os-specific/linux/jool/default.nix
+++ b/pkgs/os-specific/linux/jool/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
nixosTests,
}:
@@ -22,7 +23,7 @@ stdenv.mkDerivation {
sed -e 's@/lib/modules/\$(.*)@${kernel.dev}/lib/modules/${kernel.modDirVersion}@' -i src/mod/*/Makefile
'';
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"-C src/mod"
"INSTALL_MOD_PATH=${placeholder "out"}"
];
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index b9b1c7ff9f5c..86dfe27be1c4 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -432,28 +432,26 @@ let
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
] ++ (stdenv.hostPlatform.linux-kernel.makeFlags or [])
++ extraMakeFlags;
+in
- finalKernel = stdenv.mkDerivation (
- builtins.foldl' lib.recursiveUpdate {} [
- (drvAttrs config stdenv.hostPlatform.linux-kernel kernelPatches configfile)
- {
- inherit pname version;
+stdenv.mkDerivation (
+ builtins.foldl' lib.recursiveUpdate {} [
+ (drvAttrs config stdenv.hostPlatform.linux-kernel kernelPatches configfile)
+ {
+ inherit pname version;
- enableParallelBuilding = true;
+ enableParallelBuilding = true;
- hardeningDisable = [ "bindnow" "format" "fortify" "stackprotector" "pic" "pie" ];
+ hardeningDisable = [ "bindnow" "format" "fortify" "stackprotector" "pic" "pie" ];
- makeFlags = [
- "O=$(buildRoot)"
- ] ++ commonMakeFlags;
+ makeFlags = [
+ "O=$(buildRoot)"
+ ] ++ commonMakeFlags;
- passthru.moduleMakeFlags = [
- "KBUILD_OUTPUT=${finalKernel.dev}/lib/modules/${finalKernel.modDirVersion}/build"
- ] ++ commonMakeFlags;
+ passthru = { inherit commonMakeFlags; };
- karch = stdenv.hostPlatform.linuxArch;
- }
- (optionalAttrs (pos != null) { inherit pos; })
- ]
- );
-in finalKernel)
+ karch = stdenv.hostPlatform.linuxArch;
+ }
+ (optionalAttrs (pos != null) { inherit pos; })
+ ]
+))
diff --git a/pkgs/os-specific/linux/kernel/perf/default.nix b/pkgs/os-specific/linux/kernel/perf/default.nix
index c5228f4aca2b..2f4cb169c338 100644
--- a/pkgs/os-specific/linux/kernel/perf/default.nix
+++ b/pkgs/os-specific/linux/kernel/perf/default.nix
@@ -4,6 +4,7 @@
fetchurl,
fetchpatch,
kernel,
+ kernelModuleMakeFlags,
elfutils,
python3,
perl,
@@ -101,7 +102,7 @@ stdenv.mkDerivation {
"WERROR=0"
"ASCIIDOC8=1"
]
- ++ kernel.moduleMakeFlags
+ ++ kernelModuleMakeFlags
++ lib.optional (!withGtk) "NO_GTK2=1"
++ lib.optional (!withZstd) "NO_LIBZSTD=1"
++ lib.optional (!withLibcap) "NO_LIBCAP=1";
diff --git a/pkgs/os-specific/linux/lenovo-legion/default.nix b/pkgs/os-specific/linux/lenovo-legion/default.nix
index ef1acb055077..006d929bd8a3 100644
--- a/pkgs/os-specific/linux/lenovo-legion/default.nix
+++ b/pkgs/os-specific/linux/lenovo-legion/default.nix
@@ -2,6 +2,7 @@
lib,
stdenv,
kernel,
+ kernelModuleMakeFlags,
bash,
lenovo-legion,
}:
@@ -18,7 +19,7 @@ stdenv.mkDerivation {
sed -i -e '/depmod/d' ./Makefile
'';
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"SHELL=bash"
"KERNELVERSION=${kernel.modDirVersion}"
"KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
diff --git a/pkgs/os-specific/linux/lkrg/default.nix b/pkgs/os-specific/linux/lkrg/default.nix
index 3594254068e8..84eeb39adb78 100644
--- a/pkgs/os-specific/linux/lkrg/default.nix
+++ b/pkgs/os-specific/linux/lkrg/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchpatch, fetchFromGitHub, kernel }:
+{ lib, stdenv, fetchpatch, fetchFromGitHub, kernel, kernelModuleMakeFlags }:
+
let
isKernelRT = (kernel.structuredExtraConfig ? PREEMPT_RT) && (kernel.structuredExtraConfig.PREEMPT_RT == lib.kernel.yes);
in
@@ -25,7 +26,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNEL=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix
index 75421fed139e..846c5ae0beff 100644
--- a/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -22,7 +23,7 @@ stdenv.mkDerivation rec {
env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=${placeholder "out"}"
];
diff --git a/pkgs/os-specific/linux/mba6x_bl/default.nix b/pkgs/os-specific/linux/mba6x_bl/default.nix
index 2b4acd172bbb..46c149854c47 100644
--- a/pkgs/os-specific/linux/mba6x_bl/default.nix
+++ b/pkgs/os-specific/linux/mba6x_bl/default.nix
@@ -1,6 +1,7 @@
{
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
lib,
stdenv,
}:
@@ -21,7 +22,7 @@ stdenv.mkDerivation {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=$(out)"
];
diff --git a/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix b/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix
index 388777c1f6f7..717f680ab088 100644
--- a/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix
+++ b/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix
@@ -2,6 +2,7 @@
lib,
stdenv,
kernel,
+ kernelModuleMakeFlags,
fetchFromGitHub,
}:
@@ -17,7 +18,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags;
+ makeFlags = kernelModuleMakeFlags;
buildPhase = ''
make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
diff --git a/pkgs/os-specific/linux/msi-ec/default.nix b/pkgs/os-specific/linux/msi-ec/default.nix
index d73eae69a05b..f21be652c5ad 100644
--- a/pkgs/os-specific/linux/msi-ec/default.nix
+++ b/pkgs/os-specific/linux/msi-ec/default.nix
@@ -5,6 +5,7 @@
linuxPackages,
git,
kernel ? linuxPackages.kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation {
pname = "msi-ec-kmods";
@@ -23,7 +24,7 @@ stdenv.mkDerivation {
hardeningDisable = [ "pic" ];
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=$(out)"
];
diff --git a/pkgs/os-specific/linux/mstflint_access/default.nix b/pkgs/os-specific/linux/mstflint_access/default.nix
index 9b3c3a9cc32f..71ed22f7720c 100644
--- a/pkgs/os-specific/linux/mstflint_access/default.nix
+++ b/pkgs/os-specific/linux/mstflint_access/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, kernel, kmod, mstflint }:
+{ lib, stdenv, fetchurl, kernel, kmod, mstflint, kernelModuleMakeFlags }:
stdenv.mkDerivation rec {
pname = "mstflint_access";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KVER=${kernel.modDirVersion}"
"KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/nct6687d/default.nix b/pkgs/os-specific/linux/nct6687d/default.nix
index a2b5942892ee..3d48257ee40b 100644
--- a/pkgs/os-specific/linux/nct6687d/default.nix
+++ b/pkgs/os-specific/linux/nct6687d/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
nix-update-script,
}:
@@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"-C"
"${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"M=$(sourceRoot)"
diff --git a/pkgs/os-specific/linux/netatop/default.nix b/pkgs/os-specific/linux/netatop/default.nix
index e116f0925712..4dc26015f0b8 100644
--- a/pkgs/os-specific/linux/netatop/default.nix
+++ b/pkgs/os-specific/linux/netatop/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchurl,
kernel,
+ kernelModuleMakeFlags,
kmod,
zlib,
}:
@@ -48,7 +49,7 @@ stdenv.mkDerivation {
kmod=${kmod} substituteAllInPlace netatop.service
'';
- makeFlags = kernel.moduleMakeFlags;
+ makeFlags = kernelModuleMakeFlags;
preInstall = ''
mkdir -p $out/lib/systemd/system $out/bin $out/sbin $out/share/man/man{4,8}
diff --git a/pkgs/os-specific/linux/nullfs/default.nix b/pkgs/os-specific/linux/nullfs/default.nix
index 5b6a5517d6de..db2c52d6c068 100644
--- a/pkgs/os-specific/linux/nullfs/default.nix
+++ b/pkgs/os-specific/linux/nullfs/default.nix
@@ -3,6 +3,7 @@
lib,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
pname = "nullfs";
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index 99f860a03c2b..c4c8557d3470 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -40,6 +40,8 @@
, fetchurl
, fetchzip
, kernel ? null
+
+, kernelModuleMakeFlags ? []
, perl
, nukeReferences
, which
@@ -196,7 +198,7 @@ let
kernelVersion = if libsOnly then null else kernel.modDirVersion;
makeFlags = lib.optionals (!libsOnly) (
- kernel.moduleMakeFlags
+ kernelModuleMakeFlags
++ [
"IGNORE_PREEMPT_RT_PRESENCE=1"
"NV_BUILD_SUPPORTS_HMM=1"
diff --git a/pkgs/os-specific/linux/nvidia-x11/open.nix b/pkgs/os-specific/linux/nvidia-x11/open.nix
index 11facf9ca873..ca0b4983f085 100644
--- a/pkgs/os-specific/linux/nvidia-x11/open.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/open.nix
@@ -2,6 +2,8 @@
, lib
, fetchFromGitHub
, kernel
+
+, kernelModuleMakeFlags
, nvidia_x11
, hash
, patches ? [ ]
@@ -23,7 +25,7 @@ stdenv.mkDerivation ({
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"SYSSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
"SYSOUT=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"MODLIB=$(out)/lib/modules/${kernel.modDirVersion}"
diff --git a/pkgs/os-specific/linux/openrazer/driver.nix b/pkgs/os-specific/linux/openrazer/driver.nix
index 1d80b27c84fd..e6af64c8ebda 100644
--- a/pkgs/os-specific/linux/openrazer/driver.nix
+++ b/pkgs/os-specific/linux/openrazer/driver.nix
@@ -2,6 +2,7 @@
coreutils,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
stdenv,
lib,
util-linux,
@@ -20,7 +21,7 @@ stdenv.mkDerivation (
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/qc71_laptop/default.nix b/pkgs/os-specific/linux/qc71_laptop/default.nix
index 6eb263675782..2206a34699bf 100644
--- a/pkgs/os-specific/linux/qc71_laptop/default.nix
+++ b/pkgs/os-specific/linux/qc71_laptop/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"VERSION=${version}"
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/r8168/default.nix b/pkgs/os-specific/linux/r8168/default.nix
index 7403f6d2ef86..f84b8a294717 100644
--- a/pkgs/os-specific/linux/r8168/default.nix
+++ b/pkgs/os-specific/linux/r8168/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, kernel }:
+{ stdenv, lib, fetchFromGitHub, kernel, kernelModuleMakeFlags }:
let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless/realtek/r8168";
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
# avoid using the Makefile directly -- it doesn't understand
# any kernel but the current.
# based on the ArchLinux pkgbuild: https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/r8168
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"M=$(PWD)/src"
"modules"
diff --git a/pkgs/os-specific/linux/rtl8189es/default.nix b/pkgs/os-specific/linux/rtl8189es/default.nix
index 33fbd30fd2bb..561b7ca72e14 100644
--- a/pkgs/os-specific/linux/rtl8189es/default.nix
+++ b/pkgs/os-specific/linux/rtl8189es/default.nix
@@ -3,6 +3,7 @@
lib,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
bc,
nukeReferences,
}:
@@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
substituteInPlace ./Makefile --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
'';
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
(
"CONFIG_PLATFORM_I386_PC="
diff --git a/pkgs/os-specific/linux/rtl8192eu/default.nix b/pkgs/os-specific/linux/rtl8192eu/default.nix
index 4a98cd915276..cb6c7fe94cf9 100644
--- a/pkgs/os-specific/linux/rtl8192eu/default.nix
+++ b/pkgs/os-specific/linux/rtl8192eu/default.nix
@@ -3,6 +3,7 @@
lib,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
bc,
}:
@@ -25,7 +26,7 @@ stdenv.mkDerivation {
nativeBuildInputs = kernel.moduleBuildDependencies ++ [ bc ];
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/rtl8814au/default.nix b/pkgs/os-specific/linux/rtl8814au/default.nix
index a29075695896..dd8968e0f541 100644
--- a/pkgs/os-specific/linux/rtl8814au/default.nix
+++ b/pkgs/os-specific/linux/rtl8814au/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation {
@@ -17,7 +18,7 @@ stdenv.mkDerivation {
};
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags;
+ makeFlags = kernelModuleMakeFlags;
hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/rtl8821ce/default.nix b/pkgs/os-specific/linux/rtl8821ce/default.nix
index 8715a71652a5..d3ceefef0027 100644
--- a/pkgs/os-specific/linux/rtl8821ce/default.nix
+++ b/pkgs/os-specific/linux/rtl8821ce/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
bc,
}:
@@ -20,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
hardeningDisable = [ "pic" ];
nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags;
+ makeFlags = kernelModuleMakeFlags;
prePatch = ''
substituteInPlace ./Makefile \
diff --git a/pkgs/os-specific/linux/rtl8821cu/default.nix b/pkgs/os-specific/linux/rtl8821cu/default.nix
index 70f2b9f572c2..063c50e7c25b 100644
--- a/pkgs/os-specific/linux/rtl8821cu/default.nix
+++ b/pkgs/os-specific/linux/rtl8821cu/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
bc,
}:
@@ -20,7 +21,7 @@ stdenv.mkDerivation {
hardeningDisable = [ "pic" ];
nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags;
+ makeFlags = kernelModuleMakeFlags;
prePatch = ''
substituteInPlace ./Makefile \
diff --git a/pkgs/os-specific/linux/rtl88x2bu/default.nix b/pkgs/os-specific/linux/rtl88x2bu/default.nix
index 119795f2c3aa..5940e90a3abc 100644
--- a/pkgs/os-specific/linux/rtl88x2bu/default.nix
+++ b/pkgs/os-specific/linux/rtl88x2bu/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
bc,
}:
@@ -20,7 +21,7 @@ stdenv.mkDerivation {
hardeningDisable = [ "pic" ];
nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags;
+ makeFlags = kernelModuleMakeFlags;
prePatch = ''
substituteInPlace ./Makefile \
diff --git a/pkgs/os-specific/linux/rtw88/default.nix b/pkgs/os-specific/linux/rtw88/default.nix
index 0c830c34cd29..70c36a670bc9 100644
--- a/pkgs/os-specific/linux/rtw88/default.nix
+++ b/pkgs/os-specific/linux/rtw88/default.nix
@@ -3,6 +3,7 @@
lib,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
let
@@ -20,7 +21,7 @@ stdenv.mkDerivation {
};
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/rtw89/default.nix b/pkgs/os-specific/linux/rtw89/default.nix
index 8e90bcf9f08d..4d45b8695881 100644
--- a/pkgs/os-specific/linux/rtw89/default.nix
+++ b/pkgs/os-specific/linux/rtw89/default.nix
@@ -3,6 +3,7 @@
lib,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
let
@@ -20,7 +21,7 @@ stdenv.mkDerivation {
};
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix b/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix
index 61c807be3911..5f0d646e3f27 100644
--- a/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix
+++ b/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix
@@ -2,6 +2,7 @@
lib,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
unstableGitUpdater,
}:
kernel.stdenv.mkDerivation {
@@ -17,7 +18,7 @@ kernel.stdenv.mkDerivation {
};
nativeBuildInputs = kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/shufflecake/default.nix b/pkgs/os-specific/linux/shufflecake/default.nix
index aed568556714..acc7ab0b340a 100644
--- a/pkgs/os-specific/linux/shufflecake/default.nix
+++ b/pkgs/os-specific/linux/shufflecake/default.nix
@@ -1,6 +1,7 @@
{
lib,
kernel,
+ kernelModuleMakeFlags,
stdenv,
fetchFromGitea,
libgcrypt,
@@ -22,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
libgcrypt
lvm2
];
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/tmon/default.nix b/pkgs/os-specific/linux/tmon/default.nix
index fe721e2912fd..9b3b04753458 100644
--- a/pkgs/os-specific/linux/tmon/default.nix
+++ b/pkgs/os-specific/linux/tmon/default.nix
@@ -2,6 +2,7 @@
lib,
stdenv,
kernel,
+ kernelModuleMakeFlags,
ncurses,
}:
@@ -17,7 +18,7 @@ stdenv.mkDerivation {
cd tools/thermal/tmon
'';
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"INSTALL_ROOT=\"$(out)\""
"BINDIR=bin"
];
diff --git a/pkgs/os-specific/linux/trelay/default.nix b/pkgs/os-specific/linux/trelay/default.nix
index 4b9684bcbbc5..ec2155ea213f 100644
--- a/pkgs/os-specific/linux/trelay/default.nix
+++ b/pkgs/os-specific/linux/trelay/default.nix
@@ -3,6 +3,7 @@
lib,
fetchgit,
kernel,
+ kernelModuleMakeFlags,
kmod,
}:
let
@@ -30,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
cp '${./Makefile}' Makefile
'';
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELRELEASE=${kernel.modDirVersion}"
"KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=$(out)"
diff --git a/pkgs/os-specific/linux/tuxedo-drivers/default.nix b/pkgs/os-specific/linux/tuxedo-drivers/default.nix
index 1fd18d36f56f..9c80d1dc7767 100644
--- a/pkgs/os-specific/linux/tuxedo-drivers/default.nix
+++ b/pkgs/os-specific/linux/tuxedo-drivers/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitLab,
kernel,
+ kernelModuleMakeFlags,
kmod,
pahole,
}:
@@ -22,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [ pahole ];
nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies;
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELRELEASE=${kernel.modDirVersion}"
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=${placeholder "out"}"
diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix
index 104c0c687f1b..6ea951876d0a 100644
--- a/pkgs/os-specific/linux/v4l2loopback/default.nix
+++ b/pkgs/os-specific/linux/v4l2loopback/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, kernel, kmod }:
+{ lib, stdenv, fetchFromGitHub, kernel, kmod, kernelModuleMakeFlags }:
let version = "0.13.2";
@@ -28,7 +28,7 @@ in stdenv.mkDerivation {
outputs = [ "out" "bin" ];
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"KERNELRELEASE=${kernel.modDirVersion}"
"KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/veikk-linux-driver/default.nix b/pkgs/os-specific/linux/veikk-linux-driver/default.nix
index 55b1cf931d70..55ce63db7902 100644
--- a/pkgs/os-specific/linux/veikk-linux-driver/default.nix
+++ b/pkgs/os-specific/linux/veikk-linux-driver/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -20,7 +21,7 @@ stdenv.mkDerivation rec {
buildInputs = [ kernel ];
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"BUILD_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
diff --git a/pkgs/os-specific/linux/virtio_vmmci/default.nix b/pkgs/os-specific/linux/virtio_vmmci/default.nix
index 5fe7dc7f97c4..60864071e112 100644
--- a/pkgs/os-specific/linux/virtio_vmmci/default.nix
+++ b/pkgs/os-specific/linux/virtio_vmmci/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, kernel }:
+{ stdenv, lib, fetchFromGitHub, kernel, kernelModuleMakeFlags }:
stdenv.mkDerivation rec {
name = "virtio_vmmci";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
CONFIG_RTC_HCTOSYS yes
'';
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"DEPMOD=echo"
"INSTALL_MOD_PATH=$(out)"
"KERNELRELEASE=${kernel.modDirVersion}"
diff --git a/pkgs/os-specific/linux/vmm_clock/default.nix b/pkgs/os-specific/linux/vmm_clock/default.nix
index 9dda1407951d..d13bff07d73e 100644
--- a/pkgs/os-specific/linux/vmm_clock/default.nix
+++ b/pkgs/os-specific/linux/vmm_clock/default.nix
@@ -3,6 +3,7 @@
lib,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
}:
stdenv.mkDerivation rec {
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
CONFIG_RTC_HCTOSYS yes
'';
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"DEPMOD=echo"
"INSTALL_MOD_PATH=$(out)"
"KERNELRELEASE=${kernel.modDirVersion}"
diff --git a/pkgs/os-specific/linux/xpadneo/default.nix b/pkgs/os-specific/linux/xpadneo/default.nix
index eefe8b139b0a..70f1ef00cad7 100644
--- a/pkgs/os-specific/linux/xpadneo/default.nix
+++ b/pkgs/os-specific/linux/xpadneo/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
bluez,
nixosTests,
nix-update-script,
@@ -26,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = kernel.moduleBuildDependencies;
buildInputs = [ bluez ];
- makeFlags = kernel.moduleMakeFlags ++ [
+ makeFlags = kernelModuleMakeFlags ++ [
"-C"
"${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"M=$(sourceRoot)"
diff --git a/pkgs/os-specific/linux/zenergy/default.nix b/pkgs/os-specific/linux/zenergy/default.nix
index 2a737fb34f57..d78c02e0dd2d 100644
--- a/pkgs/os-specific/linux/zenergy/default.nix
+++ b/pkgs/os-specific/linux/zenergy/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
kernel,
+ kernelModuleMakeFlags,
kmod,
}:
@@ -27,7 +28,7 @@ stdenv.mkDerivation {
"pic"
];
- makeFlags = kernel.moduleMakeFlags ++ [ "KDIR=${kernelDirectory}" ];
+ makeFlags = kernelModuleMakeFlags ++ [ "KDIR=${kernelDirectory}" ];
installTargets = [ "modules_install" ];
diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix
index ae7147e3c240..052353f31992 100644
--- a/pkgs/os-specific/linux/zfs/generic.nix
+++ b/pkgs/os-specific/linux/zfs/generic.nix
@@ -34,6 +34,7 @@ let
# Kernel dependencies
kernel ? null,
+ kernelModuleMakeFlags ? [ ],
enablePython ? true,
...
}@outerArgs:
@@ -209,10 +210,10 @@ let
"--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
"--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
]
- ++ kernel.moduleMakeFlags
+ ++ kernelModuleMakeFlags
);
- makeFlags = optionals buildKernel kernel.moduleMakeFlags;
+ makeFlags = optionals buildKernel kernelModuleMakeFlags;
enableParallelBuilding = true;
@@ -288,6 +289,7 @@ let
outputs = [ "out" ] ++ optionals buildUser [ "dev" ];
passthru = {
+ inherit kernel;
inherit enableMail kernelModuleAttribute;
latestCompatibleLinuxPackages = lib.warn "zfs.latestCompatibleLinuxPackages is deprecated and is now pointing at the default kernel. If using the stable LTS kernel (default `linuxPackages` is not possible then you must explicitly pin a specific kernel release. For example, `boot.kernelPackages = pkgs.linuxPackages_6_6`. Please be aware that non-LTS kernels are likely to go EOL before ZFS supports the latest supported non-LTS release, requiring manual intervention." linuxPackages;
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 5396d1d922a0..58f91169fccb 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -322,6 +322,9 @@ in {
# to help determine module compatibility
inherit (kernel) isZen isHardened isLibre;
inherit (kernel) kernelOlder kernelAtLeast;
+ kernelModuleMakeFlags = self.kernel.commonMakeFlags ++ [
+ "KBUILD_OUTPUT=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+ ];
# Obsolete aliases (these packages do not depend on the kernel).
inherit (pkgs) odp-dpdk pktgen; # added 2018-05
inherit (pkgs) bcc bpftrace; # added 2021-12