48 lines
902 B
Nix
48 lines
902 B
Nix
|
{
|
||
|
pkgs,
|
||
|
lib,
|
||
|
kernel ? pkgs.linuxPackages_latest.kernel,
|
||
|
patches ? [ ],
|
||
|
}:
|
||
|
|
||
|
pkgs.stdenv.mkDerivation {
|
||
|
pname = "bluetooth-kernel-module";
|
||
|
inherit (kernel)
|
||
|
src
|
||
|
version
|
||
|
postPatch
|
||
|
nativeBuildInputs
|
||
|
;
|
||
|
|
||
|
inherit patches;
|
||
|
|
||
|
kernel_dev = kernel.dev;
|
||
|
kernelVersion = kernel.modDirVersion;
|
||
|
|
||
|
modulePath = "drivers/bluetooth";
|
||
|
|
||
|
buildPhase = ''
|
||
|
BUILT_KERNEL=$kernel_dev/lib/modules/$kernelVersion/build
|
||
|
|
||
|
cp $BUILT_KERNEL/Module.symvers .
|
||
|
cp $BUILT_KERNEL/.config .
|
||
|
cp $kernel_dev/vmlinux .
|
||
|
|
||
|
make "-j$NIX_BUILD_CORES" modules_prepare
|
||
|
make "-j$NIX_BUILD_CORES" M=$modulePath modules
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
make \
|
||
|
INSTALL_MOD_PATH="$out" \
|
||
|
XZ="xz -T$NIX_BUILD_CORES" \
|
||
|
M="$modulePath" \
|
||
|
modules_install
|
||
|
'';
|
||
|
|
||
|
meta = {
|
||
|
description = "Bluetooth kernel module";
|
||
|
license = lib.licenses.gpl3;
|
||
|
};
|
||
|
}
|