diff mbox series

[bug#45707] gnu: Add obs-v4l2sink.

Message ID 875z4963kf.fsf@gmail.com
State New
Headers show
Series [bug#45707] gnu: Add obs-v4l2sink. | expand

Checks

Context Check Description
cbaines/submitting builds success
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Evan Straw Jan. 6, 2021, 11:36 p.m. UTC

Comments

Nicolò Balzarotti Jan. 6, 2021, 11:42 p.m. UTC | #1
Evan Straw <evan.straw99@gmail.com> writes:

> +OBS Studio and third party software supporting Video4Linux2, e.g. to present
> +an OBS session in proprietary browser-based conferencing systems by selecting
> +the OBS session as a webcam.")

Seems like a proprietary software endorsement. I guess it works also
with libre browser-based conferencing systems like BBB, nextcloud talk
or jitsi, so I'd remove proprietary from the description.
Evan Straw Jan. 6, 2021, 11:45 p.m. UTC | #2
Yeah, I was also a little unsure about that part as well. I will remove
that from the description. Should have another patch to send in a
minute.

-- Evan
diff mbox series

Patch

From 0aa683242ae591d0ddac8b4b23163805dc4414c9 Mon Sep 17 00:00:00 2001
From: Evan Straw <evan.straw99@gmail.com>
Date: Wed, 6 Jan 2021 15:33:25 -0800
Subject: [PATCH] gnu: Add obs-v4l2sink.
To: guix-patches@gnu.org

* gnu/packages/video.scm (obs-v4l2sink): New variable.
---
 gnu/packages/video.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 2b1b111e97..6d64d03e44 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3133,6 +3133,45 @@  and JACK.")
     (home-page "https://obsproject.com")
     (license license:gpl2+)))
 
+(define-public obs-v4l2sink
+  (package
+    (name "obs-v4l2sink")
+    (version "0.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference (url "https://github.com/CatxFish/obs-v4l2sink")
+                                  (commit version)))
+              (file-name (string-append name "-" version))
+              (sha256
+               (base32
+                "0l4lavaywih5lzwgxcbnvdrxhpvkrmh56li06s3aryikngxwsk3z"))))
+    (build-system cmake-build-system)
+    (arguments `(#:tests? #f ;; obs-v4l2sink does not have tests
+                 #:phases
+                 (modify-phases %standard-phases
+                   ;; The CMakeLists.txt file for obs-v4l2sink attempts to use
+                   ;; its own method to search for libobs which uses a lot of
+                   ;; hardcoded paths and ultimately fails under Guix. OBS
+                   ;; already comes with its own CMake configuration, so
+                   ;; remove the line that uses the hardcoded method and just
+                   ;; let CMake locate OBS.
+                   (add-before 'configure 'fix-libobs
+                     (lambda* _
+                       (substitute* "CMakeLists.txt"
+                         (("^.*FindLibObs.*$") ""))
+                       #t)))))
+    (inputs `(("qtbase" ,qtbase)
+              ("obs" ,obs)))
+    (home-page "https://github.com/CatxFish/obs-v4l2sink")
+    (synopsis "OBS Studio output plugin for Video4Linux2 device")
+    (description "An @dfn{Open Broadcaster Software} (OBS) Studio plugin that
+provides output capabilities to a @dfn{Video4Linux2} (v4l2) device.  It can be
+used with @code{v4l2loopback} to achieve cross-program video transfer between
+OBS Studio and third party software supporting Video4Linux2, e.g. to present
+an OBS session in proprietary browser-based conferencing systems by selecting
+the OBS session as a webcam.")
+    (license license:gpl2+)))
+
 (define-public libvdpau
   (package
     (name "libvdpau")
-- 
2.25.1