evince-3.6.1 fails to emerge with checking for gdbus-codegen... no configure: error: gdbus-codegen not found but dbus is disabled for the whole system: [ebuild U ] app-text/evince-3.6.1:0/evd3.4-evv3.3 [3.4.0:0/0] USE="djvu dvi introspection postscript t1lib tiff -dbus -debug -gnome-keyring -nautilus -xps"
A quick grep yields >AC_ARG_VAR([GDBUS_CODEGEN],[the gdbus-codegen programme]) >AC_PATH_PROG([GDBUS_CODEGEN],[gdbus-codegen],[]) >if test -z "$GDBUS_CODEGEN"; then > AC_MSG_ERROR([gdbus-codegen not found]) >fi which means that configure.ac has a hard-coded check despites whether you have dbus or not; this is because this is a "build" utility and used for the build phase, as it is a "D-Bus code and documentation generator". Now the question is whether this build tool is a necessity, if not then a configurable parameter can be suggested to upstream and/or the configure.ac be patched to make this optional.
Does evince build if you set GDBUS_CODEGEN=$(type -P true) in src_configure ?
No, unfortunately GDBUS_CODEGEN=$(type -P true) emerge -vu evince --nodeps fails in the linking stage with a ton of missing dbus dependencies in libatk-bridge-2.0.so. evince's build system seems a bit deranged, as it states itself that no DBUS support is to be built..
Created attachment 333462 [details] Complete build log of failed build # GDBUS_CODEGEN=$(type -P true) emerge -vu evince --nodeps 1>&2 > evince-3.6.1.log
It seems no longer possible to compile a gtk+ system without dbus, gtk+ 3.6.2 depends on at-spi2-atk which in turns depends on dbus.
Florian, thank you for your analysis. It looks like having a dbus USE flag in an application that uses gtk+-3.6 and X11 is indeed pointless. + 27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> evince-3.6.1.ebuild: + Add missing gdbus-codegen dependency; remove dbus USE flag, which is now + pointless since >=gtk+-3.6[X] always requires dbus (bug #448804, thanks to + Florian Faber).