(address . guix-patches@gnu.org)(name . Lilah Tascheter)(address . lilah@lunabee.space)
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(-)
Toggle diff (81 lines)
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