Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 848606 - x11-themes/gentoo-xcursors-0.3.2-r1 needs updated to put cursors in /usr/share/icons/<theme>/cursors/
Summary: x11-themes/gentoo-xcursors-0.3.2-r1 needs updated to put cursors in /usr/shar...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: tastytea
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2022-05-31 06:29 UTC by Duncan
Modified: 2022-07-28 23:37 UTC (History)
2 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 Duncan 2022-05-31 06:29:01 UTC
Thanks tastytea for taking over this package and being both gentoo proxy-maintainer and upstream, now. =:^)

With many themes combining icons and cursors and with wayland the old /usr/share/cursors/xorg-x11/ location seems to be deprecated in favor of /usr/share/icons/<theme>/cursors, with at least adwaita-icon-theme (the only other package I have merged that places files under /usr/share/cursors/xorg-x11) handling it using a relative symlink:

/usr/share/cursors/xorg-x11/Adwaita -> ../../../../usr/share/icons/Adwaita/cursors

I ran into this recently when kde/plasma (which I run live-git-master using the -9999 ebuilds in the gentoo/kde overlay) updated its cursor handling and at least temporarily partially lost support for the old /usr/share/cursors/xorg-x11/ location.  For me the symptom was no cursor over titlebars (which I guess on wayland, or at least the kwin_wayland compositor, are its responsibility, while most cursors are set by the application), making it hard to hit the buttons therein!  (FWIW I bisected the kde bug and meant to file it but never got it done.  Hopefully someone else caught it and it's fixed now but I've not tested without the below symlink workaround.)

My initial workaround was replacing /usr/share/cursors/xorg-x11 with a symlink -> /usr/share/icons , which worked for gentoo-xcursors, but tonight Adwaita had an update and complained about that symlink while creating the above listed Adwaita/cursors symlink, and created a backup symlink in /usr/share/icons instead.  So I deleted the xorg-x11 symlink I had created, reinstalled both packages, letting adwaita create its symlink and gentoo-xcursors create its dirs, then (modifying the adwaita symlink pattern so gentoo-xcursors would still install properly) replaced the three gentoo-xcursors xorg-x11 dirs with symlinks to the icons location, like so:

/usr/share/cursors/xorg-x11/gentoo -> ../../icons/gentoo
/usr/share/cursors/xorg-x11/gentoo-blue -> ../../icons/gentoo-blue
/usr/share/cursors/xorg-x11/gentoo-silver -> ../../icons/gentoo-silver

That no longer interferes with adwaita, and I tried remerging the gentoo-xcursors package on top of my symlinks and (with portage at least) it mentions keeping the symlinks and that I might want to review them, but installs everything to the expected now-symlinked location.

But it'd be nice to have that actually in the package, and since I see it's proxy-maintained by the (now) upstream... here's the bug for it.


Of course renaming the package to just gentoo-cursors or some such is arguably appropriate as well, but the legacy xcursors name should still be discoverable at least by most for awhile, still.  It's the new icons/<theme>/cursors location, perhaps with a symlink from the old location, that's the critical bit.

Thanks again for providing a new home and care for a theme-package I like. =:^)
Comment 1 tastytea 2022-06-02 14:58:35 UTC
I couldn't find any formal specification for it, but my investigation confirmed that cursor themes are expected to be in the same place as icon themes nowadays, like you said. I'll change the location and add symlinks.

I agree that renaming the package would make sense, but on the other hand all other cursor themes in Gentoo are named -xcursors. This may need a broader consensus. 🤔
Comment 2 Duncan 2022-06-06 03:18:46 UTC
Just manually copied the 0.3.2-r2 ebuild to my overlay, unmerged the old version (which removed my manually created symlinks, I double-checked), then merged 0.3.2-r2.

Seems to be fine, symlinks look good, etc. =:^)

Thanks.  Looking forward to having it in the main tree!

(And BTW, I had no idea the /usr/share/cursors location was gentoo-specific; as comment #0 suggests I just thought it was a legacy standard location.  As with some of the amd64 lib/lib64 stuff (which I'm somewhat familiar with as I started on gentoo with amd64 in early 2004, when it was setup already but not long so) I suppose gentoo started using it before there was a solidly established standard location and they picked a plausible location that didn't end up being the standard one, so now we have some non-standard legacy to deal with.  Good detective work!)
Comment 3 Larry the Git Cow gentoo-dev 2022-06-12 07:33:49 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43bc5e50f8cc9737891ec600ec8bb602d5e03e53

commit 43bc5e50f8cc9737891ec600ec8bb602d5e03e53
Author:     Ronny (tastytea) Gutbrod <gentoo@tastytea.de>
AuthorDate: 2022-06-03 14:55:56 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2022-06-12 07:27:02 +0000

    x11-themes/gentoo-xcursors: fix install location, update EAPI 7 -> 8
    
    Switch to default install location¹, because the Gentoo-specific path is
    problematic². Symlinks are added at old location for backwards
    compatibility.
    
    ¹ <https://www.x.org/releases/X11R7.7/doc/man/man3/Xcursor.3.xhtml>
    ² <https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a95901>
    
    Closes: https://bugs.gentoo.org/848606
    Signed-off-by: Ronny (tastytea) Gutbrod <gentoo@tastytea.de>
    Closes: https://github.com/gentoo/gentoo/pull/25740
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 .../gentoo-xcursors-0.3.2-r2.ebuild                | 30 ++++++++++++++++++++++
 1 file changed, 30 insertions(+)