unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#64521] [PATCH] gnu: tuba: Fix video-player crash and webp support.
@ 2023-07-07 19:28 Lilah Tascheter via Guix-patches via
  2023-07-07 21:08 ` Juliana Sims
  2023-07-08  5:11 ` [bug#64521] [PATCH 1/2] gnu: tuba: Update to new style Lilah Tascheter via Guix-patches via
  0 siblings, 2 replies; 7+ messages in thread
From: Lilah Tascheter via Guix-patches via @ 2023-07-07 19:28 UTC (permalink / raw)
  To: 64521; +Cc: Lilah Tascheter

Without gstreamer, tuba will crash every time the user clicks on a
video. libwepb was included as an input but without a pixbuf loader, so
webp support was compiled in but didn't work.

* gnu/packages/mastodon.scm (tuba)[arguments]: Update to new style.

  (tuba)[arguments]<phases>: Add lib-vars-wrap phase to set
  GST_PLUGIN_SYSTEM_PATH and GDK_PIXBUF_MODULE_FILE variables.

  (tuba)[native-inputs]: Add gdk-pixbuf.

  (tuba)[inputs]: Add gstreamer, plugins, and webp-pixbuf-loader.
---
 gnu/packages/mastodon.scm | 41 +++++++++++++++++++++++++++------------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm
index feef8c61f9..e3334ac868 100644
--- a/gnu/packages/mastodon.scm
+++ b/gnu/packages/mastodon.scm
@@ -21,6 +21,7 @@
 (define-module (gnu packages mastodon)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
@@ -32,6 +33,7 @@ (define-module (gnu packages mastodon)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
@@ -94,21 +96,35 @@ (define-public tuba
         (base32 "1xhyz6wi17g4m76lr6qc75q4xnnw7c3dh3d04dg8m5gzk6j0y89x"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t
-       #:configure-flags (list "-Ddistro=true")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'glib-or-gtk-wrap 'symlink-package
-           (lambda* (#:key outputs #:allow-other-keys)
-             (with-directory-excursion
-               (string-append (assoc-ref outputs "out") "/bin")
-               (symlink "dev.geopjr.Tuba" "tuba")))))))
+      (list
+        #:glib-or-gtk? #t
+        #:configure-flags ''("-Ddistro=true")
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'glib-or-gtk-wrap 'lib-vars-wrap
+              (lambda _
+                (let ((gstvar "GST_PLUGIN_SYSTEM_PATH")
+                      (pixvar "GDK_PIXBUF_MODULE_FILE"))
+                  (wrap-program (string-append #$output "/bin/dev.geopjr.Tuba")
+                    `(,gstvar ":" suffix (,(getenv gstvar)))
+                    `(,pixvar ":" = (,(getenv pixvar)))))))
+            (add-after 'lib-vars-wrap 'symlink-package
+              (lambda _
+                (with-directory-excursion
+                  (string-append #$output "/bin")
+                  (symlink "dev.geopjr.Tuba" "tuba")))))))
     (native-inputs
-     (list gettext-minimal
+     (list gdk-pixbuf ; so pixbuf loader cache (for webp) is generated
+           gettext-minimal
            `(,glib "bin") ; for glib-compile-resources
            pkg-config))
     (inputs
-     (list gtk
+     (list gst-plugins-bad
+           gst-plugins-base
+           gst-plugins-good
+           gst-plugins-ugly
+           gstreamer
+           gtk
            gtksourceview
            json-glib
            libadwaita
@@ -117,7 +133,8 @@ (define-public tuba
            libsecret
            libwebp
            libxml2
-           vala))
+           vala
+           webp-pixbuf-loader))
     (home-page "https://tuba.geopjr.dev/")
     (synopsis "GTK client for Mastodon")
     (description "Tuba is a GTK client for Mastodon.  It provides a clean,

base-commit: 3e9915724718948f0d74d83aaac1b3c8061c26d2
-- 
2.40.1





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

* [bug#64521] [PATCH] gnu: tuba: Fix video-player crash and webp support.
  2023-07-07 19:28 [bug#64521] [PATCH] gnu: tuba: Fix video-player crash and webp support Lilah Tascheter via Guix-patches via
@ 2023-07-07 21:08 ` Juliana Sims
  2023-07-08  5:08   ` Lilah Tascheter via Guix-patches via
  2023-07-08  5:11 ` [bug#64521] [PATCH 1/2] gnu: tuba: Update to new style Lilah Tascheter via Guix-patches via
  1 sibling, 1 reply; 7+ messages in thread
From: Juliana Sims @ 2023-07-07 21:08 UTC (permalink / raw)
  To: lilah; +Cc: 64521

Hello,

First of all, could you split this into multiple patches? Specifically, 
could you split the fix apart from the argument modernization?

My other major concern is the inclusion of all those gstreamer plugins. 
Do we really need all of them? Ideally we want to avoid *-ugly and 
*-bad if we can.

I'm not sure if this is an issue with the Guix package, my personal 
setup, or Tuba itself, but while testing the patch I ran into an issue 
signing in. Because spaces are used to separate the permissions the 
application requests, my browser seems to interpret them as indicating 
new URLs instead. If you're able to fix that, that would be great!

Also, feel free to add a copyright line to the top of the file as part 
of your first patch ;)

Thanks,
Juli






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

* [bug#64521] [PATCH] gnu: tuba: Fix video-player crash and webp support.
  2023-07-07 21:08 ` Juliana Sims
@ 2023-07-08  5:08   ` Lilah Tascheter via Guix-patches via
  0 siblings, 0 replies; 7+ messages in thread
From: Lilah Tascheter via Guix-patches via @ 2023-07-08  5:08 UTC (permalink / raw)
  To: Juliana Sims; +Cc: 64521

hey juli!

> First of all, could you split this into multiple patches?
yep!

> My other major concern is the inclusion of all those gstreamer
> plugins. Do we really need all of them? Ideally we want to avoid
> *-ugly and *-bad if we can.
-ugly can definately be removed; looks like it only provides DVD
decoding stuff. -bad, though, is required in order to play .mp4 video.

> Because spaces are used to separate the permissions the application
> requests, my browser seems to interpret them as indicating new URLs
> instead.
I just reported it upstream; the scopes aren't properly urlencoded.

thank you so much!
~lunabee




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

* [bug#64521] [PATCH 1/2] gnu: tuba: Update to new style.
  2023-07-07 19:28 [bug#64521] [PATCH] gnu: tuba: Fix video-player crash and webp support Lilah Tascheter via Guix-patches via
  2023-07-07 21:08 ` Juliana Sims
@ 2023-07-08  5:11 ` Lilah Tascheter via Guix-patches via
  2023-07-08  5:11   ` [bug#64521] [PATCH 2/2] gnu: tuba: Fix videoplayer crash and webp support Lilah Tascheter via Guix-patches via
  1 sibling, 1 reply; 7+ messages in thread
From: Lilah Tascheter via Guix-patches via @ 2023-07-08  5:11 UTC (permalink / raw)
  To: 64521; +Cc: rg, Lilah Tascheter, liliana.prikler, maxim.cournoyer, juli

* gnu/packages/mastodon.scm (tuba)[arguments]: Update to new style.
---
 gnu/packages/mastodon.scm | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm
index feef8c61f9..af578bd7de 100644
--- a/gnu/packages/mastodon.scm
+++ b/gnu/packages/mastodon.scm
@@ -21,6 +21,7 @@
 (define-module (gnu packages mastodon)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
@@ -94,15 +95,16 @@ (define-public tuba
         (base32 "1xhyz6wi17g4m76lr6qc75q4xnnw7c3dh3d04dg8m5gzk6j0y89x"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t
-       #:configure-flags (list "-Ddistro=true")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'glib-or-gtk-wrap 'symlink-package
-           (lambda* (#:key outputs #:allow-other-keys)
-             (with-directory-excursion
-               (string-append (assoc-ref outputs "out") "/bin")
-               (symlink "dev.geopjr.Tuba" "tuba")))))))
+      (list
+        #:glib-or-gtk? #t
+        #:configure-flags ''("-Ddistro=true")
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'glib-or-gtk-wrap 'symlink-package
+              (lambda _
+                (with-directory-excursion
+                  (string-append #$output "/bin")
+                  (symlink "dev.geopjr.Tuba" "tuba")))))))
     (native-inputs
      (list gettext-minimal
            `(,glib "bin") ; for glib-compile-resources

base-commit: 3db685cb2e2ce2a4b29c62d28a66201b2eba018f
-- 
2.40.1





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

* [bug#64521] [PATCH 2/2] gnu: tuba: Fix videoplayer crash and webp support.
  2023-07-08  5:11 ` [bug#64521] [PATCH 1/2] gnu: tuba: Update to new style Lilah Tascheter via Guix-patches via
@ 2023-07-08  5:11   ` Lilah Tascheter via Guix-patches via
  2023-07-08 16:57     ` Juliana Sims
  2023-07-10  4:40     ` bug#64521: " Maxim Cournoyer
  0 siblings, 2 replies; 7+ messages in thread
From: Lilah Tascheter via Guix-patches via @ 2023-07-08  5:11 UTC (permalink / raw)
  To: 64521; +Cc: rg, Lilah Tascheter, liliana.prikler, maxim.cournoyer, juli

* gnu/packages/mastodon.scm (tuba)[arguments]<phases: Add lib-vars-wrap
  phase to set GST_PLUGIN_SYSTEM_PATH and GDK_PIXBUF_MODULE_FILE
  variables.

  (tuba)[native-inputs]: Add gdk-pixbuf.
  (tuba)[inputs]: Add gstreamer, plugins, and webp-pixbuf-loader.
---
 gnu/packages/mastodon.scm | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm
index af578bd7de..4442e6cb2a 100644
--- a/gnu/packages/mastodon.scm
+++ b/gnu/packages/mastodon.scm
@@ -33,6 +33,7 @@ (define-module (gnu packages mastodon)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
@@ -100,17 +101,29 @@ (define-public tuba
         #:configure-flags ''("-Ddistro=true")
         #:phases
         #~(modify-phases %standard-phases
-            (add-after 'glib-or-gtk-wrap 'symlink-package
+            (add-after 'glib-or-gtk-wrap 'lib-vars-wrap
+              (lambda _
+                (let ((gstvar "GST_PLUGIN_SYSTEM_PATH")
+                      (pixvar "GDK_PIXBUF_MODULE_FILE"))
+                  (wrap-program (string-append #$output "/bin/dev.geopjr.Tuba")
+                    `(,gstvar ":" suffix (,(getenv gstvar)))
+                    `(,pixvar ":" = (,(getenv pixvar)))))))
+            (add-after 'lib-vars-wrap 'symlink-package
               (lambda _
                 (with-directory-excursion
                   (string-append #$output "/bin")
                   (symlink "dev.geopjr.Tuba" "tuba")))))))
     (native-inputs
-     (list gettext-minimal
+     (list gdk-pixbuf ; so pixbuf loader cache (for webp) is generated
+           gettext-minimal
            `(,glib "bin") ; for glib-compile-resources
            pkg-config))
     (inputs
-     (list gtk
+     (list gst-plugins-bad
+           gst-plugins-base
+           gst-plugins-good
+           gstreamer
+           gtk
            gtksourceview
            json-glib
            libadwaita
@@ -119,7 +132,8 @@ (define-public tuba
            libsecret
            libwebp
            libxml2
-           vala))
+           vala
+           webp-pixbuf-loader))
     (home-page "https://tuba.geopjr.dev/")
     (synopsis "GTK client for Mastodon")
     (description "Tuba is a GTK client for Mastodon.  It provides a clean,
-- 
2.40.1





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

* [bug#64521] [PATCH 2/2] gnu: tuba: Fix videoplayer crash and webp support.
  2023-07-08  5:11   ` [bug#64521] [PATCH 2/2] gnu: tuba: Fix videoplayer crash and webp support Lilah Tascheter via Guix-patches via
@ 2023-07-08 16:57     ` Juliana Sims
  2023-07-10  4:40     ` bug#64521: " Maxim Cournoyer
  1 sibling, 0 replies; 7+ messages in thread
From: Juliana Sims @ 2023-07-08 16:57 UTC (permalink / raw)
  To: Lilah Tascheter; +Cc: 64521

[-- Attachment #1: Type: text/plain, Size: 88 bytes --]

This looks good to me - but of course, the final say is with the 
commiters :)

- Juli


[-- Attachment #2: Type: text/html, Size: 147 bytes --]

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

* bug#64521: [PATCH 2/2] gnu: tuba: Fix videoplayer crash and webp support.
  2023-07-08  5:11   ` [bug#64521] [PATCH 2/2] gnu: tuba: Fix videoplayer crash and webp support Lilah Tascheter via Guix-patches via
  2023-07-08 16:57     ` Juliana Sims
@ 2023-07-10  4:40     ` Maxim Cournoyer
  1 sibling, 0 replies; 7+ messages in thread
From: Maxim Cournoyer @ 2023-07-10  4:40 UTC (permalink / raw)
  To: Lilah Tascheter; +Cc: rg, liliana.prikler, 64521-done, juli

Hello,

Lilah Tascheter <lilah@lunabee.space> writes:

> * gnu/packages/mastodon.scm (tuba)[arguments]<phases: Add lib-vars-wrap
>   phase to set GST_PLUGIN_SYSTEM_PATH and GDK_PIXBUF_MODULE_FILE
>   variables.
>
>   (tuba)[native-inputs]: Add gdk-pixbuf.
>   (tuba)[inputs]: Add gstreamer, plugins, and webp-pixbuf-loader.

Applied this one and the precedent commit as
753428d7939bb5840d9e230215312d4bd5d487d3 and
88027480b537b391b5089fb06889835510f33e59, with minor cosmetic edits
(such as removing the whitespace in the above commit message).

Well done! :-)

-- 
Thanks,
Maxim




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

end of thread, other threads:[~2023-07-10  4:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-07 19:28 [bug#64521] [PATCH] gnu: tuba: Fix video-player crash and webp support Lilah Tascheter via Guix-patches via
2023-07-07 21:08 ` Juliana Sims
2023-07-08  5:08   ` Lilah Tascheter via Guix-patches via
2023-07-08  5:11 ` [bug#64521] [PATCH 1/2] gnu: tuba: Update to new style Lilah Tascheter via Guix-patches via
2023-07-08  5:11   ` [bug#64521] [PATCH 2/2] gnu: tuba: Fix videoplayer crash and webp support Lilah Tascheter via Guix-patches via
2023-07-08 16:57     ` Juliana Sims
2023-07-10  4:40     ` bug#64521: " Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).