1{ lib, stdenv, fetchFromGitHub, kernel, kmod }:
2
3stdenv.mkDerivation rec {
4 pname = "v4l2loopback";
5 version = "unstable-2021-07-13-${kernel.version}";
6
7 src = fetchFromGitHub {
8 owner = "umlaeute";
9 repo = "v4l2loopback";
10 rev = "baf9de279afc7a7c7513e9c40a0c9ff88f456af4";
11 sha256 = "sha256-uglYTeqz81fgkKYYU9Cw8x9+S088jGxDEGkb3rmkhrw==";
12 };
13
14 hardeningDisable = [ "format" "pic" ];
15
16 preBuild = ''
17 substituteInPlace Makefile --replace "modules_install" "INSTALL_MOD_PATH=$out modules_install"
18 sed -i '/depmod/d' Makefile
19 export PATH=${kmod}/sbin:$PATH
20 '';
21
22 nativeBuildInputs = kernel.moduleBuildDependencies;
23
24 buildInputs = [ kmod ];
25
26 postInstall = ''
27 make install-utils PREFIX=$bin
28 '';
29
30 outputs = [ "out" "bin" ];
31
32 makeFlags = [
33 "KERNELRELEASE=${kernel.modDirVersion}"
34 "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
35 ];
36
37 meta = with lib; {
38 description = "A kernel module to create V4L2 loopback devices";
39 homepage = "https://github.com/umlaeute/v4l2loopback";
40 license = licenses.gpl2Only;
41 maintainers = with maintainers; [ fortuneteller2k ];
42 platforms = platforms.linux;
43 outputsToInstall = [ "out" ];
44 };
45}