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(+)
@@ -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