-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Qt6 as well as Qt5 #121
base: master
Are you sure you want to change the base?
Conversation
Looking forward to test this in fedora as soon as keyboard is also ported :) |
There is no compositor currently with text-input-v1 support. EDIT: apparantly I was wrong, kwin does seem to support it still. |
As does Mir 2.x now too. |
Hi, I would like to ask about the state of these changes? Getting them merged would help with downstream packaging to provide a Qt6 version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm having trouble building the Qt6 version, build fails on settingdata.cpp. But Qt5 passes and this has been pending for long so I'll just approve. Not sure should the settingdata thing exist anymore. There was some settings support earlier which has generally been removed ages ago.
For one small detail it could be nice having some rationale documented on the commit reverting the wayland protocol version.
@pvuorela Were you building with |
Didn't do any special flags, just enabling qt6. Having Fedora 40 & Qt 6.7.1.
And the canConvert warning part repeating a few times more. |
Hrmm. Debian Testing just got 6.6.2, and I don't see the error there with a clean build. I did get it with a dirty build, though. So seems like maybe something getting tripped up with moc perhaps? Anyway, I think this branch also need to be tweaked to install the shared libs as different library names for qt6 and qt5 as well. Maybe a good time to break ABI and remove the SettingsData stuff too then? |
Apparently the rather unhelpful compiler was about this #123 With that I got the build a bit forward, eventually failing with
Seems strange, didn't investigate yet further.
At least removing the validateSettingValue() could be an option, even if the above error it wasn't really about the settingdata. Or if kept, I'm not sure why is it on the public API at all. For usage the mimpluginmanager.cpp propagates handleExtendedAttributeUpdate() to both attributeExtensionManager (MAttributeExtensionManager) and sharedAttributeExtensionManager (MSharedAttributeExtensionManager) where only latter used the validation. The attributes are involved in app specific overrides like enter key customization in MInputContext::updateInputMethodExtensions(). But now, is that latter shared thing actually used for anything? I'm spotting mostly mimpluginamanager connecting signals to some handlers on it, but not much else. |
FWIW got qt6 build through by adding to CMakeLists.txt set_property(TARGET maliit-common PROPERTY POSITION_INDEPENDENT_CODE ON) I'm puzzled why Qt5 was fine without it. |
@pvuorela as far as I know Qt6 does not set |
Ah, that would explain it. Thanks for the link. @dobey maybe you could add the PIC options and get this merged? Suppose those shouldn't harm even on qt5 version(?) |
I would like to ask about how to proceed with adding Qt6 support. This MR is now marked as a draft and there is another MR with #122 that unconditionally switches to Qt6. I would like to see at least this PR merged because it improves packaging situation downstream to have a clear patch with patches to use. |
At the very least, this branch needs work to enable parallel installing of builds with both Qt5 and Qt6 support. It shouldn't be difficult to do, but I haven't had a chance to do it yet, which is partly why I put this PR back into draft mode. |
Ok, that's something I can help with. I will start with cleaning up my patch series also for Keyboard and create a draft merge request so that we have something to test integration with. |
This reverts the text-input-v2 support back to text-input-v1 as well, as the pre-built headers from Qt may not be available on all systems in Qt6. To build for Qt6, one needs to pass
-Dwith-qt6=ON
to cmake.