When building kwin autotests for guix[1], building the following autotests fail: - testScriptedEffectLoader - testTabBoxClientModel - testTabBoxHandler The reasons are missing dependencies in autotests/CMakeLists.txt resp. autotests/tabbox/CMakeLists.txt. [1] https://www.gnu.org/software/guix/ Proposed solution ~~~~~~~~~~~~~~~~~~~~ 1) In autotests/CMakeLists.txt: - add "Qt5::Qml" to target_link_libraries(testScriptedEffectLoader 2) In autotests/tabbox/CMakeLists.txt: - add "Qt5::Script" to target_link_libraries(testTabBoxClientModel - add "Qt5::Script" to target_link_libraries(testTabBoxHandler Detailed description and Analysis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ guix (like nix) used a separate prefix for each package. Thus the header files for qtdeclarative are in /gnu/store/…-qtdeclarative-5.9.1/include/qt5/ while the ones for qtbase are in /gnu/store/…-base-5.9.1/include/qt5/. This means that *each* dependency's include directory must be specified. This is in contrast to a "normal" Unix-system, where all includes end up in /usr/include/qt5 and missing to defined some include-dependencies does often not raise an error. When building `testScriptedEffectLoader` this fails with: /tmp/guix-build-kwin-5.10.4.drv-0/kwin-5.10.4/scripting/workspace_wrapper.h:29:34: fatal error: QtQml/QQmlListProperty: No such file or directory This line and the one in front read: #include <QRect> #include <QtQml/QQmlListProperty> The included files exists in /gnu/store/…-qtdeclarative-5.9.1/include/qt5/, but the command line is missing `-isystem /gnu/store/…-qtdeclarative-5.9.1/include/qt5/". The reason for this is: Qt5::Qml is not defined as a dependency for `testScriptedEffectLoader` in autotests/CMakeLists.txt. Analogous for testTabBoxClientModel and testTabBoxHandler. How to reproduce ~~~~~~~~~~~~~~~~~~~~~ The easiest way would be to test this in guix, but I'm just working on packaging Plasma for guix and am not finished. I'll update this ticket when finished.
Created attachment 108058 [details] proposed patch - tested
Could you please upload the patch to phabricator.kde.org
I can't logging there with my bugzilla account and also can not find how to create an account there.
Found how to create an account. Uploaded to <https://phabricator.kde.org/D8112>
Patch was committed, merci.