Bug 251647 - x11-toolkits/gtk30: Update to 3.24.24
Summary: x11-toolkits/gtk30: Update to 3.24.24
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jan Beich
URL:
Keywords:
Depends on:
Blocks: 254552
  Show dependency treegraph
 
Reported: 2020-12-06 18:44 UTC by Olivier Duchateau
Modified: 2021-03-25 15:00 UTC (History)
2 users (show)

See Also:
tcberner: maintainer-feedback+


Attachments
Patch to update x11-toolkits/gtk30 (71.74 KB, patch)
2020-12-06 18:44 UTC, Olivier Duchateau
no flags Details | Diff
update-only (5.86 KB, patch)
2020-12-07 14:04 UTC, Jan Beich
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Olivier Duchateau 2020-12-06 18:44:15 UTC
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
Comment 1 Tobias C. Berner freebsd_committer 2020-12-07 09:20:54 UTC
Moin moin 

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?


mfg Tobias
Comment 2 Tobias C. Berner freebsd_committer 2020-12-07 09:35:41 UTC
[00:00:07] Error: Dependency loop detected:
These packages depend on each other: gtk3-3.24.24 adwaita-icon-theme-3.38.0
Comment 3 Jan Beich freebsd_committer 2020-12-07 12:30:09 UTC
(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
accessibility/atk
converters/fribidi
devel/py-appdirs
devel/py-fs2
devel/py-lxml
devel/py-unicodedata2
graphics/graphite2
graphics/libepoxy
misc/iso-codes
print/harfbuzz
print/py-fonttools3
x11-fonts/bdftopcf
x11-fonts/dejavu
x11-fonts/encodings
x11-fonts/font-bh-ttf
x11-fonts/font-misc-ethiopic
x11-fonts/font-misc-meltho
x11-fonts/font-util
x11-fonts/libXft
x11-fonts/libfontenc
x11-fonts/mkfontscale
x11-fonts/xorg-fonts-truetype
x11-toolkits/pango
Comment 4 Jan Beich freebsd_committer 2020-12-07 12:41:23 UTC
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.
Comment 5 Jan Beich freebsd_committer 2020-12-07 12:57:09 UTC
Nevermind comment 4, with subpackages (see review D16457) gtk-update-icon-cache can be built as part of gtk30 without slave port abomination.
Comment 6 Jan Beich freebsd_committer 2020-12-07 13:09:42 UTC
(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. ;)
Comment 7 Tobias C. Berner freebsd_committer 2020-12-07 13:35:53 UTC
(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.

mfg Tobias
Comment 8 Jan Beich freebsd_committer 2020-12-07 13:40:42 UTC
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.
Comment 9 Jan Beich freebsd_committer 2020-12-07 14:04:53 UTC
Created attachment 220346 [details]
update-only

Let's only update for now. I don't think exp-run is necessary (unlike in USES=meson case).
Comment 10 Tobias C. Berner freebsd_committer 2020-12-07 14:38:53 UTC
(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.


mfg Tobias
Comment 11 Olivier Duchateau 2020-12-07 17:25:50 UTC
'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.
Comment 12 commit-hook freebsd_committer 2020-12-07 23:34:33 UTC
A commit references this bug:

Author: jbeich
Date: Mon Dec  7 23:34:26 UTC 2020
New revision: 557252
URL: https://svnweb.freebsd.org/changeset/ports/557252

Log:
  x11-toolkits/gtk30: update to 3.24.24

  Changes:	https://gitlab.gnome.org/GNOME/gtk/compare/3.24.23...3.24.24
  Changes:	https://gitlab.gnome.org/Community/gentoo/gtk-update-icon-cache/-/compare/3.24.20...3.24.24
  PR:		251647
  Approved by:	tcberner

Changes:
  head/graphics/gtk-update-icon-cache/Makefile
  head/graphics/gtk-update-icon-cache/distinfo
  head/x11-toolkits/gtk30/Makefile
  head/x11-toolkits/gtk30/distinfo
  head/x11-toolkits/gtk30/files/patch-atk-bridge-option
  head/x11-toolkits/gtk30/pkg-plist
Comment 13 Jan Beich freebsd_committer 2020-12-07 23:47:37 UTC
(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.