We're working on updating Boost to 1.70.0 < 
https://github.com/macports/macports-ports/pull/4243 > ... we'd value others 
participating, BTW! Thus far many ports work out of the box with it (current 
Boost in MacPorts is 1.66.0, so there are some significant bug fixes and API 
changes to deal with); many of the ports that depend on Boost just need small 
tweaks to get them working; a few are above our amount of effort available & we 
hope upstream or someone so motivated fixes them.  ... but that's not what this 
email is about.

I'm looking for advice on how to move forward with Boost 1.70.0's CMake find 
scripts: do we just not install them? Or do we patch them via what upstream has 
already done? Or do we just wait for 1.70.1 -- which will contain those fixes 
-- to be released & skip 1.70.0 entirely (and, ban it from ports in which we 
easily can do so)?

Here's the scoop, for those curious to know:

One change with -huge- impact that is installed by default by Boost 1.70.0 is 
CMake "find" scripts ... which as it turns out were -not- ready for release 
just yet. Boost folks already have a fix upstream, and I sincerely hope they 
come out with 1.70.1 with these fixes. Virtually -all- projects using CMake to 
find Boost via the Boost 1.70.0-provided CMake find scripts will fail to 
configure or build due to issues with these scripts.

CMake has for years provided a "FindBoost.cmake" script that has been 
reasonably robust, and they still are. This script works very robustly within 
MacPorts, because we abide by the common ABI naming variants that it checks for.

Luckily, Boost 1.70.0 provides an option to not install its CMake find scripts 
... so, at least within MacPorts we can control whether these scripts are not 
installed and thus are not used, at least for 1.70.0. To Boost's credit, their 
fixed-up CMake find scripts are much more robust than the single one provided 
by CMake, and can be installed in parallel with other future Boost CMake find 
scripts (because of their naming, over which we have no control, but which 
include the whole version number).

Hence my looking for advice. Thanks in advance for your thoughts! - MLD

Reply via email to