Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, fetchFromGitHub, kernel, kmod }: 2 3stdenv.mkDerivation rec { 4 pname = "v4l2loopback"; 5 version = "unstable-2023-02-19-${kernel.version}"; 6 7 src = fetchFromGitHub { 8 owner = "umlaeute"; 9 repo = "v4l2loopback"; 10 rev = "fb410fc7af40e972058809a191fae9517b9313af"; 11 hash = "sha256-gLFtR7s+3LUQ0BZxHbmaArHbufuphbtAX99nxJU3c84="; 12 }; 13 14 patches = [ 15 # fix bug https://github.com/umlaeute/v4l2loopback/issues/535 16 ./revert-pr518.patch 17 ]; 18 19 hardeningDisable = [ "format" "pic" ]; 20 21 preBuild = '' 22 substituteInPlace Makefile --replace "modules_install" "INSTALL_MOD_PATH=$out modules_install" 23 sed -i '/depmod/d' Makefile 24 ''; 25 26 nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies; 27 28 postInstall = '' 29 make install-utils PREFIX=$bin 30 ''; 31 32 outputs = [ "out" "bin" ]; 33 34 makeFlags = kernel.makeFlags ++ [ 35 "KERNELRELEASE=${kernel.modDirVersion}" 36 "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" 37 ]; 38 39 meta = with lib; { 40 description = "A kernel module to create V4L2 loopback devices"; 41 homepage = "https://github.com/umlaeute/v4l2loopback"; 42 license = licenses.gpl2Only; 43 maintainers = with maintainers; [ fortuneteller2k ]; 44 platforms = platforms.linux; 45 outputsToInstall = [ "out" ]; 46 }; 47}