diff mbox series

[bug#46637] gnu: Add obs-websocket.

Message ID 877dn42lg4.fsf@daviwil.com
State Accepted
Headers show
Series [bug#46637] gnu: Add obs-websocket. | 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

David Wilson Feb. 19, 2021, 2:15 p.m. UTC
Hi Guix, long time no see!

Here's a patch that adds the OBS Studio plugin 'obs-websocket' to enable
remote control of a running OBS session.  It's been a while since I
submitted a patch so let me know if I missed anything.

Thanks!

David

Comments

David Wilson Feb. 23, 2021, 7:14 p.m. UTC | #1
Hey folks!  Just checking in on this, let me know if there's anything I
can do to help get this reviewed.

Thanks!

David

David Wilson <david@daviwil.com> writes:

> Hi Guix, long time no see!
>
> Here's a patch that adds the OBS Studio plugin 'obs-websocket' to enable
> remote control of a running OBS session.  It's been a while since I
> submitted a patch so let me know if I missed anything.
>
> Thanks!
>
> David
Nicolas Goaziou Feb. 27, 2021, 11:53 a.m. UTC | #2
Hello,

David Wilson <david@daviwil.com> writes:

> Here's a patch that adds the OBS Studio plugin 'obs-websocket' to enable
> remote control of a running OBS session.  It's been a while since I
> submitted a patch so let me know if I missed anything.

Thank you! 

I changed license to gpl2+ since ".cpp" files indicates "(at your
option) any later version." and applied your patch.

I see (recursive #t) is pulling asio. Would it be possible to unbundle
it and use your own instead?

For now, I'm closing this bug report.

Regards,
diff mbox series

Patch

From f23e068fe26755a2dfd71d723cdcbf01d691809e Mon Sep 17 00:00:00 2001
From: David Wilson <david@daviwil.com>
Date: Thu, 18 Feb 2021 14:34:25 -0800
Subject: [PATCH] gnu: Add obs-websocket.

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

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 4c16b79465..e04fec1192 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -49,6 +49,7 @@ 
 ;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
 ;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
 ;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
+;;; Copyright © 2021 David Wilson <david@daviwil.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3175,6 +3176,43 @@  and JACK.")
 OBS audio sources.")
     (license license:gpl2)))
 
+(define-public obs-websocket
+  (package
+    (name "obs-websocket")
+    (version "4.9.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Palakis/obs-websocket")
+             (commit version)
+             (recursive? #t)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1r47861ma1s3998clahbnbc216wcf706b1ps514k5p28h511l5w0"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ;; No tests in the repo
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-permission-change
+           (lambda* _
+             (substitute* "CMakeLists.txt"
+               ;; Remove lines that set writeable permissions on outputs.
+               (("set\\(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS") "")
+               (("OWNER_READ.*\\)") "")
+               (("PERMISSIONS") ")"))
+             #t)))))
+    (inputs `(("obs" ,obs)
+              ("qtbase" ,qtbase)))
+    (home-page "https://github.com/Palakis/obs-websocket")
+    (synopsis "OBS plugin for remote control via WebSockets")
+    (description "This OBS plugin allows you to establish a WebSocket channel
+from within your running OBS instance so that you can control it remotely from
+programs on your current machine or on other machines.")
+    (license license:gpl2)))
+
 (define-public obs-wlrobs
   (package
     (name "obs-wlrobs")
-- 
2.30.0