linuxPackages.v4l2loopback: Use kernel make rules

This commit is contained in:
Will Fancher
2026-10-21 21:09:26 -04:00
parent f27fecd91e
commit 53a0206118

View File

@@ -3,7 +3,6 @@
stdenv,
fetchFromGitHub,
kernel,
kmod,
kernelModuleMakeFlags,
nix-update-script,
}:
@@ -12,6 +11,10 @@ stdenv.mkDerivation rec {
pname = "v4l2loopback";
version = "0.15.4";
__structuredAttrs = true;
strictDeps = true;
enableParallelBuilding = true;
src = fetchFromGitHub {
owner = "umlaeute";
repo = "v4l2loopback";
@@ -24,16 +27,7 @@ stdenv.mkDerivation rec {
"pic"
];
# Don't use makeFlags for this
postBuild = ''
make utils
'';
nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies;
postInstall = ''
make install-utils PREFIX=$bin
'';
nativeBuildInputs = kernel.moduleBuildDependencies;
outputs = [
"out"
@@ -42,8 +36,6 @@ stdenv.mkDerivation rec {
makeFlags = kernelModuleMakeFlags ++ [
"KERNELRELEASE=${kernel.modDirVersion}"
"KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"v4l2loopback.ko"
];
installFlags = [
@@ -51,6 +43,22 @@ stdenv.mkDerivation rec {
"INSTALL_MOD_PATH=${placeholder "out"}"
];
buildPhase = ''
runHook preBuild
make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build M=$(pwd) "''${makeFlags[@]}"
# Don't use makeFlags for this
make utils
runHook postBuild
'';
installPhase = ''
runHook preInstall
make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build M=$(pwd) modules_install \
"''${makeFlags[@]}" "''${installFlags[@]}"
make install-utils PREFIX=$bin
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {