Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at master 69 lines 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 kernel, 6 kmod, 7 kernelModuleMakeFlags, 8}: 9 10let 11 version = "0.15.1"; 12 13in 14stdenv.mkDerivation { 15 pname = "v4l2loopback"; 16 version = "${version}-${kernel.version}"; 17 18 src = fetchFromGitHub { 19 owner = "umlaeute"; 20 repo = "v4l2loopback"; 21 tag = "v${version}"; 22 hash = "sha256-uokj0MB6bw4I8q5dVmSO9XMDvh4T7YODBoCCHvEf4v4="; 23 }; 24 25 hardeningDisable = [ 26 "format" 27 "pic" 28 ]; 29 30 preBuild = '' 31 substituteInPlace Makefile --replace "modules_install" "INSTALL_MOD_PATH=$out modules_install" 32 sed -i '/depmod/d' Makefile 33 ''; 34 35 # Don't use makeFlags for this 36 postBuild = '' 37 make utils 38 ''; 39 40 nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies; 41 42 postInstall = '' 43 make install-utils PREFIX=$bin 44 ''; 45 46 outputs = [ 47 "out" 48 "bin" 49 ]; 50 51 makeFlags = kernelModuleMakeFlags ++ [ 52 "KERNELRELEASE=${kernel.modDirVersion}" 53 "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" 54 "v4l2loopback.ko" 55 ]; 56 57 meta = { 58 description = "Kernel module to create V4L2 loopback devices"; 59 mainProgram = "v4l2loopback-ctl"; 60 homepage = "https://github.com/umlaeute/v4l2loopback"; 61 license = lib.licenses.gpl2Only; 62 maintainers = with lib.maintainers; [ 63 moni 64 bot-wxt1221 65 ]; 66 platforms = lib.platforms.linux; 67 outputsToInstall = [ "out" ]; 68 }; 69}