summaryrefslogtreecommitdiff
path: root/dev-util/boost-build
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-09-03 22:19:54 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-09-03 22:19:54 +0100
commit71f9cc21aab4168093940b3d2e267444d712bff5 (patch)
tree15406e14be0cd3cfbafe191468b8825b3ccc1855 /dev-util/boost-build
parent312456186919deebd1ea3b34b9e26b1e15ebd5b6 (diff)
gentoo auto-resync : 03:09:2022 - 22:19:54
Diffstat (limited to 'dev-util/boost-build')
-rw-r--r--dev-util/boost-build/Manifest6
-rw-r--r--dev-util/boost-build/boost-build-1.80.0.ebuild66
-rw-r--r--dev-util/boost-build/files/boost-build-1.80.0-add-none-feature-options.patch22
-rw-r--r--dev-util/boost-build/files/boost-build-1.80.0-no-implicit-march-flags.patch148
-rw-r--r--dev-util/boost-build/files/boost-build-1.80.0-odr.patch54
-rw-r--r--dev-util/boost-build/files/boost-build-1.80.0-respect-user-flags.patch11
6 files changed, 307 insertions, 0 deletions
diff --git a/dev-util/boost-build/Manifest b/dev-util/boost-build/Manifest
index 4fe9b67dfdca..ddf0c77a5056 100644
--- a/dev-util/boost-build/Manifest
+++ b/dev-util/boost-build/Manifest
@@ -4,7 +4,13 @@ AUX boost-build-1.73.0-add-none-feature-options.patch 475 BLAKE2B 5211dbc9188056
AUX boost-build-1.76.0-respect-user-flags.patch 456 BLAKE2B 02a383d7a969220da3a40bfe822a807c67734a286f65c3d1dbda18c263593cc6940f5ed260bea1d1ccc20c0726b04859ce2d97c151d10b067206f79d417af237 SHA512 06df6dbf1bc48f224a77ccef202f0cde61c594e6be23418196fbc274bb8e1b6e16a8f2ef9fd45d112cb57af8987df23282e0b1bd4bf4ca6603127b573f54810b
AUX boost-build-1.78.0-darwin-gentoo-toolchain.patch 399 BLAKE2B 213ddbeac6be079df8383ac51c1935c21c7c4e9c2fad2dc71cc0e6317d1bcb282d7fa26997eb677408a5b5fdf2809062c54be18265dd618ec01cc771d99fdff1 SHA512 9d69ecab3cdd58915269491ed98824c554a5291820b8c3116d3aa36acee69edca4eb1528baeece513d290c20fcedabd342d426aa2c153f7ad5f08e0815357868
AUX boost-build-1.78.0-no-implicit-march-flags.patch 17236 BLAKE2B c8c068f48de2d14307c74c64db63ad5f74b9913650f807a53f8e837a8f4b67ba3484bdd6dc9b25cd297e94d5344208e4df6950e2827893bb58ed0ce518bfe66f SHA512 73589b6e88c26a89b874f251f53ec36a08f8709f2a2be7cde876347213c49e87800f9917b529d7f843b3ce4c0ef126ab67b919089be481955a39294a0a8d84a6
+AUX boost-build-1.80.0-add-none-feature-options.patch 588 BLAKE2B b2531258cd54eb73f9a0b9172d07d5e71856cf1112d7e39bd82e3cf14416aee92681833f73a2e0627ee787757dd12ca82d3d132a3a5b5c396cf8243ce2330767 SHA512 144a348afa5af165da3cbc922fd12a63f57d7d2c4d2300342fe08ef506eea8819dab3d8b8181179205530aca98e931b8a1062f4c3e0c7078a637c9aede2949e4
+AUX boost-build-1.80.0-no-implicit-march-flags.patch 8376 BLAKE2B 50e0b8effbb268467d90cc51df70dc4bd234789b352a279d9bb3e60161be80296f5f31f4a0d2a3d1ae2380f3079f7b950b24ef494574e25bbda48b516c6aacbb SHA512 0089a48cbe3e9e4f222e5cd1e9e12a5c4d16857b002a1c849f4cf6f8d7935c0a9b1e0f51ced51bf5346c2fdcbd214ce05e3c144c98fbf82a9842c45b59c19740
+AUX boost-build-1.80.0-odr.patch 1109 BLAKE2B 0bf70f2b2237369acd5089d1d1c6e1362f1d3528b036a7f7b9c5c4d077e60850f45c87a67c830f441297e09be2f7dd8bf41ea45a2c66b307678404c4a0db0ed5 SHA512 90ca58661322b35c4af6543558015368385a1b0e12740cd76723d893f95411645ec4a3a23694503863dd786b73a0ec9b0cb34b473e357334d8e82d973f800e4b
+AUX boost-build-1.80.0-respect-user-flags.patch 461 BLAKE2B e5a9e0293afb7bde189c03677189ef11e0c1c07b8e02d598dc7e4d02f9fe1bf7079e94adb4150cd551ce0bf39b8c5710cb2f6b4bc685588900c4644127836fb2 SHA512 54af91eecd42cc8e5a079e29f1f3d9a8ebc8a6587254038167f531ddb217108d49161689bd45e1ed7e92eb7cfed53addeee2971e16e41d02fe3904b071bd96b9
AUX site-config.jam 688 BLAKE2B e43a7ad1a94d113a7f890e8b634770f5c60556101d428d83f655bbbe72c46b587485886a9941d05a2ae4319fc325f1e0ecfb9b660158b81c5e9fd02e0b1c0530 SHA512 b65bf1be3133f9f66d3139b00f195a288591bb20a13ba35041507c2c33d7d2da6047c3b02dc27bc4eb21798b91e1262a60e294b7fd4af90808b9de0f5af517df
DIST boost_1_79_0.tar.bz2 113456811 BLAKE2B 61f47ca022e60745868e6bdd3b5c75603dd68d878e126dcbb73de5b40fc03c0eec8eede3ec304ece58050435ef2fc1ed7eb763773c20673f85e32bbf4d5f978a SHA512 70909e0561c213d10a1fdd692f9ae7b293d3cdc63e925bdc207da9e9bba6e86474341100e7ee5de6d94f9561196b1a3a1597055a7b7382babf8931131170a312
+DIST boost_1_80_0.tar.bz2 115869904 BLAKE2B 507e811be7659442c41bc2d99811bd02a236dc94932e1a7a8cf256243b479f2d2707819cd99e016a51c9dadc215713e803afdd9ea4c105af8d5d2d28d3d06a1f SHA512 829a95b463473d69ff79ea41799c68429bb79d3b2321fbdb71df079af237ab01de9ad7e9612d8783d925730acada010068d2d1aa856c34244ee5c0ece16f208f
EBUILD boost-build-1.79.0.ebuild 2121 BLAKE2B 26af62750e19a7bce5abd5b5c004d66591d5ef6e8c0161903dde740ba6758d8657daac1b98a78ead85c47fece46c2c954797cfcc9c200757f51b03060e0a9be8 SHA512 b361c10f4ca1733774d8d98fbeb52551eafbab8e7d99a488a4d60bb5edbef82aef15f3b36235f200d194f6a9089c46465f61516b492e100fa2644db0ed6a5c0f
+EBUILD boost-build-1.80.0.ebuild 1988 BLAKE2B cf0239cd7f569857897eb60d12f0259cd63d8956ce05f5cbab5a4151557fd1a435573dfb950a5e431673fa21b1ae6aac41bbe50547717eeead97111cabf92a02 SHA512 dc23887aeb7f0ce749a6ad0b3fbaf9fd674d0eb9eb7311ec8623160a1083b9877730a276a4bdbe11c10726f210130de00a886d49a88ed0cb277c0a37ec67ee34
MISC metadata.xml 320 BLAKE2B b8916adb7b84ead3feef70414578019e07de58086e6954cf2a26a77368a99bc75bf99ca18f111a67531d318863fab700083ebcd7612e7d40ece89086d9d4974c SHA512 7c2c8fa591a6c3d05b5d4808077b890d5757bbb4c12a9fe7ed7b4ebc738244266196baba07da434ac3609c0d00aed4ef9c2346524f141e679b94376f804c508b
diff --git a/dev-util/boost-build/boost-build-1.80.0.ebuild b/dev-util/boost-build/boost-build-1.80.0.ebuild
new file mode 100644
index 000000000000..dcacdf3a18df
--- /dev/null
+++ b/dev-util/boost-build/boost-build-1.80.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+MY_PV="$(ver_rs 1- _)"
+
+DESCRIPTION="A system for large project software construction, simple to use and powerful"
+HOMEPAGE="https://www.boost.org/build/"
+SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
+S="${WORKDIR}/boost_${MY_PV}/tools/build/src"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="examples"
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.71.0-disable_python_rpath.patch
+ "${FILESDIR}"/${PN}-1.78.0-darwin-gentoo-toolchain.patch
+ "${FILESDIR}"/${PN}-1.80.0-add-none-feature-options.patch
+ "${FILESDIR}"/${PN}-1.80.0-respect-user-flags.patch
+ "${FILESDIR}"/${PN}-1.80.0-no-implicit-march-flags.patch
+ "${FILESDIR}"/${PN}-1.80.0-odr.patch
+)
+
+src_unpack() {
+ tar xojf "${DISTDIR}/${A}" boost_${MY_PV}/tools/build || die "unpacking tar failed"
+}
+
+src_configure() {
+ # need to enable LFS explicitly for 64-bit offsets on 32-bit hosts (#761100)
+ append-lfs-flags
+}
+
+src_compile() {
+ cd engine || die
+ ${CONFIG_SHELL:-${BASH}} ./build.sh cxx --cxx="$(tc-getCXX)" --cxxflags="${CXXFLAGS}" -d+2 --without-python || die "building bjam failed"
+}
+
+src_test() {
+ # Forget tests, bjam is a lost cause
+ :
+}
+
+src_install() {
+ dobin engine/b2
+
+ insinto /usr/share/b2/src
+ doins -r "${FILESDIR}/site-config.jam" \
+ bootstrap.jam build-system.jam ../example/user-config.jam \
+ build kernel options tools util
+
+ find "${ED}"/usr/share/b2/src -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.80.0-add-none-feature-options.patch b/dev-util/boost-build/files/boost-build-1.80.0-add-none-feature-options.patch
new file mode 100644
index 000000000000..620dea0af51b
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.80.0-add-none-feature-options.patch
@@ -0,0 +1,22 @@
+--- a/tools/features/debug-feature.jam
++++ b/tools/features/debug-feature.jam
+@@ -18,7 +18,7 @@ common usage is to build release variant with debugging information.
+ |# # end::doc[]
+
+ feature.feature debug-symbols
+- : on off
++ : on off none
+ : propagated ;
+
+ #| tag::prof-doc[]
+--- a/tools/features/optimization-feature.jam
++++ b/tools/features/optimization-feature.jam
+@@ -16,7 +16,7 @@ smaller binary.
+ |# # end::doc[]
+
+ feature.feature optimization
+- : off speed space minimal debug
++ : off none speed space minimal debug
+ : propagated ;
+
+ #| tag::inline-doc[]
diff --git a/dev-util/boost-build/files/boost-build-1.80.0-no-implicit-march-flags.patch b/dev-util/boost-build/files/boost-build-1.80.0-no-implicit-march-flags.patch
new file mode 100644
index 000000000000..2845d6e52f84
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.80.0-no-implicit-march-flags.patch
@@ -0,0 +1,148 @@
+--- a/tools/gcc.jam
++++ b/tools/gcc.jam
+@@ -1131,145 +1131,11 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + :
+ # 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-client : -march=icelake-client ;
+-cpu-flags gcc OPTIONS : x86 : icelake-server : -march=icelake-server ;
+-cpu-flags gcc OPTIONS : x86 : cascadelake : -march=skylake-avx512 -mavx512vnni ;
+-cpu-flags gcc OPTIONS : x86 : cooperlake : -march=cooperlake ;
+-cpu-flags gcc OPTIONS : x86 : tigerlake : -march=tigerlake ;
+-cpu-flags gcc OPTIONS : x86 : rocketlake : -march=rocketlake ;
+-cpu-flags gcc OPTIONS : x86 : alderlake : -march=alderlake ;
+-cpu-flags gcc OPTIONS : x86 : sapphirerapids : -march=sapphirerapids ;
+-cpu-flags gcc OPTIONS : x86 : k6 : -march=k6 ;
+-cpu-flags gcc OPTIONS : x86 : k6-2 : -march=k6-2 ;
+-cpu-flags gcc OPTIONS : x86 : k6-3 : -march=k6-3 ;
+-cpu-flags gcc OPTIONS : x86 : athlon : -march=athlon ;
+-cpu-flags gcc OPTIONS : x86 : athlon-tbird : -march=athlon-tbird ;
+-cpu-flags gcc OPTIONS : x86 : athlon-4 : -march=athlon-4 ;
+-cpu-flags gcc OPTIONS : x86 : athlon-xp : -march=athlon-xp ;
+-cpu-flags gcc OPTIONS : x86 : athlon-mp : -march=athlon-mp ;
+ ##
+-cpu-flags gcc OPTIONS : x86 : k8 : -march=k8 ;
+-cpu-flags gcc OPTIONS : x86 : opteron : -march=opteron ;
+-cpu-flags gcc OPTIONS : x86 : athlon64 : -march=athlon64 ;
+-cpu-flags gcc OPTIONS : x86 : athlon-fx : -march=athlon-fx ;
+-cpu-flags gcc OPTIONS : x86 : k8-sse3 : -march=k8-sse3 ;
+-cpu-flags gcc OPTIONS : x86 : opteron-sse3 : -march=opteron-sse3 ;
+-cpu-flags gcc OPTIONS : x86 : athlon64-sse3 : -march=athlon64-sse3 ;
+-cpu-flags gcc OPTIONS : x86 : amdfam10 : -march=amdfam10 ;
+-cpu-flags gcc OPTIONS : x86 : barcelona : -march=barcelona ;
+-cpu-flags gcc OPTIONS : x86 : bdver1 : -march=bdver1 ;
+-cpu-flags gcc OPTIONS : x86 : bdver2 : -march=bdver2 ;
+-cpu-flags gcc OPTIONS : x86 : bdver3 : -march=bdver3 ;
+-cpu-flags gcc OPTIONS : x86 : bdver4 : -march=bdver4 ;
+-cpu-flags gcc OPTIONS : x86 : btver1 : -march=btver1 ;
+-cpu-flags gcc OPTIONS : x86 : btver2 : -march=btver2 ;
+-cpu-flags gcc OPTIONS : x86 : znver1 : -march=znver1 ;
+-cpu-flags gcc OPTIONS : x86 : znver2 : -march=znver2 ;
+-cpu-flags gcc OPTIONS : x86 : znver3 : -march=znver3 ;
+-cpu-flags gcc OPTIONS : x86 : winchip-c6 : -march=winchip-c6 ;
+-cpu-flags gcc OPTIONS : x86 : winchip2 : -march=winchip2 ;
+-cpu-flags gcc OPTIONS : x86 : c3 : -march=c3 ;
+-cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ;
+-cpu-flags gcc OPTIONS : x86 : c7 : -march=c7 ;
+ ##
+-cpu-flags gcc OPTIONS : x86 : atom : -march=atom ;
+ # Sparc
+-cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 : default ;
+-cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ;
+-cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ;
+-cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ;
+-cpu-flags gcc OPTIONS : sparc : sparclite : -mcpu=sparclite ;
+-cpu-flags gcc OPTIONS : sparc : hypersparc : -mcpu=hypersparc ;
+-cpu-flags gcc OPTIONS : sparc : sparclite86x : -mcpu=sparclite86x ;
+-cpu-flags gcc OPTIONS : sparc : f930 : -mcpu=f930 ;
+-cpu-flags gcc OPTIONS : sparc : f934 : -mcpu=f934 ;
+-cpu-flags gcc OPTIONS : sparc : sparclet : -mcpu=sparclet ;
+-cpu-flags gcc OPTIONS : sparc : tsc701 : -mcpu=tsc701 ;
+-cpu-flags gcc OPTIONS : sparc : v9 : -mcpu=v9 ;
+-cpu-flags gcc OPTIONS : sparc : ultrasparc : -mcpu=ultrasparc ;
+-cpu-flags gcc OPTIONS : sparc : ultrasparc3 : -mcpu=ultrasparc3 ;
+ # RS/6000 & PowerPC
+-cpu-flags gcc OPTIONS : power : 403 : -mcpu=403 ;
+-cpu-flags gcc OPTIONS : power : 505 : -mcpu=505 ;
+-cpu-flags gcc OPTIONS : power : 601 : -mcpu=601 ;
+-cpu-flags gcc OPTIONS : power : 602 : -mcpu=602 ;
+-cpu-flags gcc OPTIONS : power : 603 : -mcpu=603 ;
+-cpu-flags gcc OPTIONS : power : 603e : -mcpu=603e ;
+-cpu-flags gcc OPTIONS : power : 604 : -mcpu=604 ;
+-cpu-flags gcc OPTIONS : power : 604e : -mcpu=604e ;
+-cpu-flags gcc OPTIONS : power : 620 : -mcpu=620 ;
+-cpu-flags gcc OPTIONS : power : 630 : -mcpu=630 ;
+-cpu-flags gcc OPTIONS : power : 740 : -mcpu=740 ;
+-cpu-flags gcc OPTIONS : power : 7400 : -mcpu=7400 ;
+-cpu-flags gcc OPTIONS : power : 7450 : -mcpu=7450 ;
+-cpu-flags gcc OPTIONS : power : 750 : -mcpu=750 ;
+-cpu-flags gcc OPTIONS : power : 801 : -mcpu=801 ;
+-cpu-flags gcc OPTIONS : power : 821 : -mcpu=821 ;
+-cpu-flags gcc OPTIONS : power : 823 : -mcpu=823 ;
+-cpu-flags gcc OPTIONS : power : 860 : -mcpu=860 ;
+-cpu-flags gcc OPTIONS : power : 970 : -mcpu=970 ;
+-cpu-flags gcc OPTIONS : power : 8540 : -mcpu=8540 ;
+-cpu-flags gcc OPTIONS : power : power : -mcpu=power ;
+-cpu-flags gcc OPTIONS : power : power2 : -mcpu=power2 ;
+-cpu-flags gcc OPTIONS : power : power3 : -mcpu=power3 ;
+-cpu-flags gcc OPTIONS : power : power4 : -mcpu=power4 ;
+-cpu-flags gcc OPTIONS : power : power5 : -mcpu=power5 ;
+-cpu-flags gcc OPTIONS : power : powerpc : -mcpu=powerpc ;
+-cpu-flags gcc OPTIONS : power : powerpc64 : -mcpu=powerpc64 ;
+-cpu-flags gcc OPTIONS : power : rios : -mcpu=rios ;
+-cpu-flags gcc OPTIONS : power : rios1 : -mcpu=rios1 ;
+-cpu-flags gcc OPTIONS : power : rios2 : -mcpu=rios2 ;
+-cpu-flags gcc OPTIONS : power : rsc : -mcpu=rsc ;
+-cpu-flags gcc OPTIONS : power : rs64a : -mcpu=rs64 ;
+-cpu-flags gcc OPTIONS : s390x : z196 : -march=z196 ;
+-cpu-flags gcc OPTIONS : s390x : zEC12 : -march=zEC12 ;
+-cpu-flags gcc OPTIONS : s390x : z13 : -march=z13 ;
+-cpu-flags gcc OPTIONS : s390x : z14 : -march=z14 ;
+-cpu-flags gcc OPTIONS : s390x : z15 : -march=z15 ;
+ # ARM
+-cpu-flags gcc OPTIONS : arm : cortex-a9+vfpv3 : -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard ;
+-cpu-flags gcc OPTIONS : arm : cortex-a53 : -mcpu=cortex-a53 ;
+-cpu-flags gcc OPTIONS : arm : cortex-r5 : -mcpu=cortex-r5 ;
+-cpu-flags gcc OPTIONS : arm : cortex-r5+vfpv3-d16 : -mcpu=cortex-r5 -mfpu=vfpv3-d16 -mfloat-abi=hard ;
+ # AIX variant of RS/6000 & PowerPC
+ toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X64" ;
+
diff --git a/dev-util/boost-build/files/boost-build-1.80.0-odr.patch b/dev-util/boost-build/files/boost-build-1.80.0-odr.patch
new file mode 100644
index 000000000000..62cbca189640
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.80.0-odr.patch
@@ -0,0 +1,54 @@
+Avoid ODR violations by giving "_stack" internal linkage
+https://bugs.gentoo.org/858320
+
+--- a/engine/function.cpp
++++ b/engine/function.cpp
+@@ -213,11 +213,11 @@
+ } JAM_FUNCTION;
+
+
++namespace
++{
+ typedef struct _stack STACK;
+ typedef STACK* stack_ptr;
+
+-namespace
+-{
+ template <typename T>
+ using remove_cref_t
+ = typename std::remove_const<
+@@ -260,7 +260,6 @@
+ typename select_last_impl<(sizeof...(A) == 1), type_list<A...> >
+ ::template type<A...>;
+ #endif
+-}
+
+ struct _stack
+ {
+@@ -439,6 +438,8 @@
+ cleanups_size += n;
+ }
+
++}
++
+ static STACK * stack_global()
+ {
+ static _stack singleton;
+--- a/engine/make1.cpp
++++ b/engine/make1.cpp
+@@ -86,6 +86,7 @@
+ #define T_STATE_MAKE1B 1 /* make1b() should be called */
+ #define T_STATE_MAKE1C 2 /* make1c() should be called */
+
++namespace {
+ typedef struct _state state;
+ struct _state
+ {
+@@ -94,6 +95,7 @@
+ TARGET * parent; /* parent argument necessary for MAKE1A */
+ int32_t curstate; /* current state */
+ };
++}
+
+ static void make1a( state * const );
+ static void make1b( state * const );
diff --git a/dev-util/boost-build/files/boost-build-1.80.0-respect-user-flags.patch b/dev-util/boost-build/files/boost-build-1.80.0-respect-user-flags.patch
new file mode 100644
index 000000000000..b0de4f0e885f
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.80.0-respect-user-flags.patch
@@ -0,0 +1,11 @@
+--- a/engine/build.sh
++++ b/engine/build.sh
+@@ -496,7 +496,7 @@ modules/set.cpp \
+ if test_true ${B2_DEBUG_OPT} ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG}"
+ else B2_CXXFLAGS="${B2_CXXFLAGS_RELEASE} -DNDEBUG"
+ fi
+- ( B2_VERBOSE_OPT=${TRUE} echo_run ${B2_CXX} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2 )
++ ( B2_VERBOSE_OPT=${TRUE} echo_run ${B2_CXX} ${CPPFLAGS} ${B2_CXXFLAGS} ${LDFLAGS} ${B2_SOURCES} -o b2 )
+ }
+
+ if test_true ${B2_VERBOSE_OPT} ; then