Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 63 lines 1.3 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 nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies; 36 37 postInstall = '' 38 make install-utils PREFIX=$bin 39 ''; 40 41 outputs = [ 42 "out" 43 "bin" 44 ]; 45 46 makeFlags = kernelModuleMakeFlags ++ [ 47 "KERNELRELEASE=${kernel.modDirVersion}" 48 "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" 49 ]; 50 51 meta = { 52 description = "Kernel module to create V4L2 loopback devices"; 53 mainProgram = "v4l2loopback-ctl"; 54 homepage = "https://github.com/umlaeute/v4l2loopback"; 55 license = lib.licenses.gpl2Only; 56 maintainers = with lib.maintainers; [ 57 moni 58 bot-wxt1221 59 ]; 60 platforms = lib.platforms.linux; 61 outputsToInstall = [ "out" ]; 62 }; 63}