Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 485612 - >=x11-libs/gtk+-3.8 - Please avoid a hard dependency on dbus (from app-accessibility/at-spi2-atk)
Summary: >=x11-libs/gtk+-3.8 - Please avoid a hard dependency on dbus (from app-access...
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
: 493242 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-09-21 19:35 UTC by tot-to
Modified: 2013-12-18 17:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
allow building without atk-bridge (gtk+-3.8.4-atk-choice.patch,1.01 KB, patch)
2013-12-18 11:51 UTC, Amadeusz Sławiński
Details | Diff
allow building without dbus (gtk+-3.8.7-no-dbus.patch,10.46 KB, patch)
2013-12-18 11:54 UTC, Amadeusz Sławiński
Details | Diff
Modified gtk+ ebuild (gtk+-3.8.7.ebuild,7.03 KB, text/plain)
2013-12-18 11:55 UTC, Amadeusz Sławiński
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tot-to 2013-09-21 19:35:15 UTC
While I try to update gtk3 to 3.8.x I get this:
$ emerge -p gtk+

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] sys-apps/dbus-1.6.12  USE="-X -debug -doc (-selinux) -static-libs -systemd {-test}" 1,889 kB
[ebuild  N     ] app-accessibility/at-spi2-core-2.8.0:2  USE="-introspection" 427 kB
[ebuild  N     ] app-accessibility/at-spi2-atk-2.8.1:2  USE="{-test}" 261 kB
[ebuild     U  ] x11-libs/gtk+-3.8.4:3 [3.4.4:3] USE="X cups xinerama (-aqua) -colord -debug -examples -introspection (-packagekit) {-test} -vim-syntax -wayland" 13,395 kB

USE=X is obligatory while using xorg (and not wayland). It leads to at-spi2-atk dependency and then only hard dependencies is in the chain:
x11-libs/gtk+-3.8.4:3[X] -> app-accessibility/at-spi2-atk -> app-accessibility/at-spi2-core -> sys-apps/dbus

D-BUS is a way to integrate applications designed mainly for fancy "modern" IDE's (where letter I means integrated) like GNOME and KDE (through can be used separately), while GTK is just a toolkit for building a GUI for applications that not always a part of IDE or have any integration features. I strongly belive it supposed to be optional for simple desktop users (who use stand-alone window manager instead of IDE) as it is for GTK 2, GTK 3.4 and all versions of Qt.

The question is: is it a bug of ebuild or of upstream? In the last case, could anybody please explain the matter of changes in the upstream (I guess they are connected somehow to GNOME Accessibility toolkit, that is actually a part of GTK, but not GNOME [again, I guess]) in order to fill a bug on GTK bugzilla?

In the first case, please add dbus/atk use flag or drop at least one of these dependencies.
Comment 1 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-09-21 20:54:37 UTC
From README.in and NEWS:

> Release notes for 3.6
> =====================
> 
> * The accessibility bridge code that exports accessible objects
>   on the bus is now used by default; atk-bridge has been converted
>   into a library that GTK+ links against. To void the linking,
>   pass --without-atk-bridge when configuring GTK+.

So, this definitely sounds possible; now I'm not so sure what the consequences of disabling that are, but since it is only used in gtk/a11y/gtkaccessibility.c I guess it won't affect that much.
Comment 2 tot-to 2013-09-21 21:37:19 UTC
Dear Tom,

Thank you for your investigation the possibly good news!

As far as I understand it, in most cases, USE-flags just define --with-something/--without-something options for configure script. If that's true, making this depencence option should be easy for those who able to write an ebuild.
Comment 3 Gilles Dartiguelongue (RETIRED) gentoo-dev 2013-09-21 22:52:29 UTC
We could most likely move that behind USE=accessibility but I see no reason (very little gain) for you to try to avoid dbus when you already require gtk and cups. For example my headless file server runs dbus for tracker, rygel, avahi and probably a few other software I don't remember. It does not even have gtk+ installed.
Comment 4 tot-to 2013-09-21 23:34:12 UTC
Dear Gilles,

I assure you, I run fully functional desktop without dbus and I even don't have any idea about any profit that dbus would give me. CUPS and a lot of GTK and Qt applications work absolutely fine (for instance, firefox, eclipse, abiword, zathura, claw-mail, gimp, pidgin, psi, fbreader, virtualbox and so forth, and so on).

I don't use tracker, avahi or rygel, but have run 'emerge -p' and I can see that all of them can be installed without dbus too.

Dbus is just a something to allow message exchange between applications. If one don't need such exchange, then no reason to install it. :)

As far as I know the goal of Gentoo is to give to an user a maximum flexibility provided by an upstream and to build a system, that does exactly what user wants to do. That's because I love Gentoo.
Comment 5 tot-to 2013-09-22 00:22:30 UTC
In addition, dev-libs/atk dependency also dosn't seem very reasonable to me, since it is a tookit for people with disabilities and most of users don't really need it. I was wondering to create a separate bug about it, but if you intend to add USE="accessibility" instead of USE="dbus", then it makes sence to discuss it here.

If it is possible to remove dev-libs/atk dependency too, then I would suggest to add two separate flags: "accessibility" and "dbus". Dbus enabled without accessibility will just not afect anything. But accessibility can be enabled without dbus. At least it is true for gtk+-3.4.4, installed on my computer at the moment.

And of course the most desirable option for me is to be able to disable both. :)
Comment 6 Alexandre Rostovtsev (RETIRED) gentoo-dev 2013-09-22 19:55:44 UTC
The --without-atk-bridge option was removed in gtk+-3.5.8. Upstream developers decided to make the dependency on at-spi2-atk always mandatory on x11 platforms.

If this is a critical issue for you, please take it up directly with gtk+ upstream developers: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B
Comment 7 tot-to 2013-09-23 21:34:42 UTC
Here we go:
https://bugzilla.gnome.org/show_bug.cgi?id=708656

I would very appreciate if someone from Gentoo GTK team will subscribe to that bug.
Comment 8 Pacho Ramos gentoo-dev 2013-12-04 19:12:12 UTC
*** Bug 493242 has been marked as a duplicate of this bug. ***
Comment 9 Amadeusz Sławiński 2013-12-18 11:51:17 UTC
Created attachment 365590 [details, diff]
allow building without atk-bridge

This may be useful to you. (Not supported etc. but it works for me ;)

This allows building gtk+ without atk-bridge dependency.
Comment 10 Amadeusz Sławiński 2013-12-18 11:54:11 UTC
Created attachment 365592 [details, diff]
allow building without dbus

This allows building without dbus. As far as I cen tell dbus is used as alternative way to do mounting using gnome-shell instead (but don't take my word on it.)

Anyway it builds (and other apps also build ok) and seems to work ok with this patch.
Comment 11 Amadeusz Sławiński 2013-12-18 11:55:53 UTC
Created attachment 365594 [details]
Modified gtk+ ebuild

For reference I have this also in my overlay https://github.com/amade/overlay/tree/master/x11-libs/gtk%2B
Comment 12 Mira Ressel 2013-12-18 17:06:57 UTC
(In reply to Amadeusz Sławiński from comment #11)

Works for me. Thanks, now I could finally lift the mask on gtk-3.8.