After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 779599 - build: Add meson support
build: Add meson support
Status: RESOLVED FIXED
Product: polari
Classification: Applications
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: Polari maintainers
Polari maintainers
Depends on:
Blocks:
 
 
Reported: 2017-03-05 00:31 UTC by Florian Müllner
Modified: 2017-03-11 17:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
build: Support the meson build system (9.10 KB, patch)
2017-03-05 00:31 UTC, Florian Müllner
committed Details | Review
build: Add back typelib checks (3.35 KB, patch)
2017-03-05 00:31 UTC, Florian Müllner
rejected Details | Review
flatpak: Build with meson (2.73 KB, patch)
2017-03-05 00:32 UTC, Florian Müllner
committed Details | Review
build: Use imports.gi.has() instead of custom script (2.53 KB, patch)
2017-03-05 00:32 UTC, Florian Müllner
rejected Details | Review

Description Florian Müllner 2017-03-05 00:31:45 UTC
See patches. The last patch depends on bug 779593 that may or may not happen ...
Comment 1 Florian Müllner 2017-03-05 00:31:52 UTC
Created attachment 347242 [details] [review]
build: Support the meson build system

Meson is the hottest contender to replace the dated autoconf build
system through-out the GNOME project, so supporting it seems like
a good idea, in particular as it can happily coexist with the
existing build system.
Also, did someone mention that it's really fast?
Comment 2 Florian Müllner 2017-03-05 00:31:58 UTC
Created attachment 347243 [details] [review]
build: Add back typelib checks

The AX_CHECK_GIR* macros are a nice way to catch runtime bugs that
are triggered by users not updating dependencies. Unfortunately
the meson developers rejected this functionality for their build
system, so we have to implement the checks ourselves to not lose
the feature.
This is still somewhat inferior to the autoconf macros as it uses
meson's built-in testing ability, which is only executed when
explicitly requested by the user; still, getting into the habit
of asking users to run the tests when debugging their issues should
be a workable compromise ...
Comment 3 Florian Müllner 2017-03-05 00:32:05 UTC
Created attachment 347244 [details] [review]
flatpak: Build with meson

Meson is a fast-moving project, and while we don't require the very
latest version, the requirement is still recent enough to not
assume its general availability. However when building the flatpak,
we can easily ensure a recent enough version by bundling, so switch
the manifest to meson builds.
Comment 4 Florian Müllner 2017-03-05 00:32:11 UTC
Created attachment 347245 [details] [review]
build: Use imports.gi.has() instead of custom script

GJS' built-in symbol check simplifies tests enough for us to drop
the custom script.
Comment 5 Florian Müllner 2017-03-11 17:29:12 UTC
I'll drop the runtime typelib check patches for now. The discussion in bug 779593 is still ongoing, but it is clear that we will have built-in symbol checks in gjs. As far as meson is concerned, this is good enough for me for now:
The main point of the checks is so we don't have to debug oddities that are caused by updating polari without updating dependencies - the most likely case is "jhbuild buildone", which will still use autotools. There have also been some fringe distro packagers recently, but those are also going to continue with autotools for some time.
In conclusion - I don't see why we should not enjoy faster builds in flatpak/builder right now, so I'm gonna land this.
Comment 6 Florian Müllner 2017-03-11 17:39:15 UTC
Attachment 347242 [details] pushed as be9e0b2 - build: Support the meson build system
Attachment 347244 [details] pushed as 33981bb - flatpak: Build with meson