boost-1.65 moved --- /usr/include/boost/config/posix_features.hpp /usr/include/boost/config/select_compiler_config.hpp /usr/include/boost/config/select_platform_config.hpp /usr/include/boost/config/select_stdlib_config.hpp /usr/include/boost/config/suffix.hpp --- to /usr/include/boost/config/detail/posix_features.hpp /usr/include/boost/config/detail/select_compiler_config.hpp /usr/include/boost/config/detail/select_platform_config.hpp /usr/include/boost/config/detail/select_stdlib_config.hpp /usr/include/boost/config/detail/suffix.hpp --- Maybe a bunch of other include subdirs also, I don't know yet. I got this, because when compiling net-libs/libtorrent-rasterbar-1.1.4 the libtorrent hpp file: work/libtorrent-rasterbar-1.1.4/include/libtorrent/export.hpp # include <boost/config/select_compiler_config.hpp> is missing the new /detail/ subdirectory. --- Because this will happen furthermore for any other ebuild requesting the above moved includes, could I do a sed patching? like for example: sed -e's:<boost/config/select_compiler_config.hpp>$:<boost/config/detail/select_compiler_config.hpp>:' for all these include files for all future affected ebuilds. What is the way to go in such a case?
Created attachment 492742 [details, diff] libtorrent-rasterbar-1.1.4-with-boost-1.65.patch libtorrent-rasterbar misses two includes which where moved by the new version of boost-1.65 For to use this patch with a version<boost-1.65 this patch misses a needed version declaration.
See https://github.com/boostorg/config/commit/3fbf51f31a891a604363bcaec98984d40b38a4eb#diff-fbf02f971e042d391a3dad44b8726a0b and https://svn.boost.org/trac10/ticket/12328 Any headers in the 'detail' directory are an implementation *detail*. If you rely on them, and a boost update breaks your package, then tough luck. sed's are an awful hack - the proper solution is to check which *public* headers you need to include, and then rely on those.
Created attachment 492926 [details, diff] boost-config.patch Try this patch, works fine for me on 1.65. And yes, deleting all the manual macro detection stuff is a feature, in order to break loud and clearly should the older boost/config.hpp headers not provide the necessary macros.
Fixed in https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58d30be41daa34f565ab38ab7d92c64fe92acf5d