-------------Warning--------------
This has been added to further clarify who should use this:
If you are already using dbus for other things, then you should not use this.
This is for those people not running gnome/kde and for those who do not want to have dbus on their system.
-------------------------------------
New directions thanks to charles17 question below (much easier)
edit /etc/portage/profile/package.provided and add app-accessibility/at-spi2-atk-2.5.3
Note: if newer ebuilds require a version greater than 2.5.3 then that needs to be added.
mkdir /etc/portage/patches/x11-libs/gtk+:3 (you can specify version if you desire, but I've found the patch has worked well going back to 3.19)
copy following patch to the directory (call it what you want, a good name would be at-sp2-atk-removal.patch or atk-bridge-removal.patch)
emerge and enjoy your gtk:+3 without dbus being needed.
Code: Select all
## Remove gtk3-atk-bridge support to avoid unwanted dbus dependency.
--- 1/configure.ac.orig 2018-10-22 09:23:08.542046885 -0500
+++ 2/configure.ac 2018-10-22 09:37:03.335514971 -0500
@@ -1390,14 +1390,10 @@
########################################
-# Check for Accessibility Toolkit flags
+# Removed the at-spi (atk-bridge) support
########################################
-if test x$enable_x11_backend = xyes; then
- ATK_PACKAGES="atk atk-bridge-2.0"
-else
- ATK_PACKAGES="atk"
-fi
+ATK_PACKAGES="atk"
PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
## Remove gtk3-atk-bridge support to avoid unwanted dbus dependency.
--- 1/gtk/a11y/gtkaccessibility.c.orig 2018-10-22 09:23:50.806564701 -0500
+++ 2/gtk/a11y/gtkaccessibility.c 2018-10-22 09:33:39.019965471 -0500
@@ -37,10 +37,6 @@
#include <gtk/gtktogglebutton.h>
#include <gtk/gtkaccessible.h>
-#ifdef GDK_WINDOWING_X11
-#include <atk-bridge.h>
-#endif
-
static gboolean gail_focus_watcher (GSignalInvocationHint *ihint,
guint n_param_values,
const GValue *param_values,
@@ -988,9 +984,5 @@
_gtk_accessibility_override_atk_util ();
do_window_event_initialization ();
-#ifdef GDK_WINDOWING_X11
- atk_bridge_adaptor_init (NULL, NULL);
-#endif
-
atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
}
It's just that simple (well until the devs modify the ebuild/eclasses again)
Note: This is intended for those not using gnome/kde or those simply wanting a dbus free system.
I mention gnome/kde, because there are lots of other wm related packages pulling in dbus.
Old way - kept for historical reasons.
go to PORTDIR/x11-libs/gtk+/
look for all patches listed in the ebuild
copy those patches to your local repo files directory
copy the ebuild to your local repo
edit the ebuild, save changes, and create digest
create user patch directory and put the patch file there
emerge and enjoy
I'll use gtk+-3.24.10.ebuild as the example (since it's the current stable one)
PORTDIR in my case is /usr/portage and local repo is /usr/local/portage (modify paths for your particular system)
cd /usr/portage/x11-libs/gtk+
grep -i patch gtk+-3.24.10.ebuild (in this case there are 2 files)
cp files/gtk+-3.22.20-libcloudproviders-automagic.patch /usr/local/portage/x11-libs/gtk+/files
cp files/gtk+-3.24.8-update-icon-cache.patch /usr/local/portage/x11-libs/gtk+/files
cp gtk+-3.24.10.ebuild /usr/local/portage/x11-libs/gtk+
cd /usr/local/portage/x11-libs/gtk+
edit gtk+-3.24.10.ebuild and remove dependency line with app-accessibility/at-spi2-atk on it and save file
ebuild gtk+-3.24.10.ebuild digest (create the digest so portage knows about it and associated files in /files directory)




