[build2] Boost package

Klaim - Joël Lamotte mjklaim at gmail.com
Tue Nov 6 14:16:45 UTC 2018


On Tue, 6 Nov 2018 at 14:15, Boris Kolpackov <boris at codesynthesis.com> wrote:
> What we can do in build2, however, is to bundle the corresponding
> version of the necessary CMake scripts (and/or depend on the
> corresponding version of the vcpkg "helper" package that would
> contain them) for each package version. In other words, making
> a build2 package out of vcpkg would result in a real build2
> package archive. And you may end up building libfoo-1.2.3 using
> vcpkg-123abcde and libbar-2.3.4 using vcpkg-124abcde.

While I have some ideas of how to do it, could you clarify what you
mean here by "making a build2 package out of vcpkg"?
Do you mean, as I initially understood it, "translate the vcpkg cmake
instructions to build2 buildfiles"?

> Our current plan (which, admittedly, might change based on feedback)
> for handling this is as follows:
>
> 1. For binary-only (e.g., proprietary) dependencies the answer is to
>    use the system package manager (build2 already provides support for
>    satisfying dependecies with system-installed packages).

While it might seem reasonable enough for most users, I think, note
that in my current dayjob we can't do that, for numerous reasons.

> 2. For packages that are available in source the idea is to reuse
>    distributed compilation and caching (and the precise binary
>    compatibility guarantees that it will require). In other words,
>    you should be able to reuse someone else's compilation results
>    whether they are for a third party dependency or for your own
>    code.

Although that seems like a good part of a solution, I'm not sure how
it would work in practice. Our experience with some of the distributed
compilation tools were catastrophic unfortunately.
Unfortunately I am not in position to test this kind of solution at
home so, let's check that in the future. I might be able to do some
checks of this at dayjob (is distributed build already ready?).

Joël



More information about the users mailing list