dev-libs/boost: upgrading package

Upgrading dev-libs/boost and dev-util/boost-build since the former depends on the latter.
Also upgrading dev-ruby/fracter & dev-ccp/cpp-hocon to avoid dependency conflicts with boost version.
Final list of upgraded packages:
	- dev-libs/boost
	- dev-util/boost-build
	- dev-ruby/facter
	- dev-cpp/cpp-hocon

BUG=chromium:1095743
TEST=build_packages

Cq-Depend: chrome-internal:3135295
Change-Id: I9343f3bba26f3e960dd13b49e15f331e3c7f364c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/2261315
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
Commit-Queue: Kevin Ruvalcaba <kevinruvalcaba@google.com>
Tested-by: Kevin Ruvalcaba <kevinruvalcaba@google.com>
diff --git a/dev-cpp/cpp-hocon/Manifest b/dev-cpp/cpp-hocon/Manifest
index 43b70ed..09b5ddc 100644
--- a/dev-cpp/cpp-hocon/Manifest
+++ b/dev-cpp/cpp-hocon/Manifest
@@ -1 +1 @@
-DIST cpp-hocon-0.1.4.tar.gz 157988 BLAKE2B 3b9e3ec2c386446a2c1d078867b03fbfe2adc8160877288597c648eaf4af6e34f09b673780e6fb81ce9bd1724c1e3d6efc1102985d344a4d1d7bb48b15916190 SHA512 f5ee6c5e7eaa5139bb3c421fd8b7c0da337daec99dce7f426d567ced0036b7c49a396b1b9bdbaa8023cd776a5a942175082a4b30280d4211a0db51483324be42
+DIST cpp-hocon-0.2.1.tar.gz 158108 BLAKE2B 4b7097768d4fcbc72df5c63fb036b12bb08108a0e1ef57ec182c64c2aa337b56197c8c10dea8f26f64a273b578d4c1b53a898024558d95e99d2ba1b3778c2414 SHA512 fcc377da7923b77436a6f2787d5b8b1b573f239de4f059c4a5949cbb1a755fd12024b9155f5e44cf60141181942f3e9a2a8fad07ee0b1d516fe2cd4a88d4ac8b
diff --git a/dev-cpp/cpp-hocon/cpp-hocon-0.1.4-r1.ebuild b/dev-cpp/cpp-hocon/cpp-hocon-0.1.4-r1.ebuild
deleted file mode 100644
index 82feea5..0000000
--- a/dev-cpp/cpp-hocon/cpp-hocon-0.1.4-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="Provides C++ support for the HOCON configuration file format"
-HOMEPAGE="https://github.com/puppetlabs/cpp-hocon"
-SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE="debug test"
-
-DEPEND="
-	>=dev-libs/boost-1.54:=[nls]
-	>=dev-libs/leatherman-0.9.3:=
-	"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	cmake-utils_src_prepare
-
-	# make it support multilib
-	sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
-	sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DCMAKE_VERBOSE_MAKEFILE=ON
-		-DCMAKE_BUILD_TYPE=None
-		-DCMAKE_INSTALL_PREFIX=/usr
-	)
-	if use debug; then
-		mycmakeargs+=(
-			-DCMAKE_BUILD_TYPE=Debug
-		)
-	fi
-	cmake-utils_src_configure
-}
diff --git a/dev-cpp/cpp-hocon/cpp-hocon-0.2.1.ebuild b/dev-cpp/cpp-hocon/cpp-hocon-0.2.1.ebuild
new file mode 100644
index 0000000..e1beacc
--- /dev/null
+++ b/dev-cpp/cpp-hocon/cpp-hocon-0.2.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+DESCRIPTION="Provides C++ support for the HOCON configuration file format"
+HOMEPAGE="https://github.com/puppetlabs/cpp-hocon"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="*"
+IUSE="debug"
+
+DEPEND="
+	>=dev-libs/boost-1.54:=[nls]
+	>=dev-libs/leatherman-0.9.3:=
+	"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.2.1-cmake.patch )
diff --git a/dev-cpp/cpp-hocon/files/cpp-hocon-0.2.1-cmake.patch b/dev-cpp/cpp-hocon/files/cpp-hocon-0.2.1-cmake.patch
new file mode 100644
index 0000000..8e0ddb9
--- /dev/null
+++ b/dev-cpp/cpp-hocon/files/cpp-hocon-0.2.1-cmake.patch
@@ -0,0 +1,48 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10,6 +10,8 @@
+ string(TOUPPER ${PROJECT_C_NAME} PROJECT_NAME_UPPER)
+ string(TOLOWER ${PROJECT_C_NAME} PROJECT_NAME_LOWER)
+ 
++include(GNUInstallDirs)
++
+ # Common cmake setup
+ if (NOT CMAKE_BUILD_TYPE)
+     message(STATUS "Defaulting to a release build.")
+@@ -42,7 +44,7 @@
+     set(BOOST_COMPONENTS regex)
+ endif()
+ 
+-list(APPEND BOOST_COMPONENTS thread date_time chrono system program_options)
++list(APPEND BOOST_COMPONENTS thread date_time chrono filesystem system program_options)
+ 
+ # Add other dependencies
+ find_package(Boost 1.54 REQUIRED COMPONENTS ${BOOST_COMPONENTS})
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -77,7 +77,10 @@
+ set_target_properties(libprojectsrc PROPERTIES POSITION_INDEPENDENT_CODE true)
+ 
+ add_library(lib${PROJECT_NAME} $<TARGET_OBJECTS:libprojectsrc>)
+-set_target_properties(lib${PROJECT_NAME} PROPERTIES VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
++set_target_properties(
++    lib${PROJECT_NAME}
++    PROPERTIES VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
++    OUTPUT_NAME ${PROJECT_NAME})
+ target_link_libraries(lib${PROJECT_NAME}
+     ${LEATHERMAN_LIBRARIES}
+     ${Boost_LIBRARIES}
+@@ -88,7 +91,11 @@
+ symbol_exports(lib${PROJECT_NAME} "${CMAKE_CURRENT_LIST_DIR}/inc/hocon/export.h")
+ 
+ # This correctly handles DLL installation on Windows.
+-leatherman_install(lib${PROJECT_NAME})
+-install(DIRECTORY inc/hocon DESTINATION include)
++install(
++    TARGETS lib${PROJECT_NAME}
++    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++install(DIRECTORY inc/hocon DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ 
+ add_subdirectory(tests)
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
index c067889..34653ed 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -1 +1 @@
-DIST boost_1_65_0.tar.bz2 82597718 BLAKE2B 0080956d6ad2f14130ce4a4734b1bd1ce83d3651b226653689e02770baa83cf11811ef4e44948ff68a168d9ce5cbfaea4f758970df2b4e9faa2d410181885f5b SHA512 7142650fb8d61e3ef16ba066fc918e087f19e9bc2ad1d6a11fb10bf0d6b1b5ad05ab032f076a5233a1624b3669e952b2cc38b7dc074bbf53018e2970ee90fcdd
+DIST boost_1_72_0.tar.bz2 106907358 BLAKE2B ab270a0e3cb24da687d86785e2d2e6d7731b4dbc07bd839eadb642dfa5a428ad584acb1f3529661a8de9a986008ff3427491041059ea2b742348d02e00761cd8 SHA512 63bbd1743e7c904b2e69fdc2eafd1c2a8a30fd70d960dcd366059d0100f000cb605d56cbd9397bb18421631f1c9552a772c434d0f0caddbe56302273f51fd1f6
diff --git a/dev-libs/boost/boost-1.65.0.ebuild b/dev-libs/boost/boost-1.65.0.ebuild
deleted file mode 100644
index dc6e3af..0000000
--- a/dev-libs/boost/boost-1.65.0.ebuild
+++ /dev/null
@@ -1,439 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{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="*"
-
-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>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${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/dev-libs/boost/boost-1.72.0-r1.ebuild b/dev-libs/boost/boost-1.72.0-r1.ebuild
new file mode 100644
index 0000000..57c669c
--- /dev/null
+++ b/dev-libs/boost/boost-1.72.0-r1.ebuild
@@ -0,0 +1,358 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
+
+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="*"
+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
+	bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
+	icu? ( >=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
+	# Bug 703294, incomplete Boost.Serialization refactoring
+	"${FILESDIR}"/${PN}-1.72.0-missing-serialization-split_member-include.patch
+	# Bug 703036, per python-impl Boost.MPI
+	"${FILESDIR}"/${PN}-1.72.0-boost-mpi-python.patch
+	# Bug 704128, missing include on Boost.Ranges
+	"${FILESDIR}"/${PN}-1.72.0-revert-cease-dependence-on-range.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>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${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 \] : <build>no \]/<build>no/g' \
+			-i "${BUILD_DIR}"/libs/python/build/Jamfile || die
+	fi
+}
+
+pkg_setup() {
+	# Bail out on unsupported build configuration, bug #456792
+	if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
+		if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
+			eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+			eerror "Boost can not be built in such configuration."
+			eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
+			die "Unsupported target in ${EROOT}/etc/site-config.jam"
+		fi
+	fi
+}
+
+src_prepare() {
+	default
+	multilib_copy_sources
+}
+
+ejam() {
+	create_user-config.jam
+
+	local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
+	if 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() {
+				local pyver="${EPYTHON#python}"
+				python_moduleinto boost
+				python_domodule "${ED}"/usr/$(get_libdir)/mpi${pyver/./}.so
+				rm "${ED}"/usr/$(get_libdir)/mpi${pyver/./}* || die
+				dosym mpi${pyver/./}.so $(python_get_sitedir)/boost/mpi.so
+
+				# create a proper python package
+				touch "${D}"/$(python_get_sitedir)/boost/__init__.py || 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 "    <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
+	elog
+	elog "Then you need to recompile Boost and all its reverse dependencies"
+	elog "using the same toolchain. In general, *every* change of the C++ toolchain"
+	elog "requires a complete rebuild of the boost-dependent ecosystem."
+	elog
+	elog "See for instance https://bugs.gentoo.org/638138"
+}
diff --git a/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch b/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch
deleted file mode 100644
index 48ca513..0000000
--- a/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/dev-libs/boost/files/boost-1.65.0-fix-python.patch b/dev-libs/boost/files/boost-1.65.0-fix-python.patch
deleted file mode 100644
index 0791602..0000000
--- a/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
--                <library>boost_mpi
--                <library>/mpi//mpi [ mpi.extra-requirements ]
--                <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
--                <link>shared:<define>BOOST_MPI_DYN_LINK=1
--                <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
--                <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
--                <define>BOOST_MPI_PYTHON_SOURCE=1
--                -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
--                <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
--                <python-debugging>on:<define>BOOST_DEBUG_PYTHON
--                <python>$(py$(N)-version)
--              : # Default build
--                <link>shared
--              : # Usage requirements
--                <library>/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
--                <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
--                <library>$(lib_boost_mpi_python($(py$(N)-version)))
--                <library>boost_mpi
--                <library>/mpi//mpi [ mpi.extra-requirements ]
--                <link>shared:<define>BOOST_MPI_DYN_LINK=1
--                <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
--                <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
--                <link>shared <runtime-link>shared
--                <python-debugging>on:<define>BOOST_DEBUG_PYTHON
--                <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
-+        <library>boost_mpi
-+        <library>/mpi//mpi [ mpi.extra-requirements ]
-+      	<library>/boost/python//boost_python
-+        <link>shared:<define>BOOST_MPI_DYN_LINK=1
-+        <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
-+        <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
-+        <define>BOOST_MPI_PYTHON_SOURCE=1
-+	-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
-+	<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
-+      : # Default build
-+        <link>shared
-+      : # Usage requirements
-+        <library>/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
-+      	<library>/boost/python//boost_python
-+        <library>boost_mpi_python
-+        <library>boost_mpi
-+        <library>/mpi//mpi [ mpi.extra-requirements ]
-+        <link>shared:<define>BOOST_MPI_DYN_LINK=1
-+        <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
-+        <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
-+        <link>shared <runtime-link>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 ] : <library>/python//python_for_extensions ]
-+            [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
-+            [ cond [ python.configured ] : <library>/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 @@
-             <dependency>config-warning
- 
-             <python-debugging>on:<define>BOOST_DEBUG_PYTHON
--            <python>$(version)
- 
-             -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
-             <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
- 
--            <conditional>@python.require-py
--
-         :   # default build
-             <link>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
--            <link>static:<define>BOOST_NUMPY_STATIC_LIB 
--            <define>BOOST_NUMPY_SOURCE
--            [ cond [ python.numpy ] : <library>/python//python_for_extensions ]
--            [ unless [ python.numpy ] : <build>no ]
--            <include>$(numpy-include)
--            <library>$(lib_boost_python($(version)))
--            <python-debugging>on:<define>BOOST_DEBUG_PYTHON
--            <python>$(version)
-+libraries = boost_python ;
- 
--            -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
--            <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
--
--            <conditional>@python.require-py
--
--        :   # default build
--            <link>shared
--        :   # usage requirements
--			<link>static:<define>BOOST_NUMPY_STATIC_LIB
--            <python-debugging>on:<define>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/dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch b/dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch
new file mode 100644
index 0000000..ca793b9
--- /dev/null
+++ b/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/dev-libs/boost/files/boost-1.55.0-context-x32.patch b/dev-libs/boost/files/boost-1.71.0-context-x32.patch
similarity index 65%
rename from dev-libs/boost/files/boost-1.55.0-context-x32.patch
rename to dev-libs/boost/files/boost-1.71.0-context-x32.patch
index 5bf7406..9ee3d54 100644
--- a/dev-libs/boost/files/boost-1.55.0-context-x32.patch
+++ b/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 @@
 +#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/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch b/dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch
similarity index 94%
rename from dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
rename to dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch
index 23a8783..32faf8d 100644
--- a/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
+++ b/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 @@
        <library>icuuc/<link>shared/<runtime-link>shared 
        <library>icudt/<link>shared/<runtime-link>shared 
        <library>icuin/<link>shared/<runtime-link>shared
@@ -19,7 +19,7 @@
          <runtime-link>shared ;
  
  
-@@ -176,7 +175,6 @@
+@@ -183,7 +182,6 @@
        <library>icuuc_64/<link>shared/<runtime-link>shared 
        <library>icudt_64/<link>shared/<runtime-link>shared 
        <library>icuin_64/<link>shared/<runtime-link>shared
diff --git a/dev-libs/boost/files/boost-1.72.0-boost-mpi-python.patch b/dev-libs/boost/files/boost-1.72.0-boost-mpi-python.patch
new file mode 100644
index 0000000..8fb164a
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.72.0-boost-mpi-python.patch
@@ -0,0 +1,50 @@
+Tag Boost.MPI python impls properly to avoid name clash
+https://github.com/boostorg/mpi/issues/112
+
+--- a/boostcpp.jam
++++ b/boostcpp.jam
+@@ -185,7 +185,7 @@
+ 
+ rule tag ( name : type ? : property-set )
+ {
+-    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB
++    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION
+     {
+         local args = $(.format-name-args) ;
+         if $(layout) = versioned
+@@ -223,7 +223,7 @@
+ {
+     local result = $(name) ;
+ 
+-    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB
++    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION
+     {
+         # Add Python version suffix
+ 
+--- a/libs/mpi/build/Jamfile.v2
++++ b/libs/mpi/build/Jamfile.v2
+@@ -58,13 +58,13 @@
+ rule python-tag ( name : type ? : property-set )
+ {
+     local result = $(name) ;
+-    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB
++    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION
+     {
+         local version = [ $(property-set).get <python> ] ;
+         local lib-suffix = [ version-suffix $(version) ] ;
+         result = $(result)$(lib-suffix) ;
+     }
+-    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB && $(PYTHON_ID)
++    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION && $(PYTHON_ID)
+     {
+         result = $(result)-$(PYTHON_ID) ;
+     }
+@@ -168,6 +168,8 @@
+                 <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
+                 <link>shared <runtime-link>shared
+                 <python-debugging>on:<define>BOOST_DEBUG_PYTHON
++                -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
++                <tag>@$(__name__).python-tag
+               ;
+ 
+             mpi_python_libs = boost_mpi_python mpi ;
diff --git a/dev-libs/boost/files/boost-1.72.0-missing-serialization-split_member-include.patch b/dev-libs/boost/files/boost-1.72.0-missing-serialization-split_member-include.patch
new file mode 100644
index 0000000..0c9f725
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.72.0-missing-serialization-split_member-include.patch
@@ -0,0 +1,29 @@
+Missing #include, as the split_member.hpp include is not
+part of the nvp.hpp interface, and hence cannot be relied
+upon to be included transitively.
+
+Confirmed on
+https://github.com/boostorg/serialization/commit/c32a663c9963385430abc563f9c85f94d8da43a9#r36528430
+
+Bug: https://bugs.gentoo.org/703294
+
+--- a/boost/bimap/detail/map_view_iterator.hpp
++++ b/boost/bimap/detail/map_view_iterator.hpp
+@@ -22,6 +22,7 @@
+ 
+ #ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
+   #include <boost/serialization/nvp.hpp>
++  #include <boost/serialization/split_member.hpp>
+ #endif // BOOST_BIMAP_DISABLE_SERIALIZATION
+ 
+ #include <boost/iterator/detail/enable_if.hpp>
+--- a/boost/bimap/detail/set_view_iterator.hpp
++++ b/boost/bimap/detail/set_view_iterator.hpp
+@@ -22,6 +22,7 @@
+ 
+ #ifndef BOOST_BIMAP_DISABLE_SERIALIZATION 
+   #include <boost/serialization/nvp.hpp>
++  #include <boost/serialization/split_member.hpp>
+ #endif // BOOST_BIMAP_DISABLE_SERIALIZATION
+ 
+ #include <boost/iterator/detail/enable_if.hpp>
diff --git a/dev-libs/boost/files/boost-1.72.0-revert-cease-dependence-on-range.patch b/dev-libs/boost/files/boost-1.72.0-revert-cease-dependence-on-range.patch
new file mode 100644
index 0000000..a600207
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.72.0-revert-cease-dependence-on-range.patch
@@ -0,0 +1,49 @@
+From 436e1dbe6fcd31523d261d18ad011392f1d6fbbc Mon Sep 17 00:00:00 2001
+From: Oliver Kowalke <oliver.kowalke@gmail.com>
+Date: Sun, 1 Dec 2019 20:40:28 +0100
+Subject: [PATCH] Revert "Cease dependence on Range"
+
+This reverts commit 0c556bb59241e682bbcd3f572815149c5a9b17db.
+
+see #44 (One test fails to compile after boostorg/coroutine submodule updated)
+---
+ boost/coroutine/asymmetric_coroutine.hpp | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git a/boost/coroutine/asymmetric_coroutine.hpp b/boost/coroutine/asymmetric_coroutine.hpp
+index ea96981..640896f 100644
+--- a/boost/coroutine/asymmetric_coroutine.hpp
++++ b/boost/coroutine/asymmetric_coroutine.hpp
+@@ -14,6 +14,7 @@
+ #include <boost/assert.hpp>
+ #include <boost/config.hpp>
+ #include <boost/move/move.hpp>
++#include <boost/range.hpp>
+ #include <boost/throw_exception.hpp>
+ #include <boost/utility/explicit_operator_bool.hpp>
+ 
+@@ -2354,19 +2355,12 @@ end( push_coroutine< R > & c)
+ 
+ }
+ 
+-// forward declaration of Boost.Range traits to break dependency on it
+-template<typename C, typename Enabler>
+-struct range_mutable_iterator;
+-
+-template<typename C, typename Enabler>
+-struct range_const_iterator;
+-
+ template< typename Arg >
+-struct range_mutable_iterator< coroutines::push_coroutine< Arg >, void >
++struct range_mutable_iterator< coroutines::push_coroutine< Arg > >
+ { typedef typename coroutines::push_coroutine< Arg >::iterator type; };
+ 
+ template< typename R >
+-struct range_mutable_iterator< coroutines::pull_coroutine< R >, void >
++struct range_mutable_iterator< coroutines::pull_coroutine< R > >
+ { typedef typename coroutines::pull_coroutine< R >::iterator type; };
+ 
+ }
+-- 
+2.24.1
+
diff --git a/dev-libs/boost/metadata.xml b/dev-libs/boost/metadata.xml
index 9d4579b..997c258 100644
--- a/dev-libs/boost/metadata.xml
+++ b/dev-libs/boost/metadata.xml
@@ -19,6 +19,7 @@
 		<flag name="tools">Build and install the boost tools (bcp, quickbook, inspect, wave)</flag>
 	</use>
 	<upstream>
+		<remote-id type="cpe">cpe:/a:boost:boost</remote-id>
 		<remote-id type="sourceforge">boost</remote-id>
 	</upstream>
 </pkgmetadata>
diff --git a/dev-ruby/facter/Manifest b/dev-ruby/facter/Manifest
index b77e90a..9b6710c 100644
--- a/dev-ruby/facter/Manifest
+++ b/dev-ruby/facter/Manifest
@@ -1 +1,4 @@
 DIST facter-3.14.2.tar.gz 393499 BLAKE2B 41e8c81668580f215eb597a2130b0d9830bed4067c76d6429f54d7389767f79ef7f059b8d14d8fdf5baeeb1abdce1fa7c0ae69fee4eb221facb1cc66b9a5049b SHA512 83520da9b9739eb7f1fa72bea6765d02d92d09f20143b7c605b032cd5e720b239035c4ae9991711a0e1b9699ee074710506aa4de5f630c28c3d5c9c1a0682fb2
+DIST facter-3.14.10.tar.gz 406470 BLAKE2B ffd97f450676ad7465332f5159dc4fc9c695b9cbaaf8a09a2b575221bf11b11c044edeaab093f5222d64b0e7ef271d860072ab5435845ddff427714a4f2950e6 SHA512 e9f6b5a722982ad80282c355a82a5a6d302e6db36367d65701b7216f80032225da58106ccb025b742d2dc6ef98e2f5df5a07e53489802ee44603bc99ab930ffa
+DIST facter-3.14.11.tar.gz 406391 BLAKE2B 27606fe89fe9009db0ee14ccff6ad15db9fb548c25f752d044c0ec67bd772c1a523b2ec9d4fc49e5916b853ee119b7f640e2893b628e31fcaf2fc90e7edb3d81 SHA512 5e6a23f7ff91bfa2617c6afc15e441d1a61e9a1d57f4c7a1cfb033083ea0e2d72b348f06121a36c392b3ec64f08644832ef2d73c486def3e92edc7625ea62f51
+DIST facter-3.14.9.tar.gz 404448 BLAKE2B f95c0acce84013d58565193a35931d7f562639f607f3fed36ede5d2197336bec0ea4318a28ef29297150ab07a1fd35c292ca15c056b0b8cfe879bbebc64bfb18 SHA512 ff809c87641d65c43a9764d0a2cfe42f64c17d50e473a6d27b6ff25adfbd7be15edf25286932aeba348b669b05a11780257d41aa541fbb013c1169b6d8d25582
diff --git a/dev-ruby/facter/facter-3.14.2.ebuild b/dev-ruby/facter/facter-3.14.10.ebuild
similarity index 70%
rename from dev-ruby/facter/facter-3.14.2.ebuild
rename to dev-ruby/facter/facter-3.14.10.ebuild
index 6ac3765..f2b40c9 100644
--- a/dev-ruby/facter/facter-3.14.2.ebuild
+++ b/dev-ruby/facter/facter-3.14.10.ebuild
@@ -1,51 +1,53 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
-USE_RUBY="ruby23 ruby24 ruby25 ruby26"
+EAPI=7
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
 
 # git-r3 goes after ruby-ng so that it overrides src_unpack properly
-inherit cmake-utils eutils multilib ruby-ng
+inherit cmake-utils eutils ruby-ng
 
 DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
 HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
 
 LICENSE="Apache-2.0"
 SLOT="0"
-IUSE="debug test"
+IUSE="test"
 if [[ ${PV} == 9999 ]] ; then
 	inherit git-r3
 	EGIT_REPO_URI="https://github.com/puppetlabs/facter.git"
 	EGIT_BRANCH="master"
 else
 	[[ "${PV}" = *_rc* ]] || \
-	KEYWORDS="*"
+	KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc x86"
 	SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
 fi
 
-BDEPEND="
-	>=sys-devel/gcc-4.8:*
-	dev-cpp/cpp-hocon"
-COMMON_DEPEND="
+RESTRICT="!test? ( test )"
+
+ruby_add_bdepend "test? ( dev-ruby/rake dev-ruby/rspec:2 dev-ruby/mocha:0.14 )"
+
+RDEPEND="
+	>=dev-cpp/cpp-hocon-0.2.1:=
 	>=dev-libs/leatherman-1.0.0:=
 	dev-libs/openssl:0=
 	sys-apps/util-linux
 	app-emulation/virt-what
 	net-misc/curl
-	>=dev-libs/boost-1.54:=[nls]
-	<dev-libs/boost-1.70.0
+	dev-libs/boost:=[nls]
 	>=dev-cpp/yaml-cpp-0.5.1
 	!<app-admin/puppet-4.0.0"
-
-ruby_add_bdepend "test? ( dev-ruby/rake dev-ruby/rspec:2 dev-ruby/mocha:0.14 )"
-
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${BDEPEND}
-	${COMMON_DEPEND}"
+DEPEND="${RDEPEND}"
 
 # restore ${S} and override all phases exported by ruby-ng.eclass
 S="${WORKDIR}/${P}"
 
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.14.6-fix-static-libcpp-hocon.patch
+	# be explicit about the version of rspec we test with
+	"${FILESDIR}"/${PN}-3.14.8-explicit-rspec-2.patch
+)
+
 pkg_setup() {
 	ruby-ng_pkg_setup
 }
@@ -59,15 +61,6 @@
 }
 
 src_prepare() {
-	# be explicit about the version of rspec we test with
-	sed -i -e '/libfacter.*specs/ s/rspec/rspec-2/' \
-		CMakeLists.txt || die
-	# be more lenient for software versions for tests
-	sed -i -e '/rake/ s/~> 10.1.0/>= 10/' \
-		-e '/rspec/ s/2.11.0/2.11/' \
-		-e '/mocha/ s/0.10.5/0.14.0/' lib/Gemfile || die
-	# patches
-	default
 	cmake-utils_src_prepare
 }
 
@@ -81,15 +74,9 @@
 	ruby-ng_src_configure
 
 	local mycmakeargs=(
-		-DCMAKE_VERBOSE_MAKEFILE=ON
 		-DRUBY_LIB_INSTALL=${my_ruby_sitelibdir}
 		-DBLKID_LIBRARYDIR="${EPREFIX}/$(get_libdir)"
 	)
-	if use debug; then
-		mycmakeargs+=(
-			-DCMAKE_BUILD_TYPE=Debug
-		)
-	fi
 	cmake-utils_src_configure
 }
 
diff --git a/dev-ruby/facter/files/00facterdir b/dev-ruby/facter/files/00facterdir
deleted file mode 100644
index 45e29a2..0000000
--- a/dev-ruby/facter/files/00facterdir
+++ /dev/null
@@ -1 +0,0 @@
-FACTERDIR=/usr
diff --git a/dev-ruby/facter/files/facter-3.14.6-fix-static-libcpp-hocon.patch b/dev-ruby/facter/files/facter-3.14.6-fix-static-libcpp-hocon.patch
new file mode 100644
index 0000000..26c193c
--- /dev/null
+++ b/dev-ruby/facter/files/facter-3.14.6-fix-static-libcpp-hocon.patch
@@ -0,0 +1,9 @@
+--- a/cmake/FindCPPHOCON.cmake
++++ b/cmake/FindCPPHOCON.cmake
+@@ -1,5 +1,5 @@
+ include(FindDependency)
+-find_dependency(CPPHOCON DISPLAY "cpp-hocon" HEADERS "hocon/config.hpp" LIBRARIES "libcpp-hocon.a")
++find_dependency(CPPHOCON DISPLAY "cpp-hocon" HEADERS "hocon/config.hpp" LIBRARIES "libcpp-hocon.so")
+ 
+ include(FeatureSummary)
+ set_package_properties(CPPHOCON PROPERTIES DESCRIPTION "A C++ parser for the HOCON configuration language" URL "https://github.com/puppetlabs/cpp-hocon")
diff --git a/dev-ruby/facter/files/facter-3.14.8-explicit-rspec-2.patch b/dev-ruby/facter/files/facter-3.14.8-explicit-rspec-2.patch
new file mode 100644
index 0000000..bca424b
--- /dev/null
+++ b/dev-ruby/facter/files/facter-3.14.8-explicit-rspec-2.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -205,7 +205,7 @@
+     if (BUNDLER_PATH)
+         message(STATUS "Bundler found, installing dependencies for Ruby tests...")
+         execute_process(COMMAND ${BUNDLER_PATH} install --retry 2 --path=vendor/bundle WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/lib")
+-        add_test(NAME "libfacter\\ specs" COMMAND ${BUNDLER_PATH} exec rspec WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/lib")
++        add_test(NAME "libfacter\\ specs" COMMAND ${BUNDLER_PATH} exec rspec-2 WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/lib")
+     endif()
+ endif()
diff --git a/dev-ruby/facter/metadata.xml b/dev-ruby/facter/metadata.xml
deleted file mode 100644
index 89ac2d1..0000000
--- a/dev-ruby/facter/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-	<maintainer type="person">
-		<email>prometheanfire@gentoo.org</email>
-	</maintainer>
-	<maintainer type="project">
-		<email>sysadmin@gentoo.org</email>
-		<name>Gentoo Sysadmin Project</name>
-	</maintainer>
-	<maintainer type="project">
-		<email>ruby@gentoo.org</email>
-		<name>Gentoo Ruby Project</name>
-	</maintainer>
-	<upstream>
-		<remote-id type="github">puppetlabs/facter</remote-id>
-	</upstream>
-</pkgmetadata>
diff --git a/dev-util/boost-build/Manifest b/dev-util/boost-build/Manifest
index c067889..34653ed 100644
--- a/dev-util/boost-build/Manifest
+++ b/dev-util/boost-build/Manifest
@@ -1 +1 @@
-DIST boost_1_65_0.tar.bz2 82597718 BLAKE2B 0080956d6ad2f14130ce4a4734b1bd1ce83d3651b226653689e02770baa83cf11811ef4e44948ff68a168d9ce5cbfaea4f758970df2b4e9faa2d410181885f5b SHA512 7142650fb8d61e3ef16ba066fc918e087f19e9bc2ad1d6a11fb10bf0d6b1b5ad05ab032f076a5233a1624b3669e952b2cc38b7dc074bbf53018e2970ee90fcdd
+DIST boost_1_72_0.tar.bz2 106907358 BLAKE2B ab270a0e3cb24da687d86785e2d2e6d7731b4dbc07bd839eadb642dfa5a428ad584acb1f3529661a8de9a986008ff3427491041059ea2b742348d02e00761cd8 SHA512 63bbd1743e7c904b2e69fdc2eafd1c2a8a30fd70d960dcd366059d0100f000cb605d56cbd9397bb18421631f1c9552a772c434d0f0caddbe56302273f51fd1f6
diff --git a/dev-util/boost-build/boost-build-1.65.0.ebuild b/dev-util/boost-build/boost-build-1.65.0.ebuild
deleted file mode 100644
index 722fe6c..0000000
--- a/dev-util/boost-build/boost-build-1.65.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="*"
-IUSE="examples python test"
-
-RDEPEND="python? ( ${PYTHON_DEPS} )
-	!<dev-libs/boost-1.34.0
-	!<=dev-util/boost-build-1.35.0-r1"
-DEPEND="${RDEPEND}
-	test? ( sys-apps/diffutils
-		${PYTHON_DEPS} )"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
-	test? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/boost_${MY_PV}/tools/build/src"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-1.48.0-disable_python_rpath.patch"
-	"${FILESDIR}/${PN}-1.50.0-respect-c_ld-flags.patch"
-	"${FILESDIR}/${PN}-1.49.0-darwin-gentoo-toolchain.patch"
-	"${FILESDIR}/${PN}-1.52.0-darwin-no-python-framework.patch"
-	"${FILESDIR}/${PN}-1.54.0-support_dots_in_python-buildid.patch"
-	"${FILESDIR}/${PN}-1.55.0-ppc-aix.patch"
-	"${FILESDIR}/${PN}-1.62.0-sparc-no-default-flags.patch"
-)
-
-pkg_setup() {
-	if use python || use test; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-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.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: $(<test_results.txt)"
-		die "tests failed"
-	fi
-}
diff --git a/dev-util/boost-build/boost-build-1.72.0.ebuild b/dev-util/boost-build/boost-build-1.72.0.ebuild
new file mode 100644
index 0000000..323ad12
--- /dev/null
+++ b/dev-util/boost-build/boost-build-1.72.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2020 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="*"
+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.71.0-add-none-feature-options.patch
+	"${FILESDIR}"/${PN}-1.71.0-respect-c_ld-flags.patch
+	"${FILESDIR}"/${PN}-1.71.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() {
+	hprefixify engine/Jambase
+	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/dev-util/boost-build/files/boost-build-1.50.0-respect-c_ld-flags.patch b/dev-util/boost-build/files/boost-build-1.50.0-respect-c_ld-flags.patch
deleted file mode 100644
index 8775583..0000000
--- a/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/dev-util/boost-build/files/boost-build-1.52.0-darwin-no-python-framework.patch b/dev-util/boost-build/files/boost-build-1.52.0-darwin-no-python-framework.patch
deleted file mode 100644
index cacbe00..0000000
--- a/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/dev-util/boost-build/files/boost-build-1.54.0-support_dots_in_python-buildid.patch b/dev-util/boost-build/files/boost-build-1.54.0-support_dots_in_python-buildid.patch
deleted file mode 100644
index a04aa0b..0000000
--- a/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 <base> :
--                result += $(name:B) ;
-+		local matched = [ MATCH "^(boost.*python)-.*" : $(name) ] ;
-+		if $(matched) = boost_python || $(matched) = boost_mpi_python
-+		{
-+			result += $(name) ;
-+		}
-+		else
-+		{
-+			result += $(name:B) ;
-+		}
- 
-             case <toolset> :
-                 result += [ join-tag $(f:G=) : [ toolset-tag $(name) : $(type) :
diff --git a/dev-util/boost-build/files/boost-build-1.55.0-ppc-aix.patch b/dev-util/boost-build/files/boost-build-1.55.0-ppc-aix.patch
deleted file mode 100644
index d8b6a5a..0000000
--- a/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/dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch b/dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch
deleted file mode 100644
index a3f450b..0000000
--- a/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', ['<architecture>sparc/<address-model>32'], ['-m32'])
- flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>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', ['<architecture>power/<address-model>32'], ['-m32'])
- flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>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/dev-util/boost-build/files/boost-build-1.71.0-add-none-feature-options.patch b/dev-util/boost-build/files/boost-build-1.71.0-add-none-feature-options.patch
new file mode 100644
index 0000000..ddd1641
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.71.0-add-none-feature-options.patch
@@ -0,0 +1,22 @@
+--- a/tools/features/debug-feature.jam
++++ b/tools/features/debug-feature.jam
+@@ -8,7 +8,7 @@
+ import feature ;
+ 
+ feature.feature debug-symbols
+-    : on off
++    : on off none
+     : propagated ;
+ 
+ feature.feature profiling
+--- a/tools/features/optimization-feature.jam
++++ b/tools/features/optimization-feature.jam
+@@ -8,7 +8,7 @@
+ import feature ;
+ 
+ feature.feature optimization
+-    : off speed space
++    : off none speed space
+     : propagated ;
+ 
+ feature.feature inlining
diff --git a/dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch b/dev-util/boost-build/files/boost-build-1.71.0-darwin-gentoo-toolchain.patch
similarity index 93%
rename from dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch
rename to dev-util/boost-build/files/boost-build-1.71.0-darwin-gentoo-toolchain.patch
index 032feaf..3693677 100644
--- a/dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch
+++ b/dev-util/boost-build/files/boost-build-1.71.0-darwin-gentoo-toolchain.patch
@@ -4,7 +4,7 @@
 
 --- a/tools/darwin.jam
 +++ b/tools/darwin.jam
-@@ -227,6 +227,9 @@
+@@ -239,6 +239,9 @@
          }
      }
      
@@ -14,7 +14,7 @@
      if $(version-feature)
      {
          if $(.debug-configuration)
-@@ -387,7 +390,8 @@
+@@ -447,7 +450,8 @@
              support-ppc64 = ;
          }
      }
diff --git a/dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch b/dev-util/boost-build/files/boost-build-1.71.0-disable_python_rpath.patch
similarity index 93%
rename from dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch
rename to dev-util/boost-build/files/boost-build-1.71.0-disable_python_rpath.patch
index 84734f7..b7b47cc 100644
--- a/dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch
+++ b/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)
              <testing.launcher>$(set-PYTHONPATH)
diff --git a/dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch b/dev-util/boost-build/files/boost-build-1.71.0-fix-test.patch
similarity index 100%
rename from dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch
rename to dev-util/boost-build/files/boost-build-1.71.0-fix-test.patch
diff --git a/dev-util/boost-build/files/boost-build-1.71.0-no-implicit-march-flags.patch b/dev-util/boost-build/files/boost-build-1.71.0-no-implicit-march-flags.patch
new file mode 100644
index 0000000..cd18403
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.71.0-no-implicit-march-flags.patch
@@ -0,0 +1,266 @@
+Prevent bjam from injecting what it thinks are great -march/-mcpu flags
+in order to optimize code for you. This breaks on 32-bit builds, because
+-march=i686 will not work on an i486 CHOST.
+
+See also:
+https://bugs.gentoo.org/624616
+
+--- a/tools/gcc.jam
++++ b/tools/gcc.jam
+@@ -1187,128 +1187,8 @@
+ # 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 <architecture>x86/<address-model>32/<instruction-set> : -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 : -march=icelake ;
+-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 : 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 : 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 ;
+ # AIX variant of RS/6000 & PowerPC
+ toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X64" ;
+--- a/tools/gcc.py
++++ b/tools/gcc.py
+@@ -745,125 +745,14 @@
+ # x86 and compatible
+ flags('gcc', 'OPTIONS', ['<architecture>x86/<address-model>32'], ['-m32'])
+ flags('gcc', 'OPTIONS', ['<architecture>x86/<address-model>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', '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', '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', 'atom', ['-march=atom'])
+ # Sparc
+ flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>32'], ['-m32'])
+ flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>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', ['<architecture>power/<address-model>32'], ['-m32'])
+ flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>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'])
+ # AIX variant of RS/6000 & PowerPC
+ flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>32/<target-os>aix'], ['-maix32'])
+ flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>64/<target-os>aix'], ['-maix64'])
diff --git a/dev-util/boost-build/files/boost-build-1.71.0-respect-c_ld-flags.patch b/dev-util/boost-build/files/boost-build-1.71.0-respect-c_ld-flags.patch
new file mode 100644
index 0000000..f51abea
--- /dev/null
+++ b/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/metadata/md5-cache/dev-cpp/cpp-hocon-0.1.4-r1 b/metadata/md5-cache/dev-cpp/cpp-hocon-0.1.4-r1
deleted file mode 100644
index 9ab06b3..0000000
--- a/metadata/md5-cache/dev-cpp/cpp-hocon-0.1.4-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-libs/boost-1.54:=[nls] >=dev-libs/leatherman-0.9.3:= sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Provides C++ support for the HOCON configuration file format
-EAPI=6
-HOMEPAGE=https://github.com/puppetlabs/cpp-hocon
-IUSE=debug test
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=>=dev-libs/boost-1.54:=[nls] >=dev-libs/leatherman-0.9.3:=
-SLOT=0
-SRC_URI=https://github.com/puppetlabs/cpp-hocon/archive/0.1.4.tar.gz -> cpp-hocon-0.1.4.tar.gz
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	06133990e861be0fe60c2b428fd025d9	flag-o-matic	5d5921a298e95441da2f85be419894c0	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	e32940a7b2a9992ad217eccddb84d548	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	605c126bed8d87e4378d5ff1645330cb	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=12372e68de429ad22c7116b53cdf9441
diff --git a/metadata/md5-cache/dev-cpp/cpp-hocon-0.2.1 b/metadata/md5-cache/dev-cpp/cpp-hocon-0.2.1
new file mode 100644
index 0000000..f3fb651
--- /dev/null
+++ b/metadata/md5-cache/dev-cpp/cpp-hocon-0.2.1
@@ -0,0 +1,14 @@
+BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=>=dev-libs/boost-1.54:=[nls] >=dev-libs/leatherman-0.9.3:=
+DESCRIPTION=Provides C++ support for the HOCON configuration file format
+EAPI=7
+HOMEPAGE=https://github.com/puppetlabs/cpp-hocon
+IUSE=debug
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=>=dev-libs/boost-1.54:=[nls] >=dev-libs/leatherman-0.9.3:=
+SLOT=0/0.2.1
+SRC_URI=https://github.com/puppetlabs/cpp-hocon/archive/0.2.1.tar.gz -> cpp-hocon-0.2.1.tar.gz
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	06133990e861be0fe60c2b428fd025d9	flag-o-matic	5d5921a298e95441da2f85be419894c0	multilib	b2f01ad412baf81650c23fcf0975fa33	multiprocessing	e32940a7b2a9992ad217eccddb84d548	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	209edad4a5c4812e7b2f8021650974f0	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=0c59c703e217a30b82d6672caefbfad3
diff --git a/metadata/md5-cache/dev-libs/boost-1.65.0 b/metadata/md5-cache/dev-libs/boost-1.65.0
deleted file mode 100644
index 970639e..0000000
--- a/metadata/md5-cache/dev-libs/boost-1.65.0
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install preinst prepare setup test
-DEPEND=icu? ( >=dev-libs/icu-3.6:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !icu? ( virtual/libiconv[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mpi? ( >=virtual/mpi-2.0-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,cxx,threads] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] ) app-arch/bzip2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !app-admin/eselect-boost =dev-util/boost-build-1.65*
-DESCRIPTION=Boost Libraries for C++
-EAPI=6
-HOMEPAGE=https://www.boost.org/
-IUSE=context debug doc icu +nls mpi python static-libs +threads tools python_targets_python2_7 python_targets_python3_6 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=Boost-1.0
-RDEPEND=icu? ( >=dev-libs/icu-3.6:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !icu? ( virtual/libiconv[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mpi? ( >=virtual/mpi-2.0-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,cxx,threads] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] ) app-arch/bzip2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !app-admin/eselect-boost
-REQUIRED_USE=mpi? ( threads ) python? ( || ( python_targets_python2_7 python_targets_python3_6 ) )
-RESTRICT=test
-SLOT=0/1.65.0
-SRC_URI=https://downloads.sourceforge.net/project/boost/boost/1.65.0/boost_1_65_0.tar.bz2
-_eclasses_=estack	43ddf5aaffa7a8d0482df54d25a66a1f	eutils	06133990e861be0fe60c2b428fd025d9	flag-o-matic	5d5921a298e95441da2f85be419894c0	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	ce1cd23cfdc1848e8e32743efe34f299	python-utils-r1	931c328767d245c08a16a3f87be9ce9c	toolchain-funcs	605c126bed8d87e4378d5ff1645330cb	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=554caeeac3371124507dacb825bc3995
diff --git a/metadata/md5-cache/dev-libs/boost-1.72.0-r1 b/metadata/md5-cache/dev-libs/boost-1.72.0-r1
new file mode 100644
index 0000000..bc37c68
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/boost-1.72.0-r1
@@ -0,0 +1,16 @@
+BDEPEND==dev-util/boost-build-1.72*
+DEFINED_PHASES=compile configure install postinst preinst prepare setup test
+DEPEND=!app-admin/eselect-boost !dev-libs/boost-numpy bzip2? ( app-arch/bzip2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) icu? ( >=dev-libs/icu-3.6:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !icu? ( virtual/libiconv[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzma? ( app-arch/xz-utils:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mpi? ( >=virtual/mpi-2.0-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,cxx,threads] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] numpy? ( python_targets_python3_6? ( dev-python/numpy[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) python_targets_python3_7? ( dev-python/numpy[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) python_targets_python3_8? ( dev-python/numpy[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) ) ) zlib? ( sys-libs/zlib:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zstd? ( app-arch/zstd:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+DESCRIPTION=Boost Libraries for C++
+EAPI=7
+HOMEPAGE=https://www.boost.org/
+IUSE=bzip2 context debug doc icu lzma +nls mpi numpy python static-libs +threads tools zlib zstd python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=Boost-1.0
+RDEPEND=!app-admin/eselect-boost !dev-libs/boost-numpy bzip2? ( app-arch/bzip2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) icu? ( >=dev-libs/icu-3.6:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !icu? ( virtual/libiconv[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzma? ( app-arch/xz-utils:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mpi? ( >=virtual/mpi-2.0-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,cxx,threads] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] numpy? ( python_targets_python3_6? ( dev-python/numpy[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) python_targets_python3_7? ( dev-python/numpy[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) python_targets_python3_8? ( dev-python/numpy[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) ) ) zlib? ( sys-libs/zlib:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zstd? ( app-arch/zstd:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+REQUIRED_USE=mpi? ( threads ) python? ( || ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 ) )
+RESTRICT=test
+SLOT=0/1.72.0
+SRC_URI=https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2
+_eclasses_=eutils	06133990e861be0fe60c2b428fd025d9	flag-o-matic	5d5921a298e95441da2f85be419894c0	multibuild	40fe59465edacd730c644ec2bc197809	multilib	b2f01ad412baf81650c23fcf0975fa33	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	ce1cd23cfdc1848e8e32743efe34f299	python-utils-r1	931c328767d245c08a16a3f87be9ce9c	toolchain-funcs	209edad4a5c4812e7b2f8021650974f0
+_md5_=172cb652b9655414782e7e7422c456e5
diff --git a/metadata/md5-cache/dev-util/boost-build-1.65.0 b/metadata/md5-cache/dev-util/boost-build-1.65.0
deleted file mode 100644
index 914f685..0000000
--- a/metadata/md5-cache/dev-util/boost-build-1.65.0
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),python_single_target_python2_7(+)?] ) !<dev-libs/boost-1.34.0 !<=dev-util/boost-build-1.35.0-r1 test? ( sys-apps/diffutils python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),python_single_target_python2_7(+)?] )
-DESCRIPTION=A system for large project software construction, simple to use and powerful
-EAPI=6
-HOMEPAGE=https://boostorg.github.io/build/
-IUSE=examples python test +python_targets_python2_7 +python_single_target_python2_7
-KEYWORDS=*
-LICENSE=Boost-1.0
-RDEPEND=python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),python_single_target_python2_7(+)?] ) !<dev-libs/boost-1.34.0 !<=dev-util/boost-build-1.35.0-r1
-REQUIRED_USE=python? ( ^^ ( python_single_target_python2_7 ) python_single_target_python2_7? ( python_targets_python2_7 ) ) test? ( ^^ ( python_single_target_python2_7 ) python_single_target_python2_7? ( python_targets_python2_7 ) )
-RESTRICT=test
-SLOT=0
-SRC_URI=https://downloads.sourceforge.net/project/boost/boost/1.65.0/boost_1_65_0.tar.bz2
-_eclasses_=estack	43ddf5aaffa7a8d0482df54d25a66a1f	eutils	06133990e861be0fe60c2b428fd025d9	flag-o-matic	5d5921a298e95441da2f85be419894c0	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	75ce0f715133825e020f9777032d1376	python-utils-r1	931c328767d245c08a16a3f87be9ce9c	toolchain-funcs	605c126bed8d87e4378d5ff1645330cb	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=897e362fee2ca1111d3452c3688079b7
diff --git a/metadata/md5-cache/dev-util/boost-build-1.72.0 b/metadata/md5-cache/dev-util/boost-build-1.72.0
new file mode 100644
index 0000000..148b4c1
--- /dev/null
+++ b/metadata/md5-cache/dev-util/boost-build-1.72.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install prepare test unpack
+DESCRIPTION=A system for large project software construction, simple to use and powerful
+EAPI=7
+HOMEPAGE=https://boostorg.github.io/build/
+IUSE=examples
+KEYWORDS=*
+LICENSE=Boost-1.0
+RESTRICT=test
+SLOT=0
+SRC_URI=https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2
+_eclasses_=eutils	06133990e861be0fe60c2b428fd025d9	flag-o-matic	5d5921a298e95441da2f85be419894c0	multilib	b2f01ad412baf81650c23fcf0975fa33	prefix	e51c7882b7b721e54e684f7eb143cbfe	toolchain-funcs	209edad4a5c4812e7b2f8021650974f0
+_md5_=b70f669eca990f8402e74b00ad295578