Created attachment 220322 [details]
Patch to update x11-toolkits/gtk30
- Update to 3.24.24
- Switch to the Meson build system
- Adjust dependencies in Makefile, Mk/Uses/gnome.mk. 'gtk-update-icon-cache' is provided by whole tarball so it is now slave port
Very nice, I will ask forn an exp-run shortly.
Quick question though:
This does not look very future proof:
50 MESON_ARGS+= -Dwayland_backend=false \
can we not enable the backend by default too?
[00:00:07] Error: Dependency loop detected:
These packages depend on each other: gtk3-3.24.24 adwaita-icon-theme-3.38.0
(In reply to Olivier Duchateau from comment #0)
> 'gtk-update-icon-cache' is provided by whole tarball so it is now slave port
Why? The proposed patch severely complicates x11-toolkits/gtk30 maintenance and introduces 37 new dependencies. INSTALLS_ICONS pulling gtk30 even for gtk20-only consumers (around 104 total) is also ugly.
# "make all-depends-list" diff
Integrating gtk-update-icon-cache into gtk30 without complicating maintenance would require gtk20 to be removed which may take another ~10 years. However, once gtk40 is imported (likely the next year) we would be back to the statu quo. Having gtk40 consumers depend on gtk30 would be just as ugly as with gtk20 but... given gtk40 has less breaking changes maybe with enough effort gtk30 can be purged from ports/ in a shorter time.
Nevermind comment 4, with subpackages (see review D16457) gtk-update-icon-cache can be built as part of gtk30 without slave port abomination.
(In reply to Tobias C. Berner from comment #1)
> 50 MESON_ARGS+= -Dwayland_backend=false \
> can we not enable the backend by default too?
Having at least some backends enabled is probably a limitation imposed by gtk build system. gtk-update-icon-cache is just 2 *.c files and doesn't use any backend... or gtk itself. ;)
(In reply to Jan Beich from comment #6)
Ah you're right, I missed that it was in the sub-port block.
Anyways, that patch needs a revision for the dependency loop.
Comment on attachment 220322 [details]
Patch to update x11-toolkits/gtk30
> -ATK_BRIDGE_DESC=AT-SPI ATK bridge support (requires X11)
> -ATK_BRIDGE_CONFIGURE_WITH= atk-bridge
> -ATK_BRIDGE_LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk
> -ATK_BRIDGE_IMPLIES= X11
After bug 194460 went extra mile to support both autotools and meson? I still use ATK_BRIDGE=off but can't switch to X11=off without breaking www/firefox build.
Created attachment 220346 [details]
Let's only update for now. I don't think exp-run is necessary (unlike in USES=meson case).
(In reply to Jan Beich from comment #9)
Well, if you feel comfortable pushing it in without an exp-run, you have my gnome-ad-interim@ approval to do so.
'gtk-update-icon-cache' is only linked to X11 libraries, why to use INSTALLS_ICONS even with Wayland (when X11 backend is off, it is not coherent)? That's why I suggest to use slave port.
A commit references this bug:
Date: Mon Dec 7 23:34:26 UTC 2020
New revision: 557252
x11-toolkits/gtk30: update to 3.24.24
Approved by: tcberner
(In reply to Olivier Duchateau from comment #11)
> 'gtk-update-icon-cache' is only linked to X11 libraries
"poudriere testport" for graphics/gtk-update-icon-cache currently shows:
=>> Checking shared library dependencies
0x00000001 NEEDED Shared library: [libc.so.7]
0x00000001 NEEDED Shared library: [libgdk_pixbuf-2.0.so.0]
0x00000001 NEEDED Shared library: [libglib-2.0.so.0]
0x00000001 NEEDED Shared library: [libintl.so.8]
None of these are X11 libraries.