Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 939762 - app-emacs/nerd-icons: Rename to nerd-icons-el to avoid confusion with symbols-nerd-font?
Summary: app-emacs/nerd-icons: Rename to nerd-icons-el to avoid confusion with symbols...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: GNU Emacs project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-09-17 07:39 UTC by Alexis
Modified: 2024-09-17 15:24 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexis 2024-09-17 07:39:46 UTC
Although the `nerd-icons` package is currently within the `app-emacs` category, a discussion on #gentoo today suggests it users can confuse the package with media-fonts/symbols-nerd-font, particularly if they're primarily wanting the icons from the latter.

Upstream actually calls itself `nerd-icons.el`:

  https://github.com/rainstormstudio/nerd-icons.el

which (as a developer of Emacs packages myself) i assume is an attempt to make it clear that this is an ELisp package, and not the icons component of Nerd Font. 

Thus, taking package naming requirements into consideration, could the package be renamed `nerd-icons-el`?

A possible objection is that some users might assume `el` refers to the ISO 639 code for Greek. i don't know to what extent that might outweigh trying to disambiguate app-emacs/nerd-icons from media-fonts/symbols-nerd-font.
Comment 1 sozuba 2024-09-17 08:47:27 UTC
I very much agree with this suggestion. I had faced this issue today, when i wanted to uninstall app-editors/emacs, but couldn't find the entry on the world favorites file list. Then I had to go around the rabbit hole to find which packages depended on emacs and which one actually pulled in. Finally figured out that app-emacs/nerd-icons pulled in app-editors/emacs, which made me realize that i should have installed the media-fonts/symbols-nerd-font instead of app-emacs/nerd-icons.

Implementing this suggestion would help in preventing confusion.
Comment 2 Ulrich Müller gentoo-dev 2024-09-17 08:54:03 UTC
There are quite a few packages in app-emacs that have an identical name as packages in other categories. That's what categories are for.

Here the argument is even weaker, because the package name is different. So not sure how any confusion could arise?

Historically we had (and still have) some Emacs packages that end in "-el" but we generally avoid this nowadays.
Comment 3 Maciej Barć gentoo-dev 2024-09-17 11:20:16 UTC
This whole debate comes from misunderstanding of Gentoo package categories. To want to have some additional emacs- prefix or -el suffix **only** to distinguish the package as belonging to A category is throwing away the whole categories concept. 

Sure we are sometimes lazy and leave emacs- or -el but then we do not have to modify the handling of PN, P, S etc inside ebuild, in case of nerd-icons.el we already had to do so, so I decided to strip it.


> Then I had to go around the rabbit hole to find which
packages depended on emacs and which one actually pulled in. 

"emerge -c -p -v emacs" is a rabbit hole? Portage will gladly tell you what package X pulls in package Y.

> Finally figured out that app-emacs/nerd-icons pulled in app-editors/emacs, which made me realize that i should have installed the media-fonts/symbols-nerd-font instead of app-emacs/nerd-icons.

Yes, you should have installed the other pkg since app-emacs/nerd-icons is meant for Emacs only. I you need fonts for use under you only user install them manually and for system-wide use - pkgs from the media-fonts category.


And here is the output of command I mentioned above, very clear:

> magentalane-0-workstation /etc/portage
> -> emerge -cvp emacs
>
> Calculating dependencies  ... done!
>   app-editors/emacs-31.0.9999 pulled in by:
>     app-admin/emacs-updater-1.18 requires >=app-editors/emacs-23.1:*
>     app-emacs/ace-window-0.10.0 requires >=app-editors/emacs-25.3:*
>     app-emacs/all-the-icons-5.0.0_p20230316 requires >=app-editors/emacs-25.3:*
>     app-emacs/all-the-icons-dired-2.0 requires >=app-editors/emacs-25.3:*
> [...]
Comment 4 Alexis 2024-09-17 13:10:12 UTC
For myself, i accept this bug being closed as RESOLVED WONTFIX. Certainly people need to pay attention to Gentoo categories, both when searching for packages and when creating ebuilds. (Although of course that still has its limitations, not least to due to upstream: it turns out `dev-cpp/ada` is not actually a C++ library providing Ada-related wrappers, but a URL parser.)

That said, i'd like to make a comment regarding:

> some additional emacs- prefix or -el suffix **only** to distinguish the package as belonging to A category

i feel there is a distinction to be made here between ELisp-based packages which have `.el` as part of their 'official' name - as i noted is the case with `nerd-icons.el` - and packages which don't.

As an example, my `Ebuku` ELisp package doesn't include `.el` as part of its official name, and so i wouldn't expect it be packaged by Gentoo as `Ebuku.el`; `ebuku.el` is merely the name of the single source file in the package. On the other hand, the `debian-el` and `speechd-el` ELisp packages both literally include `-el` as part of their official name (as per `M-x package-list-packages`), and indeed, the Gentoo package for `speechd-el` is `app-accessibility/speechd-el`.
Comment 5 Ulrich Müller gentoo-dev 2024-09-17 13:30:07 UTC
(In reply to Alexis from comment #4)
> > some additional emacs- prefix or -el suffix **only** to distinguish the
> > package as belonging to A category
> 
> i feel there is a distinction to be made here between ELisp-based packages
> which have `.el` as part of their 'official' name - as i noted is the case
> with `nerd-icons.el` - and packages which don't.
> 
> As an example, my `Ebuku` ELisp package doesn't include `.el` as part of its
> official name, and so i wouldn't expect it be packaged by Gentoo as
> `Ebuku.el`; `ebuku.el` is merely the name of the single source file in the
> package. On the other hand, the `debian-el` and `speechd-el` ELisp packages
> both literally include `-el` as part of their official name (as per `M-x
> package-list-packages`), and indeed, the Gentoo package for `speechd-el` is
> `app-accessibility/speechd-el`.

From "M-x list-packages RET" output:

nerd-icons                     20240816.1555  new          melpa    Emacs Nerd Font Icons Library
Comment 6 Alexis 2024-09-17 14:17:42 UTC
And yet, the name of the upstream repo is 'rainstormstudio/nerd-icons.el', and the README has:

> nerd-icons.el - A Library for Nerd Font icons

and

> Nerd-icons.el is a library for easily using Nerd Font icons inside Emacs, an alternative to all-the-icons.

So i feel the most appropriate thing to do would be to ask the package author to clarify; i don't feel it's appropriate for Gentoo to make a decision what the package name 'really' is without first seeking the author's input.
Comment 7 Maciej Barć gentoo-dev 2024-09-17 15:24:05 UTC
> So i feel the most appropriate thing to do would be to ask the package author to clarify; i don't feel it's appropriate for Gentoo to make a decision what the package name 'really' is without first seeking the author's input.

One might say that this is some discussion that should be carried out on some "(F)OSS social-contract" ground.

But lets think about this in terms of identity.
Simply: project != package

Thus, name of *package* should follow the *project* or app, exe, binary, doc, whatever, but this is no matter in which the project maintainer has *definitive* say.