Subject: [PATCH] gnu: Add v4l2loopback-linux-module.

From: [email-masked]
Date: Sun, 7 Jun 2020 23:49:55 -0400

From: Morgan Smith <[email-masked]>

* gnu/packages/linux.scm (v4l2loopback-linux-module): New variable.
---
 gnu/packages/linux.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index db03160085..20ba222790 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -43,6 +43,7 @@
 ;;; Copyright © 2020 Chris Marusich <[email-masked]>
 ;;; Copyright © 2020 Vincent Legoll <[email-masked]>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <[email-masked]>
+;;; Copyright © 2020 Morgan Smith <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1134,6 +1135,39 @@ module allows the control of the backlight level or luminance property when
 supported under @file{/sys/class/backlight/}.")
     (license license:gpl2+)))
 
+(define-public v4l2loopback-linux-module
+  (package
+    (name "v4l2loopback-linux-module")
+    (version "0.12.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/umlaeute/v4l2loopback.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1qi4l6yam8nrlmc3zwkrz9vph0xsj1cgmkqci4652mbpbzigg7vn"))))
+    (build-system linux-module-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (invoke "make"
+                     "--directory=./tests"
+                     (string-append "CC=" ,(cc-for-target))))))))
+    (home-page "https://github.com/umlaeute/v4l2loopback")
+    (synopsis "Linux kernel module that allows you to create \"virtual video devices\"")
+    (description "This module allows you to create \"virtual video devices\"
+normal (v4l2) applications will read these devices as if they were ordinary
+video devices, but the video will not be read from e.g. a capture card but
+instead it is generated by another application. this allows you for instance
+to apply some nifty video effects on your Jitsi video... it also allows some
+more serious things (e.g. using it to add streaming capabilities to an
+application by the means of hooking GStreamer into the loopback devices).")
+    (license license:gpl2+)))
+
 
 ;;;
 ;;; Pluggable authentication modules (PAM).
-- 
2.26.2