From patchwork Mon Jun 8 08:37:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "ashish.is--- via Guix-patches\" via" X-Patchwork-Id: 22604 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 794D427BBE3; Mon, 8 Jun 2020 09:38:09 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,T_DKIM_INVALID, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id D987E27BBE1 for ; Mon, 8 Jun 2020 09:38:08 +0100 (BST) Received: from localhost ([::1]:57976 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jiDIG-0007fY-Di for patchwork@mira.cbaines.net; Mon, 08 Jun 2020 04:38:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43134) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jiDIA-0007fA-DJ for guix-patches@gnu.org; Mon, 08 Jun 2020 04:38:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:44338) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jiDIA-0000VE-4K for guix-patches@gnu.org; Mon, 08 Jun 2020 04:38:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jiDIA-0007aH-2o for guix-patches@gnu.org; Mon, 08 Jun 2020 04:38:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41759] [PATCH] gnu: Add v4l2loopback-linux-module. Resent-From: Tobias Geerinckx-Rice Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 08 Jun 2020 08:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41759 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Morgan.J.Smith@outlook.com Cc: 41759@debbugs.gnu.org X-Debbugs-Original-Cc: 41759@debbugs.gnu.org, guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.159160547029137 (code B ref -1); Mon, 08 Jun 2020 08:38:02 +0000 Received: (at submit) by debbugs.gnu.org; 8 Jun 2020 08:37:50 +0000 Received: from localhost ([127.0.0.1]:55884 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jiDHy-0007Zo-6o for submit@debbugs.gnu.org; Mon, 08 Jun 2020 04:37:50 -0400 Received: from lists.gnu.org ([209.51.188.17]:60292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jiDHw-0007ZY-AT for submit@debbugs.gnu.org; Mon, 08 Jun 2020 04:37:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43114) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jiDHw-0007eX-2y for guix-patches@gnu.org; Mon, 08 Jun 2020 04:37:48 -0400 Received: from tobias.gr ([2a02:c205:2020:6054::1]:57270) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jiDHu-0000UH-MQ for guix-patches@gnu.org; Mon, 08 Jun 2020 04:37:47 -0400 Received: by tobias.gr (OpenSMTPD) with ESMTP id 0d68c833; Mon, 8 Jun 2020 08:37:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=tobias.gr; h=from:to:cc :subject:references:in-reply-to:date:message-id:mime-version :content-type; s=2018; i=me@tobias.gr; bh=a7Pq8qfqbpLer93shyNYSF Ql9zwbzTQhBJI8UV8DFok=; b=DFSUJLteKP5IUJf5ThgsXg5+3HNBH+jx0rssti 86KKB1i1jYDlQkeA0Ca+DSOl237htcv8o59zIu/xvLJTmc7TZ5cCEgn2HSDuqO7E EzJ7XojmBmK9iqaxx1gCku6xN9lPXwCNHpe95Ul6fS4KT+QB2h8FJ/pdnQG2KjFZ OMCP83oXgpppkeaYzW7O7zPJhpQwxXli8jAtnXL+tKZWoMV2bJ3ZQdIBNI/NsCcl 38t04lLrQwlbomwgy0005rQqPwj9gLdc8ZQ4I2qxhhz5W6IeH+UNM0eTbLyY0bTF 6a7hKeMj6ifaJzEhF9iMqviW6sd4qSdHdxv0j/+i26gqubLw== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id e419acb9 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Mon, 8 Jun 2020 08:37:50 +0000 (UTC) BIMI-Selector: v=BIMI1; s=default; References: In-reply-to: Date: Mon, 08 Jun 2020 10:37:41 +0200 Message-ID: <87lfkyq7fu.fsf@nckx> MIME-Version: 1.0 Received-SPF: pass client-ip=2a02:c205:2020:6054::1; envelope-from=me@tobias.gr; helo=tobias.gr X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: Tobias Geerinckx-Rice , Tobias Geerinckx-Rice via Guix-patches X-Patchwork-Original-From: Tobias Geerinckx-Rice via Guix-patches via From: "ashish.is--- via Guix-patches\" via" X-getmail-retrieved-from-mailbox: Patches Morgan, Morgan.J.Smith@outlook.com 写道: > + (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)))))))) This only builds the ‘test_dqbuf’ executable, but doesn't run it. Trying to fails with: usage: tests/test_dqbuf i.e. it needs the kernel module to be loaded as we discussed on IRC. That's the norm for kernel drivers. For obvious reasons, loading them in the build environment isn't an option. (Computers are magic and one could virtualise a kernel, similar to what we do with Xvfb for X11 tests, but it would work only for drivers that don't require any hardware and excuse me the word ‘overkill’ is knocking at the door.) > + (home-page "https://github.com/umlaeute/v4l2loopback") > + (synopsis "Linux kernel module that allows you to create > \"virtual video devices\"") Life hack: s/that allows you// > + (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).") Double-spacing between sentences is mandatory in Texinfo, because we are all boomers. I was just about to push with the edits below, but… OK. Done separately as fdcd193744dbb92d3478c8e4e6c4f4336a872831 et al. Thanks! T G-R diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3a8d45e20b..c40b33a0a9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1150,23 +1150,17 @@ supported under @file{/sys/class/backlight/}.") (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).") + (synopsis "Linux kernel module to create virtual V4L2 video devices") + (description + "This Linux module creates virtual video devices. @acronym{V4L2, Video +for Linux 2} applications will treat these as ordinary video devices but read +video data generated by another application, instead of a hardware device such +as a capture card. + +This lets you apply nifty effects to your Jitsi video, for example, but also +allows some more serious things like adding streaming capabilities to an +application by hooking GStreamer into the loopback device.") (license license:gpl2+)))