KCoreAddons qml plugins

Boudewijn Rempt boud at valdyas.org
Thu Jan 28 10:31:05 UTC 2016


On Thu, 28 Jan 2016, Aleix Pol wrote:

> Personally, I don't really see how QtQml build-time dependency is
> holding back the adoption of KCoreAddons. Is QtQml something that
> often isn't available?

All dependencies are bad. Really -- I know I sound like a broken record here,
but _all_ dependencies are bad. Adding a dependency should only be done
when in desperation, in the very last instance. A new dependency adds
work for everyone who wants to work with the library, who wants to release
an application. Whether the dependency is available is irrelevant; relevant
is whether the dependency adds something that the application needs. Most
applications that use kcoreaddons do not need QtQml.

That it's so easy to install an extra dependency on Linux makes it way too
easy to add new depenendencies.

A library developer should develop the mindset that the user of his library
has nothing else available and has to manually build everything that his
library needs.

>
> From a KDE Frameworks point of view, QML is not Python. QML is part of
> Qt (albeit not qtbase, I'll give you that) which is the direct
> upstream of KDE Frameworks and as much as QtScript can be for KI18n
> [2].

That is a very good example because I actually have to patch out all the
deprecated and extra stuff ki18n uses. I know QtScript makes the Russian
translations better, but it's an obsolete module (and absolutely huge for
what it is used for). Ki18n also needs Python and even gettext to build, 
and gettext really is horrible to have as a dependency on Windows.

> This is specially important I think, because it leverages that
> the platform we're building on is already Qt-proof (but might not be
> Python-proof, for that matter) [3].

Ki18n depends on Python :-(

And it's not that I don't care about Linux, but even on Linux, I build
Krita;s dependencies myself so I can provide packages that are easy to use
and run everywhere, so even on Linux, adding a dependency to a library
should be really, really carefully considered:

https://raw.githubusercontent.com/boudewijnrempt/AppImages/master/recipes/krita/Recipe

-- 
Boudewijn Rempt | http://www.krita.org, http://www.valdyas.org


More information about the Kde-frameworks-devel mailing list