To test mesa-10.0.2 I had to rebuild qtgui-5.2.0 with USE="-xcb". Then an 'emerge --depclean' removed libxkbcommon, which resulted in a report that @preserved-rebuild should be used to re-emerge qtgui-5.2.0. This failed with the following error: /home/portage/dev-qt/qtgui-5.2.0/work/qtbase-opensource-src-5.2.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp:52:33: fatal error: xkbcommon/xkbcommon.h: No such file or directory #include <xkbcommon/xkbcommon.h> Looking into the ebuild, I saw that the dependency >=x11-libs/libxkbcommon-0.2.0 is only included if USE="xcb" is set, it should be a non-conditional dependency instead. AFAIK libxkb has nothing to do with xcb (X C-language Bindings) anyway, has it? Reproducible: Always Steps to Reproduce: 1. Unmerge x11-libs/libxkbcommon 2. Emerge dev-qt/qtgui-5.2.0 with USE="-xcb" Actual Results: Build fails, because qtgui no longer pulls in libxkbcommon while it is mandatory. Expected Results: qtgui should pull in libxkbcommon as a dependency.
Yeah I guess you're right. The platforminputcontexts plugins were added later, and I probably didn't notice the dependency.
I hit this one today as well, using qtgui-5.2.1 with -xcb. I had to build with -xcb due to a problem with xcb + cairo + nxagent causing nxagent to segfault. qtgui-5.2.1 compile failed with missing xkbcommon/xkbcommon.h. emerging libxkbcommon allowed qtgui to build successfully.
Actually, no. It's the compose plugin that should NOT be built unconditionally, but only if USE=xcb is enabled.
Should be fixed in git for 5.3.0_rc