Crafft: source and binary variants for the "same" blueprint
Thomas Friedrichsmeier
thomas.friedrichsmeier at kdemail.net
Thu Jun 16 10:30:50 BST 2022
Hi!
I'm wondering how to deal best with a situation where a blueprint
should be built from source on some platforms, but installed from
upstream binaries on others.
Sepcifically, I'm talking about RKWard. Our dependency R needs to use
upstream binaries on Mac and Windows(*), but, obviously, can only be
built from source on Linux (for AppImage).
I can think of three different approaches:
1) Provide a single blueprint that, however, will do quite different
things on the different platforms.
2) Provide a single blueprint "name", but in separate platform specific
variants, each in a _windows, _mac, or _linux folder.
3) Provide two separate blueprints "r-binary", and "r-source", which
each may not be available for all platforms. The depending blueprint
(i.e. rkward in this case) will have a platform-specific "if" to depend
on the most appropriate variant.
1) is probably going to make for a rather messy blueprint file. 2)
seems cleaner, but may still be somewhat non-obvious. 3) looks like a
clean an very flexible solution. However, it could create conflicts
between "r-binary" and "r-source", in case both are available on a
platform.
So which one to use?
This is also my question behind
https://invent.kde.org/packaging/craft-blueprints-kde/-/merge_requests/405
(perhaps I should have asked, here, in the first place).
Thanks!
Thomas
----
(*) Quick summary of the background: For one thing building R is
somewhat difficult, because a fortran compiler is needed. More
importantly, however, we need to support (thousands of) upstream
provided add-on packages, which, for Mac and Windows, are provided as
binaries, again.
This will not work, reliably, with a custom compiled R. On Windows it's
ABI details that will break our neck. On Mac it's the assumption of
fixed absolute paths under /Library/Frameworks.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://mail.kde.org/pipermail/kde-windows/attachments/20220616/04a544a5/attachment.sig>
More information about the Kde-windows
mailing list