The BH package provides a sizeable portion of the Boost C++ libraries as a set of template headers for use by R. It is quite popular, and frequently used together with Rcpp. The BH CRAN page shows e.g. that it is used by rstan, dplyr as well as a few other packages. The current count of reverse dependencies is at 193.
Boost releases every four months. The last release we packaged was 1.69 from last December, prepared just before CRAN’s winter break. As it needed corresponding changes in three packages using it, it arrived on CRAN early January of this year. The process was much smoother this time. Yesterday I updated the package to the Boost 1.72 release made last Wednesday, and we are on CRAN now as there are no apparent issues. Of course, this BH release was also preceded by a complete reverse-depends check on my end, as well as on CRAN.
As you may know, CRAN tightened policies some more. Pragmas suppressing compiler warnings are verboten so I had to disable a few (see this patch file). Expect compilations of packages using Boost, and BH, to be potentially very noisy. Consider adding flags to your local ~/.R/Makeconf
and we should add them to the src/Makevars
as much as we can. Collecting a few of these on a BH wiki page may not be a bad idea. Contributions welcome!
One change we now made is to actually start fresh, rather than from the previous release. That way we reflect upstream removals better than before. So even though the upstream source release grew, our release tarball is a little smaller than before. Yay. That is likely a one-off, though, and the file is still Yuge.
As far as regularly scheduled changes go, we responded to three issue tickets and added two more (small) libraries, and also attempted to clean up one (which does not fully disappear due to interdependencies).
A detailed list of our local changes from the NEWS file follows. Two diffs to upstream Boost (for diagnostics, plus another small one for path length and other minor issues) are in the repo as well.
Changes in version 1.72.0-1 (2019-12-15)
Applied the standard minimal patch with required changes, as well as the newer changeset for diagnostics pragma suppression.
No longer install filesystem _explicitly_ though some files are carried in (#55)
Via CRANberries, there is a diffstat
report relative to the previous release.
Comments and suggestions about BH are welcome via the issue tracker at the GitHub repo.
If you like this or other open-source work I do, you can now sponsor me at GitHub. For the first year, GitHub will match your contributions.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.