[build2] build2 0.12.0 released

Matthew Krupcale mkrupcale at matthewkrupcale.com
Thu Nov 21 23:38:39 UTC 2019

On Wed, Nov 20, 2019 at 7:36 AM Boris Kolpackov <boris at codesynthesis.com> wrote:
> We have released build2 toolchain version 0.12.0.

First off, congratulations on this major release. I think the new
dynamic build system modules system makes build2 quite unique,
extensible, and powerful. I know Bazel has the Skylark/Starlark
Python-like language, and CMake and Meson have modules, but as far as
I can tell, none of these can be as powerful as a C++ build system
module for build2. In the case of Bazel, I believe this is partially
by design in order to have tighter restrictions on the build, but
nonetheless, I think build2 has a lot of potential to do much more
than Bazel, CMake, or Meson ever can. In the case of the latter two,
this is especially true since they will always be limited by their
target build system(s).

Secondly, I'm almost done getting the Fedora update ready and have
done some test builds[1]. One thing I found, though, is that RPM does
not want any artifacts to reference the $RPM_BUILD_ROOT which is used
as the config.install.chroot inside the mock build chroot, and with
the addition of libbuild2/config/host-config.cxx.in in this release,
$RPM_BUILD_ROOT is added to the libbuild2 library. Thus, I'm currently
applying a patch[2] to the libbuild2 buildfile to remove it, but I
wonder if you have any thoughts on whether this is the best approach.

I can see that it might be useful to preserve config.install.chroot in
the general case (e.g. you're building a chroot for a new
toolchain/distribution), but I certainly don't want this internal
Fedora build-system detail escaping to general users of build2. I can
also see how it might be nice to be able to recall the host build
configuration, so while I would prefer not to have to carry a patch
downstream, this might be the best course of action since it's
specific to building for RPM.


[1] https://copr.fedorainfracloud.org/coprs/mkrupcale/build2/build/1114356/
[2] https://copr-dist-git.fedorainfracloud.org/cgit/mkrupcale/build2/build2.git/tree/build2-libbuild2-buildfile-host_config-RPM_BUILD_ROOT.patch?id=90650d646b4a5ad99768d5bc3bc4145b5a6c2ac4

More information about the users mailing list