[KDE/Mac] Creating a OS X packaging receipt for DMGs?

Kevin Funk kfunk at kde.org
Tue Mar 8 10:17:53 UTC 2016


On Tuesday, March 8, 2016 10:37:26 AM CET René J.V. Bertin wrote:
> On Monday March 07 2016 23:47:43 Aleix Pol wrote:
> >> are some of the OS X guys interested in implementing something like this
> >> below for KDevelop?
> >> 
> >>   https://quickgit.kde.org/?p=kate.git&a=blob&f=mac.txt
> 
> Personally not really, unless there are billable hours involved (sadly I'm
> only half-joking there).
> >> Of course you'd need to add LLVM/Clang/kdevelop-pg-qt, etc. as
> >> dependency.
> 
> Are you really thinking of embedding a full LLVM+Clang installation in the
> KDevelop app bundle? AFAICR, the LLVM and Clang 3.7 ports both come in
> .tbz2 archives that are over 300Mb a piece; I think the installed footprint
> is around 1.5Gb. Don't you think that's going to be somewhat dissuasive if
> you know that developers on OS X already can hardly get around installing
> all-encompassing Xcode which already took up close to 5Gb on OS X 10.9?

I just want to ship libclang + deps. Which, for instance, on my system is just 
around 50M ("unoptimized", from distro packages).

# ldd libKDevClangPrivate.so | grep -i llvm                                    
        libclang-3.7.so.1 => /usr/lib/llvm-3.7/lib/libclang-3.7.so.1 
(0x00007f01ae2b3000)
        libLLVM-3.7.so.1 => /usr/lib/x86_64-linux-gnu/libLLVM-3.7.so.1 
(0x00007f01a6260000)

# ll -Lh ...
-rw-r--r-- 1 root root 14M Mar  7 12:59
  /usr/lib/llvm-3.7/lib/libclang-3.7.so.1
-rw-r--r-- 1 root root 36M Mar  7 13:00 
  /usr/lib/x86_64-linux-gnu/libLLVM-3.7.so.1

On Windows, it's even less, because everything is linked statically into one 
single DLL, unused symbols are stripped: libclang.dll (~ 20 MB)

Note: I don't want to ship the Clang toolchain, I just want to ship what's 
required for the KDevelop parser. Huge difference.

> If Apple didn't change their way of deploying Clang in more recent Xcode
> versions, it will still be impossible to build KDevelop against the
> obligatory compiler. Regardless of how you deploy KDevelop that's a pity;
> in my current MacPorts port it means we need a parallel LLVM+Clang install
> only for KDevelop's parser (or almost only, because there's usually little
> reason not to use Xcode's clang; Qt's qmake set-up actually makes that
> really complicated). But at least with MacPorts one can deactivate the
> clang and LLVM ports when not using KDevelop5, which basically means you
> keep the corresponding tarball images around only.

So, you agree it's easier to just ship our own version...?

> I know many people will probably have little patience with arguments about
> disk space footprints but don't forget we're talking about hardware in
> which it's becoming increasingly difficult (impossible) to upgrade the
> built in disk (and RAM, for that matter). 

Note that compared to other IDEs, KDevelop still has a *super* low image size. 
KDevelop is around ~ 300 MB unpacked on Windows, including all deps such as 
Qt5/KF5/Clang/LLVM. Compare that to other IDEs.

There's still a high optimization possibility by stripping some or packing all 
icons.

> Maybe there won't be any
> noticeable performance drop when running KDevelop from an external mounted
> over USB, but I can tell you it's really demotivating to have to wait
> regularly for the parser when you're typing new code or doing a "fast" edit
> in existing code.

Unrelated, sorry.

> So does KDevelop really need a full LLVM+Clang install (at runtime and/or
> build time)? Wouldn't it be possible somehow to point the parser to an
> existing clang install, like the one provided in Xcode?

Just libclang is needed. Not a full LLVM+Clang install.

> >> Bonus points for a bit of generalization of that script, and putting into
> >> a
> 
> As in "overtime"? ;)
> 
> >> Did anyone else succeed in generating a usable, up-to-date .dmg for
> >> KDevelop yet?
> >
> >Asking kde-mac... :)
> 
> I sure didn't, though any MacPorts user could try `port dmg kdevelop` or
> `port mdmg kdevelop` (the latter is supposed to include all dependencies).
> Of course that would bundle the current port release (4.7x) and I suppose
> it will rather create an installer package than an app bundle that you can
> just drag to wherever you want it.
> 
> OTOH, there is Gilles Caulier who wrote a script that bundles digiKam from
> MacPorts. I may be mistaken but I think he managed to create a standalone
> app bundle from the MacPorts digiKam install. That may be easier with
> Qt4/KDE4 applications than with Qt5-based ones though, thanks to the
> KStandardDirs instead of QStandardPaths.

Sorry, I'm not really familiar with MacPorts.

Cheers,
Kevin

> R.
> _______________________________________________
> KDevelop-devel mailing list
> KDevelop-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kdevelop-devel


-- 
Kevin Funk | kfunk at kde.org | http://kfunk.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20160308/f7df047a/attachment.sig>


More information about the KDevelop-devel mailing list