@@ -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,