From c6ebbd29e5caed11632c70a859737ce7b11aeb47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Mon, 31 Mar 2014 20:02:25 +0200 Subject: [PATCH] add v4l2loopback: a kernel module to create V4L2 loopback devices --- .../linux/v4l2loopback/default.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/os-specific/linux/v4l2loopback/default.nix diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix new file mode 100644 index 000000000000..af1cf6d320c8 --- /dev/null +++ b/pkgs/os-specific/linux/v4l2loopback/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, kernel, kmod }: + +stdenv.mkDerivation rec { + name = "v4l2loopback-${version}-${kernel.version}"; + version = "0.8.0"; + + src = fetchurl { + url = "https://github.com/umlaeute/v4l2loopback/archive/v${version}.tar.gz"; + sha256 = "1rhsgc4prrj8s6njixic7fs5m3gs94v9hhf3am6lnfh5yv6yab9h"; + }; + + preBuild = '' + substituteInPlace Makefile --replace "modules_install" "INSTALL_MOD_PATH=$out modules_install" + sed -i '/depmod/d' Makefile + export PATH=${kmod}/sbin:$PATH + ''; + + buildInputs = [ kmod ]; + + makeFlags = [ + "KERNELRELEASE=${kernel.modDirVersion}" + "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + + meta = with stdenv.lib; { + description = "a kernel module to create V4L2 loopback devices"; + homepage = https://github.com/umlaeute/v4l2loopback; + license = licenses.gpl2; + maintainers = [ maintainers.iElectric ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index df25e7dec5c5..1cce996ab93a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6985,6 +6985,8 @@ let cryptodev = callPackage ../os-specific/linux/cryptodev { }; e1000e = callPackage ../os-specific/linux/e1000e {}; + + v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { }; frandom = callPackage ../os-specific/linux/frandom { };