From 0aa683242ae591d0ddac8b4b23163805dc4414c9 Mon Sep 17 00:00:00 2001 From: Evan Straw 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