[qt overlay] dev-qt/qtwayland-5.7.0_alpha ../../include/QtWaylandCompositor/5.7.0/QtWaylandCompositor/private/../../../../../src/compositor/compositor_api/qwaylandquickitem_p.h:51:42: fatal error: QtQuick/private/qquickitem_p.h: No such file or directory compilation terminated.
Created attachment 429816 [details] build.log
Created attachment 429818 [details] emerge --info qtwayland
I ran into this same error with dev-qt/qtwayland-5.7.0_beta. I noticed that qwaylandquickitem_p.h is provided by qtdeclarative, which I already had installed. However, qtwayland's ebuild only pulls in qtdeclarative as a dependency if both the qml and wayland-compositor USE flags are enabled. I tried recompiling with wayland-compositor enabled, but it still failed. Then I tried again with both wayland-compositor and qml use flags enabled, and it succeeded. So I'm not sure why it's not finding the header when those use flags are disabled, but enabling them both can be used as a temporary workaround. During all my tests, the only other use flag I had enabled was egl.
Same issue with dev-qt/qtwayland-5.7.0 (final) from the qt overlay. It works with USE="qml" and doesn't depend USE="wayland-compositor".
This regression appears to be introduced here: https://code.qt.io/cgit/qt/qtwayland.git/commit/src/compositor/extensions/qwaylandwlshell.cpp?id=5e5e866c8c1fc8234c25770d84e9591041e67d69 the added include qwaylandwlshellintegration_p.h unconditionally includes QtWaylandCompositor/private/qwaylandquickshellsurfaceitem_p.h which is only built with USE="qml". I'm not sure if this is something we can fix downstream - it looks like quick is effectively mandatory now.
There doesn't appear to be anything happening upstream with this, so I've removed the qml USE flag in the overlay ready for 5.7.1: https://gitweb.gentoo.org/proj/qt.git/commit/?id=5326331764a0612870c92ce1310d6a1cb8776322
*** Bug 599448 has been marked as a duplicate of this bug. ***
Hey guys so this problem is simple... qtwayland-5.7.0 and newer requires qtdeclarative to be installed irregardless of the qml or wayland-compositor use flags. So the ebuild just needs to be altered to require qtdeclarative always. <SNIP> DEPEND=" >=dev-libs/wayland-1.4.0 ~dev-qt/qtcore-${PV} ~dev-qt/qtgui-${PV}[egl=] media-libs/mesa[egl?] >=x11-libs/libxkbcommon-0.2.0 + ~dev-qt/qtdeclarative-${PV} - wayland-compositor? ( - qml? ( ~dev-qt/qtdeclarative-${PV} ) - ) xcomposite? ( x11-libs/libX11 x11-libs/libXcomposite ) " <SNIP>
Fixed in 5.7.1.