Evolution in Flatpak

As of Evolution release 3.26.0, users can build the latest stable (or development) version of Evolution using Flatpak. Such Evolution can be run on the host system in a pure sandbox, without changing anything in the system. It has its advantages and disadvantages. The main advantage is that there can still be installed any version of Evolution on the host system and the Flatpak version will not influence it at all. The main disadvantages are caused by no communication between the sandbox and the host system, thus the whole integration between Evolution and GNOME Online Accounts, GNOME Shell and other applications is non-existent, the same as for example notifications in the system, like when new mail message arrives or when an event reminder pops up (it applies only for the notification, not for the reminder window). Even these disadvantages can be considered obstacles for daily use, the Flatpak version can be used for early testing at least. Part of the Flatpak version is also evolution-ews, thus it can be used to connect to Microsoft Exchange servers using Exchange Web Services (EWS) protocol.

Initial build

Sections below show what to do to setup and build stable version of Evolution in Flatpak for the first time.

Install prerequisites

To be able to build the Flatpak version, flatpak and flatpak-builder is required to be installed on the system. The Flatpak site has steps how to install flatpak on various distributions, thus follow it and install also flatpak-builder. As a quick example, on Fedora:

Note the actual versions of the GNOME SDK and Platform (below is used version 3.26) can differ each release of Evolution. The exact expected version can be seen (or changed) in the .json file, the runtime-version key (line "runtime-version": "3.26",). Use the same version in the below install commands as is written in the runtime-version key of the .json file.

Once the build is done, its repository needs to be refreshed with the built bits:

flatpak build-export repo-stable org.gnome.Evolution-stable

Finally, update Evolution from the refreshed repository with:

flatpak --user update org.gnome.Evolution

Then run Evolution as before:

flatpak run org.gnome.Evolution

The Flatpak build of Evolution shows the git commit ID in Help->About at which the Evolution was when it had been built. It can be used to verify that the build contains the latest changes.

Clean up Flatpak data

As a quick reference, in case of removing the Flatpak version of Evolution from the system, check what is installed first:

flatpak list

and remove Evolution from there:

flatpak --user uninstall org.gnome.Evolution

Then also check what repositories are installed:

flatpak remotes

and remove the custom Evolution repository with:

flatpak --user remote-delete evolution-repo-stable

Sometimes the build can fail or be stopped by the user, then the flatpak-builder can left whole checkout without erasing it. In such cases, the files are stored in ~/flatpak/.flatpak-builder/build. The folder should be empty when nothing is building, thus remove anything left there after the build ends.