Require libinput version 1.9
ClosedPublic

Authored by graesslin on Jan 16 2018, 7:54 PM.

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin created this revision.Jan 16 2018, 7:54 PM
Restricted Application added a project: KWin. · View Herald TranscriptJan 16 2018, 7:54 PM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
graesslin requested review of this revision.Jan 16 2018, 7:54 PM
Restricted Application edited projects, added Plasma; removed KWin. · View Herald TranscriptJan 16 2018, 7:54 PM
davidedmundson accepted this revision.Jan 16 2018, 10:24 PM
This revision is now accepted and ready to land.Jan 16 2018, 10:24 PM
Restricted Application edited projects, added KWin; removed Plasma. · View Herald TranscriptJan 16 2018, 10:24 PM

Edit: please make sure the CI has this before pushing.

Restricted Application edited projects, added Plasma; removed KWin. · View Herald TranscriptJan 17 2018, 12:29 AM

Edit: please make sure the CI has this before pushing.

CI has it. I checked before starting the work on the feature which requires 1.9.

Restricted Application edited projects, added KWin; removed Plasma. · View Herald TranscriptJan 18 2018, 5:46 PM
This revision was automatically updated to reflect the committed changes.
Restricted Application edited projects, added Plasma; removed KWin. · View Herald TranscriptJan 21 2018, 10:16 AM

Hi there

This breaks the CI on FreeBSD, where we only have libinput 1.6

10:17:48 -- Could NOT find Libinput: Found unsuitable version "1.6.0", but required is at least "1.9" (found /usr/local/lib/libinput.so)
[...]
10:21:50 [ 71%] Building CXX object CMakeFiles/kwin_wayland.dir/main_wayland.cpp.o
10:21:50 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/tabletmodemanager.cpp:54:25: error: member access into incomplete type 'LibInput::Device'
10:21:50     if (!event->device()->isTabletModeSwitch()) {
10:21:50                         ^
10:21:50 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/input_event.h:29:7: note: forward declaration of 'KWin::LibInput::Device'
10:21:50 class Device;
10:21:50       ^
10:21:51 1 error generated.
10:21:51 gmake[2]: *** [CMakeFiles/kwin_wayland.dir/build.make:63: CMakeFiles/kwin_wayland.dir/tabletmodemanager.cpp.o] Error 1
10:21:51 gmake[2]: *** Waiting for unfinished jobs....
10:21:51 [ 71%] Building CXX object plugins/platforms/virtual/CMakeFiles/KWinWaylandVirtualBackend.dir/virtual_backend.cpp.o
10:21:51 [ 71%] Linking CXX shared module ../../bin/org.kde.kglobalaccel5.platforms/KF5GlobalAccelPrivateKWin.so
10:21:51 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/plugins/platforms/virtual/egl_gbm_backend.cpp:239:19: warning: cast from 'uchar *' (aka 'unsigned char *') to 'uint *' (aka 'unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
10:21:51         uint *p = (uint*)img.bits();
10:21:51                   ^~~~~~~~~~~~~~~~~
10:21:51 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/plugins/platforms/virtual/egl_gbm_backend.cpp:249:23: warning: cast from 'uchar *' (aka 'unsigned char *') to 'uint *' (aka 'unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
10:21:51             uint *q = (uint*)img.scanLine(y);
10:21:51                       ^~~~~~~~~~~~~~~~~~~~~~
[...]

So there seems to be some guarding missing as to what gets compiled without libinput.

Restricted Application edited projects, added KWin; removed Plasma. · View Herald TranscriptJan 21 2018, 11:42 AM

Hi there

This breaks the CI on FreeBSD, where we only have libinput 1.6

10:17:48 -- Could NOT find Libinput: Found unsuitable version "1.6.0", but required is at least "1.9" (found /usr/local/lib/libinput.so)
[...]
10:21:50 [ 71%] Building CXX object CMakeFiles/kwin_wayland.dir/main_wayland.cpp.o
10:21:50 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/tabletmodemanager.cpp:54:25: error: member access into incomplete type 'LibInput::Device'
10:21:50     if (!event->device()->isTabletModeSwitch()) {
10:21:50                         ^
10:21:50 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/input_event.h:29:7: note: forward declaration of 'KWin::LibInput::Device'
10:21:50 class Device;
10:21:50       ^
10:21:51 1 error generated.
10:21:51 gmake[2]: *** [CMakeFiles/kwin_wayland.dir/build.make:63: CMakeFiles/kwin_wayland.dir/tabletmodemanager.cpp.o] Error 1
10:21:51 gmake[2]: *** Waiting for unfinished jobs....
10:21:51 [ 71%] Building CXX object plugins/platforms/virtual/CMakeFiles/KWinWaylandVirtualBackend.dir/virtual_backend.cpp.o
10:21:51 [ 71%] Linking CXX shared module ../../bin/org.kde.kglobalaccel5.platforms/KF5GlobalAccelPrivateKWin.so
10:21:51 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/plugins/platforms/virtual/egl_gbm_backend.cpp:239:19: warning: cast from 'uchar *' (aka 'unsigned char *') to 'uint *' (aka 'unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
10:21:51         uint *p = (uint*)img.bits();
10:21:51                   ^~~~~~~~~~~~~~~~~
10:21:51 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/plugins/platforms/virtual/egl_gbm_backend.cpp:249:23: warning: cast from 'uchar *' (aka 'unsigned char *') to 'uint *' (aka 'unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
10:21:51             uint *q = (uint*)img.scanLine(y);
10:21:51                       ^~~~~~~~~~~~~~~~~~~~~~
[...]

So there seems to be some guarding missing as to what gets compiled without libinput.

sorry about that . I was under the impression that libinput is incompatible with bsd.

Any chance to get 1.9? If yes I would like to make libinput a hard dependency as it was broken without anybody noticing for quite some time .

Restricted Application edited projects, added Plasma; removed KWin. · View Herald TranscriptJan 21 2018, 4:46 PM

Hi there

This breaks the CI on FreeBSD, where we only have libinput 1.6

10:17:48 -- Could NOT find Libinput: Found unsuitable version "1.6.0", but required is at least "1.9" (found /usr/local/lib/libinput.so)
[...]
10:21:50 [ 71%] Building CXX object CMakeFiles/kwin_wayland.dir/main_wayland.cpp.o
10:21:50 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/tabletmodemanager.cpp:54:25: error: member access into incomplete type 'LibInput::Device'
10:21:50     if (!event->device()->isTabletModeSwitch()) {
10:21:50                         ^
10:21:50 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/input_event.h:29:7: note: forward declaration of 'KWin::LibInput::Device'
10:21:50 class Device;
10:21:50       ^
10:21:51 1 error generated.
10:21:51 gmake[2]: *** [CMakeFiles/kwin_wayland.dir/build.make:63: CMakeFiles/kwin_wayland.dir/tabletmodemanager.cpp.o] Error 1
10:21:51 gmake[2]: *** Waiting for unfinished jobs....
10:21:51 [ 71%] Building CXX object plugins/platforms/virtual/CMakeFiles/KWinWaylandVirtualBackend.dir/virtual_backend.cpp.o
10:21:51 [ 71%] Linking CXX shared module ../../bin/org.kde.kglobalaccel5.platforms/KF5GlobalAccelPrivateKWin.so
10:21:51 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/plugins/platforms/virtual/egl_gbm_backend.cpp:239:19: warning: cast from 'uchar *' (aka 'unsigned char *') to 'uint *' (aka 'unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
10:21:51         uint *p = (uint*)img.bits();
10:21:51                   ^~~~~~~~~~~~~~~~~
10:21:51 /usr/home/jenkins/workspace/Plasma kwin kf5-qt5 FreeBSDQt5.9/plugins/platforms/virtual/egl_gbm_backend.cpp:249:23: warning: cast from 'uchar *' (aka 'unsigned char *') to 'uint *' (aka 'unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
10:21:51             uint *q = (uint*)img.scanLine(y);
10:21:51                       ^~~~~~~~~~~~~~~~~~~~~~
[...]

So there seems to be some guarding missing as to what gets compiled without libinput.

sorry about that . I was under the impression that libinput is incompatible with bsd.

Any chance to get 1.9? If yes I would like to make libinput a hard dependency as it was broken without anybody noticing for quite some time .

I updated the FreeBSD CI image to have libinput-1.9.4 (based on a WIP update from FreeBSD's bugzilla).

Restricted Application edited projects, added KWin; removed Plasma. · View Herald TranscriptJan 21 2018, 6:31 PM