commit: 321ca79feff43ef373c7345dfb957c4a653fe795 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Thu Jul 17 21:34:47 2025 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Tue Jul 22 20:48:31 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=321ca79f
dev-libs/boost: drop 1.85.0-r1, 1.86.0-r1, 1.87.0-r3 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> dev-libs/boost/Manifest | 3 - dev-libs/boost/boost-1.85.0-r1.ebuild | 363 ------------------ dev-libs/boost/boost-1.86.0-r1.ebuild | 360 ------------------ dev-libs/boost/boost-1.87.0-r3.ebuild | 359 ------------------ ...5.0-01-fix_unsupported_long_double_macros.patch | 111 ------ ....0-02-fix_unsupported_long_double_formats.patch | 29 -- ...ests_with_unsupported_long_double_layouts.patch | 420 --------------------- .../boost-1.85.0-04-remove_cruft_codeblock.patch | 52 --- .../files/boost-1.85.0-05-fix_macro_name.patch | 356 ----------------- .../boost/files/boost-1.85.0-bcp-filesystem.patch | 188 --------- .../files/boost-1.85.0-container-aliasing.patch | 408 -------------------- .../boost/files/boost-1.85.0-python-numpy-2.patch | 26 -- .../files/boost-1.86.0-uuid-compute-backport.patch | 30 -- dev-libs/boost/files/boost-1.87.0-move.patch | 74 ---- .../files/boost-1.87.0-smart_ptr-operator.patch | 40 -- dev-libs/boost/files/boost-1.87.0-solaris.patch | 25 -- .../boost/files/boost-1.87.0-thread-typo.patch | 28 -- 17 files changed, 2872 deletions(-) diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest index 9666c69d7af6..38b7379c8e32 100644 --- a/dev-libs/boost/Manifest +++ b/dev-libs/boost/Manifest @@ -1,4 +1 @@ -DIST boost_1_85_0.tar.bz2 124015250 BLAKE2B dd72a9299cd78d2c260e1c94e28ba04daaa352f5bd023d99e43caa3540b1e0f8c09fc04b91f68db0ef8532e4a91fdef0b66a80bf0f9f838303bccaf0729bf581 SHA512 b4489813a4192b57626589457932338cfc47c4ec05c19b3a58b2d8df9e95f022ff2f5f452811ff82d1cec4fb0a490e991c8825bad0fb5a81318d07a8788d8ca0 -DIST boost_1_86_0.tar.bz2 126220652 BLAKE2B de3d262e3dc174813e8e9abc8fb083ae101949dbd3b818b1114457497607085dc998f6f0fdd095a87c38c90700761c825ce239b082144389507c0fec77d527dd SHA512 9f8144e07a44cc5b5be6c6da17b2e6f29f0637dda345764c89eac0bcb9ce2878469a7e6fcd2c96d25034937025768450b33fc14fb40470fa4806bfcf03330e75 -DIST boost_1_87_0.tar.bz2 131473200 BLAKE2B 8bbd163ab2fcdd29e2dbe74fdab49b2c80b4ea58df40e39148d151911f2c81188e7fe44faf61905eddfc5615b5003932e0ea85a6527844f55ee121595173adfa SHA512 a2d5007953f67b816169efe0cf11675cd63fc6bae63f87ee1372515e57913ef6cf6ae8c3f2c400fef8ce63a035a02a0cad0da5acc29e977a85d458625b2a719c DIST boost_1_88_0.tar.bz2 143894119 BLAKE2B b42daa4b3ee840715f3b2cd689e585521839345d88d3e318cf96feeb3f48cb6f6723be5fffa5440a350956aecfab9fd36cbbf0dee54318c572aa1d14eeedd158 SHA512 c3a6a70e1e7d826882745ff92ac8fe7cb2a69b5974ba2275d8e130955f91163cbc4e6ccfbae19a7a92d478a8cb9de2458f73324b183596b3a2a69b1d5a75b3e9 diff --git a/dev-libs/boost/boost-1.85.0-r1.ebuild b/dev-libs/boost/boost-1.85.0-r1.ebuild deleted file mode 100644 index 6a221999ded5..000000000000 --- a/dev-libs/boost/boost-1.85.0-r1.ebuild +++ /dev/null @@ -1,363 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Keep an eye on both of these after releases for patches: -# * https://www.boost.org/patches/ -# * https://www.boost.org/users/history/version_${MY_PV}.html -# (e.g. https://www.boost.org/users/history/version_1_83_0.html) -# Note that the latter may sometimes feature patches not on the former too. - -# FIXME: cleanup subslot after 1.85.0 - -PYTHON_COMPAT=( python3_{11..13} ) - -inherit dot-a flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal - -MY_PV="$(ver_rs 1- _)" - -DESCRIPTION="Boost Libraries for C++" -HOMEPAGE="https://www.boost.org/" -SRC_URI="https://archives.boost.io/release/${PV}/source/boost_${MY_PV}.tar.bz2" -S="${WORKDIR}/${PN}_${MY_PV}" - -LICENSE="Boost-1.0" -SLOT="0/${PV}.1" # ${PV} instead of the major version due to bug 486122 -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="bzip2 +context debug doc icu lzma +nls mpi numpy python +stacktrace tools zlib zstd" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -# the tests will never fail because these are not intended as sanity -# tests at all. They are more a way for upstream to check their own code -# on new compilers. Since they would either be completely unreliable -# (failing for no good reason) or completely useless (never failing) -# there is no point in having them in the ebuild to begin with. -RESTRICT="test" - -RDEPEND=" - bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] ) - icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) - !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] ) - mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] ) - python? ( - ${PYTHON_DEPS} - numpy? ( dev-python/numpy:=[${PYTHON_USEDEP}] ) - ) - zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND}" -BDEPEND=">=dev-build/b2-5.0.0" - -PATCHES=( - "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch - "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch - "${FILESDIR}"/${PN}-1.85.0-bcp-filesystem.patch - "${FILESDIR}"/${PN}-1.85.0-python-numpy-2.patch - "${FILESDIR}"/${PN}-1.85.0-container-aliasing.patch - "${FILESDIR}"/${PN}-1.85.0-01-fix_unsupported_long_double_macros.patch - "${FILESDIR}"/${PN}-1.85.0-02-fix_unsupported_long_double_formats.patch - "${FILESDIR}"/${PN}-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch - "${FILESDIR}"/${PN}-1.85.0-04-remove_cruft_codeblock.patch - "${FILESDIR}"/${PN}-1.85.0-05-fix_macro_name.patch -) - -create_user-config.jam() { - local user_config_jam="${BUILD_DIR}"/user-config.jam - if [[ -s ${user_config_jam} ]]; then - einfo "${user_config_jam} already exists, skipping configuration" - return - else - einfo "Creating configuration in ${user_config_jam}" - fi - - local compiler compiler_version compiler_executable="$(tc-getCXX)" - compiler="gcc" - compiler_version="$(gcc-version)" - - if use mpi; then - local mpi_configuration="using mpi ;" - fi - - cat > "${user_config_jam}" <<- __EOF__ || die - using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CPPFLAGS} ${CFLAGS}" <cxxflags>"${CPPFLAGS} ${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ; - ${mpi_configuration} - __EOF__ - - if multilib_native_use python; then - append_to_user_config() { - local py_config - if tc-is-cross-compiler; then - py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;" - else - py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;" - fi - echo "${py_config}" >> "${user_config_jam}" || die - } - python_foreach_impl append_to_user_config - fi - - if multilib_native_use python && use numpy; then - einfo "Enabling support for NumPy extensions in Boost.Python" - else - einfo "Disabling support for NumPy extensions in Boost.Python" - - # Boost.Build does not allow for disabling of numpy - # extensions, thereby leading to automagic numpy - # https://github.com/boostorg/python/issues/111#issuecomment-280447482 - sed \ - -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \ - -i "${BUILD_DIR}"/libs/python/build/Jamfile || die - fi -} - -pkg_setup() { - # Bail out on unsupported build configuration, bug #456792 - if [[ -f "${EROOT}"/etc/site-config.jam ]]; then - if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then - eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets." - eerror "Boost can not be built in such configuration." - eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it." - die "Unsupported target in ${EROOT}/etc/site-config.jam" - fi - fi -} - -src_prepare() { - default - multilib_copy_sources -} - -ejam() { - create_user-config.jam - - local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" ) - if multilib_native_use python; then - append_to_b2_opts() { - b2_opts+=( python="${EPYTHON#python}" ) - } - python_foreach_impl append_to_b2_opts - else - b2_opts+=( --without-python ) - fi - b2_opts+=( "$@" ) - - echo b2 "${b2_opts[@]}" >&2 - b2 "${b2_opts[@]}" -} - -src_configure() { - # -Werror=odr - # https://bugs.gentoo.org/943975 - # https://github.com/boostorg/quickbook/issues/27 - # https://github.com/boostorg/spirit/issues/800 - use tools && filter-lto - - lto-guarantee-fat - - # Workaround for too many parallel processes requested, bug #506064 - [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64" - - # We don't want to end up with -L/usr/lib on our linker lines - # which then gives us lots of - # skipping incompatible /usr/lib/libc.a when searching for -lc - # warnings - [[ -n ${ESYSROOT} ]] && local icuarg="-sICU_PATH=${ESYSROOT}/usr" - - OPTIONS=( - $(usex debug gentoodebug gentoorelease) - "-j$(makeopts_jobs)" - -q - -d+2 - pch=off - $(usex icu "${icuarg}" '--disable-icu boost.locale.icu=off') - $(usev !mpi --without-mpi) - $(usev !nls --without-locale) - $(usev !context '--without-context --without-coroutine --without-fiber') - $(usev !stacktrace --without-stacktrace) - --boost-build="${BROOT}"/usr/share/b2/src - --layout=system - # building with threading=single is currently not possible - # https://svn.boost.org/trac/boost/ticket/7105 - threading=multi - link=shared - # this seems to be the only way to disable compression algorithms - # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build - -sNO_BZIP2=$(usex bzip2 0 1) - -sNO_LZMA=$(usex lzma 0 1) - -sNO_ZLIB=$(usex zlib 0 1) - -sNO_ZSTD=$(usex zstd 0 1) - ) - - if [[ ${CHOST} == *-darwin* ]]; then - # We need to add the prefix, and in two cases this exceeds, so prepare - # for the largest possible space allocation. - append-ldflags -Wl,-headerpad_max_install_names - fi - - # Use C++17 globally as of 1.80 - append-cxxflags -std=c++17 - - if [[ ${CHOST} != *-darwin* ]]; then - # On modern macOS, file I/O is already 64-bit by default, - # there's no support for special options like O_LARGEFILE. - # Thus, LFS must be disabled. - # - # On other systems, we need to enable LFS explicitly for 64-bit - # offsets on 32-bit hosts (#894564) - append-lfs-flags - fi -} - -multilib_src_compile() { - ejam \ - --prefix="${EPREFIX}"/usr \ - "${OPTIONS[@]}" || die - - if multilib_native_use tools; then - pushd tools >/dev/null || die - ejam \ - --prefix="${EPREFIX}"/usr \ - "${OPTIONS[@]}" \ - || die "Building of Boost tools failed" - popd >/dev/null || die - fi -} - -multilib_src_install() { - ejam \ - --prefix="${ED}"/usr \ - --includedir="${ED}"/usr/include \ - --libdir="${ED}"/usr/$(get_libdir) \ - "${OPTIONS[@]}" install || die "Installation of Boost libraries failed" - - if multilib_native_use tools; then - dobin dist/bin/* - - insinto /usr/share - doins -r dist/share/boostbook - fi - - # boost's build system truely sucks for not having a destdir. Because for - # this reason we are forced to build with a prefix that includes the - # DESTROOT, dynamic libraries on Darwin end messed up, referencing the - # DESTROOT instread of the actual EPREFIX. There is no way out of here - # but to do it the dirty way of manually setting the right install_names. - if [[ ${CHOST} == *-darwin* ]]; then - einfo "Working around completely broken build-system(tm)" - local d - for d in "${ED}"/usr/lib/*.dylib; do - if [[ -f ${d} ]]; then - # fix the "soname" - ebegin " correcting install_name of ${d#${ED}}" - install_name_tool -id "/${d#${D}}" "${d}" - eend $? - # fix references to other libs - # these paths look like this: - # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/ - # threadapi-pthread/threading-multi/visibility-hidden/ - # libboost_thread.dylib - refs=$(otool -XL "${d}" | \ - sed -e '1d' -e 's/^\t//' | \ - grep "libboost_" | \ - cut -f1 -d' ') - local r - for r in ${refs}; do - # strip path prefix from references, so we obtain - # something like libboost_thread.dylib. - local r_basename=${r##*/} - - ebegin " correcting reference to ${r_basename}" - install_name_tool -change \ - "${r}" \ - "${EPREFIX}/usr/lib/${r_basename}" \ - "${d}" - eend $? - done - fi - done - fi -} - -multilib_src_install_all() { - if ! use numpy; then - rm -r "${ED}"/usr/include/boost/python/numpy* || die - fi - - if use python; then - if use mpi; then - move_mpi_py_into_sitedir() { - python_moduleinto boost - - python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so - rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die - - python_optimize - } - python_foreach_impl move_mpi_py_into_sitedir - else - rm -r "${ED}"/usr/include/boost/mpi/python* || die - fi - else - rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die - fi - - if ! use nls; then - rm -r "${ED}"/usr/include/boost/locale || die - fi - - if ! use context; then - rm -r "${ED}"/usr/include/boost/context || die - rm -r "${ED}"/usr/include/boost/coroutine{,2} || die - rm "${ED}"/usr/include/boost/asio/spawn.hpp || die - fi - - if use doc; then - # find extraneous files that shouldn't be installed - # as part of the documentation and remove them. - find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die - find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die - find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die - - docinto html - dodoc *.{htm,html,png,css} - dodoc -r doc libs more tools - - # To avoid broken links - dodoc LICENSE_1_0.txt - - dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost - fi - - strip-lto-bytecode -} - -pkg_preinst() { - # Yay for having symlinks that are nigh-impossible to remove without - # resorting to dirty hacks like these. Removes lingering symlinks - # from the slotted versions. - local symlink - for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do - if [[ -L ${symlink} ]]; then - rm -f "${symlink}" || die - fi - done - - # some ancient installs still have boost cruft lying around - # for unknown reasons, causing havoc for reverse dependencies - # Bug: 607734 - rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die -} - -pkg_postinst() { - elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as" - elog - elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation" - elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'" - elog - elog "Then you need to recompile Boost and all its reverse dependencies" - elog "using the same toolchain. In general, *every* change of the C++ toolchain" - elog "requires a complete rebuild of the Boost-dependent ecosystem." - elog - elog "See for instance https://bugs.gentoo.org/638138" -} diff --git a/dev-libs/boost/boost-1.86.0-r1.ebuild b/dev-libs/boost/boost-1.86.0-r1.ebuild deleted file mode 100644 index 9652542941e0..000000000000 --- a/dev-libs/boost/boost-1.86.0-r1.ebuild +++ /dev/null @@ -1,360 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Keep an eye on both of these after releases for patches: -# * https://www.boost.org/patches/ -# * https://www.boost.org/users/history/version_${MY_PV}.html -# (e.g. https://www.boost.org/users/history/version_1_83_0.html) -# Note that the latter may sometimes feature patches not on the former too. - -PYTHON_COMPAT=( python3_{11..13} ) - -inherit dot-a flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal - -MY_PV="$(ver_rs 1- _)" - -DESCRIPTION="Boost Libraries for C++" -HOMEPAGE="https://www.boost.org/" -SRC_URI="https://archives.boost.io/release/${PV}/source/boost_${MY_PV}.tar.bz2" -S="${WORKDIR}/${PN}_${MY_PV}" - -LICENSE="Boost-1.0" -SLOT="0/${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="bzip2 +context debug doc icu lzma +nls mpi numpy python +stacktrace tools zlib zstd" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -# the tests will never fail because these are not intended as sanity -# tests at all. They are more a way for upstream to check their own code -# on new compilers. Since they would either be completely unreliable -# (failing for no good reason) or completely useless (never failing) -# there is no point in having them in the ebuild to begin with. -RESTRICT="test" - -RDEPEND=" - bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] ) - icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) - !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] ) - mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] ) - python? ( - ${PYTHON_DEPS} - numpy? ( dev-python/numpy:=[${PYTHON_USEDEP}] ) - ) - zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND}" -BDEPEND=">=dev-build/b2-5.1.0" - -PATCHES=( - "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch - "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch - "${FILESDIR}"/${PN}-1.85.0-bcp-filesystem.patch - "${FILESDIR}"/${PN}-1.85.0-python-numpy-2.patch - - # backports - # https://github.com/boostorg/compute/issues/889 - "${FILESDIR}"/${PN}-1.86.0-uuid-compute-backport.patch -) - -create_user-config.jam() { - local user_config_jam="${BUILD_DIR}"/user-config.jam - if [[ -s ${user_config_jam} ]]; then - einfo "${user_config_jam} already exists, skipping configuration" - return - else - einfo "Creating configuration in ${user_config_jam}" - fi - - local compiler compiler_version compiler_executable="$(tc-getCXX)" - compiler="gcc" - compiler_version="$(gcc-version)" - - if use mpi; then - local mpi_configuration="using mpi ;" - fi - - cat > "${user_config_jam}" <<- __EOF__ || die - using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CPPFLAGS} ${CFLAGS}" <cxxflags>"${CPPFLAGS} ${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ; - ${mpi_configuration} - __EOF__ - - if multilib_native_use python; then - append_to_user_config() { - local py_config - if tc-is-cross-compiler; then - py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;" - else - py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;" - fi - echo "${py_config}" >> "${user_config_jam}" || die - } - python_foreach_impl append_to_user_config - fi - - if multilib_native_use python && use numpy; then - einfo "Enabling support for NumPy extensions in Boost.Python" - else - einfo "Disabling support for NumPy extensions in Boost.Python" - - # Boost.Build does not allow for disabling of numpy - # extensions, thereby leading to automagic numpy - # https://github.com/boostorg/python/issues/111#issuecomment-280447482 - sed \ - -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \ - -i "${BUILD_DIR}"/libs/python/build/Jamfile || die - fi -} - -pkg_setup() { - # Bail out on unsupported build configuration, bug #456792 - if [[ -f "${EROOT}"/etc/site-config.jam ]]; then - if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then - eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets." - eerror "Boost can not be built in such configuration." - eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it." - die "Unsupported target in ${EROOT}/etc/site-config.jam" - fi - fi -} - -src_prepare() { - default - multilib_copy_sources -} - -ejam() { - create_user-config.jam - - local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" ) - if multilib_native_use python; then - append_to_b2_opts() { - b2_opts+=( python="${EPYTHON#python}" ) - } - python_foreach_impl append_to_b2_opts - else - b2_opts+=( --without-python ) - fi - b2_opts+=( "$@" ) - - echo b2 "${b2_opts[@]}" >&2 - b2 "${b2_opts[@]}" -} - -src_configure() { - # -Werror=odr - # https://bugs.gentoo.org/943975 - # https://github.com/boostorg/quickbook/issues/27 - # https://github.com/boostorg/spirit/issues/800 - use tools && filter-lto - - lto-guarantee-fat - - # Workaround for too many parallel processes requested, bug #506064 - [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64" - - # We don't want to end up with -L/usr/lib on our linker lines - # which then gives us lots of - # skipping incompatible /usr/lib/libc.a when searching for -lc - # warnings - [[ -n ${ESYSROOT} ]] && local icuarg="-sICU_PATH=${ESYSROOT}/usr" - - OPTIONS=( - $(usex debug gentoodebug gentoorelease) - "-j$(makeopts_jobs)" - -q - -d+2 - pch=off - $(usex icu "${icuarg}" '--disable-icu boost.locale.icu=off') - $(usev !mpi --without-mpi) - $(usev !nls --without-locale) - $(usev !context '--without-context --without-coroutine --without-fiber') - $(usev !stacktrace --without-stacktrace) - --boost-build="${BROOT}"/usr/share/b2/src - --layout=system - # building with threading=single is currently not possible - # https://svn.boost.org/trac/boost/ticket/7105 - threading=multi - link=shared - # this seems to be the only way to disable compression algorithms - # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build - -sNO_BZIP2=$(usex bzip2 0 1) - -sNO_LZMA=$(usex lzma 0 1) - -sNO_ZLIB=$(usex zlib 0 1) - -sNO_ZSTD=$(usex zstd 0 1) - boost.stacktrace.from_exception=off - ) - - if [[ ${CHOST} == *-darwin* ]]; then - # We need to add the prefix, and in two cases this exceeds, so prepare - # for the largest possible space allocation. - append-ldflags -Wl,-headerpad_max_install_names - fi - - # Use C++17 globally as of 1.80 - append-cxxflags -std=c++17 - - if [[ ${CHOST} != *-darwin* ]]; then - # On modern macOS, file I/O is already 64-bit by default, - # there's no support for special options like O_LARGEFILE. - # Thus, LFS must be disabled. - # - # On other systems, we need to enable LFS explicitly for 64-bit - # offsets on 32-bit hosts (#894564) - append-lfs-flags - fi -} - -multilib_src_compile() { - ejam \ - --prefix="${EPREFIX}"/usr \ - "${OPTIONS[@]}" || die - - if multilib_native_use tools; then - pushd tools >/dev/null || die - ejam \ - --prefix="${EPREFIX}"/usr \ - "${OPTIONS[@]}" \ - || die "Building of Boost tools failed" - popd >/dev/null || die - fi -} - -multilib_src_install() { - ejam \ - --prefix="${ED}"/usr \ - --includedir="${ED}"/usr/include \ - --libdir="${ED}"/usr/$(get_libdir) \ - "${OPTIONS[@]}" install || die "Installation of Boost libraries failed" - - if multilib_native_use tools; then - dobin dist/bin/* - - insinto /usr/share - doins -r dist/share/boostbook - fi - - # boost's build system truely sucks for not having a destdir. Because for - # this reason we are forced to build with a prefix that includes the - # DESTROOT, dynamic libraries on Darwin end messed up, referencing the - # DESTROOT instread of the actual EPREFIX. There is no way out of here - # but to do it the dirty way of manually setting the right install_names. - if [[ ${CHOST} == *-darwin* ]]; then - einfo "Working around completely broken build-system(tm)" - local d - for d in "${ED}"/usr/lib/*.dylib; do - if [[ -f ${d} ]]; then - # fix the "soname" - ebegin " correcting install_name of ${d#${ED}}" - install_name_tool -id "/${d#${D}}" "${d}" - eend $? - # fix references to other libs - # these paths look like this: - # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/ - # threadapi-pthread/threading-multi/visibility-hidden/ - # libboost_thread.dylib - refs=$(otool -XL "${d}" | \ - sed -e '1d' -e 's/^\t//' | \ - grep "libboost_" | \ - cut -f1 -d' ') - local r - for r in ${refs}; do - # strip path prefix from references, so we obtain - # something like libboost_thread.dylib. - local r_basename=${r##*/} - - ebegin " correcting reference to ${r_basename}" - install_name_tool -change \ - "${r}" \ - "${EPREFIX}/usr/lib/${r_basename}" \ - "${d}" - eend $? - done - fi - done - fi -} - -multilib_src_install_all() { - if ! use numpy; then - rm -r "${ED}"/usr/include/boost/python/numpy* || die - fi - - if use python; then - if use mpi; then - move_mpi_py_into_sitedir() { - python_moduleinto boost - - python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so - rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die - - python_optimize - } - python_foreach_impl move_mpi_py_into_sitedir - else - rm -r "${ED}"/usr/include/boost/mpi/python* || die - fi - else - rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die - fi - - if ! use nls; then - rm -r "${ED}"/usr/include/boost/locale || die - fi - - if ! use context; then - rm -r "${ED}"/usr/include/boost/context || die - rm -r "${ED}"/usr/include/boost/coroutine{,2} || die - rm "${ED}"/usr/include/boost/asio/spawn.hpp || die - fi - - if use doc; then - # find extraneous files that shouldn't be installed - # as part of the documentation and remove them. - find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die - find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die - find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die - - docinto html - dodoc *.{htm,html,png,css} - dodoc -r doc libs more tools - - # To avoid broken links - dodoc LICENSE_1_0.txt - - dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost - fi - - strip-lto-bytecode -} - -pkg_preinst() { - # Yay for having symlinks that are nigh-impossible to remove without - # resorting to dirty hacks like these. Removes lingering symlinks - # from the slotted versions. - local symlink - for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do - if [[ -L ${symlink} ]]; then - rm -f "${symlink}" || die - fi - done - - # some ancient installs still have boost cruft lying around - # for unknown reasons, causing havoc for reverse dependencies - # Bug: 607734 - rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die -} - -pkg_postinst() { - elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as" - elog - elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation" - elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'" - elog - elog "Then you need to recompile Boost and all its reverse dependencies" - elog "using the same toolchain. In general, *every* change of the C++ toolchain" - elog "requires a complete rebuild of the Boost-dependent ecosystem." - elog - elog "See for instance https://bugs.gentoo.org/638138" -} diff --git a/dev-libs/boost/boost-1.87.0-r3.ebuild b/dev-libs/boost/boost-1.87.0-r3.ebuild deleted file mode 100644 index e595eef73b65..000000000000 --- a/dev-libs/boost/boost-1.87.0-r3.ebuild +++ /dev/null @@ -1,359 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Keep an eye on both of these after releases for patches: -# * https://www.boost.org/patches/ -# * https://www.boost.org/users/history/version_${MY_PV}.html -# (e.g. https://www.boost.org/users/history/version_1_83_0.html) -# Note that the latter may sometimes feature patches not on the former too. - -PYTHON_COMPAT=( python3_{11..13} ) - -inherit dot-a flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal - -MY_PV="$(ver_rs 1- _)" - -DESCRIPTION="Boost Libraries for C++" -HOMEPAGE="https://www.boost.org/" -SRC_URI="https://archives.boost.io/release/${PV}/source/boost_${MY_PV}.tar.bz2" -S="${WORKDIR}/${PN}_${MY_PV}" - -LICENSE="Boost-1.0" -SLOT="0/${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="bzip2 +context debug doc icu lzma +nls mpi numpy python +stacktrace tools zlib zstd" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -# the tests will never fail because these are not intended as sanity -# tests at all. They are more a way for upstream to check their own code -# on new compilers. Since they would either be completely unreliable -# (failing for no good reason) or completely useless (never failing) -# there is no point in having them in the ebuild to begin with. -RESTRICT="test" - -RDEPEND=" - bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] ) - icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) - !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] ) - mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] ) - python? ( - ${PYTHON_DEPS} - numpy? ( dev-python/numpy:=[${PYTHON_USEDEP}] ) - ) - zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND}" -BDEPEND=">=dev-build/b2-5.1.0" - -PATCHES=( - "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch - "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch - "${FILESDIR}"/${PN}-1.87.0-move.patch - "${FILESDIR}"/${PN}-1.87.0-smart_ptr-operator.patch - "${FILESDIR}"/${PN}-1.87.0-thread-typo.patch - "${FILESDIR}"/${PN}-1.87.0-solaris.patch - "${FILESDIR}"/${PN}-1.87.0-process-error-alpha.patch -) - -create_user-config.jam() { - local user_config_jam="${BUILD_DIR}"/user-config.jam - if [[ -s ${user_config_jam} ]]; then - einfo "${user_config_jam} already exists, skipping configuration" - return - else - einfo "Creating configuration in ${user_config_jam}" - fi - - local compiler compiler_version compiler_executable="$(tc-getCXX)" - compiler="gcc" - compiler_version="$(gcc-version)" - - if use mpi; then - local mpi_configuration="using mpi ;" - fi - - cat > "${user_config_jam}" <<- __EOF__ || die - using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CPPFLAGS} ${CFLAGS}" <cxxflags>"${CPPFLAGS} ${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ; - ${mpi_configuration} - __EOF__ - - if multilib_native_use python; then - append_to_user_config() { - local py_config - if tc-is-cross-compiler; then - py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;" - else - py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;" - fi - echo "${py_config}" >> "${user_config_jam}" || die - } - python_foreach_impl append_to_user_config - fi - - if multilib_native_use python && use numpy; then - einfo "Enabling support for NumPy extensions in Boost.Python" - else - einfo "Disabling support for NumPy extensions in Boost.Python" - - # Boost.Build does not allow for disabling of numpy - # extensions, thereby leading to automagic numpy - # https://github.com/boostorg/python/issues/111#issuecomment-280447482 - sed \ - -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \ - -i "${BUILD_DIR}"/libs/python/build/Jamfile || die - fi -} - -pkg_setup() { - # Bail out on unsupported build configuration, bug #456792 - if [[ -f "${EROOT}"/etc/site-config.jam ]]; then - if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then - eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets." - eerror "Boost can not be built in such configuration." - eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it." - die "Unsupported target in ${EROOT}/etc/site-config.jam" - fi - fi -} - -src_prepare() { - default - multilib_copy_sources -} - -ejam() { - create_user-config.jam - - local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" ) - if multilib_native_use python; then - append_to_b2_opts() { - b2_opts+=( python="${EPYTHON#python}" ) - } - python_foreach_impl append_to_b2_opts - else - b2_opts+=( --without-python ) - fi - b2_opts+=( "$@" ) - - echo b2 "${b2_opts[@]}" >&2 - b2 "${b2_opts[@]}" -} - -src_configure() { - # -Werror=odr - # https://bugs.gentoo.org/943975 - # https://github.com/boostorg/quickbook/issues/27 - # https://github.com/boostorg/spirit/issues/800 - use tools && filter-lto - - lto-guarantee-fat - - # Workaround for too many parallel processes requested, bug #506064 - [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64" - - # We don't want to end up with -L/usr/lib on our linker lines - # which then gives us lots of - # skipping incompatible /usr/lib/libc.a when searching for -lc - # warnings - [[ -n ${ESYSROOT} ]] && local icuarg="-sICU_PATH=${ESYSROOT}/usr" - - OPTIONS=( - $(usex debug gentoodebug gentoorelease) - "-j$(makeopts_jobs)" - -q - -d+2 - pch=off - $(usex icu "${icuarg}" '--disable-icu boost.locale.icu=off') - $(usev !mpi --without-mpi) - $(usev !nls --without-locale) - $(usev !context '--without-context --without-coroutine --without-fiber') - $(usev !stacktrace --without-stacktrace) - --boost-build="${BROOT}"/usr/share/b2/src - --layout=system - # building with threading=single is currently not possible - # https://svn.boost.org/trac/boost/ticket/7105 - threading=multi - link=shared - # this seems to be the only way to disable compression algorithms - # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build - -sNO_BZIP2=$(usex bzip2 0 1) - -sNO_LZMA=$(usex lzma 0 1) - -sNO_ZLIB=$(usex zlib 0 1) - -sNO_ZSTD=$(usex zstd 0 1) - boost.stacktrace.from_exception=off - ) - - if [[ ${CHOST} == *-darwin* ]]; then - # We need to add the prefix, and in two cases this exceeds, so prepare - # for the largest possible space allocation. - append-ldflags -Wl,-headerpad_max_install_names - fi - - # Use C++17 globally as of 1.80 - append-cxxflags -std=c++17 - - if [[ ${CHOST} != *-darwin* ]]; then - # On modern macOS, file I/O is already 64-bit by default, - # there's no support for special options like O_LARGEFILE. - # Thus, LFS must be disabled. - # - # On other systems, we need to enable LFS explicitly for 64-bit - # offsets on 32-bit hosts (#894564) - append-lfs-flags - fi -} - -multilib_src_compile() { - ejam \ - --prefix="${EPREFIX}"/usr \ - "${OPTIONS[@]}" || die - - if multilib_native_use tools; then - pushd tools >/dev/null || die - ejam \ - --prefix="${EPREFIX}"/usr \ - "${OPTIONS[@]}" \ - || die "Building of Boost tools failed" - popd >/dev/null || die - fi -} - -multilib_src_install() { - ejam \ - --prefix="${ED}"/usr \ - --includedir="${ED}"/usr/include \ - --libdir="${ED}"/usr/$(get_libdir) \ - "${OPTIONS[@]}" install || die "Installation of Boost libraries failed" - - if multilib_native_use tools; then - dobin dist/bin/* - - insinto /usr/share - doins -r dist/share/boostbook - fi - - # boost's build system truely sucks for not having a destdir. Because for - # this reason we are forced to build with a prefix that includes the - # DESTROOT, dynamic libraries on Darwin end messed up, referencing the - # DESTROOT instread of the actual EPREFIX. There is no way out of here - # but to do it the dirty way of manually setting the right install_names. - if [[ ${CHOST} == *-darwin* ]]; then - einfo "Working around completely broken build-system(tm)" - local d - for d in "${ED}"/usr/lib/*.dylib; do - if [[ -f ${d} ]]; then - # fix the "soname" - ebegin " correcting install_name of ${d#${ED}}" - install_name_tool -id "/${d#${D}}" "${d}" - eend $? - # fix references to other libs - # these paths look like this: - # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/ - # threadapi-pthread/threading-multi/visibility-hidden/ - # libboost_thread.dylib - refs=$(otool -XL "${d}" | \ - sed -e '1d' -e 's/^\t//' | \ - grep "libboost_" | \ - cut -f1 -d' ') - local r - for r in ${refs}; do - # strip path prefix from references, so we obtain - # something like libboost_thread.dylib. - local r_basename=${r##*/} - - ebegin " correcting reference to ${r_basename}" - install_name_tool -change \ - "${r}" \ - "${EPREFIX}/usr/lib/${r_basename}" \ - "${d}" - eend $? - done - fi - done - fi -} - -multilib_src_install_all() { - if ! use numpy; then - rm -r "${ED}"/usr/include/boost/python/numpy* || die - fi - - if use python; then - if use mpi; then - move_mpi_py_into_sitedir() { - python_moduleinto boost - - python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so - rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die - - python_optimize - } - python_foreach_impl move_mpi_py_into_sitedir - else - rm -r "${ED}"/usr/include/boost/mpi/python* || die - fi - else - rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die - fi - - if ! use nls; then - rm -r "${ED}"/usr/include/boost/locale || die - fi - - if ! use context; then - rm -r "${ED}"/usr/include/boost/context || die - rm -r "${ED}"/usr/include/boost/coroutine{,2} || die - rm "${ED}"/usr/include/boost/asio/spawn.hpp || die - fi - - if use doc; then - # find extraneous files that shouldn't be installed - # as part of the documentation and remove them. - find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die - find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die - find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die - - docinto html - dodoc *.{htm,html,png,css} - dodoc -r doc libs more tools - - # To avoid broken links - dodoc LICENSE_1_0.txt - - dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost - fi - - strip-lto-bytecode -} - -pkg_preinst() { - # Yay for having symlinks that are nigh-impossible to remove without - # resorting to dirty hacks like these. Removes lingering symlinks - # from the slotted versions. - local symlink - for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do - if [[ -L ${symlink} ]]; then - rm -f "${symlink}" || die - fi - done - - # some ancient installs still have boost cruft lying around - # for unknown reasons, causing havoc for reverse dependencies - # Bug: 607734 - rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die -} - -pkg_postinst() { - elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as" - elog - elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation" - elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'" - elog - elog "Then you need to recompile Boost and all its reverse dependencies" - elog "using the same toolchain. In general, *every* change of the C++ toolchain" - elog "requires a complete rebuild of the Boost-dependent ecosystem." - elog - elog "See for instance https://bugs.gentoo.org/638138" -} diff --git a/dev-libs/boost/files/boost-1.85.0-01-fix_unsupported_long_double_macros.patch b/dev-libs/boost/files/boost-1.85.0-01-fix_unsupported_long_double_macros.patch deleted file mode 100644 index 58387c211b44..000000000000 --- a/dev-libs/boost/files/boost-1.85.0-01-fix_unsupported_long_double_macros.patch +++ /dev/null @@ -1,111 +0,0 @@ -https://bugs.gentoo.org/932579 -https://github.com/boostorg/charconv/pull/183 ---- a/boost/charconv/detail/bit_layouts.hpp -+++ b/boost/charconv/detail/bit_layouts.hpp -@@ -107,6 +107,7 @@ struct IEEEl2bits - - #else // Unsupported long double representation - # define BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+# define BOOST_CHARCONV_LDBL_BITS -1 - #endif - - struct IEEEbinary128 ---- a/boost/charconv/from_chars.hpp -+++ b/boost/charconv/from_chars.hpp -@@ -139,7 +139,10 @@ BOOST_CHARCONV_GCC5_CONSTEXPR from_chars_result from_chars(boost::core::string_v - - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept; - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept; -+ -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept; -+#endif - - #ifdef BOOST_CHARCONV_HAS_FLOAT128 - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, __float128& value, chars_format fmt = chars_format::general) noexcept; -@@ -164,7 +167,10 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const - - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept; - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept; -+ -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept; -+#endif - - #ifdef BOOST_CHARCONV_HAS_FLOAT128 - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, __float128& value, chars_format fmt = chars_format::general) noexcept; -@@ -193,7 +199,10 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view - - BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept; - BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept; -+ -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept; -+#endif - - #ifdef BOOST_CHARCONV_HAS_FLOAT128 - BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, __float128& value, chars_format fmt = chars_format::general) noexcept; -@@ -216,7 +225,10 @@ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* - - BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept; - BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept; -+ -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept; -+#endif - - #ifdef BOOST_CHARCONV_HAS_FLOAT128 - BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, __float128& value, chars_format fmt = chars_format::general) noexcept; ---- a/libs/charconv/src/from_chars.cpp -+++ b/libs/charconv/src/from_chars.cpp -@@ -205,7 +205,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char - return r; - } - --#else -+#elif !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE) - - boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept - { -@@ -299,10 +299,12 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::cor - return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt); - } - -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept - { - return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt); - } -+#endif - - #ifdef BOOST_CHARCONV_HAS_FLOAT128 - boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::core::string_view sv, __float128& value, boost::charconv::chars_format fmt) noexcept -@@ -372,10 +374,12 @@ boost::charconv::from_chars_result boost::charconv::from_chars(const char* first - return from_chars_strict_impl(first, last, value, fmt); - } - -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - boost::charconv::from_chars_result boost::charconv::from_chars(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept - { - return from_chars_strict_impl(first, last, value, fmt); - } -+#endif - - #ifdef BOOST_CHARCONV_HAS_FLOAT128 - boost::charconv::from_chars_result boost::charconv::from_chars(const char* first, const char* last, __float128& value, boost::charconv::chars_format fmt) noexcept -@@ -429,10 +433,12 @@ boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::stri - return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt); - } - -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept - { - return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt); - } -+#endif - - #ifdef BOOST_CHARCONV_HAS_FLOAT128 - boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::string_view sv, __float128& value, boost::charconv::chars_format fmt) noexcept --- -2.45.2 - diff --git a/dev-libs/boost/files/boost-1.85.0-02-fix_unsupported_long_double_formats.patch b/dev-libs/boost/files/boost-1.85.0-02-fix_unsupported_long_double_formats.patch deleted file mode 100644 index 59a007907be6..000000000000 --- a/dev-libs/boost/files/boost-1.85.0-02-fix_unsupported_long_double_formats.patch +++ /dev/null @@ -1,29 +0,0 @@ -https://bugs.gentoo.org/932579 -https://github.com/boostorg/charconv/pull/183 ---- a/boost/charconv/to_chars.hpp -+++ b/boost/charconv/to_chars.hpp -@@ -81,15 +81,21 @@ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float valu - chars_format fmt = chars_format::general) noexcept; - BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value, - chars_format fmt = chars_format::general) noexcept; -+ -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value, - chars_format fmt = chars_format::general) noexcept; -+#endif - - BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float value, - chars_format fmt, int precision) noexcept; - BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value, - chars_format fmt, int precision) noexcept; -+ -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value, - chars_format fmt, int precision) noexcept; -+#endif - - #ifdef BOOST_CHARCONV_HAS_FLOAT128 - BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, __float128 value, --- -2.45.2 - diff --git a/dev-libs/boost/files/boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch b/dev-libs/boost/files/boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch deleted file mode 100644 index fc7a3e5b6aa5..000000000000 --- a/dev-libs/boost/files/boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch +++ /dev/null @@ -1,420 +0,0 @@ -https://bugs.gentoo.org/932579 -https://github.com/boostorg/charconv/pull/183 ---- a/libs/charconv/test/from_chars_float.cpp -+++ b/libs/charconv/test/from_chars_float.cpp -@@ -440,6 +440,7 @@ void test_issue_37() - overflow_spot_value("1.0e+9999", HUGE_VAL); - overflow_spot_value("-1.0e+9999", -HUGE_VAL); - } -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - else - { - overflow_spot_value("1e99999", HUGE_VALL); -@@ -447,6 +448,7 @@ void test_issue_37() - overflow_spot_value("1.0e+99999", HUGE_VALL); - overflow_spot_value("-1.0e+99999", -HUGE_VALL); - } -+ #endif - - overflow_spot_value("1e-99999", static_cast<T>(0.0L)); - overflow_spot_value("-1.0e-99999", static_cast<T>(-0.0L)); -@@ -530,20 +532,22 @@ int main() - odd_strings_test<float>(); - odd_strings_test<double>(); - -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - simple_integer_test<long double>(); - simple_hex_integer_test<long double>(); - simple_scientific_test<long double>(); - simple_hex_scientific_test<long double>(); -+ zero_test<long double>(); -+ test_issue_37<long double>(); -+ #endif - - zero_test<float>(); - zero_test<double>(); -- zero_test<long double>(); - - boost_json_test<double>(); - - test_issue_37<float>(); - test_issue_37<double>(); -- test_issue_37<long double>(); - - test_issue_45<double>(static_cast<double>(-4109895455460520.5), "-4109895455460520.513430", 19); - test_issue_45<double>(1.035695536657502e-308, "1.0356955366575023e-3087", 23); -@@ -1846,40 +1850,29 @@ int main() - spot_check_nan<float>("-nan", fmt); - spot_check_nan<double>("nan", fmt); - spot_check_nan<double>("-nan", fmt); -- spot_check_nan<long double>("nan", fmt); -- spot_check_nan<long double>("-nan", fmt); - - spot_check_inf<float>("inf", fmt); - spot_check_inf<float>("-inf", fmt); - spot_check_inf<double>("inf", fmt); - spot_check_inf<double>("-inf", fmt); -- spot_check_inf<long double>("inf", fmt); -- spot_check_inf<long double>("-inf", fmt); - - spot_check_nan<float>("NAN", fmt); - spot_check_nan<float>("-NAN", fmt); - spot_check_nan<double>("NAN", fmt); - spot_check_nan<double>("-NAN", fmt); -- spot_check_nan<long double>("NAN", fmt); -- spot_check_nan<long double>("-NAN", fmt); - - spot_check_inf<float>("INF", fmt); - spot_check_inf<float>("-INF", fmt); - spot_check_inf<double>("INF", fmt); - spot_check_inf<double>("-INF", fmt); -- spot_check_inf<long double>("INF", fmt); -- spot_check_inf<long double>("-INF", fmt); - - spot_check_nan<float>("nan(snan)", fmt); - spot_check_nan<float>("-nan(snan)", fmt); - spot_check_nan<double>("nan(snan)", fmt); - spot_check_nan<double>("-nan(snan)", fmt); -- spot_check_nan<long double>("nan(snan)", fmt); -- spot_check_nan<long double>("-nan(snan)", fmt); - - spot_check_nan<float>("-nan(ind)", fmt); - spot_check_nan<double>("-nan(ind)", fmt); -- spot_check_nan<long double>("-nan(ind)", fmt); - - spot_check_invalid_argument<float>("na7", fmt); - spot_check_invalid_argument<float>("na", fmt); -@@ -1889,8 +1882,22 @@ int main() - spot_check_invalid_argument<float>(" 1.23", fmt); - spot_check_invalid_argument<double>(" 1.23", fmt); - spot_check_invalid_argument<double>(" 1.23", fmt); -+ -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ spot_check_nan<long double>("nan", fmt); -+ spot_check_nan<long double>("-nan", fmt); -+ spot_check_inf<long double>("inf", fmt); -+ spot_check_inf<long double>("-inf", fmt); -+ spot_check_nan<long double>("NAN", fmt); -+ spot_check_nan<long double>("-NAN", fmt); -+ spot_check_inf<long double>("INF", fmt); -+ spot_check_inf<long double>("-INF", fmt); -+ spot_check_nan<long double>("nan(snan)", fmt); -+ spot_check_nan<long double>("-nan(snan)", fmt); -+ spot_check_nan<long double>("-nan(ind)", fmt); - spot_check_invalid_argument<long double>(" 1.23", fmt); - spot_check_invalid_argument<long double>(" 1.23", fmt); -+ #endif - } - - return boost::report_errors(); ---- a/libs/charconv/test/from_chars_string_view.cpp -+++ b/libs/charconv/test/from_chars_string_view.cpp -@@ -116,17 +116,23 @@ int main() - - test_float<float>(); - test_float<double>(); -- test_float<long double>(); - - test_float<float, std::string>(); - test_float<double, std::string>(); -+ -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ test_float<long double>(); - test_float<long double, std::string>(); -+ #endif - - #if !defined(BOOST_NO_CXX17_HDR_STRING_VIEW) - - test_float<float, std::string_view>(); - test_float<double, std::string_view>(); -+ -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - test_float<long double, std::string_view>(); -+ #endif - - #endif - ---- a/libs/charconv/test/github_issue_110.cpp -+++ b/libs/charconv/test/github_issue_110.cpp -@@ -42,7 +42,10 @@ int main() - { - test<float>(); - test<double>(); -+ -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - test<long double>(); -+ #endif - - #ifdef BOOST_CHARCONV_HAS_FLOAT128 - test<__float128>(); ---- a/libs/charconv/test/github_issue_122.cpp -+++ b/libs/charconv/test/github_issue_122.cpp -@@ -52,7 +52,10 @@ int main() - { - test<float>(); - test<double>(); -+ -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - test<long double>(); -+ #endif - - return boost::report_errors(); - } ---- a/libs/charconv/test/github_issue_152.cpp -+++ b/libs/charconv/test/github_issue_152.cpp -@@ -188,7 +188,6 @@ int main() - { - test_non_finite<float>(); - test_non_finite<double>(); -- test_non_finite<long double>(); - #ifdef BOOST_CHARCONV_HAS_FLOAT16 - test_non_finite<std::float16_t>(); - #endif -@@ -204,7 +203,6 @@ int main() - - test_non_finite_fixed_precision<float>(); - test_non_finite_fixed_precision<double>(); -- test_non_finite_fixed_precision<long double>(); - #ifdef BOOST_CHARCONV_HAS_FLOAT16 - test_non_finite_fixed_precision<std::float16_t>(); - #endif -@@ -220,7 +218,6 @@ int main() - - test_min_buffer_size<float>(); - test_min_buffer_size<double>(); -- test_min_buffer_size<long double>(); - #ifdef BOOST_CHARCONV_HAS_FLOAT32 - test_min_buffer_size<std::float32_t>(); - #endif -@@ -232,5 +229,11 @@ int main() - test_failed_values(); - #endif - -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ test_non_finite<long double>(); -+ test_non_finite_fixed_precision<long double>(); -+ test_min_buffer_size<long double>(); -+ #endif -+ - return boost::report_errors(); - } ---- a/libs/charconv/test/github_issue_158.cpp -+++ b/libs/charconv/test/github_issue_158.cpp -@@ -93,6 +93,7 @@ void test_values_with_negative_exp() - BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000000000099999999999999990753745222790"); - } - -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - void test_long_double_with_negative_exp() - { - char buffer[256]; -@@ -126,6 +127,7 @@ void test_long_double_with_negative_exp() - // BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000000999999999999999999997135886174218"); - BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000001000000000000000000000000000000000"); - } -+#endif - - void test_values_with_positive_exp() - { -@@ -407,6 +409,7 @@ void test_zero() - BOOST_TEST_CSTR_EQ(buffer, "0"); - } - -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - void test_long_double_with_positive_exp() - { - char buffer[256]; -@@ -438,6 +441,7 @@ void test_long_double_with_positive_exp() - BOOST_TEST(res); - BOOST_TEST_CSTR_EQ(buffer, "100000000000000000.00000000000000000000000000000000000000000000000000"); - } -+#endif - - template <typename T> - void test_spot_value(T value, int precision, const char* result, boost::charconv::chars_format fmt = boost::charconv::chars_format::fixed) ---- a/libs/charconv/test/limits.cpp -+++ b/libs/charconv/test/limits.cpp -@@ -227,7 +227,10 @@ int main() - - test_floating_point<float>(); - test_floating_point<double>(); -+ -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - test_floating_point<long double>(); -+ #endif - - #ifdef BOOST_CHARCONV_HAS_INT128 - ---- a/libs/charconv/test/limits_link_1.cpp -+++ b/libs/charconv/test/limits_link_1.cpp -@@ -3,6 +3,7 @@ - // https://www.boost.org/LICENSE_1_0.txt - - #include <boost/charconv/limits.hpp> -+#include <boost/charconv/detail/bit_layouts.hpp> - - void test_odr_use( int const* ); - -@@ -28,7 +29,9 @@ void f1() - - test<float>(); - test<double>(); -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - test<long double>(); -+ #endif - - #ifdef BOOST_CHARCONV_HAS_INT128 - ---- a/libs/charconv/test/limits_link_2.cpp -+++ b/libs/charconv/test/limits_link_2.cpp -@@ -3,6 +3,7 @@ - // https://www.boost.org/LICENSE_1_0.txt - - #include <boost/charconv/limits.hpp> -+#include <boost/charconv/detail/bit_layouts.hpp> - - void test_odr_use( int const* ); - -@@ -28,7 +29,9 @@ void f2() - - test<float>(); - test<double>(); -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - test<long double>(); -+ #endif - - #ifdef BOOST_CHARCONV_HAS_INT128 - ---- a/libs/charconv/test/roundtrip.cpp -+++ b/libs/charconv/test/roundtrip.cpp -@@ -347,6 +347,7 @@ template<typename FPType> int64_t Distance(FPType y, FPType x) - return ToOrdinal(y) - ToOrdinal(x); - } - -+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - template <> void test_roundtrip<long double>(long double value) - { - char buffer[ 256 ]; -@@ -381,6 +382,7 @@ template <> void test_roundtrip<long double>(long double value) - // LCOV_EXCL_STOP - } - } -+#endif - - // floating point types, boundary values - -@@ -601,7 +603,7 @@ int main() - #endif - - // long double -- #if !(BOOST_CHARCONV_LDBL_BITS == 128) -+ #if !(BOOST_CHARCONV_LDBL_BITS == 128) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE) - - { - long double const ql = std::pow( 1.0L, -64 ); ---- a/libs/charconv/test/to_chars_float.cpp -+++ b/libs/charconv/test/to_chars_float.cpp -@@ -202,7 +202,7 @@ int main() - non_finite_values<double>(boost::charconv::chars_format::hex, 2); - - // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57484 -- #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__)) -+ #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__)) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE) - non_finite_values<long double>(); - #endif - ---- a/libs/charconv/test/to_chars_float_STL_comp.cpp -+++ b/libs/charconv/test/to_chars_float_STL_comp.cpp -@@ -212,7 +212,10 @@ int main() - // General format - random_test<float>(); - random_test<double>(); -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - random_test<long double>(); -+ #endif -+ - test_spot<double>(0.0); - test_spot<double>(-0.0); - -@@ -224,7 +227,9 @@ int main() - // Scientific - random_test<float>(boost::charconv::chars_format::scientific); - random_test<double>(boost::charconv::chars_format::scientific); -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - random_test<long double>(boost::charconv::chars_format::scientific); -+ #endif - test_spot<double>(0.0, boost::charconv::chars_format::scientific); - test_spot<double>(-0.0, boost::charconv::chars_format::scientific); - -@@ -237,14 +242,20 @@ int main() - // Hex - random_test<float>(boost::charconv::chars_format::hex); - random_test<double>(boost::charconv::chars_format::hex); -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - random_test<long double>(boost::charconv::chars_format::hex); -+ #endif - - #if !defined(_LIBCPP_VERSION) -+ - random_test<float>(boost::charconv::chars_format::hex, -1e5F, 1e5F); - random_test<double>(boost::charconv::chars_format::hex, -1e5, 1e5); -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - random_test<long double>(boost::charconv::chars_format::hex, -1e5L, 1e5L); - #endif - -+ #endif -+ - test_spot<double>(-9.52743282403084637e+306, boost::charconv::chars_format::hex); - test_spot<double>(-9.52743282403084637e-306, boost::charconv::chars_format::hex); - test_spot<double>(-9.52743282403084637e+305, boost::charconv::chars_format::hex); -@@ -261,13 +272,16 @@ int main() - // Various non-finite values - non_finite_test<float>(); - non_finite_test<double>(); -- non_finite_test<long double>(); - non_finite_test<float>(boost::charconv::chars_format::scientific); - non_finite_test<double>(boost::charconv::chars_format::scientific); -- non_finite_test<long double>(boost::charconv::chars_format::scientific); - non_finite_test<float>(boost::charconv::chars_format::hex); - non_finite_test<double>(boost::charconv::chars_format::hex); -+ -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ non_finite_test<long double>(); -+ non_finite_test<long double>(boost::charconv::chars_format::scientific); - non_finite_test<long double>(boost::charconv::chars_format::hex); -+ #endif - - #if (defined(__GNUC__) && __GNUC__ >= 11) || (defined(_MSC_VER) && _MSC_VER >= 1924) - // Selected additional values -@@ -288,7 +302,10 @@ int main() - // Reported in issue #93 - test_spot<float>(3.3F); - test_spot<double>(3.3); -+ -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - test_spot<long double>(3.3L); -+ #endif - - return boost::report_errors(); - } ---- a/libs/charconv/test/to_chars_sprintf.cpp -+++ b/libs/charconv/test/to_chars_sprintf.cpp -@@ -627,6 +627,7 @@ int main() - - // long double - -+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE - { - for( int i = 0; i < N; ++i ) - { -@@ -665,6 +666,7 @@ int main() - - test_sprintf_bv_fp<long double>(); - } -+ #endif - - return boost::report_errors(); - } --- -2.45.2 - diff --git a/dev-libs/boost/files/boost-1.85.0-04-remove_cruft_codeblock.patch b/dev-libs/boost/files/boost-1.85.0-04-remove_cruft_codeblock.patch deleted file mode 100644 index 8d91e5f41746..000000000000 --- a/dev-libs/boost/files/boost-1.85.0-04-remove_cruft_codeblock.patch +++ /dev/null @@ -1,52 +0,0 @@ -https://bugs.gentoo.org/932579 -https://github.com/boostorg/charconv/pull/183 ---- a/libs/charconv/src/to_chars.cpp -+++ b/libs/charconv/src/to_chars.cpp -@@ -620,44 +620,6 @@ boost::charconv::to_chars_result boost::charconv::to_chars(char* first, char* la - return boost::charconv::detail::to_chars_float_impl(first, last, value, fmt, precision); - } - --#else -- --boost::charconv::to_chars_result boost::charconv::to_chars( char* first, char* last, long double value, -- boost::charconv::chars_format fmt, int precision) noexcept --{ -- if (std::isnan(value)) -- { -- bool is_negative = false; -- if (std::signbit(value)) -- { -- is_negative = true; -- *first++ = '-'; -- } -- -- if (issignaling(value)) -- { -- std::memcpy(first, "nan(snan)", 9); -- return { first + 9 + static_cast<int>(is_negative), std::errc() }; -- } -- else -- { -- if (is_negative) -- { -- std::memcpy(first, "nan(ind)", 8); -- return { first + 9, std::errc() }; -- } -- else -- { -- std::memcpy(first, "nan", 3); -- return { first + 3, std::errc() }; -- } -- } -- } -- -- // Fallback to printf -- return boost::charconv::detail::to_chars_printf_impl(first, last, value, fmt, precision); --} -- - #endif - - #ifdef BOOST_CHARCONV_HAS_FLOAT128 --- -2.45.2 - diff --git a/dev-libs/boost/files/boost-1.85.0-05-fix_macro_name.patch b/dev-libs/boost/files/boost-1.85.0-05-fix_macro_name.patch deleted file mode 100644 index 69899ae3b850..000000000000 --- a/dev-libs/boost/files/boost-1.85.0-05-fix_macro_name.patch +++ /dev/null @@ -1,356 +0,0 @@ -https://bugs.gentoo.org/932579 -https://github.com/boostorg/charconv/pull/183 ---- a/boost/charconv/detail/bit_layouts.hpp -+++ b/boost/charconv/detail/bit_layouts.hpp -@@ -106,7 +106,7 @@ struct IEEEl2bits - #define BOOST_CHARCONV_LDBL_BITS 64 - - #else // Unsupported long double representation --# define BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+# define BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - # define BOOST_CHARCONV_LDBL_BITS -1 - #endif - ---- a/boost/charconv/from_chars.hpp -+++ b/boost/charconv/from_chars.hpp -@@ -140,7 +140,7 @@ BOOST_CHARCONV_GCC5_CONSTEXPR from_chars_result from_chars(boost::core::string_v - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept; - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept; - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept; - #endif - -@@ -168,7 +168,7 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept; - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept; - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept; - #endif - -@@ -200,7 +200,7 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view - BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept; - BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept; - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept; - #endif - -@@ -226,7 +226,7 @@ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* - BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept; - BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept; - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept; - #endif - ---- a/boost/charconv/to_chars.hpp -+++ b/boost/charconv/to_chars.hpp -@@ -82,7 +82,7 @@ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float valu - BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value, - chars_format fmt = chars_format::general) noexcept; - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value, - chars_format fmt = chars_format::general) noexcept; - #endif -@@ -92,7 +92,7 @@ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float valu - BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value, - chars_format fmt, int precision) noexcept; - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value, - chars_format fmt, int precision) noexcept; - #endif ---- a/libs/charconv/src/from_chars.cpp -+++ b/libs/charconv/src/from_chars.cpp -@@ -205,7 +205,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char - return r; - } - --#elif !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE) -+#elif !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE) - - boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept - { -@@ -299,7 +299,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::cor - return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt); - } - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept - { - return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt); -@@ -374,7 +374,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars(const char* first - return from_chars_strict_impl(first, last, value, fmt); - } - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - boost::charconv::from_chars_result boost::charconv::from_chars(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept - { - return from_chars_strict_impl(first, last, value, fmt); -@@ -433,7 +433,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::stri - return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt); - } - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept - { - return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt); ---- a/libs/charconv/src/to_chars.cpp -+++ b/libs/charconv/src/to_chars.cpp -@@ -601,7 +601,7 @@ boost::charconv::to_chars_result boost::charconv::to_chars(char* first, char* la - return boost::charconv::detail::to_chars_float_impl(first, last, static_cast<double>(value), fmt, precision); - } - --#elif (BOOST_CHARCONV_LDBL_BITS == 80 || BOOST_CHARCONV_LDBL_BITS == 128) -+#elif !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE) - - boost::charconv::to_chars_result boost::charconv::to_chars(char* first, char* last, long double value, - boost::charconv::chars_format fmt) noexcept ---- a/libs/charconv/test/from_chars_float.cpp -+++ b/libs/charconv/test/from_chars_float.cpp -@@ -440,7 +440,7 @@ void test_issue_37() - overflow_spot_value("1.0e+9999", HUGE_VAL); - overflow_spot_value("-1.0e+9999", -HUGE_VAL); - } -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - else - { - overflow_spot_value("1e99999", HUGE_VALL); -@@ -532,7 +532,7 @@ int main() - odd_strings_test<float>(); - odd_strings_test<double>(); - -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - simple_integer_test<long double>(); - simple_hex_integer_test<long double>(); - simple_scientific_test<long double>(); -@@ -1883,7 +1883,7 @@ int main() - spot_check_invalid_argument<double>(" 1.23", fmt); - spot_check_invalid_argument<double>(" 1.23", fmt); - -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - spot_check_nan<long double>("nan", fmt); - spot_check_nan<long double>("-nan", fmt); - spot_check_inf<long double>("inf", fmt); ---- a/libs/charconv/test/from_chars_string_view.cpp -+++ b/libs/charconv/test/from_chars_string_view.cpp -@@ -120,7 +120,7 @@ int main() - test_float<float, std::string>(); - test_float<double, std::string>(); - -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - test_float<long double>(); - test_float<long double, std::string>(); - #endif -@@ -130,7 +130,7 @@ int main() - test_float<float, std::string_view>(); - test_float<double, std::string_view>(); - -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - test_float<long double, std::string_view>(); - #endif - ---- a/libs/charconv/test/github_issue_110.cpp -+++ b/libs/charconv/test/github_issue_110.cpp -@@ -43,7 +43,7 @@ int main() - test<float>(); - test<double>(); - -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - test<long double>(); - #endif - ---- a/libs/charconv/test/github_issue_122.cpp -+++ b/libs/charconv/test/github_issue_122.cpp -@@ -53,7 +53,7 @@ int main() - test<float>(); - test<double>(); - -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - test<long double>(); - #endif - ---- a/libs/charconv/test/github_issue_152.cpp -+++ b/libs/charconv/test/github_issue_152.cpp -@@ -229,7 +229,7 @@ int main() - test_failed_values(); - #endif - -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - test_non_finite<long double>(); - test_non_finite_fixed_precision<long double>(); - test_min_buffer_size<long double>(); ---- a/libs/charconv/test/github_issue_158.cpp -+++ b/libs/charconv/test/github_issue_158.cpp -@@ -93,7 +93,7 @@ void test_values_with_negative_exp() - BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000000000099999999999999990753745222790"); - } - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - void test_long_double_with_negative_exp() - { - char buffer[256]; -@@ -409,7 +409,7 @@ void test_zero() - BOOST_TEST_CSTR_EQ(buffer, "0"); - } - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - void test_long_double_with_positive_exp() - { - char buffer[256]; ---- a/libs/charconv/test/limits.cpp -+++ b/libs/charconv/test/limits.cpp -@@ -228,7 +228,7 @@ int main() - test_floating_point<float>(); - test_floating_point<double>(); - -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - test_floating_point<long double>(); - #endif - ---- a/libs/charconv/test/limits_link_1.cpp -+++ b/libs/charconv/test/limits_link_1.cpp -@@ -29,7 +29,7 @@ void f1() - - test<float>(); - test<double>(); -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - test<long double>(); - #endif - ---- a/libs/charconv/test/limits_link_2.cpp -+++ b/libs/charconv/test/limits_link_2.cpp -@@ -29,7 +29,7 @@ void f2() - - test<float>(); - test<double>(); -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - test<long double>(); - #endif - ---- a/libs/charconv/test/roundtrip.cpp -+++ b/libs/charconv/test/roundtrip.cpp -@@ -347,7 +347,7 @@ template<typename FPType> int64_t Distance(FPType y, FPType x) - return ToOrdinal(y) - ToOrdinal(x); - } - --#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - template <> void test_roundtrip<long double>(long double value) - { - char buffer[ 256 ]; -@@ -603,7 +603,7 @@ int main() - #endif - - // long double -- #if !(BOOST_CHARCONV_LDBL_BITS == 128) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE) -+ #if !(BOOST_CHARCONV_LDBL_BITS == 128) && !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE) - - { - long double const ql = std::pow( 1.0L, -64 ); ---- a/libs/charconv/test/to_chars_float.cpp -+++ b/libs/charconv/test/to_chars_float.cpp -@@ -202,7 +202,7 @@ int main() - non_finite_values<double>(boost::charconv::chars_format::hex, 2); - - // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57484 -- #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__)) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE) -+ #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__)) && !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE) - non_finite_values<long double>(); - #endif - ---- a/libs/charconv/test/to_chars_float_STL_comp.cpp -+++ b/libs/charconv/test/to_chars_float_STL_comp.cpp -@@ -212,7 +212,7 @@ int main() - // General format - random_test<float>(); - random_test<double>(); -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - random_test<long double>(); - #endif - -@@ -227,7 +227,7 @@ int main() - // Scientific - random_test<float>(boost::charconv::chars_format::scientific); - random_test<double>(boost::charconv::chars_format::scientific); -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - random_test<long double>(boost::charconv::chars_format::scientific); - #endif - test_spot<double>(0.0, boost::charconv::chars_format::scientific); -@@ -242,7 +242,7 @@ int main() - // Hex - random_test<float>(boost::charconv::chars_format::hex); - random_test<double>(boost::charconv::chars_format::hex); -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - random_test<long double>(boost::charconv::chars_format::hex); - #endif - -@@ -250,7 +250,7 @@ int main() - - random_test<float>(boost::charconv::chars_format::hex, -1e5F, 1e5F); - random_test<double>(boost::charconv::chars_format::hex, -1e5, 1e5); -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - random_test<long double>(boost::charconv::chars_format::hex, -1e5L, 1e5L); - #endif - -@@ -277,7 +277,7 @@ int main() - non_finite_test<float>(boost::charconv::chars_format::hex); - non_finite_test<double>(boost::charconv::chars_format::hex); - -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - non_finite_test<long double>(); - non_finite_test<long double>(boost::charconv::chars_format::scientific); - non_finite_test<long double>(boost::charconv::chars_format::hex); -@@ -303,7 +303,7 @@ int main() - test_spot<float>(3.3F); - test_spot<double>(3.3); - -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - test_spot<long double>(3.3L); - #endif - ---- a/libs/charconv/test/to_chars_sprintf.cpp -+++ b/libs/charconv/test/to_chars_sprintf.cpp -@@ -627,7 +627,7 @@ int main() - - // long double - -- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE -+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE - { - for( int i = 0; i < N; ++i ) - { --- -2.45.2 - diff --git a/dev-libs/boost/files/boost-1.85.0-bcp-filesystem.patch b/dev-libs/boost/files/boost-1.85.0-bcp-filesystem.patch deleted file mode 100644 index 23d94040341d..000000000000 --- a/dev-libs/boost/files/boost-1.85.0-bcp-filesystem.patch +++ /dev/null @@ -1,188 +0,0 @@ -https://bugs.gentoo.org/932240 -https://github.com/boostorg/bcp/commit/cd21e9b4a749a77c24facf2da44f01e032c40842 - -From cd21e9b4a749a77c24facf2da44f01e032c40842 Mon Sep 17 00:00:00 2001 -From: Andrey Semashev <[email protected]> -Date: Sun, 24 Mar 2024 14:49:18 +0300 -Subject: [PATCH] Remove usage of deprecated and removed Boost.Filesystem APIs. - ---- - add_dependent_lib.cpp | 5 +++-- - add_path.cpp | 30 +++++++++++++++--------------- - bcp_imp.hpp | 1 + - copy_path.cpp | 8 ++++---- - file_types.cpp | 2 +- - 5 files changed, 24 insertions(+), 22 deletions(-) - -diff --git a/tools/bcp/add_dependent_lib.cpp b/tools/bcp/add_dependent_lib.cpp -index 4852914..521b70d 100644 ---- a/tools/bcp/add_dependent_lib.cpp -+++ b/tools/bcp/add_dependent_lib.cpp -@@ -15,6 +15,7 @@ - #include "bcp_imp.hpp" - #include "fileview.hpp" - #include <boost/regex.hpp> -+#include <boost/filesystem/directory.hpp> - #include <boost/filesystem/operations.hpp> - #include <boost/filesystem/exception.hpp> - #include <iostream> -@@ -43,12 +44,12 @@ static void init_library_scanner(const fs::path& p, bool cvs_mode, const std::st - // - // Don't add files created by build system: - // -- if((p.leaf() == "bin") || (p.leaf() == "bin-stage")) -+ if((p.filename() == "bin") || (p.filename() == "bin-stage")) - return; - // - // Don't add version control directories: - // -- if((p.leaf() == "CVS") || (p.leaf() == ".svn")) -+ if((p.filename() == "CVS") || (p.filename() == ".svn")) - return; - // - // don't add directories not under version control: -diff --git a/tools/bcp/add_path.cpp b/tools/bcp/add_path.cpp -index 8a1fee3..747bb8c 100644 ---- a/tools/bcp/add_path.cpp -+++ b/tools/bcp/add_path.cpp -@@ -15,6 +15,7 @@ - #include "bcp_imp.hpp" - #include "fileview.hpp" - #include <boost/regex.hpp> -+#include <boost/filesystem/directory.hpp> - #include <boost/filesystem/operations.hpp> - #include <boost/filesystem/exception.hpp> - #include <iostream> -@@ -24,8 +25,7 @@ void bcp_implementation::add_path(const fs::path& p) - { - if (m_excluded.find(p) != m_excluded.end()) - return; -- fs::path normalized_path = p; -- normalized_path.normalize(); -+ fs::path normalized_path = p.lexically_normal(); - if(fs::exists(m_boost_path / normalized_path)) - { - if(fs::is_directory(m_boost_path / normalized_path)) -@@ -45,12 +45,12 @@ void bcp_implementation::add_directory(const fs::path& p) - // - // Don't add files created by build system: - // -- if((p.leaf() == "bin") || (p.leaf() == "bin-stage")) -+ if((p.filename() == "bin") || (p.filename() == "bin-stage")) - return; - // - // Don't add version control directories: - // -- if((p.leaf() == "CVS") || (p.leaf() == ".svn")) -+ if((p.filename() == "CVS") || (p.filename() == ".svn")) - return; - // - // don't add directories not under version control: -@@ -180,7 +180,7 @@ void bcp_implementation::add_file(const fs::path& p) - { - // only concatonate if it's a relative path - // rather than a URL: -- fs::path dep(p.branch_path() / s); -+ fs::path dep(p.parent_path() / s); - if(!m_dependencies.count(dep)) - { - m_dependencies[dep] = p; // set up dependency tree -@@ -355,13 +355,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile) - continue; - } - include_file = i->str(); -- fs::path test_file(m_boost_path / p.branch_path() / include_file); -- if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost")) -+ fs::path test_file(m_boost_path / p.parent_path() / include_file); -+ if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost")) - { -- if(!m_dependencies.count(p.branch_path() / include_file)) -+ if(!m_dependencies.count(p.parent_path() / include_file)) - { -- m_dependencies[p.branch_path() / include_file] = p; -- add_pending_path(p.branch_path() / include_file); -+ m_dependencies[p.parent_path() / include_file] = p; -+ add_pending_path(p.parent_path() / include_file); - } - } - else if(fs::exists(m_boost_path / include_file)) -@@ -405,13 +405,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile) - ++i; - continue; - } -- fs::path test_file(m_boost_path / p.branch_path() / include_file); -- if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost")) -+ fs::path test_file(m_boost_path / p.parent_path() / include_file); -+ if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost")) - { -- if(!m_dependencies.count(p.branch_path() / include_file)) -+ if(!m_dependencies.count(p.parent_path() / include_file)) - { -- m_dependencies[p.branch_path() / include_file] = p; -- add_pending_path(p.branch_path() / include_file); -+ m_dependencies[p.parent_path() / include_file] = p; -+ add_pending_path(p.parent_path() / include_file); - } - } - else if(fs::exists(m_boost_path / include_file)) -diff --git a/tools/bcp/bcp_imp.hpp b/tools/bcp/bcp_imp.hpp -index e515581..51c85ba 100644 ---- a/tools/bcp/bcp_imp.hpp -+++ b/tools/bcp/bcp_imp.hpp -@@ -14,6 +14,7 @@ - #include <set> - #include <map> - #include <queue> -+#include <string> - #include <boost/filesystem/path.hpp> - - namespace fs = boost::filesystem; -diff --git a/tools/bcp/copy_path.cpp b/tools/bcp/copy_path.cpp -index 4143c79..6b7a370 100644 ---- a/tools/bcp/copy_path.cpp -+++ b/tools/bcp/copy_path.cpp -@@ -49,18 +49,18 @@ void bcp_implementation::copy_path(const fs::path& p) - if(fs::exists(m_dest_path / p)) - { - std::cout << "Copying (and overwriting) file: " << p.string() << "\n"; -- fs::remove(m_dest_path / p); -+ fs::remove(m_dest_path / p); - } - else - std::cout << "Copying file: " << p.string() << "\n"; - // - // create the path to the new file if it doesn't already exist: - // -- create_path(p.branch_path()); -+ create_path(p.parent_path()); - // - // do text based copy if requested: - // -- if((p.leaf() == "Jamroot") && m_namespace_name.size()) -+ if((p.filename() == "Jamroot") && m_namespace_name.size()) - { - static std::vector<char> v1, v2; - v1.clear(); -@@ -240,7 +240,7 @@ void bcp_implementation::create_path(const fs::path& p) - if(!fs::exists(m_dest_path / p)) - { - // recurse then create the path: -- create_path(p.branch_path()); -+ create_path(p.parent_path()); - fs::create_directory(m_dest_path / p); - } - } -diff --git a/tools/bcp/file_types.cpp b/tools/bcp/file_types.cpp -index 297d304..69f6027 100644 ---- a/tools/bcp/file_types.cpp -+++ b/tools/bcp/file_types.cpp -@@ -52,7 +52,7 @@ bool bcp_implementation::is_binary_file(const fs::path& p) - "|" - "(Jamfile|makefile|configure)", - boost::regex::perl | boost::regex::icase); -- return !boost::regex_match(p.leaf().generic_string(), e); -+ return !boost::regex_match(p.filename().generic_string(), e); - - } - - diff --git a/dev-libs/boost/files/boost-1.85.0-container-aliasing.patch b/dev-libs/boost/files/boost-1.85.0-container-aliasing.patch deleted file mode 100644 index cfc1215e7023..000000000000 --- a/dev-libs/boost/files/boost-1.85.0-container-aliasing.patch +++ /dev/null @@ -1,408 +0,0 @@ -https://bugs.gentoo.org/933289 (and https://bugs.gentoo.org/932780, https://bugs.gentoo.org/931587) -https://github.com/freeorion/freeorion/issues/4949 -https://github.com/boostorg/container/issues/252 -https://github.com/boostorg/container/issues/281 -https://github.com/boostorg/container/commit/20ad12f20e661978e90dc7f36d8ab8ac05e5a5a9 - -From 20ad12f20e661978e90dc7f36d8ab8ac05e5a5a9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= <[email protected]> -Date: Sun, 28 Apr 2024 23:29:59 +0200 -Subject: [PATCH] Remove UB in flat_map implementation when the implementation - has a movable std::pair - ---- a/boost/container/allocator_traits.hpp -+++ b/boost/container/allocator_traits.hpp -@@ -32,6 +32,8 @@ - #include <boost/container/detail/mpl.hpp> - #include <boost/container/detail/type_traits.hpp> //is_empty - #include <boost/container/detail/placement_new.hpp> -+#include <boost/container/detail/is_pair.hpp> -+#include <boost/container/detail/addressof.hpp> - #ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP - #include <boost/container/detail/std_fwd.hpp> - #endif -@@ -81,6 +83,144 @@ - - namespace boost { - namespace container { -+namespace dtl { -+ -+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -+ -+template<class T, class ...Args> -+BOOST_CONTAINER_FORCEINLINE void construct_type(T *p, BOOST_FWD_REF(Args) ...args) -+{ -+ ::new((void*)p, boost_container_new_t()) T(::boost::forward<Args>(args)...); -+} -+ -+template < class Pair, class KeyType, class ... Args> -+typename dtl::enable_if< dtl::is_pair<Pair>, void >::type -+construct_type -+ (Pair* p, try_emplace_t, BOOST_FWD_REF(KeyType) k, BOOST_FWD_REF(Args) ...args) -+{ -+ construct_type(dtl::addressof(p->first), ::boost::forward<KeyType>(k)); -+ BOOST_CONTAINER_TRY{ -+ construct_type(dtl::addressof(p->second), ::boost::forward<Args>(args)...); -+ } -+ BOOST_CONTAINER_CATCH(...) { -+ typedef typename Pair::first_type first_type; -+ dtl::addressof(p->first)->~first_type(); -+ BOOST_CONTAINER_RETHROW -+ } -+ BOOST_CONTAINER_CATCH_END -+} -+ -+#else -+ -+#define BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ(N) \ -+template<class T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\ -+BOOST_CONTAINER_FORCEINLINE \ -+ typename dtl::disable_if_c<dtl::is_pair<T>::value, void >::type \ -+construct_type(T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ -+{\ -+ ::new((void*)p, boost_container_new_t()) T( BOOST_MOVE_FWD##N );\ -+}\ -+// -+BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ) -+#undef BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ -+ -+#define BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE(N) \ -+template < class Pair, class KeyType BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\ -+typename dtl::enable_if< dtl::is_pair<Pair>, void >::type construct_type\ -+ (Pair* p, try_emplace_t, BOOST_FWD_REF(KeyType) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ -+{\ -+ construct_type(dtl::addressof(p->first), ::boost::forward<KeyType>(k));\ -+ BOOST_CONTAINER_TRY{\ -+ construct_type(dtl::addressof(p->second) BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ -+ }\ -+ BOOST_CONTAINER_CATCH(...) {\ -+ typedef typename Pair::first_type first_type;\ -+ dtl::addressof(p->first)->~first_type();\ -+ BOOST_CONTAINER_RETHROW\ -+ }\ -+ BOOST_CONTAINER_CATCH_END\ -+}\ -+// -+BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE) -+#undef BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE -+ -+#endif -+ -+template<class T> -+inline -+typename dtl::enable_if<dtl::is_pair<T>, void >::type -+construct_type(T* p) -+{ -+ dtl::construct_type(dtl::addressof(p->first)); -+ BOOST_CONTAINER_TRY{ -+ dtl::construct_type(dtl::addressof(p->second)); -+ } -+ BOOST_CONTAINER_CATCH(...) { -+ typedef typename T::first_type first_type; -+ dtl::addressof(p->first)->~first_type(); -+ BOOST_CONTAINER_RETHROW -+ } -+ BOOST_CONTAINER_CATCH_END -+} -+ -+ -+template<class T, class U> -+inline -+typename dtl::enable_if_c -+ < dtl::is_pair<T>::value -+ , void >::type -+construct_type(T* p, U &u) -+{ -+ dtl::construct_type(dtl::addressof(p->first), u.first); -+ BOOST_CONTAINER_TRY{ -+ dtl::construct_type(dtl::addressof(p->second), u.second); -+ } -+ BOOST_CONTAINER_CATCH(...) { -+ typedef typename T::first_type first_type; -+ dtl::addressof(p->first)->~first_type(); -+ BOOST_CONTAINER_RETHROW -+ } -+ BOOST_CONTAINER_CATCH_END -+} -+ -+template<class T, class U> -+inline -+typename dtl::enable_if_c -+ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value && -+ !boost::move_detail::is_reference<U>::value //This is needed for MSVC10 and ambiguous overloads -+ , void >::type -+construct_type(T* p, BOOST_RV_REF(U) u) -+{ -+ dtl::construct_type(dtl::addressof(p->first), ::boost::move(u.first)); -+ BOOST_CONTAINER_TRY{ -+ dtl::construct_type(dtl::addressof(p->second), ::boost::move(u.second)); -+ } -+ BOOST_CONTAINER_CATCH(...) { -+ typedef typename T::first_type first_type; -+ dtl::addressof(p->first)->~first_type(); -+ BOOST_CONTAINER_RETHROW -+ } -+ BOOST_CONTAINER_CATCH_END -+} -+ -+template<class T, class U, class V> -+inline -+typename dtl::enable_if<dtl::is_pair<T>, void >::type -+construct_type(T* p, BOOST_FWD_REF(U) x, BOOST_FWD_REF(V) y) -+{ -+ dtl::construct_type(dtl::addressof(p->first), ::boost::forward<U>(x)); -+ BOOST_CONTAINER_TRY{ -+ dtl::construct_type(dtl::addressof(p->second), ::boost::forward<V>(y)); -+ } -+ BOOST_CONTAINER_CATCH(...) { -+ typedef typename T::first_type first_type; -+ dtl::addressof(p->first)->~first_type(); -+ BOOST_CONTAINER_RETHROW -+ } -+ BOOST_CONTAINER_CATCH_END -+} -+ -+} //namespace dtl - - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -@@ -419,7 +559,7 @@ struct allocator_traits - - template<class T, class ...Args> - inline static void priv_construct(dtl::false_type, Allocator &, T *p, BOOST_FWD_REF(Args) ...args) -- { ::new((void*)p, boost_container_new_t()) T(::boost::forward<Args>(args)...); } -+ { dtl::construct_type(p, ::boost::forward<Args>(args)...); } - #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - public: - -@@ -450,7 +590,7 @@ struct allocator_traits - \ - template<class T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N >\ - inline static void priv_construct(dtl::false_type, Allocator &, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ -- { ::new((void*)p, boost_container_new_t()) T(BOOST_MOVE_FWD##N); }\ -+ { dtl::construct_type(p BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\ - // - BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL) - #undef BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL ---- a/boost/container/detail/construct_in_place.hpp -+++ b/boost/container/detail/construct_in_place.hpp -@@ -24,6 +24,7 @@ - #include <boost/container/allocator_traits.hpp> - #include <boost/container/detail/iterators.hpp> - #include <boost/container/detail/value_init.hpp> -+#include <boost/container/detail/is_pair.hpp> - - namespace boost { - namespace container { -@@ -62,9 +63,42 @@ BOOST_CONTAINER_FORCEINLINE void construct_in_place(Allocator &a, T *dest, empla - - //Assignment - -+template<class T, class U> -+BOOST_CONTAINER_FORCEINLINE -+ typename dtl::disable_if_c -+ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value -+ && dtl::is_pair<typename dtl::remove_reference<U>::type>::value -+ , void>::type -+assign_in_place_ref(T &t, BOOST_FWD_REF(U) u) -+{ t = ::boost::forward<U>(u); } -+ -+template<class T, class U> -+BOOST_CONTAINER_FORCEINLINE -+ typename dtl::enable_if_c -+ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value -+ && dtl::is_pair<typename dtl::remove_reference<U>::type>::value -+ , void>::type -+assign_in_place_ref(T &t, const U &u) -+{ -+ assign_in_place_ref(t.first, u.first); -+ assign_in_place_ref(t.second, u.second); -+} -+ -+template<class T, class U> -+BOOST_CONTAINER_FORCEINLINE -+ typename dtl::enable_if_c -+ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value -+ && dtl::is_pair<typename dtl::remove_reference<U>::type>::value -+ , void>::type -+assign_in_place_ref(T &t, BOOST_RV_REF(U) u) -+{ -+ assign_in_place_ref(t.first, ::boost::move(u.first)); -+ assign_in_place_ref(t.second, ::boost::move(u.second)); -+} -+ - template<class DstIt, class InpIt> - BOOST_CONTAINER_FORCEINLINE void assign_in_place(DstIt dest, InpIt source) --{ *dest = *source; } -+{ assign_in_place_ref(*dest, *source); } - - template<class DstIt, class U> - BOOST_CONTAINER_FORCEINLINE void assign_in_place(DstIt dest, value_init_construct_iterator<U>) ---- a/boost/container/flat_map.hpp -+++ b/boost/container/flat_map.hpp -@@ -48,6 +48,11 @@ - #include <initializer_list> - #endif - -+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -+#define BOOST_CONTAINER_STD_PAIR_IS_MOVABLE -+#endif -+ -+ - namespace boost { - namespace container { - -@@ -58,21 +63,37 @@ class flat_multimap; - - namespace dtl{ - -+#if defined(BOOST_CONTAINER_STD_PAIR_IS_MOVABLE) - template<class D, class S> - BOOST_CONTAINER_FORCEINLINE static D &force(S &s) --{ return *move_detail::force_ptr<D*>(&s); } -+{ return s; } - - template<class D, class S> - BOOST_CONTAINER_FORCEINLINE static const D &force(const S &s) --{ return *move_detail::force_ptr<const D*>(&s); } -+{ return s; } -+ -+template<class D> -+BOOST_CONTAINER_FORCEINLINE static D force_copy(D s) -+{ return s; } -+ -+#else //!BOOST_CONTAINER_DOXYGEN_INVOKED -+ -+template<class D, class S> -+BOOST_CONTAINER_FORCEINLINE static D &force(S &s) -+{ return *move_detail::launder_cast<D*>(&s); } -+ -+template<class D, class S> -+BOOST_CONTAINER_FORCEINLINE static const D &force(const S &s) -+{ return *move_detail::launder_cast<const D*>(&s); } - - template<class D, class S> - BOOST_CONTAINER_FORCEINLINE static D force_copy(const S &s) - { -- const D *const vp = move_detail::force_ptr<const D *>(&s); -+ const D *const vp = move_detail::launder_cast<const D *>(&s); - D ret_val(*vp); - return ret_val; - } -+#endif //BOOST_CONTAINER_DOXYGEN_INVOKED - - } //namespace dtl{ - -@@ -118,18 +139,27 @@ class flat_map - private: - BOOST_COPYABLE_AND_MOVABLE(flat_map) - //This is the tree that we should store if pair was movable -+ typedef std::pair<Key, T> std_pair_t; - typedef dtl::flat_tree< -- std::pair<Key, T>, -+ std_pair_t, - dtl::select1st<Key>, - Compare, - AllocatorOrContainer> tree_t; - - //This is the real tree stored here. It's based on a movable pair -+ typedef dtl::pair<Key, T> dtl_pair_t; -+ -+ #ifdef BOOST_CONTAINER_STD_PAIR_IS_MOVABLE -+ typedef std_pair_t impl_pair_t; -+ #else -+ typedef dtl_pair_t impl_pair_t; -+ #endif -+ - typedef dtl::flat_tree< -- dtl::pair<Key, T>, -+ impl_pair_t, - dtl::select1st<Key>, - Compare, -- typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type -+ typename dtl::container_or_allocator_rebind<AllocatorOrContainer, impl_pair_t >::type - > impl_tree_t; - impl_tree_t m_flat_tree; // flat tree representing flat_map - -@@ -851,7 +881,7 @@ class flat_map - //! @copydoc ::boost::container::flat_set::nth(size_type) const - BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline - const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW -- { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); } -+ { return dtl::force_copy<const_iterator>(m_flat_tree.nth(n)); } - - //! @copydoc ::boost::container::flat_set::index_of(iterator) - BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline -@@ -1099,7 +1129,7 @@ class flat_map - template <class Pair> - inline BOOST_CONTAINER_DOC1ST - ( std::pair<iterator BOOST_MOVE_I bool> -- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value -+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value - BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> >::type) - insert(BOOST_FWD_REF(Pair) x) - { -@@ -1153,7 +1183,7 @@ class flat_map - template <class Pair> - inline BOOST_CONTAINER_DOC1ST - ( iterator -- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value -+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value - BOOST_MOVE_I iterator>::type) - insert(const_iterator p, BOOST_FWD_REF(Pair) x) - { -@@ -1777,17 +1807,24 @@ class flat_multimap - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - private: - BOOST_COPYABLE_AND_MOVABLE(flat_multimap) -+ typedef std::pair<Key, T> std_pair_t; - typedef dtl::flat_tree< -- std::pair<Key, T>, -+ std_pair_t, - dtl::select1st<Key>, - Compare, - AllocatorOrContainer> tree_t; - //This is the real tree stored here. It's based on a movable pair -+ typedef dtl::pair<Key, T> dtl_pair_t; -+ #ifdef BOOST_CONTAINER_STD_PAIR_IS_MOVABLE -+ typedef std_pair_t impl_pair_t; -+ #else -+ typedef dtl_pair_t impl_pair_t; -+ #endif - typedef dtl::flat_tree< -- dtl::pair<Key, T>, -+ impl_pair_t, - dtl::select1st<Key>, - Compare, -- typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type -+ typename dtl::container_or_allocator_rebind<AllocatorOrContainer, impl_pair_t >::type - > impl_tree_t; - impl_tree_t m_flat_tree; // flat tree representing flat_map - -@@ -2388,7 +2425,7 @@ class flat_multimap - //! @copydoc ::boost::container::flat_set::nth(size_type) const - BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline - const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW -- { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); } -+ { return dtl::force_copy<const_iterator>(m_flat_tree.nth(n)); } - - //! @copydoc ::boost::container::flat_set::index_of(iterator) - BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline -@@ -2477,7 +2514,7 @@ class flat_multimap - template<class Pair> - inline BOOST_CONTAINER_DOC1ST - ( iterator -- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value -+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value - BOOST_MOVE_I iterator >::type) - insert(BOOST_FWD_REF(Pair) x) - { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Pair>(x))); } -@@ -2514,7 +2551,7 @@ class flat_multimap - template<class Pair> - inline BOOST_CONTAINER_DOC1ST - ( iterator -- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value -+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value - BOOST_MOVE_I iterator>::type) - insert(const_iterator p, BOOST_FWD_REF(Pair) x) - { diff --git a/dev-libs/boost/files/boost-1.85.0-python-numpy-2.patch b/dev-libs/boost/files/boost-1.85.0-python-numpy-2.patch deleted file mode 100644 index e7a7d98b8573..000000000000 --- a/dev-libs/boost/files/boost-1.85.0-python-numpy-2.patch +++ /dev/null @@ -1,26 +0,0 @@ -https://bugs.gentoo.org/932459 -https://github.com/boostorg/python/issues/431 -https://github.com/boostorg/python/pull/432 - -From 33ac06ca59a68266d3d26edf08205d31ddab4a6c Mon Sep 17 00:00:00 2001 -From: Alexis DUBURCQ <[email protected]> -Date: Fri, 15 Mar 2024 14:10:16 +0100 -Subject: [PATCH] Support numpy 2.0.0b1 - ---- a/libs/python/src/numpy/dtype.cpp -+++ b/libs/python/src/numpy/dtype.cpp -@@ -98,7 +98,13 @@ python::detail::new_reference dtype::convert(object const & arg, bool align) - return python::detail::new_reference(reinterpret_cast<PyObject*>(obj)); - } - --int dtype::get_itemsize() const { return reinterpret_cast<PyArray_Descr*>(ptr())->elsize;} -+int dtype::get_itemsize() const { -+#if NPY_ABI_VERSION < 0x02000000 -+ return reinterpret_cast<PyArray_Descr*>(ptr())->elsize; -+#else -+ return PyDataType_ELSIZE(reinterpret_cast<PyArray_Descr*>(ptr())); -+#endif -+} - - bool equivalent(dtype const & a, dtype const & b) { - // On Windows x64, the behaviour described on diff --git a/dev-libs/boost/files/boost-1.86.0-uuid-compute-backport.patch b/dev-libs/boost/files/boost-1.86.0-uuid-compute-backport.patch deleted file mode 100644 index 9fcf80680989..000000000000 --- a/dev-libs/boost/files/boost-1.86.0-uuid-compute-backport.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 4ab28f5b879c8a2335b851f5338b9012f4466dd0 Mon Sep 17 00:00:00 2001 -From: sehe <[email protected]> -Date: Mon, 19 Aug 2024 17:42:31 +0200 -Subject: [PATCH] Update sha1.hpp for breaking interface change in Boost.UUID - -see https://github.com/boostorg/uuid/commit/0f843137a1a479797004f195ec615fdc6ac1c219 ---- - boost/compute/detail/sha1.hpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/boost/compute/detail/sha1.hpp b/boost/compute/detail/sha1.hpp -index 5afe5f9c4..24fde3cd1 100644 ---- a/boost/compute/detail/sha1.hpp -+++ b/boost/compute/detail/sha1.hpp -@@ -37,12 +37,12 @@ class sha1 { - } - - operator std::string() { -- unsigned int digest[5]; -+ unsigned char digest[20]; - h.get_digest(digest); - - std::ostringstream buf; -- for(int i = 0; i < 5; ++i) -- buf << std::hex << std::setfill('0') << std::setw(8) << digest[i]; -+ for(int i = 0; i < 20; ++i) -+ buf << std::hex << std::setfill('0') << std::setw(2) << static_cast<int>(digest[i]); - - return buf.str(); - } diff --git a/dev-libs/boost/files/boost-1.87.0-move.patch b/dev-libs/boost/files/boost-1.87.0-move.patch deleted file mode 100644 index 68d2abbcb690..000000000000 --- a/dev-libs/boost/files/boost-1.87.0-move.patch +++ /dev/null @@ -1,74 +0,0 @@ -https://bugs.gentoo.org/948204 -https://github.com/boostorg/container/issues/292 -https://github.com/boostorg/move/issues/59 -https://github.com/boostorg/move/commit/5f073f8f00ee23b4502c0ad30a3aa2a5154cd1e8 -https://github.com/boostorg/move/commit/e9ff3ca0952e680871145f454925614d950cef4d - -From 5f073f8f00ee23b4502c0ad30a3aa2a5154cd1e8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= <[email protected]> -Date: Fri, 28 Feb 2025 17:22:47 +0100 -Subject: [PATCH] FIxes #59 ("std_ns_begin.hpp: missing definition of - BOOST_MOVE_STD_NS_BEG") - ---- - include/boost/move/detail/std_ns_begin.hpp | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/include/boost/move/detail/std_ns_begin.hpp b/include/boost/move/detail/std_ns_begin.hpp -index de13cde..90169c4 100644 ---- a/boost/move/detail/std_ns_begin.hpp -+++ b/boost/move/detail/std_ns_begin.hpp -@@ -9,6 +9,7 @@ - #// - #////////////////////////////////////////////////////////////////////////////// - # -+#include <boost/config.hpp> - #if defined(_LIBCPP_VERSION) - #if defined(__clang__) - #define BOOST_MOVE_STD_NS_GCC_DIAGNOSTIC_PUSH -@@ -26,6 +27,9 @@ - #elif defined(BOOST_DINKUMWARE_STDLIB) - #define BOOST_MOVE_STD_NS_BEG _STD_BEGIN - #define BOOST_MOVE_STD_NS_END _STD_END -+#else -+ #define BOOST_MOVE_STD_NS_BEG namespace std{ -+ #define BOOST_MOVE_STD_NS_END - #endif - - #if defined(_MSC_VER) && (_MSC_VER >= 1915) - -From e9ff3ca0952e680871145f454925614d950cef4d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= <[email protected]> -Date: Fri, 28 Feb 2025 19:32:21 +0100 -Subject: [PATCH] Fix #59 again (missing BOOST_MOVE_STD_NS_END closing brace) - ---- - include/boost/move/detail/std_ns_begin.hpp | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/include/boost/move/detail/std_ns_begin.hpp b/include/boost/move/detail/std_ns_begin.hpp -index 90169c4..ef9b4b4 100644 ---- a/boost/move/detail/std_ns_begin.hpp -+++ b/boost/move/detail/std_ns_begin.hpp -@@ -9,7 +9,9 @@ - #// - #////////////////////////////////////////////////////////////////////////////// - # --#include <boost/config.hpp> -+#ifndef BOOST_CONFIG_HPP -+# include <boost/config.hpp> -+#endif - #if defined(_LIBCPP_VERSION) - #if defined(__clang__) - #define BOOST_MOVE_STD_NS_GCC_DIAGNOSTIC_PUSH -@@ -28,8 +30,8 @@ - #define BOOST_MOVE_STD_NS_BEG _STD_BEGIN - #define BOOST_MOVE_STD_NS_END _STD_END - #else -- #define BOOST_MOVE_STD_NS_BEG namespace std{ -- #define BOOST_MOVE_STD_NS_END -+ #define BOOST_MOVE_STD_NS_BEG namespace std { -+ #define BOOST_MOVE_STD_NS_END } - #endif - - #if defined(_MSC_VER) && (_MSC_VER >= 1915) diff --git a/dev-libs/boost/files/boost-1.87.0-smart_ptr-operator.patch b/dev-libs/boost/files/boost-1.87.0-smart_ptr-operator.patch deleted file mode 100644 index 6a008d528a65..000000000000 --- a/dev-libs/boost/files/boost-1.87.0-smart_ptr-operator.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://github.com/boostorg/smart_ptr/issues/115 -https://github.com/boostorg/smart_ptr/commit/e7433ba54596da97cb7859455cd37ca140305a9c - -From e7433ba54596da97cb7859455cd37ca140305a9c Mon Sep 17 00:00:00 2001 -From: Peter Dimov <[email protected]> -Date: Mon, 13 Jan 2025 16:13:04 +0200 -Subject: [PATCH] Fix operator<< for shared_ptr and intrusive_ptr. Fixes #115. - ---- - include/boost/smart_ptr/intrusive_ptr.hpp | 2 +- - include/boost/smart_ptr/shared_ptr.hpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git boost/smart_ptr/intrusive_ptr.hpp boost/smart_ptr/intrusive_ptr.hpp -index ddb20c0b0e..11b476513a 100644 ---- a/boost/smart_ptr/intrusive_ptr.hpp -+++ b/boost/smart_ptr/intrusive_ptr.hpp -@@ -285,7 +285,7 @@ template<class T, class U> intrusive_ptr<T> dynamic_pointer_cast( intrusive_ptr< - - // operator<< - --template<class Y> std::ostream & operator<< (std::ostream & os, intrusive_ptr<Y> const & p) -+template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, intrusive_ptr<Y> const & p) - { - os << p.get(); - return os; -diff --git boost/smart_ptr/shared_ptr.hpp boost/smart_ptr/shared_ptr.hpp -index 2431a33590..2deed9b632 100644 ---- a/boost/smart_ptr/shared_ptr.hpp -+++ b/boost/smart_ptr/shared_ptr.hpp -@@ -775,7 +775,7 @@ template<class T> inline typename shared_ptr<T>::element_type * get_pointer(shar - - // operator<< - --template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p) -+template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p) - { - os << p.get(); - return os; - diff --git a/dev-libs/boost/files/boost-1.87.0-solaris.patch b/dev-libs/boost/files/boost-1.87.0-solaris.patch deleted file mode 100644 index f0c8f9fbfe63..000000000000 --- a/dev-libs/boost/files/boost-1.87.0-solaris.patch +++ /dev/null @@ -1,25 +0,0 @@ -for Solaris, part from upstream commit -https://github.com/boostorg/process/commit/bb375f50bd5b362b087aab326df158a440882e29 - ---- boost_1_87_0/libs/process/src/ext/cwd.cpp -+++ boost_1_87_0/libs/process/src/ext/cwd.cpp -@@ -124,7 +124,7 @@ - filesystem::path("/proc") / std::to_string(pid) / "cwd", ec - ); - #elif defined(__sun) -- return fileystem::canonical( -+ return filesystem::canonical( - filesystem::path("/proc") / std::to_string(pid) / "path/cwd", ec - ); - #endif ---- boost_1_87_0/libs/process/src/ext/exe.cpp -+++ boost_1_87_0/libs/process/src/ext/exe.cpp -@@ -138,7 +138,7 @@ - filesystem::path("/proc") / std::to_string(pid) / "exe", ec - ); - #elif defined(__sun) -- return fileystem::canonical( -+ return filesystem::canonical( - filesystem::path("/proc") / std::to_string(pid) / "path/a.out", ec - ); - #endif diff --git a/dev-libs/boost/files/boost-1.87.0-thread-typo.patch b/dev-libs/boost/files/boost-1.87.0-thread-typo.patch deleted file mode 100644 index 2674cffe9367..000000000000 --- a/dev-libs/boost/files/boost-1.87.0-thread-typo.patch +++ /dev/null @@ -1,28 +0,0 @@ -https://bugs.gentoo.org/945916 -https://github.com/boostorg/thread/pull/408 - -From 49ccf9c30a0ca556873dbf64b12b0d741d1b3e66 Mon Sep 17 00:00:00 2001 -From: Arvid Norlander <[email protected]> -Date: Fri, 8 Nov 2024 16:48:43 +0100 -Subject: [PATCH] Fix build on clang-19 (which checks more things in - uninstantiated templates) - -Fixes issue #402 ---- - include/boost/thread/future.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/boost/thread/future.hpp b/include/boost/thread/future.hpp -index 00f504b9b..d15d7ffa5 100644 ---- a/boost/thread/future.hpp -+++ b/boost/thread/future.hpp -@@ -4668,7 +4668,7 @@ namespace detail - } - run_it& operator=(BOOST_THREAD_RV_REF(run_it) x) BOOST_NOEXCEPT { - if (this != &x) { -- that_=x.that; -+ that_=x.that_; - x.that_.reset(); - } - return *this; -
