nixpkgs/pkgs/by-name/bc/bcachefs-tools/kernel-module.nix
2026-06-21 18:25:21 +05:30

55 lines
1.2 KiB
Nix

bcachefs-tools:
{
lib,
stdenv,
kernelModuleMakeFlags,
kernel,
}:
stdenv.mkDerivation {
pname = "bcachefs";
version = "${kernel.version}-${bcachefs-tools.version}";
__structuredAttrs = true;
strictDeps = true;
src = bcachefs-tools.dkms;
postPatch = ''
substituteInPlace src/fs/bcachefs/Makefile \
--replace-fail '$(objtree)/vmlinux' '${kernel.dev}/vmlinux'
'';
nativeBuildInputs = kernel.moduleBuildDependencies;
enableParallelBuilding = true;
makeFlags = kernelModuleMakeFlags ++ [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=${placeholder "out"}"
];
installPhase = ''
runHook preInstall
make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build M=$(pwd) modules_install "''${makeFlags[@]}" "''${installFlags[@]}"
runHook postInstall
'';
passthru = {
inherit (bcachefs-tools.passthru) tests;
};
meta = {
description = "out-of-tree bcachefs kernel module";
inherit (bcachefs-tools.meta)
homepage
downloadPage
license
maintainers
platforms
;
broken = !(lib.versionAtLeast kernel.version "6.16" && lib.versionOlder kernel.version "7.2");
};
}