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 f5513e8c13..98c80b335c 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,3 +1,2 @@ -DIST boost_1_63_0.tar.bz2 81984414 BLAKE2B 227c4432bd3ca0eb390048ec85047958fcb6ae289996501812cd8b13bf74bbe9b677d0110948265cab59a60deb36c4fc08440af74ac5a5219ea4eaea4fa6918f SHA512 c915c5f5778dee49b8e9d0a40f37f90f56fb1fdb1d8ce92d97bf48bc7bc462212487badfe4bbe30b06196d1149cfb221da12ac54e97499b0d4cb6466813bb4ad -DIST boost_1_65_0.tar.bz2 82597718 BLAKE2B 0080956d6ad2f14130ce4a4734b1bd1ce83d3651b226653689e02770baa83cf11811ef4e44948ff68a168d9ce5cbfaea4f758970df2b4e9faa2d410181885f5b SHA512 7142650fb8d61e3ef16ba066fc918e087f19e9bc2ad1d6a11fb10bf0d6b1b5ad05ab032f076a5233a1624b3669e952b2cc38b7dc074bbf53018e2970ee90fcdd -DIST boost_1_66_0.tar.bz2 85995778 BLAKE2B 9ab1fe396b10ab85d7e4084ec7abb8d785ecd892c8f51aea5a401cb565b111c256533364fe028da74ed376534889f43c5ccbdcd703cd236526ae66a064220765 SHA512 0f34075d35391d66876e5189a01a11880a79428e1b267456348ee148dba9dc3abdc74d568f1853be631d20b584b1c804b42443c266f7622164acfc10be3dab8b +DIST boost_1_74_0.tar.bz2 109600630 BLAKE2B 2982f64fccf6fdb3b4b74452e603f459242d7abb42df4162278d9b558b637786a2eb97442126967b19088d591777c64ced8f60a23e71eaa0b7545e80f800de63 SHA512 4ec9c1164ec9b95ce46ba1c073e586c94b3882dce5b7347ea14bbef0c1da230e12aa5328a501ce38cae1b1d7623daa3246325625899179b4cc309242540982a4 +DIST boost_1_75_0.tar.bz2 121849575 BLAKE2B ce7ecd8bcee518ce54f7e5302f202acbea60cedd6ae9248708c0bb5bbc2713607b2e1967a9e6f77cc20a4c008c1ee4db651def55937efc80407487a7a44fa8d6 SHA512 d86f060245e98dca5c7f3f831c98ea9ccbfa8310f20830dd913d9d4c939fbe7cb94accd35f1128e7c4faf6c27adb6f4bb54e5477a6bde983dfc7aa33c4eed03a diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.63.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.63.0.ebuild deleted file mode 100644 index 4f43846220..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.63.0.ebuild +++ /dev/null @@ -1,440 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) - -inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal - -MY_P="${PN}_$(replace_all_version_separators _)" -MAJOR_V="$(get_version_component_range 1-2)" - -DESCRIPTION="Boost Libraries for C++" -HOMEPAGE="https://www.boost.org/" -SRC_URI="https://downloads.sourceforge.net/project/boost/${PN}/${PV}/${MY_P}.tar.bz2" - -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 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt" - -IUSE="context debug doc icu +nls mpi python static-libs +threads tools" - -RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] ) - !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] ) - python? ( ${PYTHON_DEPS} ) - app-arch/bzip2[${MULTILIB_USEDEP}] - sys-libs/zlib[${MULTILIB_USEDEP}] - !app-admin/eselect-boost" -DEPEND="${RDEPEND} - =dev-util/boost-build-${MAJOR_V}*" -REQUIRED_USE=" - mpi? ( threads ) - python? ( ${PYTHON_REQUIRED_USE} )" - -S="${WORKDIR}/${MY_P}" - -# 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" - -PATCHES=( - "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" - "${FILESDIR}/${PN}-1.55.0-context-x32.patch" - "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" - "${FILESDIR}/${PN}-1.63.0-fix-python.patch" -) - -python_bindings_needed() { - multilib_is_native_abi && use python -} - -tools_needed() { - multilib_is_native_abi && use tools -} - -create_user-config.jam() { - local compiler compiler_version compiler_executable - - if [[ ${CHOST} == *-darwin* ]]; then - compiler="darwin" - compiler_version="$(gcc-fullversion)" - compiler_executable="$(tc-getCXX)" - else - compiler="gcc" - compiler_version="$(gcc-version)" - compiler_executable="$(tc-getCXX)" - fi - local mpi_configuration python_configuration - - if use mpi; then - mpi_configuration="using mpi ;" - fi - - if python_bindings_needed; then - # boost expects libpython$(pyver) and doesn't allow overrides - # and the build system is so creepy that it's easier just to - # provide a symlink (linker's going to use SONAME anyway) - # TODO: replace it with proper override one day - ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die - - if tc-is-cross-compiler; then - python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;" - else - # note: we need to provide version explicitly because of - # a bug in the build system: - # https://github.com/boostorg/build/pull/104 - python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;" - fi - fi - - cat > "${BOOST_ROOT}/user-config.jam" << __EOF__ || die -using ${compiler} : ${compiler_version} : ${compiler_executable} : "${CFLAGS}" "${CXXFLAGS}" "${LDFLAGS}" ; -${mpi_configuration} -${python_configuration} -__EOF__ -} - -pkg_setup() { - # Bail out on unsupported build configuration, bug #456792 - if [[ -f "${EROOT%/}/etc/site-config.jam" ]]; then - grep -q gentoorelease "${EROOT%/}/etc/site-config.jam" && grep -q gentoodebug "${EROOT%/}/etc/site-config.jam" || - ( - 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 - ) - fi -} - -src_prepare() { - default - - # Do not try to build missing 'wave' tool, bug #522682 - # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507 - sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die - - multilib_copy_sources -} - -ejam() { - local b2_opts=( - "--user-config=${BOOST_ROOT}/user-config.jam" - "$@" - ) - echo b2 "${b2_opts[@]}" - b2 "${b2_opts[@]}" -} - -src_configure() { - # Workaround for too many parallel processes requested, bug #506064 - [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64" - - OPTIONS=( - $(usex debug gentoodebug gentoorelease) - "-j$(makeopts_jobs)" - -q - -d+2 - ) - - 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 - elif [[ ${CHOST} == *-winnt* ]]; then - compiler=parity - if [[ $($(tc-getCXX) -v) == *trunk* ]]; then - compilerVersion=trunk - else - compilerVersion=$($(tc-getCXX) -v | sed '1q' \ - | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,') - fi - compilerExecutable=$(tc-getCXX) - fi - - # bug 298489 - if use ppc || use ppc64; then - [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec - fi - - # Use C++14 globally as of 1.62 - append-cxxflags -std=c++14 - - use icu && OPTIONS+=( - "-sICU_PATH=${EPREFIX}/usr" - ) - use icu || OPTIONS+=( - --disable-icu - boost.locale.icu=off - ) - use mpi || OPTIONS+=( - --without-mpi - ) - use nls || OPTIONS+=( - --without-locale - ) - use context || OPTIONS+=( - --without-context - --without-coroutine - --without-coroutine2 - --without-fiber - ) - use threads || OPTIONS+=( - --without-thread - ) - - OPTIONS+=( - pch=off - --boost-build="${EPREFIX}"/usr/share/boost-build - --prefix="${ED%/}/usr" - --layout=system - # 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) - ) - - [[ ${CHOST} == *-winnt* ]] && OPTIONS+=( - -sNO_BZIP2=1 - ) -} - -multilib_src_compile() { - local -x BOOST_ROOT="${BUILD_DIR}" - PYTHON_DIRS="" - MPI_PYTHON_MODULE="" - - building() { - create_user-config.jam - - local PYTHON_OPTIONS - if python_bindings_needed; then - PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}" - else - PYTHON_OPTIONS=" --without-python" - fi - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - || die "Building of Boost libraries failed" - - if python_bindings_needed; then - if [[ -z "${PYTHON_DIRS}" ]]; then - PYTHON_DIRS="$(find bin.v2/libs -name python | sort)" - else - if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then - die "Inconsistent structure of build directories" - fi - fi - - local dir - for dir in ${PYTHON_DIRS}; do - mv ${dir} ${dir}-${EPYTHON} \ - || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed" - done - - if use mpi; then - if [[ -z "${MPI_PYTHON_MODULE}" ]]; then - MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" - if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then - die "Multiple mpi.so files found" - fi - else - if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then - die "Inconsistent structure of build directories" - fi - fi - - mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \ - || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed" - fi - fi - } - if python_bindings_needed; then - python_foreach_impl building - else - building - fi - - if tools_needed; then - pushd tools >/dev/null || die - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - || die "Building of Boost tools failed" - popd >/dev/null || die - fi -} - -multilib_src_install_all() { - if ! use python; then - rm -r "${ED%/}"/usr/include/boost/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 /usr/include/boost /usr/share/doc/${PF}/html/boost - fi -} - -multilib_src_install() { - local -x BOOST_ROOT="${BUILD_DIR}" - installation() { - create_user-config.jam - - local PYTHON_OPTIONS - if python_bindings_needed; then - local dir - for dir in ${PYTHON_DIRS}; do - cp -pr ${dir}-${EPYTHON} ${dir} \ - || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed" - done - - if use mpi; then - cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \ - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed" - cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \ - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed" - fi - PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}" - else - PYTHON_OPTIONS=" --without-python" - fi - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - --includedir="${ED%/}/usr/include" \ - --libdir="${ED%/}/usr/$(get_libdir)" \ - install || die "Installation of Boost libraries failed" - - if python_bindings_needed; then - rm -r ${PYTHON_DIRS} || die - - # Move mpi.so Python module to Python site-packages directory. - # https://svn.boost.org/trac/boost/ticket/2838 - if use mpi; then - local moddir=$(python_get_sitedir)/boost - # moddir already includes eprefix - mkdir -p "${D}${moddir}" || die - mv "${ED%/}/usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die - cat << EOF > "${D}${moddir}/__init__.py" || die -import sys -if sys.platform.startswith('linux'): - import DLFCN - flags = sys.getdlopenflags() - sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL) - from . import mpi - sys.setdlopenflags(flags) - del DLFCN, flags -else: - from . import mpi -del sys -EOF - fi - - python_optimize - fi - } - if python_bindings_needed; then - python_foreach_impl installation - else - installation - fi - - 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 - # 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.65.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.65.0.ebuild deleted file mode 100644 index 837f83b5b2..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.65.0.ebuild +++ /dev/null @@ -1,439 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) - -inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal - -MY_P="${PN}_$(replace_all_version_separators _)" -MAJOR_V="$(get_version_component_range 1-2)" - -DESCRIPTION="Boost Libraries for C++" -HOMEPAGE="https://www.boost.org/" -SRC_URI="https://downloads.sourceforge.net/project/boost/${PN}/${PV}/${MY_P}.tar.bz2" - -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 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt" - -IUSE="context debug doc icu +nls mpi python static-libs +threads tools" - -RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] ) - !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] ) - python? ( ${PYTHON_DEPS} ) - app-arch/bzip2[${MULTILIB_USEDEP}] - sys-libs/zlib[${MULTILIB_USEDEP}] - !app-admin/eselect-boost" -DEPEND="${RDEPEND} - =dev-util/boost-build-${MAJOR_V}*" -REQUIRED_USE=" - mpi? ( threads ) - python? ( ${PYTHON_REQUIRED_USE} )" - -S="${WORKDIR}/${MY_P}" - -# 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" - -PATCHES=( - "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" - "${FILESDIR}/${PN}-1.55.0-context-x32.patch" - "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" - "${FILESDIR}/${PN}-1.65.0-fix-python.patch" -) - -python_bindings_needed() { - multilib_is_native_abi && use python -} - -tools_needed() { - multilib_is_native_abi && use tools -} - -create_user-config.jam() { - local compiler compiler_version compiler_executable - - if [[ ${CHOST} == *-darwin* ]]; then - compiler="darwin" - compiler_version="$(gcc-fullversion)" - compiler_executable="$(tc-getCXX)" - else - compiler="gcc" - compiler_version="$(gcc-version)" - compiler_executable="$(tc-getCXX)" - fi - local mpi_configuration python_configuration - - if use mpi; then - mpi_configuration="using mpi ;" - fi - - if python_bindings_needed; then - # boost expects libpython$(pyver) and doesn't allow overrides - # and the build system is so creepy that it's easier just to - # provide a symlink (linker's going to use SONAME anyway) - # TODO: replace it with proper override one day - ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die - - if tc-is-cross-compiler; then - python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;" - else - # note: we need to provide version explicitly because of - # a bug in the build system: - # https://github.com/boostorg/build/pull/104 - python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;" - fi - fi - - cat > "${BOOST_ROOT}/user-config.jam" << __EOF__ || die -using ${compiler} : ${compiler_version} : ${compiler_executable} : "${CFLAGS}" "${CXXFLAGS}" "${LDFLAGS}" ; -${mpi_configuration} -${python_configuration} -__EOF__ -} - -pkg_setup() { - # Bail out on unsupported build configuration, bug #456792 - if [[ -f "${EROOT%/}/etc/site-config.jam" ]]; then - grep -q gentoorelease "${EROOT%/}/etc/site-config.jam" && grep -q gentoodebug "${EROOT%/}/etc/site-config.jam" || - ( - 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 - ) - fi -} - -src_prepare() { - default - - # Do not try to build missing 'wave' tool, bug #522682 - # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507 - sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die - - multilib_copy_sources -} - -ejam() { - local b2_opts=( - "--user-config=${BOOST_ROOT}/user-config.jam" - "$@" - ) - echo b2 "${b2_opts[@]}" - b2 "${b2_opts[@]}" -} - -src_configure() { - # Workaround for too many parallel processes requested, bug #506064 - [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64" - - OPTIONS=( - $(usex debug gentoodebug gentoorelease) - "-j$(makeopts_jobs)" - -q - -d+2 - ) - - 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 - elif [[ ${CHOST} == *-winnt* ]]; then - compiler=parity - if [[ $($(tc-getCXX) -v) == *trunk* ]]; then - compilerVersion=trunk - else - compilerVersion=$($(tc-getCXX) -v | sed '1q' \ - | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,') - fi - compilerExecutable=$(tc-getCXX) - fi - - # bug 298489 - if use ppc || use ppc64; then - [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec - fi - - # Use C++14 globally as of 1.62 - append-cxxflags -std=c++14 - - use icu && OPTIONS+=( - "-sICU_PATH=${EPREFIX}/usr" - ) - use icu || OPTIONS+=( - --disable-icu - boost.locale.icu=off - ) - use mpi || OPTIONS+=( - --without-mpi - ) - use nls || OPTIONS+=( - --without-locale - ) - use context || OPTIONS+=( - --without-context - --without-coroutine - --without-fiber - ) - use threads || OPTIONS+=( - --without-thread - ) - - OPTIONS+=( - pch=off - --boost-build="${EPREFIX}"/usr/share/boost-build - --prefix="${ED%/}/usr" - --layout=system - # 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) - ) - - [[ ${CHOST} == *-winnt* ]] && OPTIONS+=( - -sNO_BZIP2=1 - ) -} - -multilib_src_compile() { - local -x BOOST_ROOT="${BUILD_DIR}" - PYTHON_DIRS="" - MPI_PYTHON_MODULE="" - - building() { - create_user-config.jam - - local PYTHON_OPTIONS - if python_bindings_needed; then - PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}" - else - PYTHON_OPTIONS=" --without-python" - fi - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - || die "Building of Boost libraries failed" - - if python_bindings_needed; then - if [[ -z "${PYTHON_DIRS}" ]]; then - PYTHON_DIRS="$(find bin.v2/libs -name python | sort)" - else - if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then - die "Inconsistent structure of build directories" - fi - fi - - local dir - for dir in ${PYTHON_DIRS}; do - mv ${dir} ${dir}-${EPYTHON} \ - || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed" - done - - if use mpi; then - if [[ -z "${MPI_PYTHON_MODULE}" ]]; then - MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" - if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then - die "Multiple mpi.so files found" - fi - else - if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then - die "Inconsistent structure of build directories" - fi - fi - - mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \ - || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed" - fi - fi - } - if python_bindings_needed; then - python_foreach_impl building - else - building - fi - - if tools_needed; then - pushd tools >/dev/null || die - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - || die "Building of Boost tools failed" - popd >/dev/null || die - fi -} - -multilib_src_install_all() { - if ! use python; then - rm -r "${ED%/}"/usr/include/boost/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 /usr/include/boost /usr/share/doc/${PF}/html/boost - fi -} - -multilib_src_install() { - local -x BOOST_ROOT="${BUILD_DIR}" - installation() { - create_user-config.jam - - local PYTHON_OPTIONS - if python_bindings_needed; then - local dir - for dir in ${PYTHON_DIRS}; do - cp -pr ${dir}-${EPYTHON} ${dir} \ - || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed" - done - - if use mpi; then - cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \ - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed" - cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \ - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed" - fi - PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}" - else - PYTHON_OPTIONS=" --without-python" - fi - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - --includedir="${ED%/}/usr/include" \ - --libdir="${ED%/}/usr/$(get_libdir)" \ - install || die "Installation of Boost libraries failed" - - if python_bindings_needed; then - rm -r ${PYTHON_DIRS} || die - - # Move mpi.so Python module to Python site-packages directory. - # https://svn.boost.org/trac/boost/ticket/2838 - if use mpi; then - local moddir=$(python_get_sitedir)/boost - # moddir already includes eprefix - mkdir -p "${D}${moddir}" || die - mv "${ED%/}/usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die - cat << EOF > "${D}${moddir}/__init__.py" || die -import sys -if sys.platform.startswith('linux'): - import DLFCN - flags = sys.getdlopenflags() - sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL) - from . import mpi - sys.setdlopenflags(flags) - del DLFCN, flags -else: - from . import mpi -del sys -EOF - fi - - python_optimize - fi - } - if python_bindings_needed; then - python_foreach_impl installation - else - installation - fi - - 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 - # 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.66.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.66.0.ebuild deleted file mode 100644 index 7cec3890e2..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.66.0.ebuild +++ /dev/null @@ -1,439 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) - -inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal - -MY_P="${PN}_$(replace_all_version_separators _)" -MAJOR_V="$(get_version_component_range 1-2)" - -DESCRIPTION="Boost Libraries for C++" -HOMEPAGE="https://www.boost.org/" -SRC_URI="https://downloads.sourceforge.net/project/boost/${PN}/${PV}/${MY_P}.tar.bz2" - -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 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt" - -IUSE="context debug doc icu +nls mpi python static-libs +threads tools" - -RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] ) - !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] ) - python? ( ${PYTHON_DEPS} ) - app-arch/bzip2[${MULTILIB_USEDEP}] - sys-libs/zlib[${MULTILIB_USEDEP}] - !app-admin/eselect-boost" -DEPEND="${RDEPEND} - =dev-util/boost-build-${MAJOR_V}*" -REQUIRED_USE=" - mpi? ( threads ) - python? ( ${PYTHON_REQUIRED_USE} )" - -S="${WORKDIR}/${MY_P}" - -# 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" - -PATCHES=( - "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" - "${FILESDIR}/${PN}-1.55.0-context-x32.patch" - "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" - "${FILESDIR}/${PN}-1.65.0-fix-python.patch" -) - -python_bindings_needed() { - multilib_is_native_abi && use python -} - -tools_needed() { - multilib_is_native_abi && use tools -} - -create_user-config.jam() { - local compiler compiler_version compiler_executable - - if [[ ${CHOST} == *-darwin* ]]; then - compiler="darwin" - compiler_version="$(gcc-fullversion)" - compiler_executable="$(tc-getCXX)" - else - compiler="gcc" - compiler_version="$(gcc-version)" - compiler_executable="$(tc-getCXX)" - fi - local mpi_configuration python_configuration - - if use mpi; then - mpi_configuration="using mpi ;" - fi - - if python_bindings_needed; then - # boost expects libpython$(pyver) and doesn't allow overrides - # and the build system is so creepy that it's easier just to - # provide a symlink (linker's going to use SONAME anyway) - # TODO: replace it with proper override one day - ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die - - if tc-is-cross-compiler; then - python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;" - else - # note: we need to provide version explicitly because of - # a bug in the build system: - # https://github.com/boostorg/build/pull/104 - python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;" - fi - fi - - cat > "${BOOST_ROOT}/user-config.jam" << __EOF__ || die -using ${compiler} : ${compiler_version} : ${compiler_executable} : "${CFLAGS}" "${CXXFLAGS}" "${LDFLAGS}" ; -${mpi_configuration} -${python_configuration} -__EOF__ -} - -pkg_setup() { - # Bail out on unsupported build configuration, bug #456792 - if [[ -f "${EROOT%/}/etc/site-config.jam" ]]; then - grep -q gentoorelease "${EROOT%/}/etc/site-config.jam" && grep -q gentoodebug "${EROOT%/}/etc/site-config.jam" || - ( - 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 - ) - fi -} - -src_prepare() { - default - - # Do not try to build missing 'wave' tool, bug #522682 - # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507 - sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die - - multilib_copy_sources -} - -ejam() { - local b2_opts=( - "--user-config=${BOOST_ROOT}/user-config.jam" - "$@" - ) - echo b2 "${b2_opts[@]}" - b2 "${b2_opts[@]}" -} - -src_configure() { - # Workaround for too many parallel processes requested, bug #506064 - [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64" - - OPTIONS=( - $(usex debug gentoodebug gentoorelease) - "-j$(makeopts_jobs)" - -q - -d+2 - ) - - 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 - elif [[ ${CHOST} == *-winnt* ]]; then - compiler=parity - if [[ $($(tc-getCXX) -v) == *trunk* ]]; then - compilerVersion=trunk - else - compilerVersion=$($(tc-getCXX) -v | sed '1q' \ - | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,') - fi - compilerExecutable=$(tc-getCXX) - fi - - # bug 298489 - if use ppc || use ppc64; then - [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec - fi - - # Use C++14 globally as of 1.62 - append-cxxflags -std=c++14 - - use icu && OPTIONS+=( - "-sICU_PATH=${EPREFIX}/usr" - ) - use icu || OPTIONS+=( - --disable-icu - boost.locale.icu=off - ) - use mpi || OPTIONS+=( - --without-mpi - ) - use nls || OPTIONS+=( - --without-locale - ) - use context || OPTIONS+=( - --without-context - --without-coroutine - --without-fiber - ) - use threads || OPTIONS+=( - --without-thread - ) - - OPTIONS+=( - pch=off - --boost-build="${EPREFIX}"/usr/share/boost-build - --prefix="${ED%/}/usr" - --layout=system - # 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) - ) - - [[ ${CHOST} == *-winnt* ]] && OPTIONS+=( - -sNO_BZIP2=1 - ) -} - -multilib_src_compile() { - local -x BOOST_ROOT="${BUILD_DIR}" - PYTHON_DIRS="" - MPI_PYTHON_MODULE="" - - building() { - create_user-config.jam - - local PYTHON_OPTIONS - if python_bindings_needed; then - PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}" - else - PYTHON_OPTIONS=" --without-python" - fi - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - || die "Building of Boost libraries failed" - - if python_bindings_needed; then - if [[ -z "${PYTHON_DIRS}" ]]; then - PYTHON_DIRS="$(find bin.v2/libs -name python | sort)" - else - if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then - die "Inconsistent structure of build directories" - fi - fi - - local dir - for dir in ${PYTHON_DIRS}; do - mv ${dir} ${dir}-${EPYTHON} \ - || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed" - done - - if use mpi; then - if [[ -z "${MPI_PYTHON_MODULE}" ]]; then - MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" - if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then - die "Multiple mpi.so files found" - fi - else - if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then - die "Inconsistent structure of build directories" - fi - fi - - mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \ - || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed" - fi - fi - } - if python_bindings_needed; then - python_foreach_impl building - else - building - fi - - if tools_needed; then - pushd tools >/dev/null || die - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - || die "Building of Boost tools failed" - popd >/dev/null || die - fi -} - -multilib_src_install_all() { - if ! use python; then - rm -r "${ED%/}"/usr/include/boost/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 -} - -multilib_src_install() { - local -x BOOST_ROOT="${BUILD_DIR}" - installation() { - create_user-config.jam - - local PYTHON_OPTIONS - if python_bindings_needed; then - local dir - for dir in ${PYTHON_DIRS}; do - cp -pr ${dir}-${EPYTHON} ${dir} \ - || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed" - done - - if use mpi; then - cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \ - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed" - cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \ - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed" - fi - PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}" - else - PYTHON_OPTIONS=" --without-python" - fi - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - --includedir="${ED%/}/usr/include" \ - --libdir="${ED%/}/usr/$(get_libdir)" \ - install || die "Installation of Boost libraries failed" - - if python_bindings_needed; then - rm -r ${PYTHON_DIRS} || die - - # Move mpi.so Python module to Python site-packages directory. - # https://svn.boost.org/trac/boost/ticket/2838 - if use mpi; then - local moddir=$(python_get_sitedir)/boost - # moddir already includes eprefix - mkdir -p "${D}${moddir}" || die - mv "${ED%/}/usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die - cat << EOF > "${D}${moddir}/__init__.py" || die -import sys -if sys.platform.startswith('linux'): - import DLFCN - flags = sys.getdlopenflags() - sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL) - from . import mpi - sys.setdlopenflags(flags) - del DLFCN, flags -else: - from . import mpi -del sys -EOF - fi - - python_optimize - fi - } - if python_bindings_needed; then - python_foreach_impl installation - else - installation - fi - - 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 - # 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 -} 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.74.0-r2.ebuild new file mode 100644 index 0000000000..fd17437789 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.74.0-r2.ebuild @@ -0,0 +1,359 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8,9} ) + +inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal + +MY_PV="$(ver_rs 1- _)" +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" + +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} )" + +# 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=" + !app-admin/eselect-boost + !dev-libs/boost-numpy + !=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] ) + !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] ) + lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] ) + mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] ) + python? ( + ${PYTHON_DEPS} + numpy? ( $(python_gen_cond_dep 'dev-python/numpy[${PYTHON_USEDEP}]' -3) ) + ) + 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}" + +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 + # 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 +) + +python_bindings_needed() { + multilib_is_native_abi && use python +} + +tools_needed() { + multilib_is_native_abi && use tools +} + +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)" + if [[ ${CHOST} == *-darwin* ]]; then + compiler="darwin" + compiler_version="$(gcc-fullversion)" + else + compiler="gcc" + compiler_version="$(gcc-version)" + fi + + if use mpi; then + local mpi_configuration="using mpi ;" + fi + + cat > "${user_config_jam}" <<- __EOF__ || die + using ${compiler} : ${compiler_version} : ${compiler_executable} : "${CFLAGS}" "${CXXFLAGS}" "${LDFLAGS}" ; + ${mpi_configuration} + __EOF__ + + if python_bindings_needed; 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 python_bindings_needed && 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 \] : no \]/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 python_bindings_needed; 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() { + # Workaround for too many parallel processes requested, bug #506064 + [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64" + + OPTIONS=( + $(usex debug gentoodebug gentoorelease) + "-j$(makeopts_jobs)" + -q + -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') + --without-stacktrace + --boost-build="${BROOT}"/usr/share/boost-build + --prefix="${ED}/usr" + --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) + # 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++14 globally as of 1.62 + append-cxxflags -std=c++14 +} + +multilib_src_compile() { + ejam "${OPTIONS[@]}" || die + + if tools_needed; then + pushd tools >/dev/null || die + ejam \ + "${OPTIONS[@]}" \ + || die "Building of Boost tools failed" + popd >/dev/null || die + 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 "${S}"/libs/mpi/build/__init__.py + + 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 +} + +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 + # 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 " ::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/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.75.0.ebuild new file mode 100644 index 0000000000..1c866c8fba --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/boost-1.75.0.ebuild @@ -0,0 +1,356 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8,9} ) + +inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal + +MY_PV="$(ver_rs 1- _)" +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" + +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" +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 +# (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=" + !app-admin/eselect-boost + !dev-libs/boost-numpy + !=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] ) + !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] ) + lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] ) + mpi? ( >=virtual/mpi-2.0-r4[${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-util/boost-build-${MAJOR_V}*" + +S="${WORKDIR}/${PN}_${MY_PV}" + +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 + # 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 +) + +python_bindings_needed() { + multilib_is_native_abi && use python +} + +tools_needed() { + multilib_is_native_abi && use tools +} + +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)" + if [[ ${CHOST} == *-darwin* ]]; then + compiler="darwin" + compiler_version="$(gcc-fullversion)" + else + compiler="gcc" + compiler_version="$(gcc-version)" + fi + + if use mpi; then + local mpi_configuration="using mpi ;" + fi + + cat > "${user_config_jam}" <<- __EOF__ || die + using ${compiler} : ${compiler_version} : ${compiler_executable} : "${CFLAGS}" "${CXXFLAGS}" "${LDFLAGS}" ; + ${mpi_configuration} + __EOF__ + + if python_bindings_needed; 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 python_bindings_needed && 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 \] : no \]/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 python_bindings_needed; 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() { + # Workaround for too many parallel processes requested, bug #506064 + [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64" + + OPTIONS=( + $(usex debug gentoodebug gentoorelease) + "-j$(makeopts_jobs)" + -q + -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') + --without-stacktrace + --boost-build="${BROOT}"/usr/share/boost-build + --prefix="${ED}/usr" + --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) + # 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++14 globally as of 1.62 + append-cxxflags -std=c++14 +} + +multilib_src_compile() { + ejam "${OPTIONS[@]}" || die + + if tools_needed; then + pushd tools >/dev/null || die + ejam \ + "${OPTIONS[@]}" \ + || die "Building of Boost tools failed" + popd >/dev/null || die + 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 "${S}"/libs/mpi/build/__init__.py + + 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 +} + +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 + # 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 " ::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/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch deleted file mode 100644 index 48ca513887..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch +++ /dev/null @@ -1,13 +0,0 @@ -Build auto_index tool with USE="tools" -Gentoo bug report: https://bugs.gentoo.org/show_bug.cgi?id=529066 - ---- a/tools/Jamfile.v2.orig 2014-12-24 12:57:32.290880067 +0300 -+++ b/tools/Jamfile.v2 2014-12-24 12:58:38.403883250 +0300 -@@ -20,6 +20,7 @@ - use-project /boost/regression : regression/build ; - - TOOLS = -+ auto_index/build//auto_index - bcp//bcp - inspect/build//inspect - quickbook//quickbook diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.63.0-fix-python.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.63.0-fix-python.patch deleted file mode 100644 index 18ca2f5667..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.63.0-fix-python.patch +++ /dev/null @@ -1,138 +0,0 @@ ---- a/boostcpp.jam -+++ b/boostcpp.jam -@@ -104,7 +104,7 @@ - python-id = [ option.get "python-buildid" ] ; - if $(python-id) - { -- PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ; -+ PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ; - } - - ---- a/libs/python/build/Jamfile -+++ b/libs/python/build/Jamfile -@@ -30,22 +30,6 @@ - ; - } - --rule find-py3-version --{ -- local versions = [ feature.values python ] ; -- local py3ver ; -- for local v in $(versions) -- { -- if $(v) >= 3.0 -- { -- py3ver = $(v) ; -- } -- } -- return $(py3ver) ; --} -- --py3-version = [ find-py3-version ] ; -- - project boost/python - : source-location ../src - ; -@@ -53,10 +37,16 @@ - rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } } - rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } } - --rule lib_boost_python ( is-py3 ? ) -+rule lib_boost_python - { -+ local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ; -+ local python2 ; -+ if $(python_major_version) = 2 -+ { -+ python2 = true ; -+ } - -- lib [ cond $(is-py3) : boost_python3 : boost_python ] -+ lib boost_python - : # sources - numeric.cpp - list.cpp -@@ -90,20 +80,9 @@ - : # requirements - static:BOOST_PYTHON_STATIC_LIB - BOOST_PYTHON_SOURCE -+ [ cond $(python2) : -fno-strict-aliasing ] - -- # On Windows, all code using Python has to link to the Python -- # import library. -- # -- # On *nix we never link libboost_python to libpython. When -- # extending Python, all Python symbols are provided by the -- # Python interpreter executable. When embedding Python, the -- # client executable is expected to explicitly link to -- # /python//python (the target representing libpython) itself. -- # -- # python_for_extensions is a target defined by Boost.Build to -- # provide the Python include paths, and on Windows, the Python -- # import library, as usage requirements. -- [ cond [ python.configured ] : /python//python_for_extensions ] -+ [ cond [ python.configured ] : /python//python ] - - # we prevent building when there is no python available - # as it's not possible anyway, and to cause dependents to -@@ -112,7 +91,6 @@ - config-warning - - on:BOOST_DEBUG_PYTHON -- [ cond $(is-py3) : $(py3-version) ] - - -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag - @$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag -@@ -125,51 +103,8 @@ - ; - } - --rule lib_boost_numpy ( is-py3 ? ) --{ -- numpy-include = [ python.numpy-include ] ; -- lib [ cond $(is-py3) : boost_numpy3 : boost_numpy ] -- : # sources -- numpy/dtype.cpp -- numpy/matrix.cpp -- numpy/ndarray.cpp -- numpy/numpy.cpp -- numpy/scalars.cpp -- numpy/ufunc.cpp -- : # requirements -- [ cond [ python.numpy ] : /python//python_for_extensions ] -- [ unless [ python.numpy ] : no ] -- $(numpy-include) -- boost_python -- on:BOOST_DEBUG_PYTHON -- [ cond $(is-py3) : $(py3-version) ] -- -- -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag -- @$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag -- -- : # default build -- shared -- : # usage requirements -- on:BOOST_DEBUG_PYTHON -- ; --} -- - libraries = boost_python ; --libraries3 = boost_python3 ; --if [ python.numpy ] --{ -- libraries += boost_numpy ; -- libraries3 += boost_numpy3 ; --} - - lib_boost_python ; --lib_boost_numpy ; -- --if $(py3-version) --{ -- lib_boost_python yes ; -- lib_boost_numpy yes ; -- libraries += $(libraries3) ; --} - - boost-install $(libraries) ; diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.65.0-fix-python.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.65.0-fix-python.patch deleted file mode 100644 index 079160218e..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.65.0-fix-python.patch +++ /dev/null @@ -1,272 +0,0 @@ ---- a/boostcpp.jam -+++ b/boostcpp.jam -@@ -104,7 +104,7 @@ - python-id = [ option.get "python-buildid" ] ; - if $(python-id) - { -- PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ; -+ PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ; - } - - ---- a/libs/mpi/build/Jamfile.v2 -+++ b/libs/mpi/build/Jamfile.v2 -@@ -58,81 +58,50 @@ - - if [ python.configured ] - { -- py2-version = [ py-version 2 ] ; -- py3-version = [ py-version 3 ] ; -- -- # These library names are synchronized with those defined by Boost.Python, see libs/python/build/Jamfile. -- lib_boost_python(2) = boost_python ; -- lib_boost_python(3) = boost_python3 ; -- -- lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ; -- lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ; -- -- lib_boost_mpi_python(2) = boost_mpi_python ; -- lib_boost_mpi_python(3) = boost_mpi_python3 ; -- -- lib_boost_mpi_python($(py2-version)) = $(lib_boost_mpi_python(2)) ; -- lib_boost_mpi_python($(py3-version)) = $(lib_boost_mpi_python(3)) ; -- -- for local N in 2 3 -- { -- if $(py$(N)-version) -- { -- lib $(lib_boost_mpi_python($(py$(N)-version))) -- : # Sources -- python/serialize.cpp -- : # Requirements -- boost_mpi -- /mpi//mpi [ mpi.extra-requirements ] -- /boost/python//$(lib_boost_python($(py$(N)-version))) -- shared:BOOST_MPI_DYN_LINK=1 -- shared:BOOST_MPI_PYTHON_DYN_LINK=1 -- shared:BOOST_PYTHON_DYN_LINK=1 -- BOOST_MPI_PYTHON_SOURCE=1 -- -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag -- @$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag -- on:BOOST_DEBUG_PYTHON -- $(py$(N)-version) -- : # Default build -- shared -- : # Usage requirements -- /mpi//mpi [ mpi.extra-requirements ] -- ; -- -- python-extension mpi -- : # Sources -- python/collectives.cpp -- python/py_communicator.cpp -- python/datatypes.cpp -- python/documentation.cpp -- python/py_environment.cpp -- python/py_nonblocking.cpp -- python/py_exception.cpp -- python/module.cpp -- python/py_request.cpp -- python/skeleton_and_content.cpp -- python/status.cpp -- python/py_timer.cpp -- : # Requirements -- /boost/python//$(lib_boost_python($(py$(N)-version))) -- $(lib_boost_mpi_python($(py$(N)-version))) -- boost_mpi -- /mpi//mpi [ mpi.extra-requirements ] -- shared:BOOST_MPI_DYN_LINK=1 -- shared:BOOST_MPI_PYTHON_DYN_LINK=1 -- shared:BOOST_PYTHON_DYN_LINK=1 -- shared shared -- on:BOOST_DEBUG_PYTHON -- $(py$(N)-version) -- ; -- -- libraries += $(lib_boost_mpi_python($(py$(N)-version))) ; -- } -- else -- { -- alias $(lib_boost_mpi_python($(N))) ; -- } -- } -+ lib boost_mpi_python -+ : # Sources -+ python/serialize.cpp -+ : # Requirements -+ boost_mpi -+ /mpi//mpi [ mpi.extra-requirements ] -+ /boost/python//boost_python -+ shared:BOOST_MPI_DYN_LINK=1 -+ shared:BOOST_MPI_PYTHON_DYN_LINK=1 -+ shared:BOOST_PYTHON_DYN_LINK=1 -+ BOOST_MPI_PYTHON_SOURCE=1 -+ -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag -+ @$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag -+ : # Default build -+ shared -+ : # Usage requirements -+ /mpi//mpi [ mpi.extra-requirements ] -+ ; -+ libraries += boost_mpi_python ; -+ -+ python-extension mpi -+ : # Sources -+ python/collectives.cpp -+ python/py_communicator.cpp -+ python/datatypes.cpp -+ python/documentation.cpp -+ python/py_environment.cpp -+ python/py_nonblocking.cpp -+ python/py_exception.cpp -+ python/module.cpp -+ python/py_request.cpp -+ python/skeleton_and_content.cpp -+ python/status.cpp -+ python/py_timer.cpp -+ : # Requirements -+ /boost/python//boost_python -+ boost_mpi_python -+ boost_mpi -+ /mpi//mpi [ mpi.extra-requirements ] -+ shared:BOOST_MPI_DYN_LINK=1 -+ shared:BOOST_MPI_PYTHON_DYN_LINK=1 -+ shared:BOOST_PYTHON_DYN_LINK=1 -+ shared shared -+ ; - } - } - else if ! ( --without-mpi in [ modules.peek : ARGV ] ) ---- a/libs/python/build/Jamfile -+++ b/libs/python/build/Jamfile -@@ -31,26 +31,23 @@ - ; - } - --py2-version = [ py-version 2 ] ; --py3-version = [ py-version 3 ] ; -- - project boost/python - : source-location ../src - ; - - rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } } - rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } } --local rule eq ( a : b ) { if $(a) = $(b) { return 1 ; } } -- --lib_boost_python(2) = boost_python ; --lib_boost_python(3) = boost_python3 ; -- --lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ; --lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ; - --rule lib_boost_python ( version ) -+rule lib_boost_python - { -- lib $(lib_boost_python($(version))) -+ local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ; -+ local python2 ; -+ if $(python_major_version) = 2 -+ { -+ python2 = true ; -+ } -+ -+ lib boost_python - : # sources - list.cpp - long.cpp -@@ -96,7 +93,8 @@ - # python_for_extensions is a target defined by Boost.Build to - # provide the Python include paths, and on Windows, the Python - # import library, as usage requirements. -- [ cond [ python.configured ] : /python//python_for_extensions ] -+ [ cond $(python2) : -fno-strict-aliasing ] -+ [ cond [ python.configured ] : /python//python ] - - # we prevent building when there is no python available - # as it's not possible anyway, and to cause dependents to -@@ -105,13 +103,10 @@ - config-warning - - on:BOOST_DEBUG_PYTHON -- $(version) - - -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag - @$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag - -- @python.require-py -- - : # default build - shared - : # usage requirements -@@ -120,68 +115,8 @@ - ; - } - --lib_boost_numpy(2) = boost_numpy ; --lib_boost_numpy(3) = boost_numpy3 ; -- --lib_boost_numpy($(py2-version)) = $(lib_boost_numpy(2)) ; --lib_boost_numpy($(py3-version)) = $(lib_boost_numpy(3)) ; -- --rule lib_boost_numpy ( version ) --{ -- numpy-include = [ python.numpy-include ] ; -- lib $(lib_boost_numpy($(version))) -- : # sources -- numpy/dtype.cpp -- numpy/matrix.cpp -- numpy/ndarray.cpp -- numpy/numpy.cpp -- numpy/scalars.cpp -- numpy/ufunc.cpp -- : # requirements -- static:BOOST_NUMPY_STATIC_LIB -- BOOST_NUMPY_SOURCE -- [ cond [ python.numpy ] : /python//python_for_extensions ] -- [ unless [ python.numpy ] : no ] -- $(numpy-include) -- $(lib_boost_python($(version))) -- on:BOOST_DEBUG_PYTHON -- $(version) -+libraries = boost_python ; - -- -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag -- @$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag -- -- @python.require-py -- -- : # default build -- shared -- : # usage requirements -- static:BOOST_NUMPY_STATIC_LIB -- on:BOOST_DEBUG_PYTHON -- ; --} -- --libraries = ; -- --for local N in 2 3 --{ -- if $(py$(N)-version) -- { -- lib_boost_python $(py$(N)-version) ; -- libraries += $(lib_boost_python($(py$(N)-version))) ; -- } -- else -- { -- alias $(lib_boost_python($(N))) ; -- } -- if $(py$(N)-version) && [ python.numpy ] -- { -- lib_boost_numpy $(py$(N)-version) ; -- libraries += $(lib_boost_numpy($(py$(N)-version))) ; -- } -- else -- { -- alias $(lib_boost_numpy($(N))) ; -- } --} -+lib_boost_python ; - - boost-install $(libraries) ; diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch new file mode 100644 index 0000000000..ca793b9d06 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch @@ -0,0 +1,13 @@ +Build auto_index tool with USE="tools" +See also: https://bugs.gentoo.org/529066 + +--- a/tools/Jamfile.v2 ++++ b/tools/Jamfile.v2 +@@ -18,6 +18,7 @@ + ; + + TOOLS = ++ auto_index/build//auto_index + bcp//bcp + inspect/build//inspect + quickbook//quickbook diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.55.0-context-x32.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.71.0-context-x32.patch similarity index 65% rename from sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.55.0-context-x32.patch rename to sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.71.0-context-x32.patch index 5bf7406253..9ee3d545d6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.55.0-context-x32.patch +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.71.0-context-x32.patch @@ -1,21 +1,17 @@ -https://svn.boost.org/trac/boost/ticket/9445 - -hack to fix x32 builds - --- a/libs/context/src/asm/jump_i386_sysv_elf_gas.S +++ b/libs/context/src/asm/jump_i386_sysv_elf_gas.S -@@ -31,6 +31,10 @@ - * * - * *****************************************************************/ +@@ -24,6 +24,10 @@ + * * + ****************************************************************************************/ +#ifdef __x86_64__ +#include "jump_x86_64_sysv_elf_gas.S" +#else + + .file "jump_i386_sysv_elf_gas.S" .text .globl jump_fcontext - .align 2 -@@ -73,3 +77,5 @@ jump_fcontext: +@@ -81,3 +85,5 @@ /* Mark that we don't need executable stack. */ .section .note.GNU-stack,"",%progbits @@ -23,18 +19,18 @@ hack to fix x32 builds +#endif --- a/libs/context/src/asm/make_i386_sysv_elf_gas.S +++ b/libs/context/src/asm/make_i386_sysv_elf_gas.S -@@ -31,6 +31,10 @@ - * * - * *****************************************************************/ +@@ -24,6 +24,10 @@ + * * + ****************************************************************************************/ +#ifdef __x86_64__ +#include "make_x86_64_sysv_elf_gas.S" +#else + + .file "make_i386_sysv_elf_gas.S" .text .globl make_fcontext - .align 2 -@@ -78,3 +82,5 @@ finish: +@@ -105,3 +109,5 @@ /* Mark that we don't need executable stack. */ .section .note.GNU-stack,"",%progbits diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch similarity index 94% rename from sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch rename to sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch index 23a87830d1..32faf8d0eb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch @@ -1,6 +1,6 @@ --- a/libs/locale/build/Jamfile.v2 +++ b/libs/locale/build/Jamfile.v2 -@@ -58,8 +58,8 @@ +@@ -65,8 +65,8 @@ if $(ICU_LINK) { @@ -11,7 +11,7 @@ } else { -@@ -117,7 +117,6 @@ +@@ -124,7 +124,6 @@ icuuc/shared/shared icudt/shared/shared icuin/shared/shared @@ -19,7 +19,7 @@ shared ; -@@ -176,7 +175,6 @@ +@@ -183,7 +182,6 @@ icuuc_64/shared/shared icudt_64/shared/shared icuin_64/shared/shared diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.73-boost-mpi-python-PEP-328.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.73-boost-mpi-python-PEP-328.patch new file mode 100644 index 0000000000..444db2b609 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.73-boost-mpi-python-PEP-328.patch @@ -0,0 +1,17 @@ +--- a/libs/mpi/build/__init__.py ++++ b/libs/mpi/build/__init__.py +@@ -1,10 +1,12 @@ ++from __future__ import absolute_import ++ + import sys + if sys.platform == 'linux2': + import DLFCN as dl + flags = sys.getdlopenflags() + sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL) +- import mpi ++ from . import mpi + sys.setdlopenflags(flags) + else: +- import mpi ++ from . import mpi + 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 new file mode 100644 index 0000000000..64c8eec814 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.73-boost-python-cleanup.patch @@ -0,0 +1,107 @@ +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 new file mode 100644 index 0000000000..539388275b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.73-property-tree-include.patch @@ -0,0 +1,45 @@ +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.74-CVE-2012-2677.patch b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.74-CVE-2012-2677.patch new file mode 100644 index 0000000000..ff947f74f1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.74-CVE-2012-2677.patch @@ -0,0 +1,125 @@ +https://src.fedoraproject.org/rpms/boost/raw/master/f/boost-1.58.0-pool.patch +https://bugzilla.redhat.com/show_bug.cgi?id=828856 +https://bugs.gentoo.org/620468 +https://svn.boost.org/trac10/ticket/6701 + +Index: boost/pool/pool.hpp +=================================================================== +--- a/boost/pool/pool.hpp (revision 78317) ++++ b/boost/pool/pool.hpp (revision 78326) +@@ -27,4 +27,6 @@ + #include + ++// std::numeric_limits ++#include + // boost::integer::static_lcm + #include +@@ -358,4 +360,11 @@ + } + ++ size_type max_chunks() const ++ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool. ++ size_type partition_size = alloc_size(); ++ size_type POD_size = integer::static_lcm::value + sizeof(size_type); ++ return (std::numeric_limits::max() - POD_size) / alloc_size(); ++ } ++ + static void * & nextof(void * const ptr) + { //! \returns Pointer dereferenced. +@@ -377,5 +388,7 @@ + //! the first time that object needs to allocate system memory. + //! The default is 32. This parameter may not be 0. +- //! \param nmax_size is the maximum number of chunks to allocate in one block. ++ //! \param nmax_size is the maximum number of chunks to allocate in one block. ++ set_next_size(nnext_size); ++ set_max_size(nmax_size); + } + +@@ -400,7 +413,7 @@ + } + void set_next_size(const size_type nnext_size) +- { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. +- //! \returns nnext_size. +- next_size = start_size = nnext_size; ++ { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. ++ BOOST_USING_STD_MIN(); ++ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks()); + } + size_type get_max_size() const +@@ -410,5 +423,6 @@ + void set_max_size(const size_type nmax_size) + { //! Set max_size. +- max_size = nmax_size; ++ BOOST_USING_STD_MIN(); ++ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks()); + } + size_type get_requested_size() const +@@ -713,7 +727,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, +@@ -753,7 +767,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, +@@ -797,4 +811,6 @@ + //! \returns Address of chunk n if allocated ok. + //! \returns 0 if not enough memory for n chunks. ++ if (n > max_chunks()) ++ return 0; + + const size_type partition_size = alloc_size(); +@@ -845,7 +861,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // insert it into the list, +Index: libs/pool/test/test_bug_6701.cpp +=================================================================== +--- a/libs/pool/test/test_bug_6701.cpp (revision 78326) ++++ b/libs/pool/test/test_bug_6701.cpp (revision 78326) +@@ -0,0 +1,27 @@ ++/* Copyright (C) 2012 Étienne Dupuis ++* ++* Use, modification and distribution is subject to the ++* Boost Software License, Version 1.0. (See accompanying ++* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) ++*/ ++ ++// Test of bug #6701 (https://svn.boost.org/trac/boost/ticket/6701) ++ ++#include ++#include ++ ++int main() ++{ ++ boost::pool<> p(1024, std::numeric_limits::max() / 768); ++ ++ void *x = p.malloc(); ++ BOOST_ASSERT(!x); ++ ++ BOOST_ASSERT(std::numeric_limits::max() / 1024 >= p.get_next_size()); ++ BOOST_ASSERT(std::numeric_limits::max() / 1024 >= p.get_max_size()); ++ ++ void *y = p.ordered_malloc(std::numeric_limits::max() / 768); ++ BOOST_ASSERT(!y); ++ ++ return 0; ++} 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 4f85afb6e3..997c258c60 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,9 +1,9 @@ - - cpp@gentoo.org - Gentoo C++ Project + + soap@gentoo.org + David Seifert office@gentoo.org @@ -11,14 +11,15 @@ Build and install the Boost.Context (and Boost.Fiber) library and all other Boost libraries that depend on it - Build and install the boost tools (bcp, quickbook, inspect, wave) - Build and install debug versions of the Boost libraries. These libraries are not used by default, and should not be used unless you're developing against Boost. - Build and install only the debug version of the Boost libraries. Only enable this flag if you're developing against boost. - Build multi-thread-compatible libraries instead of single-threaded only. - Build libboost_locale. This library requires compatible C library interfaces, which might not be provided by uClibc or other embedded libraries. + Build and install only the debug version of the Boost libraries. Only enable this flag if you're developing against boost. Install the full API documentation documentation. This takes over 200MB of extra disk space. + Build libboost_locale. This library requires compatible C library interfaces, which might not be provided by uClibc or other embedded libraries. + Optionally build NumPy extensions when Boost.Python is enabled + Build multi-thread-compatible libraries instead of single-threaded only. + Build and install the boost tools (bcp, quickbook, inspect, wave) + cpe:/a:boost:boost boost diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/Manifest index 19a425758e..98c80b335c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/Manifest @@ -1,4 +1,2 @@ -DIST boost_1_63_0.tar.bz2 81984414 BLAKE2B 227c4432bd3ca0eb390048ec85047958fcb6ae289996501812cd8b13bf74bbe9b677d0110948265cab59a60deb36c4fc08440af74ac5a5219ea4eaea4fa6918f SHA512 c915c5f5778dee49b8e9d0a40f37f90f56fb1fdb1d8ce92d97bf48bc7bc462212487badfe4bbe30b06196d1149cfb221da12ac54e97499b0d4cb6466813bb4ad -DIST boost_1_65_0.tar.bz2 82597718 BLAKE2B 0080956d6ad2f14130ce4a4734b1bd1ce83d3651b226653689e02770baa83cf11811ef4e44948ff68a168d9ce5cbfaea4f758970df2b4e9faa2d410181885f5b SHA512 7142650fb8d61e3ef16ba066fc918e087f19e9bc2ad1d6a11fb10bf0d6b1b5ad05ab032f076a5233a1624b3669e952b2cc38b7dc074bbf53018e2970ee90fcdd -DIST boost_1_66_0.tar.bz2 85995778 BLAKE2B 9ab1fe396b10ab85d7e4084ec7abb8d785ecd892c8f51aea5a401cb565b111c256533364fe028da74ed376534889f43c5ccbdcd703cd236526ae66a064220765 SHA512 0f34075d35391d66876e5189a01a11880a79428e1b267456348ee148dba9dc3abdc74d568f1853be631d20b584b1c804b42443c266f7622164acfc10be3dab8b -DIST boost_1_67_0.tar.bz2 87336566 BLAKE2B 85ea00fc2197b1bbfc35d69427c87f23ea43d7592f1c9ce66e2afcde8476bdec86f6debdac815b23de59f4665a8e0c7f1519ab66a31d39df629723bc45710058 SHA512 82bf33d7d2c3db109c9d1f12d40bc2d364c8c95262386f906ccd1a71cd71433bcc01829e968b4a13a5003cf0b50cbdf0b435a1d76530cea7bb05725c327411e8 +DIST boost_1_74_0.tar.bz2 109600630 BLAKE2B 2982f64fccf6fdb3b4b74452e603f459242d7abb42df4162278d9b558b637786a2eb97442126967b19088d591777c64ced8f60a23e71eaa0b7545e80f800de63 SHA512 4ec9c1164ec9b95ce46ba1c073e586c94b3882dce5b7347ea14bbef0c1da230e12aa5328a501ce38cae1b1d7623daa3246325625899179b4cc309242540982a4 +DIST boost_1_75_0.tar.bz2 121849575 BLAKE2B ce7ecd8bcee518ce54f7e5302f202acbea60cedd6ae9248708c0bb5bbc2713607b2e1967a9e6f77cc20a4c008c1ee4db651def55937efc80407487a7a44fa8d6 SHA512 d86f060245e98dca5c7f3f831c98ea9ccbfa8310f20830dd913d9d4c939fbe7cb94accd35f1128e7c4faf6c27adb6f4bb54e5477a6bde983dfc7aa33c4eed03a diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/boost-build-1.63.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/boost-build-1.63.0.ebuild deleted file mode 100644 index 4dbc423b53..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/boost-build-1.63.0.ebuild +++ /dev/null @@ -1,140 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -RESTRICT="test" - -PYTHON_COMPAT=( python2_7 ) -inherit eutils flag-o-matic python-single-r1 toolchain-funcs versionator - -MY_PV="$(replace_all_version_separators _)" - -DESCRIPTION="A system for large project software construction, simple to use and powerful" -HOMEPAGE="https://boostorg.github.io/build/" -SRC_URI="https://downloads.sourceforge.net/project/boost/boost/${PV}/boost_${MY_PV}.tar.bz2" - -LICENSE="Boost-1.0" -SLOT="0" -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="examples python test" - -RDEPEND="python? ( ${PYTHON_DEPS} ) - !/dev/null || die - eapply "${FILESDIR}/${PN}-1.54.0-fix-test.patch" - popd >/dev/null || die - - # Remove stripping option - # Fix python components build on multilib systems, bug #496446 - cd "${S}/engine" || die - sed -i \ - -e 's|-s\b||' \ - -e "/libpython/s/lib ]/$(get_libdir) ]/" \ - build.jam || die "sed failed" - - # Force regeneration - rm jambase.c || die - - # This patch allows us to fully control optimization - # and stripping flags when bjam is used as build-system - # We simply extend the optimization and debug-symbols feature - # with empty dummies called 'none' - cd "${S}" || die - sed -i \ - -e 's/\(off speed space\)/\1 none/' \ - -e 's/\(debug-symbols : on off\)/\1 none/' \ - tools/builtin.jam || die "sed failed" -} - -src_configure() { - if use python; then - # replace versions by user-selected one (TODO: fix this when slot-op - # deps are available to always match the best version available) - sed -i \ - -e "s|27 26 25 24 23 22|${EPYTHON#python}|" \ - engine/build.jam || die "sed failed" - fi -} - -src_compile() { - cd engine || die - - local toolset - - if [[ ${CHOST} == *-darwin* ]]; then - toolset=darwin - else - # Using boost's generic toolset here, which respects CC and CFLAGS - toolset=cc - fi - - CC=$(tc-getCC) ./build.sh ${toolset} -d+2 $(use_with python python "${EROOT%/}"/usr) || die "building bjam failed" -} - -src_install() { - dobin engine/bin.*/{bjam,b2} - - insinto /usr/share/boost-build - doins -r "${FILESDIR}/site-config.jam" \ - ../boost-build.jam bootstrap.jam build-system.jam ../example/user-config.jam *.py \ - build kernel options tools util - - if ! use python; then - find "${ED%/}/usr/share/boost-build" -iname "*.py" -delete || die "removing experimental python files failed" - fi - - dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt - - if use examples; then - docinto examples - dodoc -r ../example/. - docompress -x /usr/share/doc/${PF}/examples - fi -} - -src_test() { - cd ../test || die - - export TMP="${T}" - - DO_DIFF="${PREFIX}/usr/bin/diff" ${PYTHON} test_all.py - - if [[ -s test_results.txt ]]; then - eerror "At least one test failed: $(/dev/null || die - eapply "${FILESDIR}/${PN}-1.54.0-fix-test.patch" - popd >/dev/null || die - - # Remove stripping option - # Fix python components build on multilib systems, bug #496446 - cd "${S}/engine" || die - sed -i \ - -e 's|-s\b||' \ - -e "/libpython/s/lib ]/$(get_libdir) ]/" \ - build.jam || die "sed failed" - - # Force regeneration - rm jambase.c || die - - # This patch allows us to fully control optimization - # and stripping flags when bjam is used as build-system - # We simply extend the optimization and debug-symbols feature - # with empty dummies called 'none' - cd "${S}" || die - sed -i \ - -e 's/\(off speed space\)/\1 none/' \ - -e 's/\(debug-symbols : on off\)/\1 none/' \ - tools/builtin.jam || die "sed failed" -} - -src_configure() { - if use python; then - # replace versions by user-selected one (TODO: fix this when slot-op - # deps are available to always match the best version available) - sed -i \ - -e "s|27 26 25 24 23 22|${EPYTHON#python}|" \ - engine/build.jam || die "sed failed" - fi -} - -src_compile() { - cd engine || die - - local toolset - - if [[ ${CHOST} == *-darwin* ]]; then - toolset=darwin - else - # Using boost's generic toolset here, which respects CC and CFLAGS - toolset=cc - fi - - CC=$(tc-getCC) ./build.sh ${toolset} -d+2 $(use_with python python "${EROOT%/}"/usr) || die "building bjam failed" -} - -src_install() { - dobin engine/bin.*/{bjam,b2} - - insinto /usr/share/boost-build - doins -r "${FILESDIR}/site-config.jam" \ - ../boost-build.jam bootstrap.jam build-system.jam ../example/user-config.jam *.py \ - build kernel options tools util - - if ! use python; then - find "${ED%/}/usr/share/boost-build" -iname "*.py" -delete || die "removing experimental python files failed" - fi - - dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt - - if use examples; then - docinto examples - dodoc -r ../example/. - docompress -x /usr/share/doc/${PF}/examples - fi -} - -src_test() { - cd ../test || die - - export TMP="${T}" - - DO_DIFF="${PREFIX}/usr/bin/diff" ${PYTHON} test_all.py - - if [[ -s test_results.txt ]]; then - eerror "At least one test failed: $(/dev/null || die - eapply "${FILESDIR}/${PN}-1.54.0-fix-test.patch" - popd >/dev/null || die - - # Remove stripping option - # Fix python components build on multilib systems, bug #496446 - cd "${S}/engine" || die - sed -i \ - -e 's|-s\b||' \ - -e "/libpython/s/lib ]/$(get_libdir) ]/" \ - build.jam || die "sed failed" - - # Force regeneration - rm jambase.c || die - - # This patch allows us to fully control optimization - # and stripping flags when bjam is used as build-system - # We simply extend the optimization and debug-symbols feature - # with empty dummies called 'none' - cd "${S}" || die - sed -i \ - -e 's/\(off speed space\)/\1 none/' \ - -e 's/\(debug-symbols : on off\)/\1 none/' \ - tools/builtin.jam || die "sed failed" -} - -src_configure() { - if use python; then - # replace versions by user-selected one (TODO: fix this when slot-op - # deps are available to always match the best version available) - sed -i \ - -e "s|27 26 25 24 23 22|${EPYTHON#python}|" \ - engine/build.jam || die "sed failed" - fi -} - -src_compile() { - cd engine || die - - local toolset - - if [[ ${CHOST} == *-darwin* ]]; then - toolset=darwin - else - # Using boost's generic toolset here, which respects CC and CFLAGS - toolset=cc - fi - - CC=$(tc-getCC) ./build.sh ${toolset} -d+2 $(use_with python python "${EROOT%/}"/usr) || die "building bjam failed" -} - -src_install() { - dobin engine/bin.*/{bjam,b2} - - insinto /usr/share/boost-build - doins -r "${FILESDIR}/site-config.jam" \ - ../boost-build.jam bootstrap.jam build-system.jam ../example/user-config.jam *.py \ - build kernel options tools util - - if ! use python; then - find "${ED%/}/usr/share/boost-build" -iname "*.py" -delete || die "removing experimental python files failed" - fi - - dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt - - if use examples; then - docinto examples - dodoc -r ../example/. - docompress -x /usr/share/doc/${PF}/examples - fi -} - -src_test() { - cd ../test || die - - export TMP="${T}" - - DO_DIFF="${PREFIX}/usr/bin/diff" ${PYTHON} test_all.py - - if [[ -s test_results.txt ]]; then - eerror "At least one test failed: $(/dev/null || die - eapply "${FILESDIR}/${PN}-1.54.0-fix-test.patch" - popd >/dev/null || die - - # Remove stripping option - # Fix python components build on multilib systems, bug #496446 - cd "${S}/engine" || die - sed -i \ - -e 's|-s\b||' \ - -e "/libpython/s/lib ]/$(get_libdir) ]/" \ - build.jam || die "sed failed" - - # Force regeneration - rm jambase.c || die - - # This patch allows us to fully control optimization - # and stripping flags when bjam is used as build-system - # We simply extend the optimization and debug-symbols feature - # with empty dummies called 'none' - cd "${S}" || die - sed -i \ - -e 's/\(off speed space\)/\1 none/' \ - -e 's/\(debug-symbols : on off\)/\1 none/' \ - tools/builtin.jam || die "sed failed" -} - -src_configure() { - if use python; then - # replace versions by user-selected one (TODO: fix this when slot-op - # deps are available to always match the best version available) - sed -i \ - -e "s|27 26 25 24 23 22|${EPYTHON#python}|" \ - engine/build.jam || die "sed failed" - fi -} - -src_compile() { - cd engine || die - - local toolset - - if [[ ${CHOST} == *-darwin* ]]; then - toolset=darwin - else - # Using boost's generic toolset here, which respects CC and CFLAGS - toolset=cc - fi - - CC=$(tc-getCC) ./build.sh ${toolset} -d+2 $(use_with python python "${EROOT%/}"/usr) || die "building bjam failed" -} - -src_install() { - dobin engine/bin.*/{bjam,b2} - - insinto /usr/share/boost-build - doins -r "${FILESDIR}/site-config.jam" \ - ../boost-build.jam bootstrap.jam build-system.jam ../example/user-config.jam *.py \ - build kernel options tools util - - if ! use python; then - find "${ED%/}/usr/share/boost-build" -iname "*.py" -delete || die "removing experimental python files failed" - fi - - dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt - - if use examples; then - docinto examples - dodoc -r ../example/. - docompress -x /usr/share/doc/${PF}/examples - fi -} - -src_test() { - cd ../test || die - - export TMP="${T}" - - DO_DIFF="${PREFIX}/usr/bin/diff" ${PYTHON} test_all.py - - if [[ -s test_results.txt ]]; then - eerror "At least one test failed: $(/dev/null || die + eapply "${FILESDIR}"/${PN}-1.71.0-fix-test.patch + popd >/dev/null || die +} + +src_configure() { + tc-export CXX +} + +src_compile() { + cd engine || die + ./build.sh cxx -d+2 --without-python || die "building bjam failed" +} + +src_test() { + # Forget tests, bjam is a lost cause + : +} + +src_install() { + dobin engine/{bjam,b2} + + insinto /usr/share/boost-build + doins -r "${FILESDIR}/site-config.jam" \ + ../boost-build.jam bootstrap.jam build-system.jam ../example/user-config.jam *.py \ + build kernel options tools util + + find "${ED}"/usr/share/boost-build -iname '*.py' -delete || die + + dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt + + if use examples; then + docinto examples + dodoc -r ../example/. + docompress -x /usr/share/doc/${PF}/examples + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/boost-build-1.75.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/boost-build-1.75.0.ebuild new file mode 100644 index 0000000000..520a93f1a5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/boost-build-1.75.0.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic prefix toolchain-funcs + +MY_PV="$(ver_rs 1- _)" + +DESCRIPTION="A system for large project software construction, simple to use and powerful" +HOMEPAGE="https://boostorg.github.io/build/" +SRC_URI="https://dl.bintray.com/boostorg/release/${PV}/source/boost_${MY_PV}.tar.bz2" + +LICENSE="Boost-1.0" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="examples" +RESTRICT="test" + +S="${WORKDIR}/boost_${MY_PV}/tools/build/src" + +PATCHES=( + "${FILESDIR}"/${PN}-1.71.0-disable_python_rpath.patch + "${FILESDIR}"/${PN}-1.71.0-darwin-gentoo-toolchain.patch + "${FILESDIR}"/${PN}-1.73.0-add-none-feature-options.patch + "${FILESDIR}"/${PN}-1.71.0-respect-c_ld-flags.patch + "${FILESDIR}"/${PN}-1.74.0-no-implicit-march-flags.patch +) + +src_unpack() { + tar xojf "${DISTDIR}/${A}" boost_${MY_PV}/tools/build || die "unpacking tar failed" +} + +src_prepare() { + default + + pushd .. >/dev/null || die + eapply "${FILESDIR}"/${PN}-1.71.0-fix-test.patch + popd >/dev/null || die +} + +src_configure() { + tc-export CXX + + # need to enable LFS explicitly for 64-bit offsets on 32-bit hosts (#761100) + append-lfs-flags +} + +src_compile() { + cd engine || die + ./build.sh cxx -d+2 --without-python || die "building bjam failed" +} + +src_test() { + # Forget tests, bjam is a lost cause + : +} + +src_install() { + dobin engine/{bjam,b2} + + insinto /usr/share/boost-build + doins -r "${FILESDIR}/site-config.jam" \ + ../boost-build.jam bootstrap.jam build-system.jam ../example/user-config.jam *.py \ + build kernel options tools util + + find "${ED}"/usr/share/boost-build -iname '*.py' -delete || die + + dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt + + if use examples; then + docinto examples + dodoc -r ../example/. + docompress -x /usr/share/doc/${PF}/examples + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.50.0-respect-c_ld-flags.patch b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.50.0-respect-c_ld-flags.patch deleted file mode 100644 index 8775583cbc..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.50.0-respect-c_ld-flags.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/engine/build.jam -+++ b/engine/build.jam -@@ -3,7 +3,7 @@ - #~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) - - # Clean env vars of any "extra" empty values. --for local v in ARGV CC CFLAGS LIBS -+for local v in ARGV CC CFLAGS LDFLAGS LIBS - { - local values ; - for local x in $($(v)) -@@ -179,10 +179,10 @@ - if ! $(CC) { CC = cc ; } - toolset cc $(CC) : "-o " : -D - : $(CFLAGS) -- [ opt --release : -s -O ] -+ [ opt --release : ] - [ opt --debug : -g ] - -I$(--python-include) -I$(--extra-include) -- : $(LIBS) -L$(--python-lib[1]) -l$(--python-lib[2]) ; -+ : $(LDFLAGS) $(LIBS) -L$(--python-lib[1]) -l$(--python-lib[2]) ; - ## Comeau C/C++ 4.x - toolset como como : "-o " : -D - : --c -@@ -201,11 +201,11 @@ - ## MacOSX Darwin, using GCC 2.9.x, 3.x - toolset darwin cc : "-o " : -D - : -- [ opt --release : -Wl,-x -O3 -finline-functions ] -+ [ opt --release : -Wl,-x -finline-functions ] - [ opt --debug : -g -O0 -fno-inline -pg ] - [ opt --profile : -Wl,-x -O3 -finline-functions -g -pg ] - -I$(--python-include) -I$(--extra-include) -- : -L$(--python-lib[1]) -l$(--python-lib[2]) ; -+ : $(LDFLAGS) -L$(--python-lib[1]) -l$(--python-lib[2]) ; - ## GCC 2.x, 3.x, 4.x - toolset gcc gcc : "-o " : -D - : -pedantic -fno-strict-aliasing ---- a/engine/build.sh -+++ b/engine/build.sh -@@ -224,9 +224,9 @@ - cc) - if test -z "$CC" ; then CC=cc ; fi - BOOST_JAM_CC=$CC -- BOOST_JAM_OPT_JAM="$BOOST_JAM_OPT_JAM $CFLAGS $LIBS" -- BOOST_JAM_OPT_MKJAMBASE="$BOOST_JAM_OPT_MKJAMBASE $CFLAGS $LIBS" -- BOOST_JAM_OPT_YYACC="$BOOST_JAM_OPT_YYACC $CFLAGS $LIBS" -+ BOOST_JAM_OPT_JAM="$BOOST_JAM_OPT_JAM $CFLAGS $LDFLAGS $LIBS" -+ BOOST_JAM_OPT_MKJAMBASE="$BOOST_JAM_OPT_MKJAMBASE $CFLAGS $LDFLAGS $LIBS" -+ BOOST_JAM_OPT_YYACC="$BOOST_JAM_OPT_YYACC $CFLAGS $LDFLAGS $LIBS" - ;; - - qcc) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.52.0-darwin-no-python-framework.patch b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.52.0-darwin-no-python-framework.patch deleted file mode 100644 index cacbe00a7e..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.52.0-darwin-no-python-framework.patch +++ /dev/null @@ -1,17 +0,0 @@ -Don't look for the framework path, we build Python the UNIX way for -Gentoo Prefix - ---- a/engine/build.jam -+++ b/engine/build.jam -@@ -82,11 +82,6 @@ - } - --python-lib = $(--python-lib[1]) ; - } -- else if $(OS) = MACOSX -- { -- --python-include = [ .path $(python-location) Headers ] ; -- --python-lib = $(python-location) Python ; -- } - else - { - --python-include = ; diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.54.0-support_dots_in_python-buildid.patch b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.54.0-support_dots_in_python-buildid.patch deleted file mode 100644 index a04aa0b7aa..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.54.0-support_dots_in_python-buildid.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/tools/common.jam -+++ b/tools/common.jam -@@ -763,7 +763,15 @@ - switch $(f:G) - { - case : -- result += $(name:B) ; -+ local matched = [ MATCH "^(boost.*python)-.*" : $(name) ] ; -+ if $(matched) = boost_python || $(matched) = boost_mpi_python -+ { -+ result += $(name) ; -+ } -+ else -+ { -+ result += $(name:B) ; -+ } - - case : - result += [ join-tag $(f:G=) : [ toolset-tag $(name) : $(type) : diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.55.0-ppc-aix.patch b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.55.0-ppc-aix.patch deleted file mode 100644 index d8b6a5af1e..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.55.0-ppc-aix.patch +++ /dev/null @@ -1,13 +0,0 @@ -https://svn.boost.org/trac/boost/ticket/10122 - ---- a/engine/mem.h -+++ b/engine/mem.h -@@ -8,6 +8,8 @@ - #ifndef BJAM_MEM_H - #define BJAM_MEM_H - -+#include "jam.h" -+ - #ifdef OPT_BOEHM_GC - - /* Use Boehm GC memory allocator. */ diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch deleted file mode 100644 index a3f450b0ed..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/tools/gcc.py 2018-09-07 17:44:59.668796217 +0200 -+++ b/tools/gcc.py 2018-09-07 17:45:56.378794314 +0200 -@@ -811,20 +811,6 @@ - # Sparc - flags('gcc', 'OPTIONS', ['sparc/32'], ['-m32']) - flags('gcc', 'OPTIONS', ['sparc/64'], ['-m64']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'v7', ['-mcpu=v7'], default=True) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'cypress', ['-mcpu=cypress']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'v8', ['-mcpu=v8']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'supersparc', ['-mcpu=supersparc']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite', ['-mcpu=sparclite']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'hypersparc', ['-mcpu=hypersparc']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite86x', ['-mcpu=sparclite86x']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'f930', ['-mcpu=f930']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'f934', ['-mcpu=f934']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclet', ['-mcpu=sparclet']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'tsc701', ['-mcpu=tsc701']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'v9', ['-mcpu=v9']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc', ['-mcpu=ultrasparc']) --cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc3', ['-mcpu=ultrasparc3']) - # RS/6000 & PowerPC - flags('gcc', 'OPTIONS', ['power/32'], ['-m32']) - flags('gcc', 'OPTIONS', ['power/64'], ['-m64']) ---- a/tools/gcc.jam 2018-09-07 17:45:12.168795797 +0200 -+++ b/tools/gcc.jam 2018-09-07 17:46:25.498793337 +0200 -@@ -1134,21 +1134,6 @@ - cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ; - ## - cpu-flags gcc OPTIONS : x86 : atom : -march=atom ; --# Sparc --cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 : default ; --cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ; --cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ; --cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ; --cpu-flags gcc OPTIONS : sparc : sparclite : -mcpu=sparclite ; --cpu-flags gcc OPTIONS : sparc : hypersparc : -mcpu=hypersparc ; --cpu-flags gcc OPTIONS : sparc : sparclite86x : -mcpu=sparclite86x ; --cpu-flags gcc OPTIONS : sparc : f930 : -mcpu=f930 ; --cpu-flags gcc OPTIONS : sparc : f934 : -mcpu=f934 ; --cpu-flags gcc OPTIONS : sparc : sparclet : -mcpu=sparclet ; --cpu-flags gcc OPTIONS : sparc : tsc701 : -mcpu=tsc701 ; --cpu-flags gcc OPTIONS : sparc : v9 : -mcpu=v9 ; --cpu-flags gcc OPTIONS : sparc : ultrasparc : -mcpu=ultrasparc ; --cpu-flags gcc OPTIONS : sparc : ultrasparc3 : -mcpu=ultrasparc3 ; - # RS/6000 & PowerPC - cpu-flags gcc OPTIONS : power : 403 : -mcpu=403 ; - cpu-flags gcc OPTIONS : power : 505 : -mcpu=505 ; diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.71.0-darwin-gentoo-toolchain.patch similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch rename to sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.71.0-darwin-gentoo-toolchain.patch index 032feaf962..3693677540 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch +++ b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.71.0-darwin-gentoo-toolchain.patch @@ -4,7 +4,7 @@ arch, etc. --- a/tools/darwin.jam +++ b/tools/darwin.jam -@@ -227,6 +227,9 @@ +@@ -239,6 +239,9 @@ } } @@ -14,7 +14,7 @@ arch, etc. if $(version-feature) { if $(.debug-configuration) -@@ -387,7 +390,8 @@ +@@ -447,7 +450,8 @@ support-ppc64 = ; } } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.71.0-disable_python_rpath.patch similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch rename to sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.71.0-disable_python_rpath.patch index 84734f7473..b7b47cc93a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch +++ b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.71.0-disable_python_rpath.patch @@ -1,6 +1,6 @@ --- a/tools/python.jam +++ b/tools/python.jam -@@ -961,7 +961,7 @@ +@@ -1000,7 +1000,7 @@ # linux). : $(usage-requirements) $(set-PYTHONPATH) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.71.0-fix-test.patch similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch rename to sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.71.0-fix-test.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.71.0-respect-c_ld-flags.patch b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.71.0-respect-c_ld-flags.patch new file mode 100644 index 0000000000..f51abea61f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.71.0-respect-c_ld-flags.patch @@ -0,0 +1,9 @@ +--- a/engine/build.sh ++++ b/engine/build.sh +@@ -439,5 +439,5 @@ + if check_debug_build "$@" ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG}" + else B2_CXXFLAGS="${B2_CXXFLAGS_RELEASE} -DNDEBUG" + fi +-echo_run ${B2_CXX} ${CXXFLAGS} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2 ++echo_run ${B2_CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2 + echo_run cp b2 bjam diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.66.0-add-none-feature-options.patch b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.73.0-add-none-feature-options.patch similarity index 50% rename from sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.66.0-add-none-feature-options.patch rename to sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.73.0-add-none-feature-options.patch index fd86c9e2fc..1918a2456a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.66.0-add-none-feature-options.patch +++ b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.73.0-add-none-feature-options.patch @@ -1,26 +1,22 @@ -diff --git a/tools/features/debug-feature.jam b/tools/features/debug-feature.jam -index 04958f9a..38b6acf1 100644 --- a/tools/features/debug-feature.jam +++ b/tools/features/debug-feature.jam -@@ -8,7 +8,7 @@ - import feature ; +@@ -18,7 +18,7 @@ + |# # end::doc[] feature.feature debug-symbols - : on off + : on off none : propagated ; - feature.feature profiling -diff --git a/tools/features/optimization-feature.jam b/tools/features/optimization-feature.jam -index 761f76f1..fb2a5dec 100644 + #| tag::prof-doc[] --- a/tools/features/optimization-feature.jam +++ b/tools/features/optimization-feature.jam -@@ -8,7 +8,7 @@ - import feature ; +@@ -16,7 +16,7 @@ + |# # end::doc[] feature.feature optimization - : off speed space + : off none speed space : propagated ; - feature.feature inlining + #| tag::inline-doc[] diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.74.0-no-implicit-march-flags.patch b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.74.0-no-implicit-march-flags.patch new file mode 100644 index 0000000000..894af8f62c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/files/boost-build-1.74.0-no-implicit-march-flags.patch @@ -0,0 +1,279 @@ +--- a/tools/gcc.jam ++++ b/tools/gcc.jam +@@ -1224,135 +1224,9 @@ + # x86 and compatible + # The 'native' option appeared in gcc 4.2 so we cannot safely use it as default. + # Use i686 instead for 32-bit. +-toolset.flags gcc OPTIONS x86/32/ : -march=i686 ; +-cpu-flags gcc OPTIONS : x86 : native : -march=native ; +-cpu-flags gcc OPTIONS : x86 : i486 : -march=i486 ; +-cpu-flags gcc OPTIONS : x86 : i586 : -march=i586 ; +-cpu-flags gcc OPTIONS : x86 : i686 : -march=i686 ; +-cpu-flags gcc OPTIONS : x86 : pentium : -march=pentium ; +-cpu-flags gcc OPTIONS : x86 : pentium-mmx : -march=pentium-mmx ; +-cpu-flags gcc OPTIONS : x86 : pentiumpro : -march=pentiumpro ; +-cpu-flags gcc OPTIONS : x86 : pentium2 : -march=pentium2 ; +-cpu-flags gcc OPTIONS : x86 : pentium3 : -march=pentium3 ; +-cpu-flags gcc OPTIONS : x86 : pentium3m : -march=pentium3m ; +-cpu-flags gcc OPTIONS : x86 : pentium-m : -march=pentium-m ; +-cpu-flags gcc OPTIONS : x86 : pentium4 : -march=pentium4 ; +-cpu-flags gcc OPTIONS : x86 : pentium4m : -march=pentium4m ; +-cpu-flags gcc OPTIONS : x86 : prescott : -march=prescott ; +-cpu-flags gcc OPTIONS : x86 : nocona : -march=nocona ; +-cpu-flags gcc OPTIONS : x86 : core2 : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : conroe : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : conroe-xe : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : conroe-l : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : allendale : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : wolfdale : -march=core2 -msse4.1 ; +-cpu-flags gcc OPTIONS : x86 : merom : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : merom-xe : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : kentsfield : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : kentsfield-xe : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : yorksfield : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : penryn : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : corei7 : -march=corei7 ; +-cpu-flags gcc OPTIONS : x86 : nehalem : -march=corei7 ; +-cpu-flags gcc OPTIONS : x86 : corei7-avx : -march=corei7-avx ; +-cpu-flags gcc OPTIONS : x86 : sandy-bridge : -march=corei7-avx ; +-cpu-flags gcc OPTIONS : x86 : core-avx-i : -march=core-avx-i ; +-cpu-flags gcc OPTIONS : x86 : ivy-bridge : -march=core-avx-i ; +-cpu-flags gcc OPTIONS : x86 : haswell : -march=core-avx-i -mavx2 -mfma -mbmi -mbmi2 -mlzcnt ; +-cpu-flags gcc OPTIONS : x86 : broadwell : -march=broadwell ; +-cpu-flags gcc OPTIONS : x86 : skylake : -march=skylake ; +-cpu-flags gcc OPTIONS : x86 : skylake-avx512 : -march=skylake-avx512 ; +-cpu-flags gcc OPTIONS : x86 : cannonlake : -march=skylake-avx512 -mavx512vbmi -mavx512ifma -msha ; +-cpu-flags gcc OPTIONS : x86 : icelake-client : -march=icelake-client ; +-cpu-flags gcc OPTIONS : x86 : icelake-server : -march=icelake-server ; +-cpu-flags gcc OPTIONS : x86 : cascadelake : -march=skylake-avx512 -mavx512vnni ; +-cpu-flags gcc OPTIONS : x86 : cooperlake : -march=cooperlake ; +-cpu-flags gcc OPTIONS : x86 : tigerlake : -march=tigerlake ; +-cpu-flags gcc OPTIONS : x86 : k6 : -march=k6 ; +-cpu-flags gcc OPTIONS : x86 : k6-2 : -march=k6-2 ; +-cpu-flags gcc OPTIONS : x86 : k6-3 : -march=k6-3 ; +-cpu-flags gcc OPTIONS : x86 : athlon : -march=athlon ; +-cpu-flags gcc OPTIONS : x86 : athlon-tbird : -march=athlon-tbird ; +-cpu-flags gcc OPTIONS : x86 : athlon-4 : -march=athlon-4 ; +-cpu-flags gcc OPTIONS : x86 : athlon-xp : -march=athlon-xp ; +-cpu-flags gcc OPTIONS : x86 : athlon-mp : -march=athlon-mp ; + ## +-cpu-flags gcc OPTIONS : x86 : k8 : -march=k8 ; +-cpu-flags gcc OPTIONS : x86 : opteron : -march=opteron ; +-cpu-flags gcc OPTIONS : x86 : athlon64 : -march=athlon64 ; +-cpu-flags gcc OPTIONS : x86 : athlon-fx : -march=athlon-fx ; +-cpu-flags gcc OPTIONS : x86 : k8-sse3 : -march=k8-sse3 ; +-cpu-flags gcc OPTIONS : x86 : opteron-sse3 : -march=opteron-sse3 ; +-cpu-flags gcc OPTIONS : x86 : athlon64-sse3 : -march=athlon64-sse3 ; +-cpu-flags gcc OPTIONS : x86 : amdfam10 : -march=amdfam10 ; +-cpu-flags gcc OPTIONS : x86 : barcelona : -march=barcelona ; +-cpu-flags gcc OPTIONS : x86 : bdver1 : -march=bdver1 ; +-cpu-flags gcc OPTIONS : x86 : bdver2 : -march=bdver2 ; +-cpu-flags gcc OPTIONS : x86 : bdver3 : -march=bdver3 ; +-cpu-flags gcc OPTIONS : x86 : bdver4 : -march=bdver4 ; +-cpu-flags gcc OPTIONS : x86 : btver1 : -march=btver1 ; +-cpu-flags gcc OPTIONS : x86 : btver2 : -march=btver2 ; +-cpu-flags gcc OPTIONS : x86 : znver1 : -march=znver1 ; +-cpu-flags gcc OPTIONS : x86 : znver2 : -march=znver2 ; +-cpu-flags gcc OPTIONS : x86 : winchip-c6 : -march=winchip-c6 ; +-cpu-flags gcc OPTIONS : x86 : winchip2 : -march=winchip2 ; +-cpu-flags gcc OPTIONS : x86 : c3 : -march=c3 ; +-cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ; +-cpu-flags gcc OPTIONS : x86 : c7 : -march=c7 ; + ## +-cpu-flags gcc OPTIONS : x86 : atom : -march=atom ; + # Sparc +-cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 : default ; +-cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ; +-cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ; +-cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ; +-cpu-flags gcc OPTIONS : sparc : sparclite : -mcpu=sparclite ; +-cpu-flags gcc OPTIONS : sparc : hypersparc : -mcpu=hypersparc ; +-cpu-flags gcc OPTIONS : sparc : sparclite86x : -mcpu=sparclite86x ; +-cpu-flags gcc OPTIONS : sparc : f930 : -mcpu=f930 ; +-cpu-flags gcc OPTIONS : sparc : f934 : -mcpu=f934 ; +-cpu-flags gcc OPTIONS : sparc : sparclet : -mcpu=sparclet ; +-cpu-flags gcc OPTIONS : sparc : tsc701 : -mcpu=tsc701 ; +-cpu-flags gcc OPTIONS : sparc : v9 : -mcpu=v9 ; +-cpu-flags gcc OPTIONS : sparc : ultrasparc : -mcpu=ultrasparc ; +-cpu-flags gcc OPTIONS : sparc : ultrasparc3 : -mcpu=ultrasparc3 ; + # RS/6000 & PowerPC +-cpu-flags gcc OPTIONS : power : 403 : -mcpu=403 ; +-cpu-flags gcc OPTIONS : power : 505 : -mcpu=505 ; +-cpu-flags gcc OPTIONS : power : 601 : -mcpu=601 ; +-cpu-flags gcc OPTIONS : power : 602 : -mcpu=602 ; +-cpu-flags gcc OPTIONS : power : 603 : -mcpu=603 ; +-cpu-flags gcc OPTIONS : power : 603e : -mcpu=603e ; +-cpu-flags gcc OPTIONS : power : 604 : -mcpu=604 ; +-cpu-flags gcc OPTIONS : power : 604e : -mcpu=604e ; +-cpu-flags gcc OPTIONS : power : 620 : -mcpu=620 ; +-cpu-flags gcc OPTIONS : power : 630 : -mcpu=630 ; +-cpu-flags gcc OPTIONS : power : 740 : -mcpu=740 ; +-cpu-flags gcc OPTIONS : power : 7400 : -mcpu=7400 ; +-cpu-flags gcc OPTIONS : power : 7450 : -mcpu=7450 ; +-cpu-flags gcc OPTIONS : power : 750 : -mcpu=750 ; +-cpu-flags gcc OPTIONS : power : 801 : -mcpu=801 ; +-cpu-flags gcc OPTIONS : power : 821 : -mcpu=821 ; +-cpu-flags gcc OPTIONS : power : 823 : -mcpu=823 ; +-cpu-flags gcc OPTIONS : power : 860 : -mcpu=860 ; +-cpu-flags gcc OPTIONS : power : 970 : -mcpu=970 ; +-cpu-flags gcc OPTIONS : power : 8540 : -mcpu=8540 ; +-cpu-flags gcc OPTIONS : power : power : -mcpu=power ; +-cpu-flags gcc OPTIONS : power : power2 : -mcpu=power2 ; +-cpu-flags gcc OPTIONS : power : power3 : -mcpu=power3 ; +-cpu-flags gcc OPTIONS : power : power4 : -mcpu=power4 ; +-cpu-flags gcc OPTIONS : power : power5 : -mcpu=power5 ; +-cpu-flags gcc OPTIONS : power : powerpc : -mcpu=powerpc ; +-cpu-flags gcc OPTIONS : power : powerpc64 : -mcpu=powerpc64 ; +-cpu-flags gcc OPTIONS : power : rios : -mcpu=rios ; +-cpu-flags gcc OPTIONS : power : rios1 : -mcpu=rios1 ; +-cpu-flags gcc OPTIONS : power : rios2 : -mcpu=rios2 ; +-cpu-flags gcc OPTIONS : power : rsc : -mcpu=rsc ; +-cpu-flags gcc OPTIONS : power : rs64a : -mcpu=rs64 ; +-cpu-flags gcc OPTIONS : s390x : z196 : -march=z196 ; +-cpu-flags gcc OPTIONS : s390x : zEC12 : -march=zEC12 ; +-cpu-flags gcc OPTIONS : s390x : z13 : -march=z13 ; +-cpu-flags gcc OPTIONS : s390x : z14 : -march=z14 ; +-cpu-flags gcc OPTIONS : s390x : z15 : -march=z15 ; + # AIX variant of RS/6000 & PowerPC + toolset.flags gcc AROPTIONS 64/aix : "-X64" ; +--- a/tools/gcc.py ++++ b/tools/gcc.py +@@ -745,138 +745,14 @@ + # x86 and compatible + flags('gcc', 'OPTIONS', ['x86/32'], ['-m32']) + flags('gcc', 'OPTIONS', ['x86/64'], ['-m64']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'native', ['-march=native']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'i486', ['-march=i486']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'i586', ['-march=i586']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'i686', ['-march=i686'], default=True) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium', ['-march=pentium']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium-mmx', ['-march=pentium-mmx']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentiumpro', ['-march=pentiumpro']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium2', ['-march=pentium2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium3', ['-march=pentium3']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium3m', ['-march=pentium3m']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium-m', ['-march=pentium-m']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium4', ['-march=pentium4']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium4m', ['-march=pentium4m']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'prescott', ['-march=prescott']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'nocona', ['-march=nocona']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'core2', ['-march=core2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'conroe', ['-march=core2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'conroe-xe', ['-march=core2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'conroe-l', ['-march=core2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'allendale', ['-march=core2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'wolfdale', ['-march=core2', '-msse4.1']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'merom', ['-march=core2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'merom-xe', ['-march=core2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'kentsfield', ['-march=core2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'kentsfield-xe', ['-march=core2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'yorksfield', ['-march=core2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'penryn', ['-march=core2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'corei7', ['-march=corei7']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'nehalem', ['-march=corei7']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'corei7-avx', ['-march=corei7-avx']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'sandy-bridge', ['-march=corei7-avx']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'core-avx-i', ['-march=core-avx-i']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'ivy-bridge', ['-march=core-avx-i']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'haswell', ['-march=core-avx-i', '-mavx2', '-mfma', '-mbmi', '-mbmi2', '-mlzcnt']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'broadwell', ['-march=broadwell']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'skylake', ['-march=skylake']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'skylake-avx512', ['-march=skylake-avx512']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'cannonlake', ['-march=skylake-avx512', '-mavx512vbmi', '-mavx512ifma', '-msha']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'icelake-client', ['-march=icelake-client']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'icelake-server', ['-march=icelake-server']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'cascadelake', ['-march=skylake-avx512', '-mavx512vnni']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'cooperlake', ['-march=cooperlake']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'tigerlake', ['-march=tigerlake']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6', ['-march=k6']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6-2', ['-march=k6-2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6-3', ['-march=k6-3']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon', ['-march=athlon']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-tbird', ['-march=athlon-tbird']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-4', ['-march=athlon-4']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-xp', ['-march=athlon-xp']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-mp', ['-march=athlon-mp']) + ## +-cpu_flags('gcc', 'OPTIONS', 'x86', 'k8', ['-march=k8']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'opteron', ['-march=opteron']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon64', ['-march=athlon64']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-fx', ['-march=athlon-fx']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'k8-sse3', ['-march=k8-sse3']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'opteron-sse3', ['-march=opteron-sse3']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon64-sse3', ['-march=athlon64-sse3']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'amdfam10', ['-march=amdfam10']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'barcelona', ['-march=barcelona']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'bdver1', ['-march=bdver1']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'bdver2', ['-march=bdver2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'bdver3', ['-march=bdver3']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'btver1', ['-march=btver1']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'btver2', ['-march=btver2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'znver1', ['-march=znver1']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'znver2', ['-march=znver2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'winchip-c6', ['-march=winchip-c6']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'winchip2', ['-march=winchip2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'c3', ['-march=c3']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'c3-2', ['-march=c3-2']) +-cpu_flags('gcc', 'OPTIONS', 'x86', 'c7', ['-march=c7']) + ## +-cpu_flags('gcc', 'OPTIONS', 'x86', 'atom', ['-march=atom']) + # Sparc + flags('gcc', 'OPTIONS', ['sparc/32'], ['-m32']) + flags('gcc', 'OPTIONS', ['sparc/64'], ['-m64']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v7', ['-mcpu=v7'], default=True) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'cypress', ['-mcpu=cypress']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v8', ['-mcpu=v8']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'supersparc', ['-mcpu=supersparc']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite', ['-mcpu=sparclite']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'hypersparc', ['-mcpu=hypersparc']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite86x', ['-mcpu=sparclite86x']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'f930', ['-mcpu=f930']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'f934', ['-mcpu=f934']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclet', ['-mcpu=sparclet']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'tsc701', ['-mcpu=tsc701']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v9', ['-mcpu=v9']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc', ['-mcpu=ultrasparc']) +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc3', ['-mcpu=ultrasparc3']) + # RS/6000 & PowerPC + flags('gcc', 'OPTIONS', ['power/32'], ['-m32']) + flags('gcc', 'OPTIONS', ['power/64'], ['-m64']) +-cpu_flags('gcc', 'OPTIONS', 'power', '403', ['-mcpu=403']) +-cpu_flags('gcc', 'OPTIONS', 'power', '505', ['-mcpu=505']) +-cpu_flags('gcc', 'OPTIONS', 'power', '601', ['-mcpu=601']) +-cpu_flags('gcc', 'OPTIONS', 'power', '602', ['-mcpu=602']) +-cpu_flags('gcc', 'OPTIONS', 'power', '603', ['-mcpu=603']) +-cpu_flags('gcc', 'OPTIONS', 'power', '603e', ['-mcpu=603e']) +-cpu_flags('gcc', 'OPTIONS', 'power', '604', ['-mcpu=604']) +-cpu_flags('gcc', 'OPTIONS', 'power', '604e', ['-mcpu=604e']) +-cpu_flags('gcc', 'OPTIONS', 'power', '620', ['-mcpu=620']) +-cpu_flags('gcc', 'OPTIONS', 'power', '630', ['-mcpu=630']) +-cpu_flags('gcc', 'OPTIONS', 'power', '740', ['-mcpu=740']) +-cpu_flags('gcc', 'OPTIONS', 'power', '7400', ['-mcpu=7400']) +-cpu_flags('gcc', 'OPTIONS', 'power', '7450', ['-mcpu=7450']) +-cpu_flags('gcc', 'OPTIONS', 'power', '750', ['-mcpu=750']) +-cpu_flags('gcc', 'OPTIONS', 'power', '801', ['-mcpu=801']) +-cpu_flags('gcc', 'OPTIONS', 'power', '821', ['-mcpu=821']) +-cpu_flags('gcc', 'OPTIONS', 'power', '823', ['-mcpu=823']) +-cpu_flags('gcc', 'OPTIONS', 'power', '860', ['-mcpu=860']) +-cpu_flags('gcc', 'OPTIONS', 'power', '970', ['-mcpu=970']) +-cpu_flags('gcc', 'OPTIONS', 'power', '8540', ['-mcpu=8540']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'power', ['-mcpu=power']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'power2', ['-mcpu=power2']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'power3', ['-mcpu=power3']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'power4', ['-mcpu=power4']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'power5', ['-mcpu=power5']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'powerpc', ['-mcpu=powerpc']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'powerpc64', ['-mcpu=powerpc64']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'rios', ['-mcpu=rios']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'rios1', ['-mcpu=rios1']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'rios2', ['-mcpu=rios2']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'rsc', ['-mcpu=rsc']) +-cpu_flags('gcc', 'OPTIONS', 'power', 'rs64a', ['-mcpu=rs64']) +-cpu_flags('gcc', 'OPTIONS', 's390x', 'z196', ['-march=z196']) +-cpu_flags('gcc', 'OPTIONS', 's390x', 'zEC12', ['-march=zEC12']) +-cpu_flags('gcc', 'OPTIONS', 's390x', 'z13', ['-march=z13']) +-cpu_flags('gcc', 'OPTIONS', 's390x', 'z14', ['-march=z14']) +-cpu_flags('gcc', 'OPTIONS', 's390x', 'z15', ['-march=z15']) + # AIX variant of RS/6000 & PowerPC + flags('gcc', 'OPTIONS', ['power/32/aix'], ['-maix32']) + flags('gcc', 'OPTIONS', ['power/64/aix'], ['-maix64']) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/metadata.xml index ef3f9148d5..791cf4e1cf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/boost-build/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-util/boost-build/metadata.xml @@ -1,9 +1,9 @@ - - cpp@gentoo.org - Gentoo C++ Project + + soap@gentoo.org + David Seifert boost