[build2] build2 0.12.0 released

Matthew Krupcale mkrupcale at matthewkrupcale.com
Tue Nov 26 14:03:28 UTC 2019

On Tue, Nov 26, 2019 at 2:37 AM Boris Kolpackov <boris at codesynthesis.com> wrote:
> Ok, as I understand, this relates to BuildStream[1] (those .bst files)
> and I see they say multiple build systems are supported. I guess this
> is where build2 fits in?

Kind of. So BuildStream is used to build the Flatpak runtimes. Then
there are Flatpak manifests[1] which are used to build the Flatpak
applications on top of the runtime / Sdk. Both of these
(BuildStream[2,3] and flatpak-builder[4,5]) have their own support for
various specific build systems, as well as generic (i.e. "manual" or
"simple") ones. But it looks like both of these are more "nice to
have" usability features kind of like my RPM macros for build2, while
getting build2 into the Flatpak Sdk runtime is required to use it at
all (either for other components of the runtime or Flatpak

Side note: I wasn't aware of these things before, so thanks for letting me know.

> I use Emacs in the make mode to edit buildfiles. This gives pretty
> decent syntax highlighting.

I just tested this, and yeah, it gets most of the way there.

> One potential complication in supporting Buildfile syntax highlighting
> in editors/IDEs is our use of context-dependent lexing (meaning that we
> change lexer modes depending on what we are parsing).

Yeah, I guess it depends on how robust the syntax highlighting
grammars are for each editor. I've never written an Emacs mode or
GtkSourceView language, but it should be possible to do at least as
well as the Makefile modes.

[1] http://docs.flatpak.org/en/latest/manifests.html
[2] https://buildstream.gitlab.io/buildstream/core_plugins.html#build-elements
[3] https://gitlab.com/BuildStream/buildstream/blob/master/src/buildstream/buildelement.py
[4] http://docs.flatpak.org/en/latest/flatpak-builder-command-reference.html
[5] https://github.com/flatpak/flatpak-builder/blob/8cd9401619e81ece4e11008bdedfb6f53e67903e/src/builder-module.c#L1446

More information about the users mailing list