[KDE/Mac] Request to modify kdelibs4 dependency on shared-mime-info

Ian Wadham iandw.au at gmail.com
Sun Jul 20 02:26:26 UTC 2014

Hi Marko,

On 19/07/2014, at 6:12 PM, Marko Käning wrote:
> On 19 Jul 2014, at 04:38 , Ian Wadham <iandw.au at gmail.com> wrote:
>> I will be modifying the scripts for my test environment so as
>> to define XDG_* environment variables which will tell KDE
>> libs to get mime types from MacPorts, plus any new or updated
>> ones that are in the KDE release.  See spec at [1].
> Check out also [2], which shows nicely what’s predefined in Qt5.
>> I don't think there is any need for MacPorts to do anything about
>> the XDG_* variables, unless you want to re-direct XDG_DATA_HOME
>> and XDG_CONFIG_HOME, which default to $HOME/.local/share and
>> $HOME/.config at the moment.
>> I see that ~/.local/share and ~/.config get created and some KDE apps
>> are putting stuff down there.  Even inkscape and gtk-2.0 are putting
>> files in ~/.config --- and they are not KDE apps.
> Yes, that also happens on the Qt5-based CI system and I already started
> to mess with it, because the KDE devs on kde-framework-devel claimed
> that Qt5 needs some patches in that area. However, as I’ve found a nice
> piece of Qt5 documentation [2] yesterday, I haven’t gone back to that ML
> yet, but it seems like that Qt5 already could be setting everything
> appropriately.
> I e.g. saw that the CI systems test files did go into the defined
> ~/.qttest directory.
> Currently I have fiddled with it and now stuff like that goes into a
> separate directory on my CI system [3].

The rock on which KDE 1 thru 4 apps have depended (unless they were very
simple apps with no non-executable files) has been the KStandardDirs library
class.  On MacPorts, those KDE 4 standard directories get spread around:
some to /Applications, some to /opt/local/share/... and some to ~/Library/Preferences.

But now see the following KDE community pages:

That is the direction in which all KDE apps will be heading as they are ported
to KDE Frameworks (KF 5).  In other words, KStandardDirs is deprecated in
favour of QStandardPaths, your reference [2].  That shows some nice tables
of what the various directories are for and where they are located
on various platforms, including Apple OS X:

It all looks good to me, except that I think MacPorts will have to insert extra
layer(s), as it does now, to avoid Apple apps, KDE apps and other MacPorts
apps getting all mixed together.

For example, the directory that will be called QStandardPaths::DataLocation
(read-only version), is currently /opt/local/share/apps/<appname> for KDE 4
apps on MacPorts and there is a mass of other stuff in /opt/local/share.  Qt 5
says QStandardPaths::DataLocation (read-only version) will be
"/Library/Application Support/<APPNAME>". "<APPDIR>/../Resources", but
there are several Apple apps with data files in "/Library/Application Support".

Food for thought, preferably forethought … :-)

>> Maybe these files should go somewhere in ~/Library/Preferences.  Dunno,
>> this is a huge Apple OS X grey area for me.
> That’s what’s also discussed on K-F-D [4] and I really wonder what’s the
> better solution. I begin to think that René’s suggestion might be the
> best way to handle things (as there are already many MacPorts-installed
> applications based on GTK, KDE4 and Qt[45] which do save their files
> XDG-compliantly):
> On 19 Jul 2014, at 07:44 , René JV Bertin <rjvbertin at gmail.com> wrote:
>> Personally I'd say leave them there. Library/Preferences is for OS X
>> apps, lower level unix stuff could very well go where it goes on other
>> systems and where it'a expected to be by software and savvy users alike.
> I sort of don’t see the reason to go through the hassle of re-defining
> everything just for the sake of Qt5, although David Faure isn’t in favour
> of applying XDG standards to OSX...
> But I guess this has be be discussed more widely than just among us!


> As in said discussion with David [4] - honestly speaking - I get lost
> over and over again, because there are so many different locations for
> config and data files to be stored on a system (read-only and writable
> ones). I lack knowledge about KF5’s inner workings (as well as Apple’s
> rules regarding the placement of system and user data) and it would be
> great if this whole area could be clarified a bit fruther. But I guess
> Qt5/KF5 is currently only relevant to me currently, since you guys are
> still busy enough with KDE 4 and still will be for quite a while to
> come, I suppose...
> Yet, I do need to patch Qt5’s sources for QStandardPaths in a certain way,
> as I need to allow for the required redefinition of paths for use with
> the CI system [5]. This was at lower priority for me up to now, since I
> was rather busy building KF5 itself and some additional KF5-based apps
> all along the route towards KMyMoney… But since Cristian Onet was so
> amazingly active on the Windows port, we were now able to finally bring
> the KMyMoney-KF5 port also for Linux to KDE’s Jenkins [6] and we have a
> first successful build since yesterday! Hurray!!! :-D

Wow!  Amazing!

But I'd recommend a simpler KDE app, maybe from KDE Edu, for nutting
out the details of where the various behind-the-scenes directories go.

> So, this means, I can now focus on getting better CI-related patches into
> Qt5’s sources… I am NOT looking forward to it, since it takes ages to
> build and deploy the whole stuff… ;-(
> Anyway, I think it would be good, if we could come to a consensus about
> the (read-only, writeable) data/config locations on OSX! I don’t believe
> you also want to join the K-F-D mailing list, but perhaps we can come up
> with a decision here and I’d then go back with it to K-D-E.

Ideas anyone?  Nicolas?  Bradley?

> If we only had even more (real) OSX devs on this ML!!! ;-)
> But I am very happy about the two we do have! :-D
> Great that René joined the team!!! I hope he and you, Ian, will serve as
> some trigger to attract more KDE and OSX devs to support us here on KDE-MAC.
> P.S.: Am I writing too much, perhaps?

Never let it be said … :-)

All the best, Ian W.

> [1] http://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html
> [2] http://qt-project.org/doc/qt-5/qstandardpaths.html
> [3] http://mail.kde.org/pipermail/kde-frameworks-devel/2014-July/017392.html
> [4] http://mail.kde.org/pipermail/kde-frameworks-devel/2014-July/017283.html
> [5] http://mail.kde.org/pipermail/kde-frameworks-devel/2014-July/017474.html
> [6] http://build.kde.org/job/kmymoney_frameworks_qt5/

More information about the kde-mac mailing list