Preparing for KDE/Qt 6

Milian Wolff mail at milianw.de
Mon Aug 29 07:05:22 BST 2022


On Montag, 29. August 2022 01:00:10 CEST Aleix Pol wrote:
> > #1 port away from deprecated API
> 
> +1

Alright, assuming no-one is raising any opposition, I might start with this 
sometime next week.

> > #2 updating kdev-qmljs
> 
> Asking for more people to test it is asking for more people to get a
> crashy KDevelop. :)

:) Not yet asking for testing, rather for people interested in porting it.

> But yes, it would be good to fix it.
> 
> Or we could adopt the language server, I don't know if that would work for
> us.

It would work - but requires quite a lot of work. More than just updating the 
kdev-qmljs code base I fear. That said, proper LSP support is definitely 
something we need to look into. But that kind of work should happen in 
parallel to any kind of Qt6 port and not be a requirement - as I fear it might 
take much longer than the rest.

> > #3 porting & testing against Qt 6
> 
> Seems like it isn't all that hard. We may get surprises, granted.
> 
> Note a release for KF6 has not been set yet, so I am not sure when
> that work will be in use.

Personally, I would like to get my feet wet with Qt 6 and get some experience 
in porting a real world application. This makes KDevelop the perfect choice :) 
And: better start early with such stuff

Cheers
 
> On Sun, Aug 28, 2022 at 5:47 PM Milian Wolff <mail at milianw.de> wrote:
> > Hey all,
> > 
> > The 22.08 release branch was created, and I would like to prepare KDevelop
> > master for Qt 6 and wonder how others feel about this. There are some
> > large
> > tasks we need to solve first I believe:
> > 
> > #1 port away from deprecated API
> > ================================
> > 
> > We still use quite a bit of recently-deprecated KF5 API which we need to
> > get away from in preparation for KDE/Qt 6. But doing so will break
> > compatibility with older KF6 releases.
> > 
> > Personally I couldn't care less about older KF6, so my proposal is:
> > 
> > Let's raise our minimum KF5 requirement to 5.91 [1] which was released in
> > February 2022, half a year ago. When 23.04 is going to be released, it
> > will be a year old.
> > 
> > I believe this should allow us to get rid of all remaining deprecated API
> > usage in KDevelop, without littering our code base with nasty ifdefs. We
> > might be able to clean up some old ones in the process.
> > 
> > [1]: https://kde.org/announcements/frameworks/5/5.91.0/
> > 
> > Anyone opposed?
> > 
> > #2 updating kdev-qmljs
> > ======================
> > 
> > Part of the above is probably going to be updating of our kdev-qmljs fork.
> > I started that over at [2] but it's not working at all - tests don't pass
> > and it also crashes at runtime as tested by Apol. I don't work with QML
> > currently, so if anyone else could adopt this and drive that part
> > forwards - that would be really great!
> > 
> > Otherwise I'm contemplating disabling kdev-qmljs temporarily for the Qt6
> > work.
> > 
> > [2]: https://invent.kde.org/kdevelop/kdevelop/-/merge_requests/369
> > 
> > #3 porting & testing against Qt 6
> > =================================
> > 
> > Once the above is done, we can finally start with the true fun and test-
> > compile our code base against Qt 6. We should strive to make this work
> > like
> > other projects and learn from their lessons. E.g. we could reach out to
> > the
> > kate people about gotchas, but overall I'm not too much worried here I
> > have to say - compared to previous ports this time sounds like a piece of
> > cake :D Famous last words and all!
> > 
> > Cheers
> > --
> > Milian Wolff
> > mail at milianw.de
> > http://milianw.de


-- 
Milian Wolff
mail at milianw.de
http://milianw.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20220829/4883c62d/attachment.sig>


More information about the KDevelop-devel mailing list