KDE Platform Profiles: Help Me, Help You!
While people are brainstorming on kde-core-devel about some very
fuzzy (so far) "merging of kdelibs and Qt", which funnily got
picked up at some places on the interwebs like strong plans
(ahem!), I keep doing my streamlining work of the platform in my
dark corner of the world. I'm just posting this small blog entry to
keep you people informed on what got dropped in the platform the
last few days.
First, everywhere it was possible, the internal dependencies of
kdelibs became conditionnal. For instance, you can now build a
libplasma without any dependency on libkio, libsolid, libknewstuff
or libkdewebkit. Other libraries have seen a similar work, it's not
that many dependency cuts (as for instance, right now, it's very
hard to not depend on kdecore or kdeui as higlighted by the
brainstorming mentionned above).
Second, I just committed last night and this morning a whole bunch
of changes to allow building kdelibs without any deprecated
symbols. It reduces a lot the symbols exported by our libraries,
and to some extend the size of the libraries. As it's obviously
binary incompatible, it is an option that you can activate using
the experimental Mobile profile.
And that's where I need your help, I can port a couple of modules
out of using such deprecated APIs (I did it for kdepimlibs and
kdebase so far), but I can't and won't do it all by myself! So this
blog post is also a call to arms: developers, try to build kdelibs
with the Mobile profile and check that you application still build
and run against it! I'll help me because more porting will be done,
and it'll help you as it's always good for applications to avoid
relying on deprecated APIs. Also, in the hypothetic event a KDE5
would arise, not depending on deprecated API today will make your
porting effort easier tomorrow.
**Help Me! Help You! Build the KDE Platform with the Mobile Profile!**
How to do that? It's easy, just use
"-DKDE\_PLATFORM\_PROFILE=Mobile" when invoking cmake.
Interestingly, all the ported apps I tested so far seem to work
just as usual (there's a couple of integration features lost, but
it's hardly noticeable really), so for instance I can run
plasma-desktop or dolphin just fine using the Mobile profile.


