all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#65031] [PATCH] gnu: Add syncplay.
@ 2023-08-03  4:35 aurtzy
  2023-09-05 14:54 ` Maxim Cournoyer
  2023-09-21 19:37 ` [bug#65031] [PATCH v2] " aurtzy
  0 siblings, 2 replies; 3+ messages in thread
From: aurtzy @ 2023-08-03  4:35 UTC (permalink / raw)
  To: 65031; +Cc: aurtzy

* 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 <mirai@makinata.eu>
 ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
 ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023 aurtzy <aurtzy@gmail.com>
 ;;;
 ;;; 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





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#65031] [PATCH] gnu: Add syncplay.
  2023-08-03  4:35 [bug#65031] [PATCH] gnu: Add syncplay aurtzy
@ 2023-09-05 14:54 ` Maxim Cournoyer
  2023-09-21 19:37 ` [bug#65031] [PATCH v2] " aurtzy
  1 sibling, 0 replies; 3+ messages in thread
From: Maxim Cournoyer @ 2023-09-05 14:54 UTC (permalink / raw)
  To: aurtzy; +Cc: 65031

Hi,

aurtzy <aurtzy@gmail.com> writes:

> * 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 <mirai@makinata.eu>
>  ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
>  ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
> +;;; Copyright © 2023 aurtzy <aurtzy@gmail.com>
>  ;;;
>  ;;; 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))

Is it compatible with Qt 6?  To try it, replace qtwayland-5 with
qtwayland, and specify a #:qtbase qtbase argument.

> +    (propagated-inputs (list python
> +                             python-service-identity
> +                             python-twisted
> +                             python-pyside-2
> +                             python-certifi
> +                             python-idna))

These should be inputs, not propagated-inputs, unless it can be used as
a library?  Also, please sort the inputs alphabetically.

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

The rest LGTM.  Could you please send a v2?

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 3+ messages in thread

* [bug#65031] [PATCH v2] gnu: Add syncplay.
  2023-08-03  4:35 [bug#65031] [PATCH] gnu: Add syncplay aurtzy
  2023-09-05 14:54 ` Maxim Cournoyer
@ 2023-09-21 19:37 ` aurtzy
  1 sibling, 0 replies; 3+ messages in thread
From: aurtzy @ 2023-09-21 19:37 UTC (permalink / raw)
  To: 65031; +Cc: aurtzy

* gnu/packages/networking.scm (syncplay): New variable.
* gnu/packages/patches/syncplay-fix-typeerror.patch: New file.
---

> Is it compatible with Qt 6?  To try it, replace qtwayland-5 with
> qtwayland, and specify a #:qtbase qtbase argument.

Looks like it is!  #:qtbase doesn't seem to be supported by gnu-build-system or
python-build-system (switched to the latter for this v2; elaborated further
below) and I had to make a few other adjustments to get it working, so I may
need advice if I've missed anything here.

A patch has been added to fix a Qt 6 issue causing Syncplay to crash.

> These should be inputs, not propagated-inputs, unless it can be used as
> a library?  Also, please sort the inputs alphabetically.

Fixed; not a library.  It appears I was using an inappropriate build system for
this package - I originally made them propagated because gnu-build-system wasn't
doing whatever wrapping python-build-system does to make the inputs available,
so this v2 uses python-build-system instead now.

Best,

aurtzy

 gnu/packages/networking.scm                   | 54 +++++++++++++++++++
 .../patches/syncplay-fix-typeerror.patch      | 25 +++++++++
 2 files changed, 79 insertions(+)
 create mode 100644 gnu/packages/patches/syncplay-fix-typeerror.patch

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index c1cab1fe0d..a7fde61ea8 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -60,6 +60,7 @@
 ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
 ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
 ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023 aurtzy <aurtzy@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4700,3 +4701,56 @@ (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"))
+              (patches (search-patches "syncplay-fix-typeerror.patch"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:imported-modules `(,@%python-build-system-modules
+                                (guix build qt-utils)
+                                (guix build utils))
+           #:modules '((guix build python-build-system)
+                       (guix build qt-utils)
+                       (guix build utils))
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'check)
+                        (replace 'install
+                          (lambda _
+                            (invoke "make" "install" "DESTDIR="
+                                    (string-append "PREFIX="
+                                                   (assoc-ref %outputs "out")))))
+                        (add-after 'install 'wrap-qt
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (wrap-qt-program "syncplay"
+                                             #:output #$output
+                                             #:inputs inputs
+                                             #:qt-major-version "6"))))))
+    (native-inputs (list python-pyside-6))
+    (inputs (list bash-minimal
+                  python-certifi
+                  python-idna
+                  python-service-identity
+                  python-twisted
+                  qtwayland))
+    (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)))
diff --git a/gnu/packages/patches/syncplay-fix-typeerror.patch b/gnu/packages/patches/syncplay-fix-typeerror.patch
new file mode 100644
index 0000000000..6b1168a0e9
--- /dev/null
+++ b/gnu/packages/patches/syncplay-fix-typeerror.patch
@@ -0,0 +1,25 @@
+From b62b038cdf58c54205987dfc52ebf228505ad03b Mon Sep 17 00:00:00 2001
+From: Etoh <etoh@syncplay.pl>
+Date: Tue, 11 Apr 2023 20:22:52 +0100
+Subject: [PATCH] Fix ArchLinux GUI TypeError (#600)
+
+---
+ syncplay/ui/gui.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py
+index 7c100542..ca0f5d4a 100755
+--- a/syncplay/ui/gui.py
++++ b/syncplay/ui/gui.py
+@@ -2106,7 +2106,10 @@ def __init__(self, passedBar=None):
+         if isMacOS():
+             self.setWindowFlags(self.windowFlags())
+         else:
+-            self.setWindowFlags(self.windowFlags() & Qt.AA_DontUseNativeMenuBar)
++            try:    
++            	self.setWindowFlags(self.windowFlags() & Qt.AA_DontUseNativeMenuBar)
++            except TypeError:
++            	self.setWindowFlags(self.windowFlags())
+         self.setWindowTitle("Syncplay v" + version + revision)
+         self.mainLayout = QtWidgets.QVBoxLayout()
+         self.addTopLayout(self)
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-09-21 22:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-03  4:35 [bug#65031] [PATCH] gnu: Add syncplay aurtzy
2023-09-05 14:54 ` Maxim Cournoyer
2023-09-21 19:37 ` [bug#65031] [PATCH v2] " aurtzy

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.