[KDE/Mac] Compile & App Bundle Creation

René J.V. Bertin rjvbertin at gmail.com
Wed Jun 15 11:42:10 UTC 2016


On Wednesday June 15 2016 12:59:46 Boudewijn Rempt wrote:

> Well, there's still weirdnesses going on with the rpath, but I solved that by running
> a fix-up script after doing a make install.

In which component(s)? I don't have any issues like that, but I build Qt in such a way that it puts full rpaths everywhere and my KF5 cmake command line has the necessary instructions too.
Evidently that makes it impossible to have movable shared libraries...

> I am still grateful for kate on OSX and Windows because I do have to use those platforms
> to build Krita, and all the other editors are !@#$%. 

Tastes differ ... TextWrangler and BBEdit are great editors that have been around for ages, whether they suit your needs and tastes or not.
It all depends on what you're used to, too. I still find it hard really to prefer something over vi[m] ^^


On Wednesday June 15 2016 12:50:27 meik michalke wrote:

> oh, sure, but i meant natively ;-) 

MacPorts, Fink and HB *are* native in that they're designed specifically for OS X. Apart from that, Apple has an updating mechanism for its own software, the App Store allows to push updates too, but that's about it.

> IIUC, the idea was to install precompiled shared libraries in standalone bundles, right?

To be precise, standalone bundles contain the libraries and everything else they need. Such bundles could just as well use static libraries (can KF5 frameworks be built as such??). That would probably reduce their footprint, actually.

> i was interested how this was 
> possible without a mechanism that warns if you replace/remove something that 
> is linked from a different bundle.

You can't or in any case you're not supposed to do that.
Standalone really means what it says: each bundle acts more or less as a sandbox, and in order for an application to be admissable to the App Store they're not even allowed to access any kind of resource from another application (except via declared shared frameworks - to be verified). They're also to be considered atomic, just like the Finder displays them with just an application icon, as if they were single executables. I wouldn't be surprised if a future OS X version enforces that some more, for instance by zipping everything up just like iOS applications are stored in zip archives.

If you want to share things (libraries) among bundles, you have to install those things to one of the official shared locations if you want to do it the "native" way. That means building the frameworks as ... frameworks (sorry, but Apple used that term first ^^) and installing them as /Library/Frameworks/KF5TextEditor.framework etc. Framework-specific resources that usually go under prefix/share can go into the framework bundle (KF5Foo.framework/Contents/Resources), things that are to be accessible by client code should go under, say, /Library/Application Support/KF5 .

R



More information about the kde-mac mailing list