Subject: [bug#65031] [PATCH] gnu: Add syncplay.

From: aurtzy <[email-masked]>
Date: Thu, 3 Aug 2023 00:35:28 -0400

* gnu/packages/networking.scm (syncplay): New variable.
---
 gnu/packages/networking.scm | 52 +++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 488d015107..10eb19e980 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -60,6 +60,7 @@
 ;;; Copyright © 2023 Bruno Victal <[email-masked]>
 ;;; Copyright © 2023 Yovan Naumovski <[email-masked]>
 ;;; Copyright © 2023 Zheng Junjie <[email-masked]>
+;;; Copyright © 2023 aurtzy <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4644,3 +4645,54 @@ (define-public dropwatch
 recording packets that are dropped by the kernel.  It provides the commands
 @command{dropwatch} and @command{dwdump}.")
     (license license:gpl2+)))
+
+(define-public syncplay
+  (package
+    (name "syncplay")
+    (version "1.7.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Syncplay/syncplay.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "061kpnb48lad8rr8v58xac33mwpbrixfbhn7d0xa63zpxg43bvsd"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:imported-modules `(,@%gnu-build-system-modules (guix build
+                                                                  qt-utils)
+                                (guix build utils))
+           #:modules '((guix build gnu-build-system)
+                       (guix build qt-utils)
+                       (guix build utils))
+           #:make-flags #~`("DESTDIR=" ,(string-append "PREFIX="
+                                                       (assoc-ref %outputs
+                                                                  "out")))
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'configure)
+                        (delete 'build)
+                        (delete 'check)
+                        (add-after 'install 'wrap-qt
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (wrap-qt-program "syncplay"
+                                             #:output #$output
+                                             #:inputs inputs))))))
+    (inputs (list bash-minimal qtwayland-5))
+    (propagated-inputs (list python
+                             python-service-identity
+                             python-twisted
+                             python-pyside-2
+                             python-certifi
+                             python-idna))
+    (home-page "https://syncplay.pl")
+    (synopsis "Client/server to synchronize media playback on many computers")
+    (description
+     "Syncplay is a solution to synchronize video playback across multiple
+instances of media players over the Internet.  When one person pauses/unpauses
+playback or skips to a position in the video, this is replicated across all
+media players connected to the same server and in the same \"room\" (viewing
+session).  A built-in text chat for discussing the synced media is also
+included for convenience.")
+    (license license:asl2.0)))
-- 
2.41.0