Bug 276465 - sysutils/garcon: Missing dependency on Gnome icons
Summary: sysutils/garcon: Missing dependency on Gnome icons
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-xfce (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-19 18:51 UTC by Olga Smirnova
Modified: 2024-01-28 19:28 UTC (History)
1 user (show)

See Also:
madpilot: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Olga Smirnova 2024-01-19 18:51:02 UTC
garcon provides some menu entries which rely on icons on gnome-icon-theme, which is not marked as its dependency. To prevent broken icons in the menu, it should be added as its runtime dependency.
Comment 1 Guido Falsi freebsd_committer freebsd_triage 2024-01-19 19:08:43 UTC
Hi,

I'm not sure I fully understand your report. What icon is missing? Can you give steps to reproduce and see the issue?

I don't see garcon providing a standalone executable with UI, only libraries. If I could see the issue I would understand better.


Anyway I'm not sure adding a dependency on a random unrelated icon theme would be a reasonable fix. If I understand correctly what is missing is some standard icon that happens to be present in gnome-icon-theme, and not in what is installed by default, but could be present in others, or added in the future in the default ones.

I'd really like to avoid to add an hard dependency for something that is expected to be provided dynamically. If every software depended on an icon theme that happened to include some named icon it uses we would end up installing bunches of icon themes for any desktop system.
Comment 2 Olga Smirnova 2024-01-27 12:25:22 UTC
The package include Application menu folders that provide icons for application categories. Many of those icons are missing from icon themes that are installed as garcon/gtk dependencies. In that case, XFCE main menu will show broken icons for the app categories.
Comment 3 Guido Falsi freebsd_committer freebsd_triage 2024-01-27 14:24:52 UTC
(In reply to Olga Smirnova from comment #2)

I see what you mean, but I am wary of just adding a dependency to fix this issue, which is anyway indirect.

I need to understand what are the missing icons. While the gnome icon theme happens to contain them, there could be other themes including them, or maybe they could be added to a theme already installed by xfce.

The gnome-icon-theme in the ports tree is also quite old, so maybe the icons references in garcon need to be updated?

Even accepting to add a dependency I'm not sure adding it to garcon is the correct place. I think it should be added to the xfce metaport.

garcon is an xfce component, while users are free, if they want to to mix and match xfce components, the supported way to install xfce is to use the metaport. If a user mixes and matches components it is his duty to make sure he installs a consistent set.

XFCE at present depends directly (optionally, enabled by default) on xfce-icons-elementary and causes a bunch of other icon libraries to be installed via dependencies already. Before adding another dependency I'd rather try to add the required icons to one of these themes. Or maybe changing the reference to another icon present in the more updated themes already depended upon. Upstream is usually very helpful in such matters.

You could help by pointing me at where in the source code these missing icons are referenced. If you cannot help in such a way I will try to find time to do this myself.

Please note, I'm not refusing your suggestion, I'm only saying that before applying it blindly some further research is needed, because better solution could be possible, and I need to thoroughly understand the issue to investigate all those.
Comment 4 Guido Falsi freebsd_committer freebsd_triage 2024-01-27 15:27:16 UTC
Also, I forgot to mention, I don't have gnome-icon-theme installed and I'm not experiencing the issue.

If I could reproduce the problem investigating ti would be simpler.

That's why I'm asking more precise indications of which icons are missing.

If you could also provide a list of icons themes you have installed that would help, here is the list for my present system:

adwaita-icon-theme-42.0
gtk-update-icon-cache-3.24.31_1
hicolor-icon-theme-0.17
icons-tango-0.8.90_3
icons-tango-extras-0.1.0_6
xfce-icons-elementary-0.18_1


BTW, I see gnome-icon-theme depends on hicolor-icon-theme, maybe that would be a better dependency? Have you checked if the missing icons are present there? We need to clearly identify those to identify the correct dependency, not one that just happens to fix the issue for unknown mechanisms.
Comment 5 Guido Falsi freebsd_committer freebsd_triage 2024-01-28 19:28:23 UTC
I've taken a look at garcon source code and could not find any icon file or category being directly referenced (except fallback ones in case of missing ones).

Garcon simply takes the menu description provided by consumers and uses the icons designated there.

This makes me think that, even if a new dependency is required, it should be added to where these icons are referenced. But again, the xfce metaport already has a dependency on an icon theme.

To understand why this is affecting you I need to know how you install xfce, that is, are you using the metaport? Default options?

What icon themes ports have you installed? (output of `pkg info -o '*icon*'` should give the needed information)

Maybe a screenshot of the menu with the missing icons?

Also, have you tried choosing a different theme and icon set from the appearance  configuration menu?

As I said I need to understand exactly why you are missing icons, which icons and how to best provide those. Icon themes can be chosen by users also, so forcing a new one via dependency is not the best option.

If you are not using the metaport you should try installing the xfce-icons-elementary port and see if that fixes it. In such a case I would not add a dependency, since it is already provided by the metaport.