Question about goal of Windows/Mac frameworks

Christoph Cullmann cullmann at absint.com
Wed Oct 21 07:26:35 UTC 2015


Hi,

> Hello,
> 
> On Wednesday 21 October 2015 08:13:42 Christoph Cullmann wrote:
>> > On Tuesday 20 October 2015 19:49:54 Aleix Pol wrote:
>> >> 3) non-existing stuff? really? Let's rephrase it as: "Frameworks will
>> >> only be advertised as available on a platform if they are just require
>> >> Qt or other available dependencies on the platform". For example,
>> >> requiring libssh could be an acceptable dependency.
>> > 
>> > Isn't it a rephrased definition of Tier 1?
>> > 
>> > Tier 1 frameworks are supposed to depend only on Qt and platform
>> > libraries.
>> 
>> Yeah, wrong again :/
>> Including other frameworks, I meant.
>> 
>> But beside that, perhaps 3) is not even needed given 2) says "Can be
>> self-contained shipped in an application bundle (self-installer/mac app
>> bundle)." That more or less implies you only have "reasonable" dependencies
>> that can be bundled, too.
> 
> I'm not sure that's helping. What is "reasonable"? :-)
;=) Yeah, fluffy, e.g. I would call dbus "non-reasonable", as it requires some daemon
to be running, even if we would have per application install daemons. I would call stuff
reasonable that is available if you add some dynlib to your application bundle.

> 
> I suspect it has something to do with runtime dependencies? If not, what is
> unreasonable in kxmlgui dependencies? (as it seems to be the main culprit)
kxmlgui was just an example to show that there is potential to reduce the dependencies.
e.g. you have kglobalaccel, which is not that useful on Windows/Mac, given you have there
normally no dbus to have it working.
The same for kauth, which you only need because of KCM inside kconfigwidgets, which close to zero
applications will use that require kxmlgui.

> 
> If it is linked to runtime dependencies, I think you ought to not only look at
> the Tier but also the Type. Only frameworks of the "functional" type have no
> such dependencies.
Perhaps.
But lets look at some concrete example, the dependencies for KWrite/Kate (at the moment, without optional stuff):

build_framework extra-cmake-modules
build_framework kconfig
build_framework kguiaddons
build_framework ki18n
build_framework kitemviews
build_framework sonnet
build_framework kwindowsystem
build_framework kwidgetsaddons
build_framework kcompletion
build_framework kdbusaddons
build_framework karchive
build_framework kcoreaddons
build_framework kjobwidgets
build_framework kcrash
build_framework kservice
build_framework kcodecs
build_framework kauth
build_framework kconfigwidgets
build_framework kiconthemes
build_framework ktextwidgets
build_framework kglobalaccel
build_framework kxmlgui
build_framework kbookmarks
build_framework solid
build_framework kio
build_framework kparts
build_framework ktexteditor

Even with all these frameworks (even very high tier ones), ATM, all stuff is self-contained bundleable inside
the final KWrite/Kate bundle/installer (even with some reasonable size, between 20-30 MB of
target zip file).

Only some stuff has "feature regressions", like kglobalaccel (no global daemon support as requires dbus),
kio (no wallet and other stuff as requires dbus, ATM no working slaves as .protocol files not found
without Qt hacks to standardpaths).

All other stuff is now more or less just deployable by having the .dll/.so/.dylib in the bundle,
given I put all stuff in .qrc files there (I just missed some small pics/files in some frameworks ATM,
need to fix that ;=) Even kxmlgui ;=)

I would like to fix the remaining regressions, e.g. have the io slaves working without Qt hacks and
have some generic way to bundle e.g. the Breeze icon set in the bundle without having to take care in
the application about too much stuff.

Greetings
Christoph

-- 
----------------------------- Dr.-Ing. Christoph Cullmann ---------
AbsInt Angewandte Informatik GmbH      Email: cullmann at AbsInt.com
Science Park 1                         Tel:   +49-681-38360-22
66123 Saarbrücken                      Fax:   +49-681-38360-20
GERMANY                                WWW:   http://www.AbsInt.com
--------------------------------------------------------------------
Geschäftsführung: Dr.-Ing. Christian Ferdinand
Eingetragen im Handelsregister des Amtsgerichts Saarbrücken, HRB 11234


More information about the Kde-frameworks-devel mailing list