Dino lacks some icons

  • Done
  • quality assurance status badge
Details
3 participants
  • Joshua Branson
  • Liliana Marie Prikler
  • Tirifto
Owner
unassigned
Submitted by
Tirifto
Severity
normal
T
T
Tirifto wrote on 19 Dec 2022 17:14
(address . bug-guix@gnu.org)
1850983.tdWV9SEqCh@localhost.localdomain
Hello! I am running Guix as a supplementary package manager on openSUSE
Leap 15.4, and have used it to install the GTK3 XMMP client Dino (package
‘dino’, version 0.3.1). The program seems to work fine, but some icons don’t
show up in the graphical user interface. Some of them do (plus symbol,
hamburger menu, security lock), but other show a placeholder instead (phone
call), while some of them don’t show up at all (checkboxes, window control
buttons, i.e. maximise, minimise, close). Please see the attached pictures
(‘chat.png’ and ‘settings.png’) for reference.

Here is the terminal ouput after running ‘dino’:

Gtk-Message: 17:06:11.398: Failed to load module "colorreload-gtk-module"
Gtk-Message: 17:06:11.398: Failed to load module "window-decorations-gtk-
module"
Gtk-Message: 17:06:11.398: Failed to load module "appmenu-gtk-module"
** (dino:17647): CRITICAL **: 17:06:11.642: file /tmp/guix-build-
dino-0.3.1.drv-0/dino-0.3.1/main/src/ui/main_window.vala: line 68: uncaught
error: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
(dino:17647): Gtk-WARNING **: 17:06:11.676: Found an icon but could not load
it. Most likely gdk-pixbuf does not provide SVG support.
(dino:17647): Gtk-WARNING **: 17:06:11.680: Could not load a pixbuf from
icon theme.
This may indicate that pixbuf loaders or the mime database could not be
found.

Here is the output of ‘guix describe’:

guix describe
Generation 4 pro 17 2022 14:18:38 (current)
guix 491bddf
branch: master
commit: 491bddfa276cc9775adf325c07e5f82638f330e7

Guix usually tries to tell me when I have to do extra steps after installing a
package, but it says nothing this time around, so I presume this is a bug. Any
help would be appreciated!

Best of wishes
// Tirifto
Attachment: chat.png
Attachment: settings.png
L
L
Liliana Marie Prikler wrote on 19 Dec 2022 22:06
71e11f6d149b85f453a04c73453a0c1e62affb1d.camel@gmail.com
Am Montag, dem 19.12.2022 um 16:14 +0000 schrieb Tirifto:
Toggle quote (14 lines)
>   ** (dino:17647): CRITICAL **: 17:06:11.642: file /tmp/guix-build-
> dino-0.3.1.drv-0/dino-0.3.1/main/src/ui/main_window.vala: line 68:
> uncaught
> error: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
>  
>   (dino:17647): Gtk-WARNING **: 17:06:11.676: Found an icon but could
> not load
> it. Most likely gdk-pixbuf does not provide SVG support.
>  
>   (dino:17647): Gtk-WARNING **: 17:06:11.680: Could not load a pixbuf
> from
> icon theme.
>   This may indicate that pixbuf loaders or the mime database could
> not be found.
These two lines appear to mark the most likely culprit. Now, normally
our gdk-pixbuf packages do support svg, but there's some strings
attached. Most of our GNOME related programs are tested in a GNOME
environment rather than a pure one, which means that things that
shouldn't work happen to do. Compare the output of

guix shell --pure -E DISPLAY dino librsvg adwaita-icon-theme -- dino

to

guix shell --pure -E DISPLAY dino -- dino

Note that librsvg is a regular input to dino and should thus be
available as a pixbuf loader. I'm not sure what exactly is wrong here
(perhaps dino should swap its librsvg input for gdk-pixbuf), but
another caveat is that on non-x86_64 systems we are forced to use a
pre-Rust version of librsvg, which barfs on some particular input
files.

Hope that helps.

Cheers
J
J
Joshua Branson wrote on 20 Dec 2022 14:56
Re: bug#60205: Dino lacks some icons
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
87k02mw53s.fsf@dismail.de
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

Toggle quote (35 lines)
> Am Montag, dem 19.12.2022 um 16:14 +0000 schrieb Tirifto:
>>   ** (dino:17647): CRITICAL **: 17:06:11.642: file /tmp/guix-build-
>> dino-0.3.1.drv-0/dino-0.3.1/main/src/ui/main_window.vala: line 68:
>> uncaught
>> error: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
>>  
>>   (dino:17647): Gtk-WARNING **: 17:06:11.676: Found an icon but could
>> not load
>> it. Most likely gdk-pixbuf does not provide SVG support.
>>  
>>   (dino:17647): Gtk-WARNING **: 17:06:11.680: Could not load a pixbuf
>> from
>> icon theme.
>>   This may indicate that pixbuf loaders or the mime database could
>> not be found.
> These two lines appear to mark the most likely culprit. Now, normally
> our gdk-pixbuf packages do support svg, but there's some strings
> attached. Most of our GNOME related programs are tested in a GNOME
> environment rather than a pure one, which means that things that
> shouldn't work happen to do. Compare the output of
>
> guix shell --pure -E DISPLAY dino librsvg adwaita-icon-theme -- dino
>
> to
>
> guix shell --pure -E DISPLAY dino -- dino
>
> Note that librsvg is a regular input to dino and should thus be
> available as a pixbuf loader. I'm not sure what exactly is wrong here
> (perhaps dino should swap its librsvg input for gdk-pixbuf), but
> another caveat is that on non-x86_64 systems we are forced to use a
> pre-Rust version of librsvg, which barfs on some particular input
> files.
>

Just quoting bug 48636:

I have adwaita-icon-theme and hicolor-icon-theme in my system profile,
which I think makes some gtk stuff play nicer. I would suggest
installing them if you don't have them. I also have
gnome-themes-standard and gnome-themes-extra, so those may also be worth
installing if the other things don't do the trick.

Perhaps the hicolor icons should be made a dependency so users don't
have to figure this out on their own. I recall another package getting
that treatment a while back.

End quote

Perhaps dino should have hicolor-icon-theme as a dependency.



Toggle quote (4 lines)
>
> Hope that helps.
>
> Cheers
L
L
Liliana Marie Prikler wrote on 20 Dec 2022 22:31
[PATCH] gnu: dino: Fix icons when used in pure shells.
(address . 60205@debbugs.gnu.org)
f6f9b4654b8026396b5119e1fc63d37bffa0ac6d.camel@gmail.com
* gnu/packages/messaging.scm (dino)[#:phases]: Add
‘generate-gdk-pixbuf-loaders-cache-file’.
<wrap>: Also wrap “GDK_PIXBUF_MODULE_FILE”.
[inputs]: Add adwaita-icon-theme.
---
gnu/packages/messaging.scm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Toggle diff (36 lines)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 27a68439ef..7b693a07fa 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1398,13 +1398,18 @@ (define-public dino
#:phases
#~(modify-phases %standard-phases
;; For A/V support.
+ (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
+ (assoc-ref glib-or-gtk:%standard-phases
+ 'generate-gdk-pixbuf-loaders-cache-file))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dino (string-append out "/bin/dino"))
(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
(wrap-program dino
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))))
+ `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
+ `("GDK_PIXBUF_MODULE_FILE" =
+ (,(getenv "GDK_PIXBUF_MODULE_FILE")))))))
(add-after 'install 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
(replace 'check
@@ -1421,7 +1426,8 @@ (define-public dino
pkg-config
vala))
(inputs
- (list atk
+ (list adwaita-icon-theme
+ atk
cairo
librsvg
glib
--
2.38.1
J
J
jbranso wrote on 21 Dec 2022 20:37
(name . Tirifto)(address . tirifto@posteo.cz)
9b45ca07c4152775121aad00709a31a6@dismail.de
December 20, 2022 4:34 PM, "Liliana Marie Prikler" <liliana.prikler@gmail.com> wrote:

I will add this to my to do list. To test this patch and see if helps dino
display its icons.

Thanks,

Joshua

Toggle quote (44 lines)
> * gnu/packages/messaging.scm (dino)[#:phases]: Add
> ‘generate-gdk-pixbuf-loaders-cache-file’.
> <wrap>: Also wrap “GDK_PIXBUF_MODULE_FILE”.
> [inputs]: Add adwaita-icon-theme.
> ---
> gnu/packages/messaging.scm | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
> index 27a68439ef..7b693a07fa 100644
> --- a/gnu/packages/messaging.scm
> +++ b/gnu/packages/messaging.scm
> @@ -1398,13 +1398,18 @@ (define-public dino
> #:phases
> #~(modify-phases %standard-phases
> ;; For A/V support.
> + (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
> + (assoc-ref glib-or-gtk:%standard-phases
> + 'generate-gdk-pixbuf-loaders-cache-file))
> (add-after 'install 'wrap
> (lambda* (#:key outputs #:allow-other-keys)
> (let* ((out (assoc-ref outputs "out"))
> (dino (string-append out "/bin/dino"))
> (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
> (wrap-program dino
> - `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))))
> + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
> + `("GDK_PIXBUF_MODULE_FILE" =
> + (,(getenv "GDK_PIXBUF_MODULE_FILE")))))))
> (add-after 'install 'glib-or-gtk-wrap
> (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
> (replace 'check
> @@ -1421,7 +1426,8 @@ (define-public dino
> pkg-config
> vala))
> (inputs
> - (list atk
> + (list adwaita-icon-theme
> + atk
> cairo
> librsvg
> glib
> --
> 2.38.1
T
T
Tirifto wrote on 29 Dec 2022 14:49
Re: bug#60205: Dino lacks some icons
(address . 60205@debbugs.gnu.org)
13182965.uLZWGnKmhe@localhost.localdomain
On úterý 20. prosince 2022 14:56:55 CET you wrote:
Toggle quote (52 lines)
> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> > Am Montag, dem 19.12.2022 um 16:14 +0000 schrieb Tirifto:
> >> ** (dino:17647): CRITICAL **: 17:06:11.642: file /tmp/guix-build-
> >> dino-0.3.1.drv-0/dino-0.3.1/main/src/ui/main_window.vala: line 68:
> >> uncaught
> >> error: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
> >>
> >> (dino:17647): Gtk-WARNING **: 17:06:11.676: Found an icon but could
> >> not load
> >> it. Most likely gdk-pixbuf does not provide SVG support.
> >>
> >> (dino:17647): Gtk-WARNING **: 17:06:11.680: Could not load a pixbuf
> >> from
> >> icon theme.
> >> This may indicate that pixbuf loaders or the mime database could
> >> not be found.
> >
> > These two lines appear to mark the most likely culprit. Now, normally
> > our gdk-pixbuf packages do support svg, but there's some strings
> > attached. Most of our GNOME related programs are tested in a GNOME
> > environment rather than a pure one, which means that things that
> > shouldn't work happen to do. Compare the output of
> >
> > guix shell --pure -E DISPLAY dino librsvg adwaita-icon-theme -- dino
> >
> > to
> >
> > guix shell --pure -E DISPLAY dino -- dino
> >
> > Note that librsvg is a regular input to dino and should thus be
> > available as a pixbuf loader. I'm not sure what exactly is wrong here
> > (perhaps dino should swap its librsvg input for gdk-pixbuf), but
> > another caveat is that on non-x86_64 systems we are forced to use a
> > pre-Rust version of librsvg, which barfs on some particular input
> > files.
>
> Just quoting bug 48636:
>
> I have adwaita-icon-theme and hicolor-icon-theme in my system profile,
> which I think makes some gtk stuff play nicer. I would suggest
> installing them if you don't have them. I also have
> gnome-themes-standard and gnome-themes-extra, so those may also be worth
> installing if the other things don't do the trick.
>
> Perhaps the hicolor icons should be made a dependency so users don't
> have to figure this out on their own. I recall another package getting
> that treatment a while back.
>
> End quote
>
> Perhaps dino should have hicolor-icon-theme as a dependency.

Thank you both for your help! I have done some experimenting with the provided
information. When I run the following command:

guix shell --pure -E DISPLAY dino librsvg adwaita-icon-theme -- dino

Dino displays perfectly well, only with the Adwaita theme. I use KDE, so I
thought installing a matching theme might allow it to match the host system.
And indeed, after adding the packages ‘breeze’, ‘breeze-gtk’, and ‘breeze-
icons’ into my profile, Dino runs with the correct theme and icons. I assume
it’s always a good idea to install the theme you’re using in Guix also.

The window control buttons still wouldn‘t show up until I installed ‘librsvg’
and incorporated it into my profile. As for ‘hicolor-icon-theme’, I don’t
think it has had an effect on Dino; icons were still missing with only
hicolor-icon-theme provided.

Toggle quote (4 lines)
> > Hope that helps.
> >
> > Cheers

Thank you both for your help, my issue has now been solved; although perhaps
this ticket should remain open until it’s solved in Guix by default?

Best of wishes
// Tirifto
L
L
Liliana Marie Prikler wrote on 31 Dec 2022 08:34
Re: [PATCH] gnu: dino: Fix icons when used in pure shells.
(name . Tirifto)(address . tirifto@posteo.cz)
4d24eb4d17700583f664638fb42aadb081dd0d3e.camel@gmail.com
Am Mittwoch, dem 21.12.2022 um 19:37 +0000 schrieb jbranso@dismail.de:
Toggle quote (5 lines)
> December 20, 2022 4:34 PM, "Liliana Marie Prikler"
> <liliana.prikler@gmail.com> wrote:
>
> I will add this to my to do list.  To test this patch and see if
> helps dino display its icons. 
You can test it on master now ;)

Cheers
Closed
?