Open MerlijnWajer opened 6 years ago
@freemangordon - can we assign this one to you? Or is there someone else who might want to pick this up? (Or do you know someone who might)
What we should do for QT is to take the latest Maemo QT code from https://github.com/community-ssu/qt-x11-maemo/tree/master and the upstream 4.7.4 repository at https://github.com/qt/qt/tree/v4.7.4 Then we compare the logs of both and look for all the commits in the Maemo tree not in the upstream tree. Then we can remove any commits from that list that don't matter (i.e. merge commits and anything that's a back port from upstream and will therefore already be there in newer upstream), analyze the rest and forward port them one by one on top of the Debian/Devuan QT 4.x source (which is 4.8.7 with some Debian-local patches on top that we most definitely want for Leste like the OpenSSL 1.1.0 support)
Oh and we need to see if there is anything Maemo related in the upstream 4.7.4 tree that later got removed (in the same way as Mozilla removed Maemo bits from the Gecko tree sometime after Firefox 24)
There will also be packaging bits we need to look at (in terms of changes to be made to the current Debian/Devuan packaging for QT to e.g. pull in Maemo dependencies)
I turned out maemo qt 4.7.4 is a nogo, it requires gstreamer-0.10. The same goes for any qt4 so I decided to try to port maemo stuff to qt5. lets see...
It would be good to have some plan so that others can also contribute. I'm happy to pick some of this up after a new round of images and nexus 5 support.
Moving to beta as requested by @freemangordon
So the current code can be found here:
https://github.com/maemo-leste/qtstyleplugins/
It contains both styling and widgets.
The following things need to be done:
So the current version is available in beowulf
devel
repo, but I don't know how we are going to add all the X11 atoms and other core changes without forking qtbase
.
@freemangordon -- did you figure out a way to do all of this as plugins, or should we look at forking qt5 for Maemo?
With some help, this branch has a "maemo5" platform plugin, which inherits from the default X11/Xcb plugin:
https://github.com/maemo-leste/qtstyleplugins/tree/qt-platform-abstraction
If you set this:
# cat /etc/profile.d/qt-style.sh
export QT_STYLE_OVERRIDE=maemo5
export QT_QPA_PLATFORM=maemo5
Then all applications will start with maemo5 theme, and maemo5 platform abstraction, which doesn't do anything special, yet.
There is now a stub module for input, which doesn't work yet (as it is a stub), but it can be set using this:
export QT_IM_MODULE=him
I will try to do an initial port, but have to figure out how to get the X11 events that HIM uses to the input module.
http://qnetman.garage.maemo.org/ Might a fun porting target.
I've pushed to maemo-plus-xcb-him
; a lot of it is still wip, but the big change is that I took the Xcb platform plugin, renamed a few bits so it doesn't conflict, "fixed/backported" the keyboard focus bug, and added my (very much work in progress) him on top of that.
I suppose that maybe we don't even want platform plugins in qtstyleplugins
, but that should be easy to separate out once everything works.
I forgot to update this issue.
A lot more components are now in place, with the qt-platform-maemo
package. It's not finished yet, but we're getting closer.
Stackable windows now work, the hildon menu button works, the progress indicators work, dialogs render OK now, too.
We still need to tweak some themes, make sure maemo-launcher (with qt preloading) works, and look at other parts that need porting. At least the virtual keyboard still needs porting. And there's probably a big tail of small things that need to be ported over as well.
I will try to give a more detailed status overview in the upcoming Leste news post.
Tasks:
Is this the right repo, and how much do we need to backport?
https://github.com/community-ssu/qt-x11-maemo
This is useful for lots of other packages that we want to import.