GNOME Bugzilla – Bug 787329
Port to meson
Last modified: 2018-09-21 16:10:21 UTC
Meson [1] is a new but powerful build system that is quickly being embraced in the GNOME community [2]. Porting to it would give us much more readable build files and *much* faster build speeds. A WIP branch can be found at wip/nielsdg/meson [1] https://mesonbuild.com/ [2] https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting
I’m hesitant about this. folks is not currently actively developed, and so the benefits of switching to Meson will not affect many people. The downsides of porting are that it will likely break quite a few things which are currently working with the build system. I think this will have more disadvantages than advantages at the moment.
I get that this might not seem like a feature with too many advantages, but there is one use case for which building with Meson matters a lot. When I build a nightly Flatpak for gnome-contacts, every change on a master branch of one of the modules (including e-d-s) triggers a rebuild for that module, and all modules that depend on it. Now, that means folks needs to be built each time a commit is made on e-d-s. Using autotools in folks means that these build can be painfully slow (compared to meson at least), making the flatpak build a real chore. By porting to meson, I hope to alleviate a bit of the pain there. (That being said, I do agree with the lower priority, since I'm probably one of the few that stand to get a real benefit from it).
That is an advantage, but the disadvantages (most likely breaking some features of the build system) are high. This also ties in to the long-term plans for folks, which I still need to think about. There’s no point porting to Meson if the long-term plans for folks end up being ‘write a folks2 library from scratch in a language other than Vala’.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/folks/issues/97.