Bug 194460

Summary: x11-toolkits/gtk30: add ATK_BRIDGE option
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Jan Beich <jbeich>
Status: Closed FIXED    
Severity: Affects Only Me CC: bsd, fixer, gnome, graahnul.grom, jakub_lach, miwi
Priority: --- Keywords: feature, patch
Version: LatestFlags: jbeich: maintainer-feedback-
Hardware: Any   
OS: Any   
See Also: https://bugzilla.mozilla.org/show_bug.cgi?id=1138845
Attachments:
Description Flags
patch, marcuscom version (3.14.3)
none
patch, ports version (3.8.8)
none
|poudriere testport| log for ports version (3.8.8)
none
|poudriere testport| log for ports version (3.8.8), ATK_BRIDGE=off COLORD=off CUPS=off
none
|poudriere testport| log (3.14.3)
none
|poudriere testport| log (3.14.3), ATK_BRIDGE=off COLORD=off CUPS=off
none
patch (3.18.8)
none
patch (4.0.0) for reference
none
Updated for gtk 3.24.10 none

Description Jan Beich freebsd_committer freebsd_triage 2014-10-19 02:08:33 UTC
Created attachment 148452 [details]
patch, marcuscom version (3.14.3)

Allow users to have Gtk desktop without DBus. AT-SPI bridge isn't required for accesibility with gtk20 and gtk30 and also cannot be used without X11. This should cut the number of dependencies and unused IPC for a minimalistic desktop.

The option was originally removed due to lack of testing i.e., "no core developer is gonna run X11 with atk-bridge disabled". What that means in context of running Gtk apps without Gnome (or Gnome defaults) is unclear.

https://bugzilla.gnome.org/show_bug.cgi?id=677491#c43
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2014-10-19 02:08:33 UTC
Auto-assigned to maintainer gnome@FreeBSD.org
Comment 2 Jan Beich freebsd_committer freebsd_triage 2014-10-19 02:11:02 UTC
Created attachment 148453 [details]
patch, ports version (3.8.8)
Comment 3 Jan Beich freebsd_committer freebsd_triage 2014-10-19 02:25:48 UTC
files/patch-atk-bridge-option reverts the following commit

https://git.gnome.org/browse/gtk+/commit/?id=ed8203e
Comment 4 Jan Beich freebsd_committer freebsd_triage 2014-10-19 02:31:34 UTC
Created attachment 148454 [details]
|poudriere testport| log for ports version (3.8.8)
Comment 5 Jan Beich freebsd_committer freebsd_triage 2014-10-19 02:37:33 UTC
Created attachment 148456 [details]
|poudriere testport| log for ports version (3.8.8), ATK_BRIDGE=off COLORD=off CUPS=off

COLORD and CUPS disabled to not accidentally bring devel/dbus in case gtk30 implicitly depends on it.
Comment 6 Jan Beich freebsd_committer freebsd_triage 2014-10-19 03:57:29 UTC
Created attachment 148457 [details]
|poudriere testport| log (3.14.3)
Comment 7 Jan Beich freebsd_committer freebsd_triage 2014-10-19 04:00:15 UTC
Comment on attachment 148456 [details]
|poudriere testport| log for ports version (3.8.8), ATK_BRIDGE=off COLORD=off CUPS=off

No -P (PREFIX!=LOCALBASE) as it's not a generic "update" bug to try fixing unrelated stuff.
Comment 8 Jan Beich freebsd_committer freebsd_triage 2014-10-19 04:02:04 UTC
Created attachment 148458 [details]
|poudriere testport| log (3.14.3), ATK_BRIDGE=off COLORD=off CUPS=off
Comment 9 Jan Beich freebsd_committer freebsd_triage 2014-11-20 05:33:16 UTC
Comment on attachment 148453 [details]
patch, ports version (3.8.8)

Obsolete since ports r372768. Attachment 148452 [details] doesn't need rebase yet.
Comment 10 Martin Wilke freebsd_committer freebsd_triage 2016-01-17 10:49:08 UTC
Jan, Can we close this one?
Comment 11 Jan Beich freebsd_committer freebsd_triage 2016-01-17 14:37:03 UTC
No, it's still relevant. I may need to rebase the patch, though.
Comment 12 Jan Beich freebsd_committer freebsd_triage 2016-03-09 03:01:05 UTC
Created attachment 167889 [details]
patch (3.18.8)
Comment 13 Jan Beich freebsd_committer freebsd_triage 2016-03-09 06:13:32 UTC
Long past maintainer timeout. files/patch-atk-bridge-option didn't require rebase since comment 0. I'm using it daily on my lightweight setup:

  $ pkg info -r gtk3
  gtk3-3.18.8:
          uim-gtk3-1.8.6_2
          firefox-45.0,1
          gnome-themes-standard-3.18.0
          nvidia-settings-361.16_3
Comment 14 Jan Beich freebsd_committer freebsd_triage 2017-07-09 16:32:51 UTC
*** Bug 220581 has been marked as a duplicate of this bug. ***
Comment 15 Andy 2017-08-27 02:46:05 UTC
Ping!  Any word on this?  More and more applications are moving to gtk3-only, making a working 'without dbus' option an imperative.
After a brief chat on irc.gnome.org #gtk+, it seems as though gnome devs are actively against pulling any such patches upstream.  Can we just attach it to the port?  Any testing required let me know.
Comment 16 Jan Beich freebsd_committer freebsd_triage 2017-10-07 21:59:31 UTC
Created attachment 186991 [details]
patch (4.0.0) for reference

x11-toolkits/gtk40 doesn't exist yet but to adapt one can

- Apply x11-toolkits/gtk30 changes
- s/_CONFIGURE_WITH=atk-bridge/_MESON_TRUE=enable-atk-bridge/
- Replace files/patch-atk-bridge-option with the attached patch
Comment 17 Andy 2018-12-17 15:31:53 UTC
I can confirm that on the lastest this patch continues to work.
Considering upstream inflexibility in making atk optional, I'm very much in favour of adding this to the port.  I think after over 4 years of waiting, some feedback from gnome@ might be warranted...
Comment 18 Andy 2019-08-17 14:29:16 UTC
I have a patched version of the patch, minus the index information you include.  Seems to work for me so far, on -current.
If you don't mind, maybe check that it works for you, or rebuild it.
Thanks!
Comment 19 Andy 2019-08-17 14:31:47 UTC
Created attachment 206632 [details]
Updated for gtk 3.24.10
Comment 20 Jan Beich freebsd_committer freebsd_triage 2020-06-07 06:14:35 UTC
If you're on Wayland see also bug 247039. For example,

  $ cat ~/.config/gtk-3.0/settings.ini
  [Settings]
  gtk-xft-dpi=144000

vs.

  $ cat ~/.config/glib-2.0/settings/keyfile
  [org/gnome/desktop/interface]
  text-scaling-factor=1.44
Comment 21 commit-hook freebsd_committer freebsd_triage 2020-06-07 19:12:49 UTC
A commit references this bug:

Author: jbeich
Date: Sun Jun  7 19:12:14 UTC 2020
New revision: 538187
URL: https://svnweb.freebsd.org/changeset/ports/538187

Log:
  x11-toolkits/gtk30: optionalize at-spi2-atk dependency

  AT-SPI bridge requires DBus and is limited to X11. As upstream plans
  to rework accessibility only in Gtk4 revert to make the bridge optional.
  And Gtk 3.26 isn't on the horizon yet.

  Similar changes:
  https://github.com/netbsd/pkgsrc/commit/1248d6517109
  https://github.com/DragonFlyBSD/DeltaPorts/commit/6009bc6e5010

  PR:		194460
  Tested by:	many
  Approved by:	maintainer timeout (5 years)

Changes:
  head/x11-toolkits/gtk30/Makefile
  head/x11-toolkits/gtk30/files/patch-atk-bridge-option