[SailfishDevel] Mer PIM build questions

Martin Kampas martin.kampas at jolla.com
Fri Jan 19 05:43:41 UTC 2018


Hi Lukáš,

First of all it may be worth noting that there is a "slight" difference between Ubuntu and Mer/Sailfish OS operating systems :) This has at least two implications: 1) not all Mer packages can be build against Ubuntu without modifications and 2) packages built against Ubuntu are not likely to work when deployed to a device running Mer/Sailfish OS.

If you are on Linux, get Sailfish OS Platform SDK [1]. If you are on Windows or Mac or if you want to use a Qt Creator based IDE on whichever platform, get Sailfish OS Application SDK [2].

There may be some hiccups while building these lower level packages with the application SDK but the workaround [3] pointed out by Chris shouldn't be needed unless I miss something. I tried to build buteo-sync-plugin-caldav with application SDK on Linux and Windows and the file permissions listed with `rpm -qlvp RPMS/*` seemed correct. The Qt Creator based IDE only works with qmake driven projects.

A frequent issue with these lower level packages is that they do not use the magic qtc_* macros in their RPM .spec files. See this example project to learn how to use these macros [4] (referred by [5]). Without these macros the build tool `mb2` (used directly or indirectly via Qt Creator) cannot separate qmake and make execution and more. You can start your contribution by adding these macros to buteo-sync-plugin-* packages for your own convenience :)

You don't need to bother with dependencies. All dependencies will be installed automatically upon the first build.

BR,
Martin

[1] https://sailfishos.org/wiki/Platform_Development
[2] https://sailfishos.org/wiki/Application_Development
[3] You don't need this https://sailfishos.org/wiki/CalDAV_and_CardDAV_Community_Contributions#Development_With_The_Sailfish_OS_Application_Developer_SDK
[4] https://github.com/sailfishos/cppqml-sample/blob/master/rpm/cppqml.spec
[5] https://sailfishos.org/wiki/Tutorial_-_Combining_C%2B%2B_with_QML


________________________________________
From: Devel [devel-bounces at lists.sailfishos.org] on behalf of Lukáš Karas [lukas.karas at centrum.cz]
Sent: Thursday, January 18, 2018 4:35 PM
To: devel at lists.sailfishos.org
Subject: Re: [SailfishDevel] Mer PIM build questions

Dne čtvrtek 18. ledna 2018 15:05:19 CET Pekka Vuorela napsal(a):
> On Thu, 2018-01-18 at 12:57 +0100, Lukáš Karas wrote:
> > Now the main question - when I try to build mer-core/timed, there are
> > few
> > `*.type` files that should be compiled by `iodata-qt5-type-to-c++`
> > tool.
> > But how this should be done in the build? In
> > src/server/server.pro:17
> > is defined IODATA_TYPES with list of these files, but there is
> > nothing about
> > it in generated Makefile. There is some qmake plugin or preparison
> > step
> > that I overlook?
>
> server.pro: CONFIG += iodata-qt5
> Suppose that picks up above. libiodata there:
> https://git.merproject.org/mer-core/libiodata
>
> Do wonder a bit where's the need for timed compilation, though.

Timed is required by mKCal, see:
https://git.merproject.org/mer-core/mkcal/blob/master/src/src.pro#L44

I do something wrong probably, I already have iodata in image:
https://github.com/Karry/mer-devel/blob/master/pim-docker/Dockerfile

>
> _______________________________________________
> SailfishOS.org Devel mailing list
> To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org


More information about the Devel mailing list