diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/boost/Manifest index 98c80b335c..05253944a4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/Manifest @@ -1,2 +1,3 @@ -DIST boost_1_74_0.tar.bz2 109600630 BLAKE2B 2982f64fccf6fdb3b4b74452e603f459242d7abb42df4162278d9b558b637786a2eb97442126967b19088d591777c64ced8f60a23e71eaa0b7545e80f800de63 SHA512 4ec9c1164ec9b95ce46ba1c073e586c94b3882dce5b7347ea14bbef0c1da230e12aa5328a501ce38cae1b1d7623daa3246325625899179b4cc309242540982a4 -DIST boost_1_75_0.tar.bz2 121849575 BLAKE2B ce7ecd8bcee518ce54f7e5302f202acbea60cedd6ae9248708c0bb5bbc2713607b2e1967a9e6f77cc20a4c008c1ee4db651def55937efc80407487a7a44fa8d6 SHA512 d86f060245e98dca5c7f3f831c98ea9ccbfa8310f20830dd913d9d4c939fbe7cb94accd35f1128e7c4faf6c27adb6f4bb54e5477a6bde983dfc7aa33c4eed03a +DIST boost-1.77.0-patches-1.tar.xz 9612 BLAKE2B b56e45cee94329c97e8ee4e6f040832829e63fb0ae47f02fb1aa54720311f56e68b4d4d53557952bb280d60316ecf64ffc1a1e9c9411b70a733690270b85c2d2 SHA512 1358fa6d3afa45fe414f0c11bb583cc8b95737405c6fc3831f7485e22edac990e98849c06c851a4d0fe26bbeec7b8b40103090dc80417ae717ba33caa2088d86 +DIST boost_1_76_0.tar.bz2 110073117 BLAKE2B 45445e6a9725cb99131e0b831b2fac0840d083692c13887b41adeac5cb8b3732026db3641d6be20591a676b78a87fcf363eb9b1508f87ed26039bba6a1ced533 SHA512 5d68bed98c57e03b4cb2420d9b856e5f0669561a6142a4b0c9c8a58dc5b6b28e16ccbb16ac559c3a3198c45769a246bf996b96cb7b6a019dd15f05c2270e9429 +DIST boost_1_77_0.tar.bz2 110361537 BLAKE2B 106aeb09ec7705b595f2ca966a76c53c649eac6fac50d88c156862e0991c33c89a2f3a09edcbcb453fa44bf71cdde030b35d0a0889ad97b65f3a868cb877a532 SHA512 39b45c9b60bc5a2a4c669a4463d1272c1e093376b2fb374d7f20a84ea10a3e23bb04b335a735a83a04575731f874d9bff77e89acd947524b3fbbae1b26ae1f2f diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.75.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.76.0-r1.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.75.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.76.0-r1.ebuild index 3d0308b301..fd0a7959b9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.75.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.76.0-r1.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=(python3_6) +PYTHON_COMPAT=( python3_{8..10} ) inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal @@ -12,16 +12,16 @@ MAJOR_V="$(ver_cut 1-2)" DESCRIPTION="Boost Libraries for C++" HOMEPAGE="https://www.boost.org/" -SRC_URI="https://dl.bintray.com/boostorg/release/${PV}/source/boost_${MY_PV}.tar.bz2" +SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2" +S="${WORKDIR}/${PN}_${MY_PV}" LICENSE="Boost-1.0" SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122 -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python static-libs +threads tools zlib zstd" REQUIRED_USE=" mpi? ( threads ) 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 @@ -45,9 +45,7 @@ RDEPEND=" zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] ) zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )" DEPEND="${RDEPEND}" -BDEPEND="=dev-util/boost-build-${MAJOR_V}*" - -S="${WORKDIR}/${PN}_${MY_PV}" +BDEPEND=">=dev-util/boost-build-${MAJOR_V}-r2" PATCHES=( "${FILESDIR}"/${PN}-1.71.0-disable_icu_rpath.patch @@ -55,9 +53,9 @@ PATCHES=( "${FILESDIR}"/${PN}-1.71.0-build-auto_index-tool.patch # Boost.MPI's __init__.py doesn't work on Py3 "${FILESDIR}"/${PN}-1.73-boost-mpi-python-PEP-328.patch - # Remove annoying #pragma message - "${FILESDIR}"/${PN}-1.73-property-tree-include.patch "${FILESDIR}"/${PN}-1.74-CVE-2012-2677.patch + "${FILESDIR}"/${PN}-1.76-boost-numpy.patch + "${FILESDIR}"/${PN}-1.76-sparc-define.patch ) python_bindings_needed() { @@ -173,13 +171,8 @@ src_configure() { $(usex context '' '--without-context --without-coroutine --without-fiber') $(usex threads '' '--without-thread') --without-stacktrace - --boost-build="${BROOT}"/usr/share/boost-build - --prefix="${ED}/usr" + --boost-build="${BROOT}"/usr/share/boost-build/src --layout=system - # CMake has issues working with multiple python impls, - # disable cmake config generation for the time being - # https://github.com/boostorg/python/issues/262#issuecomment-483069294 - --no-cmake-config # building with threading=single is currently not possible # https://svn.boost.org/trac/boost/ticket/7105 threading=multi @@ -203,17 +196,79 @@ src_configure() { } multilib_src_compile() { - ejam "${OPTIONS[@]}" || die + ejam \ + --prefix="${EPREFIX}"/usr \ + "${OPTIONS[@]}" || die if tools_needed; 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" + + pushd "${ED}"/usr/$(get_libdir) >/dev/null || die + + local ext=$(get_libname) + if use threads; then + local f + for f in *${ext}; do + dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}} + done + fi + + popd >/dev/null || die + + if tools_needed; 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 + refs=$(otool -XL "${d}" | \ + sed -e '1d' -e 's/^\t//' | \ + grep "^libboost_" | \ + cut -f1 -d' ') + local r + for r in ${refs}; do + ebegin " correcting reference to ${r}" + install_name_tool -change \ + "${r}" \ + "${EPREFIX}/usr/lib/${r}" \ + "${d}" + eend $? + done + fi + done + fi +} + multilib_src_install_all() { if ! use numpy; then rm -r "${ED}"/usr/include/boost/python/numpy* || die @@ -266,67 +321,8 @@ multilib_src_install_all() { fi } -multilib_src_install() { - ejam \ - "${OPTIONS[@]}" \ - --includedir="${ED}/usr/include" \ - --libdir="${ED}/usr/$(get_libdir)" \ - install || die "Installation of Boost libraries failed" - - pushd "${ED}/usr/$(get_libdir)" >/dev/null || die - - local ext=$(get_libname) - if use threads; then - local f - for f in *${ext}; do - dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}} - done - fi - - popd >/dev/null || die - - if tools_needed; 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 - refs=$(otool -XL "${d}" | \ - sed -e '1d' -e 's/^\t//' | \ - grep "^libboost_" | \ - cut -f1 -d' ') - local r - for r in ${refs}; do - ebegin " correcting reference to ${r}" - install_name_tool -change \ - "${r}" \ - "${EPREFIX}/usr/lib/${r}" \ - "${d}" - eend $? - done - fi - done - fi -} - pkg_preinst() { - # Yai for having symlinks that are nigh-impossible to remove without + # 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 @@ -350,7 +346,7 @@ pkg_postinst() { 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 "requires a complete rebuild of the Boost-dependent ecosystem." elog elog "See for instance https://bugs.gentoo.org/638138" } diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.74.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.77.0-r3.ebuild similarity index 81% rename from sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.74.0-r2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.77.0-r3.ebuild index 8740c51baa..4e4ee15148 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.74.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.77.0-r3.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=(python3_6) +PYTHON_COMPAT=( python3_{8..10} ) inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal @@ -12,16 +12,15 @@ MAJOR_V="$(ver_cut 1-2)" DESCRIPTION="Boost Libraries for C++" HOMEPAGE="https://www.boost.org/" -SRC_URI="https://dl.bintray.com/boostorg/release/${PV}/source/boost_${MY_PV}.tar.bz2" +SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-1.tar.xz" +S="${WORKDIR}/${PN}_${MY_PV}" LICENSE="Boost-1.0" SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt" -IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python static-libs +threads tools zlib zstd" -REQUIRED_USE=" - mpi? ( threads ) - python? ( ${PYTHON_REQUIRED_USE} )" - +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python 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 @@ -40,27 +39,24 @@ RDEPEND=" mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] ) python? ( ${PYTHON_DEPS} - numpy? ( $(python_gen_cond_dep 'dev-python/numpy[${PYTHON_USEDEP}]' -3) ) + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] ) ) zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] ) zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )" DEPEND="${RDEPEND}" -BDEPEND="=dev-util/boost-build-${MAJOR_V}*" - -S="${WORKDIR}/${PN}_${MY_PV}" +BDEPEND=">=dev-util/boost-build-${MAJOR_V}-r2" PATCHES=( - "${FILESDIR}"/${PN}-1.71.0-disable_icu_rpath.patch - "${FILESDIR}"/${PN}-1.71.0-context-x32.patch - "${FILESDIR}"/${PN}-1.71.0-build-auto_index-tool.patch - # upstream unresponsive to pull request - # https://github.com/boostorg/python/pull/286 - "${FILESDIR}"/${PN}-1.73-boost-python-cleanup.patch + "${WORKDIR}"/${PN}-1.71.0-disable_icu_rpath.patch + "${WORKDIR}"/${PN}-1.71.0-context-x32.patch + "${WORKDIR}"/${PN}-1.71.0-build-auto_index-tool.patch # Boost.MPI's __init__.py doesn't work on Py3 - "${FILESDIR}"/${PN}-1.73-boost-mpi-python-PEP-328.patch - # Remove annoying #pragma message - "${FILESDIR}"/${PN}-1.73-property-tree-include.patch - "${FILESDIR}"/${PN}-1.74-CVE-2012-2677.patch + "${WORKDIR}"/${PN}-1.73-boost-mpi-python-PEP-328.patch + "${WORKDIR}"/${PN}-1.74-CVE-2012-2677.patch + "${WORKDIR}"/${PN}-1.76-sparc-define.patch + "${WORKDIR}"/${PN}-1.77-math-deprecated-include.patch + "${WORKDIR}"/${PN}-1.77-geometry.patch + "${FILESDIR}"/${P}-python-3.10.patch ) python_bindings_needed() { @@ -171,22 +167,16 @@ src_configure() { -d+2 pch=off $(usex icu "-sICU_PATH=${ESYSROOT}/usr" '--disable-icu boost.locale.icu=off') - $(usex mpi '' '--without-mpi') - $(usex nls '' '--without-locale') - $(usex context '' '--without-context --without-coroutine --without-fiber') - $(usex threads '' '--without-thread') + $(usev !mpi --without-mpi) + $(usev !nls --without-locale) + $(usev !context '--without-context --without-coroutine --without-fiber') --without-stacktrace - --boost-build="${BROOT}"/usr/share/boost-build - --prefix="${ED}/usr" + --boost-build="${BROOT}"/usr/share/boost-build/src --layout=system - # CMake has issues working with multiple python impls, - # disable cmake config generation for the time being - # https://github.com/boostorg/python/issues/262#issuecomment-483069294 - --no-cmake-config # building with threading=single is currently not possible # https://svn.boost.org/trac/boost/ticket/7105 threading=multi - link=$(usex static-libs shared,static shared) + 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) @@ -206,17 +196,67 @@ src_configure() { } multilib_src_compile() { - ejam "${OPTIONS[@]}" || die + ejam \ + --prefix="${EPREFIX}"/usr \ + "${OPTIONS[@]}" || die if tools_needed; 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 tools_needed; 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 + refs=$(otool -XL "${d}" | \ + sed -e '1d' -e 's/^\t//' | \ + grep "^libboost_" | \ + cut -f1 -d' ') + local r + for r in ${refs}; do + ebegin " correcting reference to ${r}" + install_name_tool -change \ + "${r}" \ + "${EPREFIX}/usr/lib/${r}" \ + "${d}" + eend $? + done + fi + done + fi +} + multilib_src_install_all() { if ! use numpy; then rm -r "${ED}"/usr/include/boost/python/numpy* || die @@ -269,67 +309,8 @@ multilib_src_install_all() { fi } -multilib_src_install() { - ejam \ - "${OPTIONS[@]}" \ - --includedir="${ED}/usr/include" \ - --libdir="${ED}/usr/$(get_libdir)" \ - install || die "Installation of Boost libraries failed" - - pushd "${ED}/usr/$(get_libdir)" >/dev/null || die - - local ext=$(get_libname) - if use threads; then - local f - for f in *${ext}; do - dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}} - done - fi - - popd >/dev/null || die - - if tools_needed; 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 - refs=$(otool -XL "${d}" | \ - sed -e '1d' -e 's/^\t//' | \ - grep "^libboost_" | \ - cut -f1 -d' ') - local r - for r in ${refs}; do - ebegin " correcting reference to ${r}" - install_name_tool -change \ - "${r}" \ - "${EPREFIX}/usr/lib/${r}" \ - "${d}" - eend $? - done - fi - done - fi -} - pkg_preinst() { - # Yai for having symlinks that are nigh-impossible to remove without + # 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 @@ -353,7 +334,7 @@ pkg_postinst() { 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 "requires a complete rebuild of the Boost-dependent ecosystem." elog elog "See for instance https://bugs.gentoo.org/638138" } diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.73-boost-python-cleanup.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.73-boost-python-cleanup.patch deleted file mode 100644 index 64c8eec814..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.73-boost-python-cleanup.patch +++ /dev/null @@ -1,107 +0,0 @@ -From c1cae8e6b0480e046ea627679a3afe488ed02dc1 Mon Sep 17 00:00:00 2001 -From: David Seifert -Date: Wed, 25 Dec 2019 12:37:35 +0100 -Subject: [PATCH] Remove Boost.Python-specific python-tag code - ---- - libs/python/Jamfile | 68 --------------------------------------------------- - libs/python/build/Jamfile | 4 +-- - 2 files changed, 2 insertions(+), 70 deletions(-) - delete mode 100644 Jamfile - -diff --git a/libs/python/Jamfile b/libs/python/Jamfile -deleted file mode 100644 -index 32e87d80f..000000000 ---- a/libs/python/Jamfile -+++ /dev/null -@@ -1,68 +0,0 @@ --# Copyright (c) 2018 Stefan Seefeld --# All rights reserved. --# --# Distributed under the Boost Software License, Version 1.0. --# (See accompanying file LICENSE_1_0.txt or copy at --# http://www.boost.org/LICENSE_1_0.txt) -- --import option ; --import regex ; --import python ; -- --# --# The `version-suffix` rule really belongs into python.jam, and --# should be moved there. `split-version` is only duplicated here --# as a prerequisite. (See https://github.com/boostorg/build/pull/290) --# -- -- --# Validate the version string and extract the major/minor part we care about. --# --local rule split-version ( version ) --{ -- local major-minor = [ MATCH "^([0-9]+)\.([0-9]+)(.*)$" : $(version) : 1 2 3 ] ; -- if ! $(major-minor[2]) || $(major-minor[3]) -- { -- ECHO "Warning: \"using python\" expects a two part (major, minor) version number; got" $(version) instead ; -- -- # Add a zero to account for the missing digit if necessary. -- major-minor += 0 ; -- } -- -- return $(major-minor[1]) $(major-minor[2]) ; --} -- --# Define a version suffix for libraries depending on Python. --# For example, Boost.Python built for Python 2.7 uses the suffix "27" --rule version-suffix ( version ) --{ -- local major-minor = [ split-version $(version) ] ; -- local suffix = $(major-minor:J="") ; -- return $(suffix) ; --} -- -- --# Python build id (for Python libraries only). --python-id = [ option.get "python-buildid" ] ; --if $(python-id) --{ -- PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" _ ] ; --} -- --rule python-tag ( name : type ? : property-set ) --{ -- local result = $(name) ; -- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB -- { -- local version = [ $(property-set).get ] ; -- local lib-suffix = [ version-suffix $(version) ] ; -- result = $(result)$(lib-suffix) ; -- } -- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB && $(PYTHON_ID) -- { -- result = $(result)-$(PYTHON_ID) ; -- } -- -- # forward to the boost tagging rule -- return [ tag $(result) : $(type) : $(property-set) ] ; --} -diff --git a/libs/python/build/Jamfile b/libs/python/build/Jamfile -index d03d4dd08..dbc9fb203 100644 ---- a/libs/python/build/Jamfile -+++ b/libs/python/build/Jamfile -@@ -95,7 +95,7 @@ - config-warning - on:BOOST_DEBUG_PYTHON - -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag -- @$(__name__).python-tag -+ @python-tag - @python.require-py - - : # default build -@@ -123,7 +123,7 @@ - boost_python - on:BOOST_DEBUG_PYTHON - -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag -- @$(__name__).python-tag -+ @python-tag - @python.require-py - - : # default build diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.73-property-tree-include.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.73-property-tree-include.patch deleted file mode 100644 index 539388275b..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.73-property-tree-include.patch +++ /dev/null @@ -1,45 +0,0 @@ -From d1c8825a45a0717e1ad79583d3283b0e5e32831e Mon Sep 17 00:00:00 2001 -From: Andrey Semashev -Date: Tue, 28 Apr 2020 22:03:04 +0300 -Subject: [PATCH] Fix usage of deprecated Boost.Bind features - -This fixes deprecation warnings generated by boost/bind.hpp. - -Also, use a more actual include path for ref.hpp. ---- - boost/property_tree/json_parser/detail/parser.hpp | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/boost/property_tree/json_parser/detail/parser.hpp b/boost/property_tree/json_parser/detail/parser.hpp -index 5554990fb..6cf636394 100644 ---- a/boost/property_tree/json_parser/detail/parser.hpp -+++ b/boost/property_tree/json_parser/detail/parser.hpp -@@ -3,8 +3,8 @@ - - #include - --#include --#include -+#include -+#include - #include - - #include -@@ -214,7 +214,7 @@ namespace boost { namespace property_tree { - void process_codepoint(Sentinel end, EncodingErrorFn error_fn) { - encoding.transcode_codepoint(cur, end, - boost::bind(&Callbacks::on_code_unit, -- boost::ref(callbacks), _1), -+ boost::ref(callbacks), boost::placeholders::_1), - error_fn); - } - -@@ -517,7 +517,7 @@ namespace boost { namespace property_tree { - void feed(unsigned codepoint) { - encoding.feed_codepoint(codepoint, - boost::bind(&Callbacks::on_code_unit, -- boost::ref(callbacks), _1)); -+ boost::ref(callbacks), boost::placeholders::_1)); - } - - Callbacks& callbacks; diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.76-boost-numpy.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.76-boost-numpy.patch new file mode 100644 index 0000000000..d9af132039 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.76-boost-numpy.patch @@ -0,0 +1,23 @@ +From 0796305c863804a2b31610507c531da5c0408422 Mon Sep 17 00:00:00 2001 +From: Peter Dimov +Date: Mon, 24 May 2021 22:14:55 +0300 +Subject: [PATCH] Use the /python//numpy target instead of [ numpy.include ] + (fixes #361) + +--- + libs/python/build/Jamfile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libs/python/build/Jamfile b/libs/python/build/Jamfile +index dbc9fb203..03b69a25d 100644 +--- a/libs/python/build/Jamfile ++++ b/libs/python/build/Jamfile +@@ -117,7 +117,7 @@ lib boost_numpy + BOOST_NUMPY_SOURCE + [ cond [ python.numpy ] : /python//python_for_extensions ] + [ unless [ python.numpy ] : no ] +- $(numpy-include) ++ /python//numpy + boost_python + on:BOOST_DEBUG_PYTHON + -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.76-sparc-define.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.76-sparc-define.patch new file mode 100644 index 0000000000..b3909ee313 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.76-sparc-define.patch @@ -0,0 +1,21 @@ +https://github.com/boostorg/predef/commit/1be0e4a2d8db15a405f64a6f65507b87c1be7e1a.patch + +From 1be0e4a2d8db15a405f64a6f65507b87c1be7e1a Mon Sep 17 00:00:00 2001 +From: tkoecker +Date: Fri, 21 May 2021 16:31:11 +0200 +Subject: [PATCH] added missing brackets (#118) +--- a/boost/predef/architecture/sparc.h ++++ b/boost/predef/architecture/sparc.h +@@ -34,10 +34,10 @@ Distributed under the Boost Software License, Version 1.0. + + #if defined(__sparc__) || defined(__sparc) + # undef BOOST_ARCH_SPARC +-# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__) ++# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__)) + # define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0) + # endif +-# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__) ++# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__)) + # define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0) + # endif + # if !defined(BOOST_ARCH_SPARC) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.77.0-python-3.10.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.77.0-python-3.10.patch new file mode 100644 index 0000000000..69181b1fa4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.77.0-python-3.10.patch @@ -0,0 +1,44 @@ +https://github.com/boostorg/boost_install/commit/0605dadfacf51994dcd8c5c82fb733dc6fa24073 + +From: Martin Jansa +Date: Tue, 19 Oct 2021 12:24:31 +0000 +Subject: [PATCH] BoostConfig.cmake: allow searching for python310 + +* accept double digits in Python3_VERSION_MINOR + +* if someone is using e.g.: + find_package(Python3 REQUIRED) + find_package(Boost REQUIRED python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}) + + with python-3.10 then it currently fails with: + + -- Found PythonLibs: /usr/lib/libpython3.10.so (found version "3.10.0") + -- Found Python3: -native/usr/bin/python3-native/python3 (found version "3.10.0") found components: Interpreter + CMake Error at /usr/lib/cmake/Boost-1.77.0/BoostConfig.cmake:141 (find_package): + Could not find a package configuration file provided by "boost_python310" + (requested version 1.77.0) with any of the following names: + + boost_python310Config.cmake + boost_python310-config.cmake + + Add the installation prefix of "boost_python310" to CMAKE_PREFIX_PATH or + set "boost_python310_DIR" to a directory containing one of the above files. + If "boost_python310" provides a separate development package or SDK, be + sure it has been installed. + Call Stack (most recent call first): + /usr/lib/cmake/Boost-1.77.0/BoostConfig.cmake:258 (boost_find_component) + /usr/share/cmake-3.21/Modules/FindBoost.cmake:594 (find_package) + CMakeLists.txt:18 (find_package) + +Signed-off-by: Martin Jansa +--- a/tools/boost_install/BoostConfig.cmake ++++ b/tools/boost_install/BoostConfig.cmake +@@ -113,7 +113,7 @@ macro(boost_find_component comp required quiet) + set(_BOOST_REQUIRED REQUIRED) + endif() + +- if("${comp}" MATCHES "^(python|numpy|mpi_python)([1-9])([0-9])$") ++ if("${comp}" MATCHES "^(python|numpy|mpi_python)([1-9])([0-9][0-9]?)$") + + # handle pythonXY and numpyXY versioned components for compatibility + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/boost/metadata.xml index 997c258c60..f787dd7a4b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/metadata.xml @@ -1,5 +1,5 @@ - + soap@gentoo.org