summaryrefslogtreecommitdiff
path: root/dev-libs
diff options
context:
space:
mode:
authormirror@stealer.net <mirror@stealer.net>2025-07-22 21:30:24 +0000
committermirror@stealer.net <mirror@stealer.net>2025-07-22 21:30:24 +0000
commitc0a4f9bd05085fb33eb0b260795f2faa8cd51e83 (patch)
tree56ec35ab1c4ca72bbb58f30bbf663b31e31baf6d /dev-libs
parent52b41dde7853ca4abfbbee9784099afa79ab9671 (diff)
2025-07-22 21:10:39+00:00
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/Manifest.gzbin99203 -> 99207 bytes
-rw-r--r--dev-libs/boost/Manifest19
-rw-r--r--dev-libs/boost/boost-1.85.0-r1.ebuild363
-rw-r--r--dev-libs/boost/boost-1.86.0-r1.ebuild360
-rw-r--r--dev-libs/boost/boost-1.87.0-r3.ebuild359
-rw-r--r--dev-libs/boost/files/boost-1.85.0-01-fix_unsupported_long_double_macros.patch111
-rw-r--r--dev-libs/boost/files/boost-1.85.0-02-fix_unsupported_long_double_formats.patch29
-rw-r--r--dev-libs/boost/files/boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch420
-rw-r--r--dev-libs/boost/files/boost-1.85.0-04-remove_cruft_codeblock.patch52
-rw-r--r--dev-libs/boost/files/boost-1.85.0-05-fix_macro_name.patch356
-rw-r--r--dev-libs/boost/files/boost-1.85.0-bcp-filesystem.patch188
-rw-r--r--dev-libs/boost/files/boost-1.85.0-container-aliasing.patch408
-rw-r--r--dev-libs/boost/files/boost-1.85.0-python-numpy-2.patch26
-rw-r--r--dev-libs/boost/files/boost-1.86.0-uuid-compute-backport.patch30
-rw-r--r--dev-libs/boost/files/boost-1.87.0-move.patch74
-rw-r--r--dev-libs/boost/files/boost-1.87.0-smart_ptr-operator.patch40
-rw-r--r--dev-libs/boost/files/boost-1.87.0-solaris.patch25
-rw-r--r--dev-libs/boost/files/boost-1.87.0-thread-typo.patch28
-rw-r--r--dev-libs/icu/Manifest3
-rw-r--r--dev-libs/icu/icu-76.1-r1.ebuild182
20 files changed, 0 insertions, 3073 deletions
diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz
index 48e9a4b7e4ee5..c7467dfa58bf5 100644
--- a/dev-libs/Manifest.gz
+++ b/dev-libs/Manifest.gz
Binary files differ
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
index bbbce8743cd77..cec170d9b55b3 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -1,19 +1,6 @@
AUX boost-1.79.0-build-auto_index-tool.patch 265 BLAKE2B 05e52ca716522db7bb11b481576a08138be826f7383a689a6c0725d491a244dc8697fc39fac1a79e4639ba51b3a3eb7ee2f2e11a20883de0ecd3dd3c2fc2c9cd SHA512 28952e7cd791678be0963beb0a29e3e40b54a8c3618c66a8b8d21ab63c414771cfa1e9961f08c0b3818bd4c311c122e777109e15002a71230b0c3c9dbc4d6075
AUX boost-1.81.0-disable_icu_rpath.patch 577 BLAKE2B 0e8634a6a4594232238d03ed329c0ca56c005ec0f3f259afd431c4b461b6c8d9a0b636b916859b5baa1152395995e5fa5b150ef0ab39480fcebaa9c6c5943b7e SHA512 7383423dd4611482bf3ff3820152152e9fc9643ca408b260e3715baba52b48b444626b14e955950b025e57f72c50158c83ffa6b55b995c2c427da90d0a0a50df
-AUX boost-1.85.0-01-fix_unsupported_long_double_macros.patch 6216 BLAKE2B c989990e5b9f97f235360590b73cb83302c6da770915dd35263535d4e9f771bd5f06374494c5108d2ff81f6d8accad03170d5f8649c84f73c39c192be1d7c32f SHA512 68adae23662b696aa13e70996047c5339e4df7d7332623a93e8b6be67fc5ea50aa70068d55e4d68d32a960a07a166c0dc4dd6bd2505da5bd6c6b561c1f4a329c
-AUX boost-1.85.0-02-fix_unsupported_long_double_formats.patch 1491 BLAKE2B 2cbbbed801b69da536d79c2dbdcf2731462d2d9b3fbb6bc97abe628ee62b09f0721743c897eb4f96df48f5ca2a05c3d373b13333ab8ac028043ee0d8a0b2784d SHA512 eae6e1ac9da246eef0e1762db2e4542ccaa9972c7ceb6968ae405631b231e45b3635ea17671dfc71f2e1b7134811b673c6da867bfd09bd1b7a9c4f1e672f7556
-AUX boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch 13850 BLAKE2B b9ca28724959a803e201dea7192abdb35c82c542820b7af2099aa795b9b38307b84d51f1127394f8a728cc9dfd571f56420dd7f9445ad04cb8c13c11c78522ae SHA512 fe700a0953b6c0f3e8a7bd8742f90d28d340be47d7e1dda26a4d81c31bd7ebf9a1b282751687df82511ba941256e7d862bab8a784a4105a0d21d974c0cbf6ec0
-AUX boost-1.85.0-04-remove_cruft_codeblock.patch 1504 BLAKE2B 7e876d221690aa8d66ab1a5a05ab7acdc612f2cadc392da6c5ebd9130346c81d0f76568ee3492947de1698108890249144d7ef8f36850c5261bfdb373a156f8a SHA512 eaca3c1e88db7e56d46eb6a9e4abb0b6cf7671f7b0d9afac6a2440d4086f9fd1c9395bedd5dc42175ad55131b673bb587ce0334ab20448ef782574aeb31e9921
-AUX boost-1.85.0-05-fix_macro_name.patch 15312 BLAKE2B 2472e8bcbf63fdf3de1b6c26e0680f068f559f5b9ab59db5fce9505d07a8152766e7da2f2c8b5ae9671289dac8f22ca8395424a1384423ae7c4f05ec0bd1ac33 SHA512 d57e4d2f7a3f1a3fb0f0f280b980a76798ae82f0bfc5d54d9399ce1aa887a37bac945b476bb60cf3a9a3bcb85f7b1135a5a6e47f635274d06b1c971d35c72481
-AUX boost-1.85.0-bcp-filesystem.patch 7299 BLAKE2B d2792ee52008955a6f4d233c0a130fe698df7d1e060e9a25a2c058fd7a1ba4c8f6b7a92af773183fa73b0511d7f85f5473d5f9cea1cd71ec08f2db92fa7bd09d SHA512 501f71fa1451af7699689c3befc477e6612612f11a3c33d350d680ce8c511ba9e6765e05aefa9608fe98eca0413a43755cf61fea1a4cd2d03ea0962f7884b452
-AUX boost-1.85.0-container-aliasing.patch 15219 BLAKE2B 438e5cbeed4626b22172722a7173c215eb9f766e2b5c523d6a35ae6ae5f4c96ea8b8a7a346c716989d5e147f3c58a49368735c9709b2c5234815fbb036cdf7f8 SHA512 4130be6d83e9e19ddf42de2f12eaee906882f03d3487cb93c69b4ce7c4ec578d863f0900d1ad9654b30bdf99fc2e9623b4dcafc2bbaf6e52b1d9107ece201567
-AUX boost-1.85.0-python-numpy-2.patch 986 BLAKE2B 5f4cd317c75f8eb3183f720ac76afeffeb4f1e2617f32a795a94d9db56c7c27cba7a1b2591f2f851223b85ce962293bf54733e0d3f830340d2ef174a869284ed SHA512 46b3831acbd89980abc8312d8ba0a991d9c8531f0f8b63f5218ef8920fcf18b1ff207748abef2f3753baf6ea0932dc0c4ef524daec7fb265f64e35c5335f7a96
-AUX boost-1.86.0-uuid-compute-backport.patch 1118 BLAKE2B 4fe636ec17f9dce29d37d8dafcbb4e5c45cdcbf1a867d127b44ea9a2c533f7c184f738ba08d244fecdd8805d1d6a91eaa17d1a024653148d8ac512522ee27f62 SHA512 d2eac74fb297618f185bccfd2921efa767901d1b2f3516385a0f3894cee3cee49a437e456eb4b656a5fe67278b02191b2fbca02e3d32ca3e1be211144a92253e
-AUX boost-1.87.0-move.patch 2611 BLAKE2B 7d184f1e2c20dfa254dec57b601422a3d2ca44766886bd51be582168729fedd2a426290e6267ddfc7685c85f4101d456999d7fb0de57740610fc84d7a112f32b SHA512 3141cea043907bb8d94c4bf0e7e46eca109841783701210a020037ffe43bbfe4102ac5cf03195dfefad80b3548abd76904784973e8d86f10f95ca9811712c7b9
AUX boost-1.87.0-process-error-alpha.patch 1035 BLAKE2B 0eaf50acc98fcb79c165ace1f49e92d29bfb8e65170b6aab44b0bc34eb5cbdf1678f8109f6d6fa1711152dcbe98a6f2021cee742ee7492b147b8c92b88faea69 SHA512 6f5e7c31a46f91b0d381d2dddb00dd0963efb4cde2c342b7c0fd4ba5512999921966eac84698a4cd42a6741b101a02457c225582aa7bad0b43fa2b9f6f01209c
-AUX boost-1.87.0-smart_ptr-operator.patch 1663 BLAKE2B a66be2ab0b62623242c5185e9d53514a6132d4f7d3b9306a93baeac1ab7c8533b248b29f345690247f15ad2e17e7ebfccd47a54e021fa8fcb2db888dcc5b7688 SHA512 a72188bb0ac227a48ac65f3c570f60ee7b1d23890603fdc8db2494df7489ec3d8837501c4a41cb42ba2dc29449fae0d986bcdc7613ccbb618dd490986d1e09bc
-AUX boost-1.87.0-solaris.patch 914 BLAKE2B 8de7146eb63e432105ffc7797e06371354d85476d02a0686a2bdd8b0f68ef8adab843c45b5bf5e53d9cab2027849b53aefbfabcca3d18a3434413e2512962a94 SHA512 540243bc0c6d43d04beb09a0d63768409595e6f3ba177fcedac7f9f5543aa74da047e139a9fbd0fea1f7eaaab410eb0c97491c34699ecb65175b088f1788ab18
-AUX boost-1.87.0-thread-typo.patch 889 BLAKE2B b3e1efbecb4bf809aa07c8e30977aeea747218c9881842b6a4f7d4d4f304b0094863ee1bd42ffa4cc432846d68c45ac6d025447d92f94537d8fd739c62345e6e SHA512 07e17f31604c6baac4f12ef63db3313bcc68dbfdbfaa9157314a58c03e52a13840822b494ed319dde306f8e78c99179b2faa8ea721549d0a0ed06a83e73b15d8
AUX boost-1.88.0-algorithm-reverse_copy.patch 892 BLAKE2B 93587cf4e2f14d621f0d44458fa9b9e2f408f27cd6fdf9ccd82fd69c4d5c6e6ecc676a3d04abafebf1e53c6a9f6af79d3c3c39bc569b727dec8a6ee25832a3ff SHA512 ad3eebe7955bb1bc3656cd702e50e42843cd78c9bd99095a058aa0985f7ade640317a74d7221282d996d05706f72214afc9782a7e133edb7b293939766397dce
AUX boost-1.88.0-beast-network-sandbox.patch 1225 BLAKE2B d0788ffa3e0f7177362db8b0085118e6fe2cfec9eee4d817c5cf944a68773b4f9c806ee606fcc0e5911d0a77ce2966da8df9f1cfe133f869184ee596dee2ac8b SHA512 300c4be9bc83f009e27c21d819987964d77f58268077ac561603244d46da9c8505eef5e696d88f40028df2b04de94ca644ca724fd3178aaa67f58d70ed39b53c
AUX boost-1.88.0-bind-no-Werror.patch 1270 BLAKE2B 9d7d7311d161ea4cff2205a5c65a136288c6c9eacad1f29717b6ce7f21fe6fa0bed7521f96d73a4b20dd956e0f30b0eed3d0bcfbd7e5086e49b6a66e3e5e856a SHA512 ffbb7cd1be86007bf558f77d28e84e185fe2db1b0750d5bec38f77a29c561d62c944b64b9b40de99d8854745ab86ad895ada4c45cacd398e63c0b5da44fc5858
@@ -22,12 +9,6 @@ AUX boost-1.88.0-range-any_iterator.patch 1115 BLAKE2B 7829c576009cc9a57ac074f78
AUX boost-1.88.0-system-crashing-test.patch 595 BLAKE2B ef6b4b3d0eba27d0008da293080ccfa33a7c79720af1d553361329be9c59d5163089b50da7bafbcdc8bb77a25d08cf53c89a395fd1b08f81234f93ebd0ab7cc1 SHA512 28121063363e743c24de67b13ee2e9c5c4f65fe58fbe9700ff0f7655d6ae8a86e1f08c183b353308dbd6647afa7b20649b5277815534b7bf90d2a00b30cae892
AUX boost-1.88.0-yap-cstdint.patch 701 BLAKE2B 609cded8490bc4eb8146a9dc37fa726ea406f24314dac03d22edadbac4ebc49aef1009652cbfdd1a7c025e4ef9a6b33fef43e5f00c16ba5e7f316143aa608a4e SHA512 bb8578299e7edbc1d886babb5567f6fbe967e280fc2516af882194afa77522eeb55b891bbfca579622242a87046b3c68f40c447a8cdfc9ceea96ddf0608abc74
AUX unit-test-main.cpp 607 BLAKE2B a42f74d80d5fb9c1b61f4b775e83cc7b1bc05958c78b32aaa35ec7d28bf85f1cd611019c59e5488ea5bf4f70a93a3fb58a99034c5a93bd0f7037b36a62e6b8c4 SHA512 e8c5a7ff3d143901549b8bc29c00add5a70e02a7369d7da3dd7e86b11c3d0b90430f64b5e084877607c6133aa3351ca21d7f23aa45f9c0c5a4018d85aebb5601
-DIST boost_1_85_0.tar.bz2 124015250 BLAKE2B dd72a9299cd78d2c260e1c94e28ba04daaa352f5bd023d99e43caa3540b1e0f8c09fc04b91f68db0ef8532e4a91fdef0b66a80bf0f9f838303bccaf0729bf581 SHA512 b4489813a4192b57626589457932338cfc47c4ec05c19b3a58b2d8df9e95f022ff2f5f452811ff82d1cec4fb0a490e991c8825bad0fb5a81318d07a8788d8ca0
-DIST boost_1_86_0.tar.bz2 126220652 BLAKE2B de3d262e3dc174813e8e9abc8fb083ae101949dbd3b818b1114457497607085dc998f6f0fdd095a87c38c90700761c825ce239b082144389507c0fec77d527dd SHA512 9f8144e07a44cc5b5be6c6da17b2e6f29f0637dda345764c89eac0bcb9ce2878469a7e6fcd2c96d25034937025768450b33fc14fb40470fa4806bfcf03330e75
-DIST boost_1_87_0.tar.bz2 131473200 BLAKE2B 8bbd163ab2fcdd29e2dbe74fdab49b2c80b4ea58df40e39148d151911f2c81188e7fe44faf61905eddfc5615b5003932e0ea85a6527844f55ee121595173adfa SHA512 a2d5007953f67b816169efe0cf11675cd63fc6bae63f87ee1372515e57913ef6cf6ae8c3f2c400fef8ce63a035a02a0cad0da5acc29e977a85d458625b2a719c
DIST boost_1_88_0.tar.bz2 143894119 BLAKE2B b42daa4b3ee840715f3b2cd689e585521839345d88d3e318cf96feeb3f48cb6f6723be5fffa5440a350956aecfab9fd36cbbf0dee54318c572aa1d14eeedd158 SHA512 c3a6a70e1e7d826882745ff92ac8fe7cb2a69b5974ba2275d8e130955f91163cbc4e6ccfbae19a7a92d478a8cb9de2458f73324b183596b3a2a69b1d5a75b3e9
-EBUILD boost-1.85.0-r1.ebuild 11938 BLAKE2B a72ad6189087c1b523679d563a5e4e108c13952a9fc4558cd5335c8d0ed22c1822f94e3aae6f9dac6690d0b88e7b9d2af35dcf96c3af2252138125811e076e8e SHA512 cf201b76a33cdb4b632038ba0857ac99f116780e9400e879dbb441c79bb00a539d1e6cee649bb76b23661bb4be0ba3b3deed6971a3a3117f5a1b63e1e9fc4e12
-EBUILD boost-1.86.0-r1.ebuild 11610 BLAKE2B d05580014c0034d8612765994f6751dbfc9780e1f16a326bd93edfa2bb8df6ee7d8db208b55e2f8089ac0bd49830a8c1216afeda676a84b102083050952d762f SHA512 67ce971f6860ea61c9051e8f9bd50ad86904de20d546ff891cbc3465c5a39a2b20491f0b24967e99c20a2184629a0e6159c024aae246859f54e3ac72d625f61b
-EBUILD boost-1.87.0-r3.ebuild 11626 BLAKE2B 1aac85938af56837a5b0e2368b16b9273568ade71721eeb215d99e7dd5ef7d9f6ff2599053873fe49d63cdf1a184090aa2b8d7e7ff6118fd988d1d86e4645f66 SHA512 fc4fb1724259020ab2d347cfc1c98395b607753fbaef5f0a114a88546b1411d470e324951e62f27a2124ce9a958a046e93021bf6e0aa3f839e39d9aa31284c4d
EBUILD boost-1.88.0-r1.ebuild 16651 BLAKE2B 4d28bd0a8f79e3b3c2c31979745878b7a88fbee97921e67c08cb63d44793a3d30554720b6e8e8836ae00eb14a853566790797ed598a3b571ef4a53672c7a9b50 SHA512 36c06cd6a80036951fa7d4eba1ef3a3443ae79943ecf8a88a55e3b148c8108fb478f9ef29a0fe8bc9373c726ba70ecfe615bb40a84bcf95c3814c943d4b4b410
MISC metadata.xml 9508 BLAKE2B d1ff662666cc792bcacba245c71391d62b66e132903da3ab69202df9a66bb3eb0b5b047ec06c6dc42827fc666feb81812a04e7e24f13c68c0b9537427fb083c4 SHA512 2bfe9064b5b2163360c74adb1e0bd9faa1713bb709e7f1c299d37dd229030a79683d06759bbcb38c72d7e72cf22dab1e9dee638f0e62067c80715b67588e385b
diff --git a/dev-libs/boost/boost-1.85.0-r1.ebuild b/dev-libs/boost/boost-1.85.0-r1.ebuild
deleted file mode 100644
index 6a221999ded5b..0000000000000
--- a/dev-libs/boost/boost-1.85.0-r1.ebuild
+++ /dev/null
@@ -1,363 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Keep an eye on both of these after releases for patches:
-# * https://www.boost.org/patches/
-# * https://www.boost.org/users/history/version_${MY_PV}.html
-# (e.g. https://www.boost.org/users/history/version_1_83_0.html)
-# Note that the latter may sometimes feature patches not on the former too.
-
-# FIXME: cleanup subslot after 1.85.0
-
-PYTHON_COMPAT=( python3_{11..13} )
-
-inherit dot-a flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
-
-MY_PV="$(ver_rs 1- _)"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="https://www.boost.org/"
-SRC_URI="https://archives.boost.io/release/${PV}/source/boost_${MY_PV}.tar.bz2"
-S="${WORKDIR}/${PN}_${MY_PV}"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}.1" # ${PV} instead of the major version due to bug 486122
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="bzip2 +context debug doc icu lzma +nls mpi numpy python +stacktrace tools zlib zstd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# the tests will never fail because these are not intended as sanity
-# tests at all. They are more a way for upstream to check their own code
-# on new compilers. Since they would either be completely unreliable
-# (failing for no good reason) or completely useless (never failing)
-# there is no point in having them in the ebuild to begin with.
-RESTRICT="test"
-
-RDEPEND="
- bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
- icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
- mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] )
- python? (
- ${PYTHON_DEPS}
- numpy? ( dev-python/numpy:=[${PYTHON_USEDEP}] )
- )
- zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-build/b2-5.0.0"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch
- "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch
- "${FILESDIR}"/${PN}-1.85.0-bcp-filesystem.patch
- "${FILESDIR}"/${PN}-1.85.0-python-numpy-2.patch
- "${FILESDIR}"/${PN}-1.85.0-container-aliasing.patch
- "${FILESDIR}"/${PN}-1.85.0-01-fix_unsupported_long_double_macros.patch
- "${FILESDIR}"/${PN}-1.85.0-02-fix_unsupported_long_double_formats.patch
- "${FILESDIR}"/${PN}-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch
- "${FILESDIR}"/${PN}-1.85.0-04-remove_cruft_codeblock.patch
- "${FILESDIR}"/${PN}-1.85.0-05-fix_macro_name.patch
-)
-
-create_user-config.jam() {
- local user_config_jam="${BUILD_DIR}"/user-config.jam
- if [[ -s ${user_config_jam} ]]; then
- einfo "${user_config_jam} already exists, skipping configuration"
- return
- else
- einfo "Creating configuration in ${user_config_jam}"
- fi
-
- local compiler compiler_version compiler_executable="$(tc-getCXX)"
- compiler="gcc"
- compiler_version="$(gcc-version)"
-
- if use mpi; then
- local mpi_configuration="using mpi ;"
- fi
-
- cat > "${user_config_jam}" <<- __EOF__ || die
- using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CPPFLAGS} ${CFLAGS}" <cxxflags>"${CPPFLAGS} ${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
- ${mpi_configuration}
- __EOF__
-
- if multilib_native_use python; then
- append_to_user_config() {
- local py_config
- if tc-is-cross-compiler; then
- py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
- else
- py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
- fi
- echo "${py_config}" >> "${user_config_jam}" || die
- }
- python_foreach_impl append_to_user_config
- fi
-
- if multilib_native_use python && use numpy; then
- einfo "Enabling support for NumPy extensions in Boost.Python"
- else
- einfo "Disabling support for NumPy extensions in Boost.Python"
-
- # Boost.Build does not allow for disabling of numpy
- # extensions, thereby leading to automagic numpy
- # https://github.com/boostorg/python/issues/111#issuecomment-280447482
- sed \
- -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
- -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
- fi
-}
-
-pkg_setup() {
- # Bail out on unsupported build configuration, bug #456792
- if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
- if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
- eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
- eerror "Boost can not be built in such configuration."
- eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
- die "Unsupported target in ${EROOT}/etc/site-config.jam"
- fi
- fi
-}
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-ejam() {
- create_user-config.jam
-
- local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
- if multilib_native_use python; then
- append_to_b2_opts() {
- b2_opts+=( python="${EPYTHON#python}" )
- }
- python_foreach_impl append_to_b2_opts
- else
- b2_opts+=( --without-python )
- fi
- b2_opts+=( "$@" )
-
- echo b2 "${b2_opts[@]}" >&2
- b2 "${b2_opts[@]}"
-}
-
-src_configure() {
- # -Werror=odr
- # https://bugs.gentoo.org/943975
- # https://github.com/boostorg/quickbook/issues/27
- # https://github.com/boostorg/spirit/issues/800
- use tools && filter-lto
-
- lto-guarantee-fat
-
- # Workaround for too many parallel processes requested, bug #506064
- [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
-
- # We don't want to end up with -L/usr/lib on our linker lines
- # which then gives us lots of
- # skipping incompatible /usr/lib/libc.a when searching for -lc
- # warnings
- [[ -n ${ESYSROOT} ]] && local icuarg="-sICU_PATH=${ESYSROOT}/usr"
-
- OPTIONS=(
- $(usex debug gentoodebug gentoorelease)
- "-j$(makeopts_jobs)"
- -q
- -d+2
- pch=off
- $(usex icu "${icuarg}" '--disable-icu boost.locale.icu=off')
- $(usev !mpi --without-mpi)
- $(usev !nls --without-locale)
- $(usev !context '--without-context --without-coroutine --without-fiber')
- $(usev !stacktrace --without-stacktrace)
- --boost-build="${BROOT}"/usr/share/b2/src
- --layout=system
- # building with threading=single is currently not possible
- # https://svn.boost.org/trac/boost/ticket/7105
- threading=multi
- link=shared
- # this seems to be the only way to disable compression algorithms
- # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
- -sNO_BZIP2=$(usex bzip2 0 1)
- -sNO_LZMA=$(usex lzma 0 1)
- -sNO_ZLIB=$(usex zlib 0 1)
- -sNO_ZSTD=$(usex zstd 0 1)
- )
-
- if [[ ${CHOST} == *-darwin* ]]; then
- # We need to add the prefix, and in two cases this exceeds, so prepare
- # for the largest possible space allocation.
- append-ldflags -Wl,-headerpad_max_install_names
- fi
-
- # Use C++17 globally as of 1.80
- append-cxxflags -std=c++17
-
- if [[ ${CHOST} != *-darwin* ]]; then
- # On modern macOS, file I/O is already 64-bit by default,
- # there's no support for special options like O_LARGEFILE.
- # Thus, LFS must be disabled.
- #
- # On other systems, we need to enable LFS explicitly for 64-bit
- # offsets on 32-bit hosts (#894564)
- append-lfs-flags
- fi
-}
-
-multilib_src_compile() {
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" || die
-
- if multilib_native_use tools; then
- pushd tools >/dev/null || die
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" \
- || die "Building of Boost tools failed"
- popd >/dev/null || die
- fi
-}
-
-multilib_src_install() {
- ejam \
- --prefix="${ED}"/usr \
- --includedir="${ED}"/usr/include \
- --libdir="${ED}"/usr/$(get_libdir) \
- "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
-
- if multilib_native_use tools; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # boost's build system truely sucks for not having a destdir. Because for
- # this reason we are forced to build with a prefix that includes the
- # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
- # DESTROOT instread of the actual EPREFIX. There is no way out of here
- # but to do it the dirty way of manually setting the right install_names.
- if [[ ${CHOST} == *-darwin* ]]; then
- einfo "Working around completely broken build-system(tm)"
- local d
- for d in "${ED}"/usr/lib/*.dylib; do
- if [[ -f ${d} ]]; then
- # fix the "soname"
- ebegin " correcting install_name of ${d#${ED}}"
- install_name_tool -id "/${d#${D}}" "${d}"
- eend $?
- # fix references to other libs
- # these paths look like this:
- # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/
- # threadapi-pthread/threading-multi/visibility-hidden/
- # libboost_thread.dylib
- refs=$(otool -XL "${d}" | \
- sed -e '1d' -e 's/^\t//' | \
- grep "libboost_" | \
- cut -f1 -d' ')
- local r
- for r in ${refs}; do
- # strip path prefix from references, so we obtain
- # something like libboost_thread.dylib.
- local r_basename=${r##*/}
-
- ebegin " correcting reference to ${r_basename}"
- install_name_tool -change \
- "${r}" \
- "${EPREFIX}/usr/lib/${r_basename}" \
- "${d}"
- eend $?
- done
- fi
- done
- fi
-}
-
-multilib_src_install_all() {
- if ! use numpy; then
- rm -r "${ED}"/usr/include/boost/python/numpy* || die
- fi
-
- if use python; then
- if use mpi; then
- move_mpi_py_into_sitedir() {
- python_moduleinto boost
-
- python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
- rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
-
- python_optimize
- }
- python_foreach_impl move_mpi_py_into_sitedir
- else
- rm -r "${ED}"/usr/include/boost/mpi/python* || die
- fi
- else
- rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
- fi
-
- if ! use nls; then
- rm -r "${ED}"/usr/include/boost/locale || die
- fi
-
- if ! use context; then
- rm -r "${ED}"/usr/include/boost/context || die
- rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
- rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
- fi
-
- if use doc; then
- # find extraneous files that shouldn't be installed
- # as part of the documentation and remove them.
- find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
- find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
- find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
-
- docinto html
- dodoc *.{htm,html,png,css}
- dodoc -r doc libs more tools
-
- # To avoid broken links
- dodoc LICENSE_1_0.txt
-
- dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
- fi
-
- strip-lto-bytecode
-}
-
-pkg_preinst() {
- # Yay for having symlinks that are nigh-impossible to remove without
- # resorting to dirty hacks like these. Removes lingering symlinks
- # from the slotted versions.
- local symlink
- for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
- if [[ -L ${symlink} ]]; then
- rm -f "${symlink}" || die
- fi
- done
-
- # some ancient installs still have boost cruft lying around
- # for unknown reasons, causing havoc for reverse dependencies
- # Bug: 607734
- rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
-}
-
-pkg_postinst() {
- elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
- elog
- elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
- elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
- elog
- elog "Then you need to recompile Boost and all its reverse dependencies"
- elog "using the same toolchain. In general, *every* change of the C++ toolchain"
- elog "requires a complete rebuild of the Boost-dependent ecosystem."
- elog
- elog "See for instance https://bugs.gentoo.org/638138"
-}
diff --git a/dev-libs/boost/boost-1.86.0-r1.ebuild b/dev-libs/boost/boost-1.86.0-r1.ebuild
deleted file mode 100644
index 9652542941e02..0000000000000
--- a/dev-libs/boost/boost-1.86.0-r1.ebuild
+++ /dev/null
@@ -1,360 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Keep an eye on both of these after releases for patches:
-# * https://www.boost.org/patches/
-# * https://www.boost.org/users/history/version_${MY_PV}.html
-# (e.g. https://www.boost.org/users/history/version_1_83_0.html)
-# Note that the latter may sometimes feature patches not on the former too.
-
-PYTHON_COMPAT=( python3_{11..13} )
-
-inherit dot-a flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
-
-MY_PV="$(ver_rs 1- _)"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="https://www.boost.org/"
-SRC_URI="https://archives.boost.io/release/${PV}/source/boost_${MY_PV}.tar.bz2"
-S="${WORKDIR}/${PN}_${MY_PV}"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="bzip2 +context debug doc icu lzma +nls mpi numpy python +stacktrace tools zlib zstd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# the tests will never fail because these are not intended as sanity
-# tests at all. They are more a way for upstream to check their own code
-# on new compilers. Since they would either be completely unreliable
-# (failing for no good reason) or completely useless (never failing)
-# there is no point in having them in the ebuild to begin with.
-RESTRICT="test"
-
-RDEPEND="
- bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
- icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
- mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] )
- python? (
- ${PYTHON_DEPS}
- numpy? ( dev-python/numpy:=[${PYTHON_USEDEP}] )
- )
- zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-build/b2-5.1.0"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch
- "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch
- "${FILESDIR}"/${PN}-1.85.0-bcp-filesystem.patch
- "${FILESDIR}"/${PN}-1.85.0-python-numpy-2.patch
-
- # backports
- # https://github.com/boostorg/compute/issues/889
- "${FILESDIR}"/${PN}-1.86.0-uuid-compute-backport.patch
-)
-
-create_user-config.jam() {
- local user_config_jam="${BUILD_DIR}"/user-config.jam
- if [[ -s ${user_config_jam} ]]; then
- einfo "${user_config_jam} already exists, skipping configuration"
- return
- else
- einfo "Creating configuration in ${user_config_jam}"
- fi
-
- local compiler compiler_version compiler_executable="$(tc-getCXX)"
- compiler="gcc"
- compiler_version="$(gcc-version)"
-
- if use mpi; then
- local mpi_configuration="using mpi ;"
- fi
-
- cat > "${user_config_jam}" <<- __EOF__ || die
- using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CPPFLAGS} ${CFLAGS}" <cxxflags>"${CPPFLAGS} ${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
- ${mpi_configuration}
- __EOF__
-
- if multilib_native_use python; then
- append_to_user_config() {
- local py_config
- if tc-is-cross-compiler; then
- py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
- else
- py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
- fi
- echo "${py_config}" >> "${user_config_jam}" || die
- }
- python_foreach_impl append_to_user_config
- fi
-
- if multilib_native_use python && use numpy; then
- einfo "Enabling support for NumPy extensions in Boost.Python"
- else
- einfo "Disabling support for NumPy extensions in Boost.Python"
-
- # Boost.Build does not allow for disabling of numpy
- # extensions, thereby leading to automagic numpy
- # https://github.com/boostorg/python/issues/111#issuecomment-280447482
- sed \
- -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
- -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
- fi
-}
-
-pkg_setup() {
- # Bail out on unsupported build configuration, bug #456792
- if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
- if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
- eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
- eerror "Boost can not be built in such configuration."
- eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
- die "Unsupported target in ${EROOT}/etc/site-config.jam"
- fi
- fi
-}
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-ejam() {
- create_user-config.jam
-
- local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
- if multilib_native_use python; then
- append_to_b2_opts() {
- b2_opts+=( python="${EPYTHON#python}" )
- }
- python_foreach_impl append_to_b2_opts
- else
- b2_opts+=( --without-python )
- fi
- b2_opts+=( "$@" )
-
- echo b2 "${b2_opts[@]}" >&2
- b2 "${b2_opts[@]}"
-}
-
-src_configure() {
- # -Werror=odr
- # https://bugs.gentoo.org/943975
- # https://github.com/boostorg/quickbook/issues/27
- # https://github.com/boostorg/spirit/issues/800
- use tools && filter-lto
-
- lto-guarantee-fat
-
- # Workaround for too many parallel processes requested, bug #506064
- [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
-
- # We don't want to end up with -L/usr/lib on our linker lines
- # which then gives us lots of
- # skipping incompatible /usr/lib/libc.a when searching for -lc
- # warnings
- [[ -n ${ESYSROOT} ]] && local icuarg="-sICU_PATH=${ESYSROOT}/usr"
-
- OPTIONS=(
- $(usex debug gentoodebug gentoorelease)
- "-j$(makeopts_jobs)"
- -q
- -d+2
- pch=off
- $(usex icu "${icuarg}" '--disable-icu boost.locale.icu=off')
- $(usev !mpi --without-mpi)
- $(usev !nls --without-locale)
- $(usev !context '--without-context --without-coroutine --without-fiber')
- $(usev !stacktrace --without-stacktrace)
- --boost-build="${BROOT}"/usr/share/b2/src
- --layout=system
- # building with threading=single is currently not possible
- # https://svn.boost.org/trac/boost/ticket/7105
- threading=multi
- link=shared
- # this seems to be the only way to disable compression algorithms
- # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
- -sNO_BZIP2=$(usex bzip2 0 1)
- -sNO_LZMA=$(usex lzma 0 1)
- -sNO_ZLIB=$(usex zlib 0 1)
- -sNO_ZSTD=$(usex zstd 0 1)
- boost.stacktrace.from_exception=off
- )
-
- if [[ ${CHOST} == *-darwin* ]]; then
- # We need to add the prefix, and in two cases this exceeds, so prepare
- # for the largest possible space allocation.
- append-ldflags -Wl,-headerpad_max_install_names
- fi
-
- # Use C++17 globally as of 1.80
- append-cxxflags -std=c++17
-
- if [[ ${CHOST} != *-darwin* ]]; then
- # On modern macOS, file I/O is already 64-bit by default,
- # there's no support for special options like O_LARGEFILE.
- # Thus, LFS must be disabled.
- #
- # On other systems, we need to enable LFS explicitly for 64-bit
- # offsets on 32-bit hosts (#894564)
- append-lfs-flags
- fi
-}
-
-multilib_src_compile() {
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" || die
-
- if multilib_native_use tools; then
- pushd tools >/dev/null || die
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" \
- || die "Building of Boost tools failed"
- popd >/dev/null || die
- fi
-}
-
-multilib_src_install() {
- ejam \
- --prefix="${ED}"/usr \
- --includedir="${ED}"/usr/include \
- --libdir="${ED}"/usr/$(get_libdir) \
- "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
-
- if multilib_native_use tools; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # boost's build system truely sucks for not having a destdir. Because for
- # this reason we are forced to build with a prefix that includes the
- # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
- # DESTROOT instread of the actual EPREFIX. There is no way out of here
- # but to do it the dirty way of manually setting the right install_names.
- if [[ ${CHOST} == *-darwin* ]]; then
- einfo "Working around completely broken build-system(tm)"
- local d
- for d in "${ED}"/usr/lib/*.dylib; do
- if [[ -f ${d} ]]; then
- # fix the "soname"
- ebegin " correcting install_name of ${d#${ED}}"
- install_name_tool -id "/${d#${D}}" "${d}"
- eend $?
- # fix references to other libs
- # these paths look like this:
- # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/
- # threadapi-pthread/threading-multi/visibility-hidden/
- # libboost_thread.dylib
- refs=$(otool -XL "${d}" | \
- sed -e '1d' -e 's/^\t//' | \
- grep "libboost_" | \
- cut -f1 -d' ')
- local r
- for r in ${refs}; do
- # strip path prefix from references, so we obtain
- # something like libboost_thread.dylib.
- local r_basename=${r##*/}
-
- ebegin " correcting reference to ${r_basename}"
- install_name_tool -change \
- "${r}" \
- "${EPREFIX}/usr/lib/${r_basename}" \
- "${d}"
- eend $?
- done
- fi
- done
- fi
-}
-
-multilib_src_install_all() {
- if ! use numpy; then
- rm -r "${ED}"/usr/include/boost/python/numpy* || die
- fi
-
- if use python; then
- if use mpi; then
- move_mpi_py_into_sitedir() {
- python_moduleinto boost
-
- python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
- rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
-
- python_optimize
- }
- python_foreach_impl move_mpi_py_into_sitedir
- else
- rm -r "${ED}"/usr/include/boost/mpi/python* || die
- fi
- else
- rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
- fi
-
- if ! use nls; then
- rm -r "${ED}"/usr/include/boost/locale || die
- fi
-
- if ! use context; then
- rm -r "${ED}"/usr/include/boost/context || die
- rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
- rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
- fi
-
- if use doc; then
- # find extraneous files that shouldn't be installed
- # as part of the documentation and remove them.
- find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
- find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
- find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
-
- docinto html
- dodoc *.{htm,html,png,css}
- dodoc -r doc libs more tools
-
- # To avoid broken links
- dodoc LICENSE_1_0.txt
-
- dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
- fi
-
- strip-lto-bytecode
-}
-
-pkg_preinst() {
- # Yay for having symlinks that are nigh-impossible to remove without
- # resorting to dirty hacks like these. Removes lingering symlinks
- # from the slotted versions.
- local symlink
- for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
- if [[ -L ${symlink} ]]; then
- rm -f "${symlink}" || die
- fi
- done
-
- # some ancient installs still have boost cruft lying around
- # for unknown reasons, causing havoc for reverse dependencies
- # Bug: 607734
- rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
-}
-
-pkg_postinst() {
- elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
- elog
- elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
- elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
- elog
- elog "Then you need to recompile Boost and all its reverse dependencies"
- elog "using the same toolchain. In general, *every* change of the C++ toolchain"
- elog "requires a complete rebuild of the Boost-dependent ecosystem."
- elog
- elog "See for instance https://bugs.gentoo.org/638138"
-}
diff --git a/dev-libs/boost/boost-1.87.0-r3.ebuild b/dev-libs/boost/boost-1.87.0-r3.ebuild
deleted file mode 100644
index e595eef73b65a..0000000000000
--- a/dev-libs/boost/boost-1.87.0-r3.ebuild
+++ /dev/null
@@ -1,359 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Keep an eye on both of these after releases for patches:
-# * https://www.boost.org/patches/
-# * https://www.boost.org/users/history/version_${MY_PV}.html
-# (e.g. https://www.boost.org/users/history/version_1_83_0.html)
-# Note that the latter may sometimes feature patches not on the former too.
-
-PYTHON_COMPAT=( python3_{11..13} )
-
-inherit dot-a flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
-
-MY_PV="$(ver_rs 1- _)"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="https://www.boost.org/"
-SRC_URI="https://archives.boost.io/release/${PV}/source/boost_${MY_PV}.tar.bz2"
-S="${WORKDIR}/${PN}_${MY_PV}"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="bzip2 +context debug doc icu lzma +nls mpi numpy python +stacktrace tools zlib zstd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# the tests will never fail because these are not intended as sanity
-# tests at all. They are more a way for upstream to check their own code
-# on new compilers. Since they would either be completely unreliable
-# (failing for no good reason) or completely useless (never failing)
-# there is no point in having them in the ebuild to begin with.
-RESTRICT="test"
-
-RDEPEND="
- bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
- icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
- mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] )
- python? (
- ${PYTHON_DEPS}
- numpy? ( dev-python/numpy:=[${PYTHON_USEDEP}] )
- )
- zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-build/b2-5.1.0"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch
- "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch
- "${FILESDIR}"/${PN}-1.87.0-move.patch
- "${FILESDIR}"/${PN}-1.87.0-smart_ptr-operator.patch
- "${FILESDIR}"/${PN}-1.87.0-thread-typo.patch
- "${FILESDIR}"/${PN}-1.87.0-solaris.patch
- "${FILESDIR}"/${PN}-1.87.0-process-error-alpha.patch
-)
-
-create_user-config.jam() {
- local user_config_jam="${BUILD_DIR}"/user-config.jam
- if [[ -s ${user_config_jam} ]]; then
- einfo "${user_config_jam} already exists, skipping configuration"
- return
- else
- einfo "Creating configuration in ${user_config_jam}"
- fi
-
- local compiler compiler_version compiler_executable="$(tc-getCXX)"
- compiler="gcc"
- compiler_version="$(gcc-version)"
-
- if use mpi; then
- local mpi_configuration="using mpi ;"
- fi
-
- cat > "${user_config_jam}" <<- __EOF__ || die
- using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CPPFLAGS} ${CFLAGS}" <cxxflags>"${CPPFLAGS} ${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
- ${mpi_configuration}
- __EOF__
-
- if multilib_native_use python; then
- append_to_user_config() {
- local py_config
- if tc-is-cross-compiler; then
- py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
- else
- py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
- fi
- echo "${py_config}" >> "${user_config_jam}" || die
- }
- python_foreach_impl append_to_user_config
- fi
-
- if multilib_native_use python && use numpy; then
- einfo "Enabling support for NumPy extensions in Boost.Python"
- else
- einfo "Disabling support for NumPy extensions in Boost.Python"
-
- # Boost.Build does not allow for disabling of numpy
- # extensions, thereby leading to automagic numpy
- # https://github.com/boostorg/python/issues/111#issuecomment-280447482
- sed \
- -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
- -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
- fi
-}
-
-pkg_setup() {
- # Bail out on unsupported build configuration, bug #456792
- if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
- if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
- eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
- eerror "Boost can not be built in such configuration."
- eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
- die "Unsupported target in ${EROOT}/etc/site-config.jam"
- fi
- fi
-}
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-ejam() {
- create_user-config.jam
-
- local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
- if multilib_native_use python; then
- append_to_b2_opts() {
- b2_opts+=( python="${EPYTHON#python}" )
- }
- python_foreach_impl append_to_b2_opts
- else
- b2_opts+=( --without-python )
- fi
- b2_opts+=( "$@" )
-
- echo b2 "${b2_opts[@]}" >&2
- b2 "${b2_opts[@]}"
-}
-
-src_configure() {
- # -Werror=odr
- # https://bugs.gentoo.org/943975
- # https://github.com/boostorg/quickbook/issues/27
- # https://github.com/boostorg/spirit/issues/800
- use tools && filter-lto
-
- lto-guarantee-fat
-
- # Workaround for too many parallel processes requested, bug #506064
- [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
-
- # We don't want to end up with -L/usr/lib on our linker lines
- # which then gives us lots of
- # skipping incompatible /usr/lib/libc.a when searching for -lc
- # warnings
- [[ -n ${ESYSROOT} ]] && local icuarg="-sICU_PATH=${ESYSROOT}/usr"
-
- OPTIONS=(
- $(usex debug gentoodebug gentoorelease)
- "-j$(makeopts_jobs)"
- -q
- -d+2
- pch=off
- $(usex icu "${icuarg}" '--disable-icu boost.locale.icu=off')
- $(usev !mpi --without-mpi)
- $(usev !nls --without-locale)
- $(usev !context '--without-context --without-coroutine --without-fiber')
- $(usev !stacktrace --without-stacktrace)
- --boost-build="${BROOT}"/usr/share/b2/src
- --layout=system
- # building with threading=single is currently not possible
- # https://svn.boost.org/trac/boost/ticket/7105
- threading=multi
- link=shared
- # this seems to be the only way to disable compression algorithms
- # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
- -sNO_BZIP2=$(usex bzip2 0 1)
- -sNO_LZMA=$(usex lzma 0 1)
- -sNO_ZLIB=$(usex zlib 0 1)
- -sNO_ZSTD=$(usex zstd 0 1)
- boost.stacktrace.from_exception=off
- )
-
- if [[ ${CHOST} == *-darwin* ]]; then
- # We need to add the prefix, and in two cases this exceeds, so prepare
- # for the largest possible space allocation.
- append-ldflags -Wl,-headerpad_max_install_names
- fi
-
- # Use C++17 globally as of 1.80
- append-cxxflags -std=c++17
-
- if [[ ${CHOST} != *-darwin* ]]; then
- # On modern macOS, file I/O is already 64-bit by default,
- # there's no support for special options like O_LARGEFILE.
- # Thus, LFS must be disabled.
- #
- # On other systems, we need to enable LFS explicitly for 64-bit
- # offsets on 32-bit hosts (#894564)
- append-lfs-flags
- fi
-}
-
-multilib_src_compile() {
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" || die
-
- if multilib_native_use tools; then
- pushd tools >/dev/null || die
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" \
- || die "Building of Boost tools failed"
- popd >/dev/null || die
- fi
-}
-
-multilib_src_install() {
- ejam \
- --prefix="${ED}"/usr \
- --includedir="${ED}"/usr/include \
- --libdir="${ED}"/usr/$(get_libdir) \
- "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
-
- if multilib_native_use tools; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # boost's build system truely sucks for not having a destdir. Because for
- # this reason we are forced to build with a prefix that includes the
- # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
- # DESTROOT instread of the actual EPREFIX. There is no way out of here
- # but to do it the dirty way of manually setting the right install_names.
- if [[ ${CHOST} == *-darwin* ]]; then
- einfo "Working around completely broken build-system(tm)"
- local d
- for d in "${ED}"/usr/lib/*.dylib; do
- if [[ -f ${d} ]]; then
- # fix the "soname"
- ebegin " correcting install_name of ${d#${ED}}"
- install_name_tool -id "/${d#${D}}" "${d}"
- eend $?
- # fix references to other libs
- # these paths look like this:
- # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/
- # threadapi-pthread/threading-multi/visibility-hidden/
- # libboost_thread.dylib
- refs=$(otool -XL "${d}" | \
- sed -e '1d' -e 's/^\t//' | \
- grep "libboost_" | \
- cut -f1 -d' ')
- local r
- for r in ${refs}; do
- # strip path prefix from references, so we obtain
- # something like libboost_thread.dylib.
- local r_basename=${r##*/}
-
- ebegin " correcting reference to ${r_basename}"
- install_name_tool -change \
- "${r}" \
- "${EPREFIX}/usr/lib/${r_basename}" \
- "${d}"
- eend $?
- done
- fi
- done
- fi
-}
-
-multilib_src_install_all() {
- if ! use numpy; then
- rm -r "${ED}"/usr/include/boost/python/numpy* || die
- fi
-
- if use python; then
- if use mpi; then
- move_mpi_py_into_sitedir() {
- python_moduleinto boost
-
- python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
- rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
-
- python_optimize
- }
- python_foreach_impl move_mpi_py_into_sitedir
- else
- rm -r "${ED}"/usr/include/boost/mpi/python* || die
- fi
- else
- rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
- fi
-
- if ! use nls; then
- rm -r "${ED}"/usr/include/boost/locale || die
- fi
-
- if ! use context; then
- rm -r "${ED}"/usr/include/boost/context || die
- rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
- rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
- fi
-
- if use doc; then
- # find extraneous files that shouldn't be installed
- # as part of the documentation and remove them.
- find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
- find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
- find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
-
- docinto html
- dodoc *.{htm,html,png,css}
- dodoc -r doc libs more tools
-
- # To avoid broken links
- dodoc LICENSE_1_0.txt
-
- dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
- fi
-
- strip-lto-bytecode
-}
-
-pkg_preinst() {
- # Yay for having symlinks that are nigh-impossible to remove without
- # resorting to dirty hacks like these. Removes lingering symlinks
- # from the slotted versions.
- local symlink
- for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
- if [[ -L ${symlink} ]]; then
- rm -f "${symlink}" || die
- fi
- done
-
- # some ancient installs still have boost cruft lying around
- # for unknown reasons, causing havoc for reverse dependencies
- # Bug: 607734
- rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
-}
-
-pkg_postinst() {
- elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
- elog
- elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
- elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
- elog
- elog "Then you need to recompile Boost and all its reverse dependencies"
- elog "using the same toolchain. In general, *every* change of the C++ toolchain"
- elog "requires a complete rebuild of the Boost-dependent ecosystem."
- elog
- elog "See for instance https://bugs.gentoo.org/638138"
-}
diff --git a/dev-libs/boost/files/boost-1.85.0-01-fix_unsupported_long_double_macros.patch b/dev-libs/boost/files/boost-1.85.0-01-fix_unsupported_long_double_macros.patch
deleted file mode 100644
index 58387c211b44f..0000000000000
--- a/dev-libs/boost/files/boost-1.85.0-01-fix_unsupported_long_double_macros.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-https://bugs.gentoo.org/932579
-https://github.com/boostorg/charconv/pull/183
---- a/boost/charconv/detail/bit_layouts.hpp
-+++ b/boost/charconv/detail/bit_layouts.hpp
-@@ -107,6 +107,7 @@ struct IEEEl2bits
-
- #else // Unsupported long double representation
- # define BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+# define BOOST_CHARCONV_LDBL_BITS -1
- #endif
-
- struct IEEEbinary128
---- a/boost/charconv/from_chars.hpp
-+++ b/boost/charconv/from_chars.hpp
-@@ -139,7 +139,10 @@ BOOST_CHARCONV_GCC5_CONSTEXPR from_chars_result from_chars(boost::core::string_v
-
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept;
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept;
-+
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept;
-+#endif
-
- #ifdef BOOST_CHARCONV_HAS_FLOAT128
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, __float128& value, chars_format fmt = chars_format::general) noexcept;
-@@ -164,7 +167,10 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const
-
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept;
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept;
-+
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept;
-+#endif
-
- #ifdef BOOST_CHARCONV_HAS_FLOAT128
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, __float128& value, chars_format fmt = chars_format::general) noexcept;
-@@ -193,7 +199,10 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view
-
- BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept;
- BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept;
-+
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept;
-+#endif
-
- #ifdef BOOST_CHARCONV_HAS_FLOAT128
- BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, __float128& value, chars_format fmt = chars_format::general) noexcept;
-@@ -216,7 +225,10 @@ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char*
-
- BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept;
- BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept;
-+
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept;
-+#endif
-
- #ifdef BOOST_CHARCONV_HAS_FLOAT128
- BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, __float128& value, chars_format fmt = chars_format::general) noexcept;
---- a/libs/charconv/src/from_chars.cpp
-+++ b/libs/charconv/src/from_chars.cpp
-@@ -205,7 +205,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char
- return r;
- }
-
--#else
-+#elif !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
-
- boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept
- {
-@@ -299,10 +299,12 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::cor
- return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt);
- }
-
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept
- {
- return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt);
- }
-+#endif
-
- #ifdef BOOST_CHARCONV_HAS_FLOAT128
- boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::core::string_view sv, __float128& value, boost::charconv::chars_format fmt) noexcept
-@@ -372,10 +374,12 @@ boost::charconv::from_chars_result boost::charconv::from_chars(const char* first
- return from_chars_strict_impl(first, last, value, fmt);
- }
-
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- boost::charconv::from_chars_result boost::charconv::from_chars(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept
- {
- return from_chars_strict_impl(first, last, value, fmt);
- }
-+#endif
-
- #ifdef BOOST_CHARCONV_HAS_FLOAT128
- boost::charconv::from_chars_result boost::charconv::from_chars(const char* first, const char* last, __float128& value, boost::charconv::chars_format fmt) noexcept
-@@ -429,10 +433,12 @@ boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::stri
- return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt);
- }
-
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept
- {
- return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt);
- }
-+#endif
-
- #ifdef BOOST_CHARCONV_HAS_FLOAT128
- boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::string_view sv, __float128& value, boost::charconv::chars_format fmt) noexcept
---
-2.45.2
-
diff --git a/dev-libs/boost/files/boost-1.85.0-02-fix_unsupported_long_double_formats.patch b/dev-libs/boost/files/boost-1.85.0-02-fix_unsupported_long_double_formats.patch
deleted file mode 100644
index 59a007907be63..0000000000000
--- a/dev-libs/boost/files/boost-1.85.0-02-fix_unsupported_long_double_formats.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/932579
-https://github.com/boostorg/charconv/pull/183
---- a/boost/charconv/to_chars.hpp
-+++ b/boost/charconv/to_chars.hpp
-@@ -81,15 +81,21 @@ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float valu
- chars_format fmt = chars_format::general) noexcept;
- BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value,
- chars_format fmt = chars_format::general) noexcept;
-+
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value,
- chars_format fmt = chars_format::general) noexcept;
-+#endif
-
- BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float value,
- chars_format fmt, int precision) noexcept;
- BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value,
- chars_format fmt, int precision) noexcept;
-+
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value,
- chars_format fmt, int precision) noexcept;
-+#endif
-
- #ifdef BOOST_CHARCONV_HAS_FLOAT128
- BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, __float128 value,
---
-2.45.2
-
diff --git a/dev-libs/boost/files/boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch b/dev-libs/boost/files/boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch
deleted file mode 100644
index fc7a3e5b6aa5f..0000000000000
--- a/dev-libs/boost/files/boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch
+++ /dev/null
@@ -1,420 +0,0 @@
-https://bugs.gentoo.org/932579
-https://github.com/boostorg/charconv/pull/183
---- a/libs/charconv/test/from_chars_float.cpp
-+++ b/libs/charconv/test/from_chars_float.cpp
-@@ -440,6 +440,7 @@ void test_issue_37()
- overflow_spot_value("1.0e+9999", HUGE_VAL);
- overflow_spot_value("-1.0e+9999", -HUGE_VAL);
- }
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- else
- {
- overflow_spot_value("1e99999", HUGE_VALL);
-@@ -447,6 +448,7 @@ void test_issue_37()
- overflow_spot_value("1.0e+99999", HUGE_VALL);
- overflow_spot_value("-1.0e+99999", -HUGE_VALL);
- }
-+ #endif
-
- overflow_spot_value("1e-99999", static_cast<T>(0.0L));
- overflow_spot_value("-1.0e-99999", static_cast<T>(-0.0L));
-@@ -530,20 +532,22 @@ int main()
- odd_strings_test<float>();
- odd_strings_test<double>();
-
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- simple_integer_test<long double>();
- simple_hex_integer_test<long double>();
- simple_scientific_test<long double>();
- simple_hex_scientific_test<long double>();
-+ zero_test<long double>();
-+ test_issue_37<long double>();
-+ #endif
-
- zero_test<float>();
- zero_test<double>();
-- zero_test<long double>();
-
- boost_json_test<double>();
-
- test_issue_37<float>();
- test_issue_37<double>();
-- test_issue_37<long double>();
-
- test_issue_45<double>(static_cast<double>(-4109895455460520.5), "-4109895455460520.513430", 19);
- test_issue_45<double>(1.035695536657502e-308, "1.0356955366575023e-3087", 23);
-@@ -1846,40 +1850,29 @@ int main()
- spot_check_nan<float>("-nan", fmt);
- spot_check_nan<double>("nan", fmt);
- spot_check_nan<double>("-nan", fmt);
-- spot_check_nan<long double>("nan", fmt);
-- spot_check_nan<long double>("-nan", fmt);
-
- spot_check_inf<float>("inf", fmt);
- spot_check_inf<float>("-inf", fmt);
- spot_check_inf<double>("inf", fmt);
- spot_check_inf<double>("-inf", fmt);
-- spot_check_inf<long double>("inf", fmt);
-- spot_check_inf<long double>("-inf", fmt);
-
- spot_check_nan<float>("NAN", fmt);
- spot_check_nan<float>("-NAN", fmt);
- spot_check_nan<double>("NAN", fmt);
- spot_check_nan<double>("-NAN", fmt);
-- spot_check_nan<long double>("NAN", fmt);
-- spot_check_nan<long double>("-NAN", fmt);
-
- spot_check_inf<float>("INF", fmt);
- spot_check_inf<float>("-INF", fmt);
- spot_check_inf<double>("INF", fmt);
- spot_check_inf<double>("-INF", fmt);
-- spot_check_inf<long double>("INF", fmt);
-- spot_check_inf<long double>("-INF", fmt);
-
- spot_check_nan<float>("nan(snan)", fmt);
- spot_check_nan<float>("-nan(snan)", fmt);
- spot_check_nan<double>("nan(snan)", fmt);
- spot_check_nan<double>("-nan(snan)", fmt);
-- spot_check_nan<long double>("nan(snan)", fmt);
-- spot_check_nan<long double>("-nan(snan)", fmt);
-
- spot_check_nan<float>("-nan(ind)", fmt);
- spot_check_nan<double>("-nan(ind)", fmt);
-- spot_check_nan<long double>("-nan(ind)", fmt);
-
- spot_check_invalid_argument<float>("na7", fmt);
- spot_check_invalid_argument<float>("na", fmt);
-@@ -1889,8 +1882,22 @@ int main()
- spot_check_invalid_argument<float>(" 1.23", fmt);
- spot_check_invalid_argument<double>(" 1.23", fmt);
- spot_check_invalid_argument<double>(" 1.23", fmt);
-+
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ spot_check_nan<long double>("nan", fmt);
-+ spot_check_nan<long double>("-nan", fmt);
-+ spot_check_inf<long double>("inf", fmt);
-+ spot_check_inf<long double>("-inf", fmt);
-+ spot_check_nan<long double>("NAN", fmt);
-+ spot_check_nan<long double>("-NAN", fmt);
-+ spot_check_inf<long double>("INF", fmt);
-+ spot_check_inf<long double>("-INF", fmt);
-+ spot_check_nan<long double>("nan(snan)", fmt);
-+ spot_check_nan<long double>("-nan(snan)", fmt);
-+ spot_check_nan<long double>("-nan(ind)", fmt);
- spot_check_invalid_argument<long double>(" 1.23", fmt);
- spot_check_invalid_argument<long double>(" 1.23", fmt);
-+ #endif
- }
-
- return boost::report_errors();
---- a/libs/charconv/test/from_chars_string_view.cpp
-+++ b/libs/charconv/test/from_chars_string_view.cpp
-@@ -116,17 +116,23 @@ int main()
-
- test_float<float>();
- test_float<double>();
-- test_float<long double>();
-
- test_float<float, std::string>();
- test_float<double, std::string>();
-+
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ test_float<long double>();
- test_float<long double, std::string>();
-+ #endif
-
- #if !defined(BOOST_NO_CXX17_HDR_STRING_VIEW)
-
- test_float<float, std::string_view>();
- test_float<double, std::string_view>();
-+
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- test_float<long double, std::string_view>();
-+ #endif
-
- #endif
-
---- a/libs/charconv/test/github_issue_110.cpp
-+++ b/libs/charconv/test/github_issue_110.cpp
-@@ -42,7 +42,10 @@ int main()
- {
- test<float>();
- test<double>();
-+
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- test<long double>();
-+ #endif
-
- #ifdef BOOST_CHARCONV_HAS_FLOAT128
- test<__float128>();
---- a/libs/charconv/test/github_issue_122.cpp
-+++ b/libs/charconv/test/github_issue_122.cpp
-@@ -52,7 +52,10 @@ int main()
- {
- test<float>();
- test<double>();
-+
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- test<long double>();
-+ #endif
-
- return boost::report_errors();
- }
---- a/libs/charconv/test/github_issue_152.cpp
-+++ b/libs/charconv/test/github_issue_152.cpp
-@@ -188,7 +188,6 @@ int main()
- {
- test_non_finite<float>();
- test_non_finite<double>();
-- test_non_finite<long double>();
- #ifdef BOOST_CHARCONV_HAS_FLOAT16
- test_non_finite<std::float16_t>();
- #endif
-@@ -204,7 +203,6 @@ int main()
-
- test_non_finite_fixed_precision<float>();
- test_non_finite_fixed_precision<double>();
-- test_non_finite_fixed_precision<long double>();
- #ifdef BOOST_CHARCONV_HAS_FLOAT16
- test_non_finite_fixed_precision<std::float16_t>();
- #endif
-@@ -220,7 +218,6 @@ int main()
-
- test_min_buffer_size<float>();
- test_min_buffer_size<double>();
-- test_min_buffer_size<long double>();
- #ifdef BOOST_CHARCONV_HAS_FLOAT32
- test_min_buffer_size<std::float32_t>();
- #endif
-@@ -232,5 +229,11 @@ int main()
- test_failed_values();
- #endif
-
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ test_non_finite<long double>();
-+ test_non_finite_fixed_precision<long double>();
-+ test_min_buffer_size<long double>();
-+ #endif
-+
- return boost::report_errors();
- }
---- a/libs/charconv/test/github_issue_158.cpp
-+++ b/libs/charconv/test/github_issue_158.cpp
-@@ -93,6 +93,7 @@ void test_values_with_negative_exp()
- BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000000000099999999999999990753745222790");
- }
-
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- void test_long_double_with_negative_exp()
- {
- char buffer[256];
-@@ -126,6 +127,7 @@ void test_long_double_with_negative_exp()
- // BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000000999999999999999999997135886174218");
- BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000001000000000000000000000000000000000");
- }
-+#endif
-
- void test_values_with_positive_exp()
- {
-@@ -407,6 +409,7 @@ void test_zero()
- BOOST_TEST_CSTR_EQ(buffer, "0");
- }
-
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- void test_long_double_with_positive_exp()
- {
- char buffer[256];
-@@ -438,6 +441,7 @@ void test_long_double_with_positive_exp()
- BOOST_TEST(res);
- BOOST_TEST_CSTR_EQ(buffer, "100000000000000000.00000000000000000000000000000000000000000000000000");
- }
-+#endif
-
- template <typename T>
- void test_spot_value(T value, int precision, const char* result, boost::charconv::chars_format fmt = boost::charconv::chars_format::fixed)
---- a/libs/charconv/test/limits.cpp
-+++ b/libs/charconv/test/limits.cpp
-@@ -227,7 +227,10 @@ int main()
-
- test_floating_point<float>();
- test_floating_point<double>();
-+
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- test_floating_point<long double>();
-+ #endif
-
- #ifdef BOOST_CHARCONV_HAS_INT128
-
---- a/libs/charconv/test/limits_link_1.cpp
-+++ b/libs/charconv/test/limits_link_1.cpp
-@@ -3,6 +3,7 @@
- // https://www.boost.org/LICENSE_1_0.txt
-
- #include <boost/charconv/limits.hpp>
-+#include <boost/charconv/detail/bit_layouts.hpp>
-
- void test_odr_use( int const* );
-
-@@ -28,7 +29,9 @@ void f1()
-
- test<float>();
- test<double>();
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- test<long double>();
-+ #endif
-
- #ifdef BOOST_CHARCONV_HAS_INT128
-
---- a/libs/charconv/test/limits_link_2.cpp
-+++ b/libs/charconv/test/limits_link_2.cpp
-@@ -3,6 +3,7 @@
- // https://www.boost.org/LICENSE_1_0.txt
-
- #include <boost/charconv/limits.hpp>
-+#include <boost/charconv/detail/bit_layouts.hpp>
-
- void test_odr_use( int const* );
-
-@@ -28,7 +29,9 @@ void f2()
-
- test<float>();
- test<double>();
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- test<long double>();
-+ #endif
-
- #ifdef BOOST_CHARCONV_HAS_INT128
-
---- a/libs/charconv/test/roundtrip.cpp
-+++ b/libs/charconv/test/roundtrip.cpp
-@@ -347,6 +347,7 @@ template<typename FPType> int64_t Distance(FPType y, FPType x)
- return ToOrdinal(y) - ToOrdinal(x);
- }
-
-+#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- template <> void test_roundtrip<long double>(long double value)
- {
- char buffer[ 256 ];
-@@ -381,6 +382,7 @@ template <> void test_roundtrip<long double>(long double value)
- // LCOV_EXCL_STOP
- }
- }
-+#endif
-
- // floating point types, boundary values
-
-@@ -601,7 +603,7 @@ int main()
- #endif
-
- // long double
-- #if !(BOOST_CHARCONV_LDBL_BITS == 128)
-+ #if !(BOOST_CHARCONV_LDBL_BITS == 128) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
-
- {
- long double const ql = std::pow( 1.0L, -64 );
---- a/libs/charconv/test/to_chars_float.cpp
-+++ b/libs/charconv/test/to_chars_float.cpp
-@@ -202,7 +202,7 @@ int main()
- non_finite_values<double>(boost::charconv::chars_format::hex, 2);
-
- // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57484
-- #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__))
-+ #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__)) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
- non_finite_values<long double>();
- #endif
-
---- a/libs/charconv/test/to_chars_float_STL_comp.cpp
-+++ b/libs/charconv/test/to_chars_float_STL_comp.cpp
-@@ -212,7 +212,10 @@ int main()
- // General format
- random_test<float>();
- random_test<double>();
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- random_test<long double>();
-+ #endif
-+
- test_spot<double>(0.0);
- test_spot<double>(-0.0);
-
-@@ -224,7 +227,9 @@ int main()
- // Scientific
- random_test<float>(boost::charconv::chars_format::scientific);
- random_test<double>(boost::charconv::chars_format::scientific);
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- random_test<long double>(boost::charconv::chars_format::scientific);
-+ #endif
- test_spot<double>(0.0, boost::charconv::chars_format::scientific);
- test_spot<double>(-0.0, boost::charconv::chars_format::scientific);
-
-@@ -237,14 +242,20 @@ int main()
- // Hex
- random_test<float>(boost::charconv::chars_format::hex);
- random_test<double>(boost::charconv::chars_format::hex);
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- random_test<long double>(boost::charconv::chars_format::hex);
-+ #endif
-
- #if !defined(_LIBCPP_VERSION)
-+
- random_test<float>(boost::charconv::chars_format::hex, -1e5F, 1e5F);
- random_test<double>(boost::charconv::chars_format::hex, -1e5, 1e5);
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- random_test<long double>(boost::charconv::chars_format::hex, -1e5L, 1e5L);
- #endif
-
-+ #endif
-+
- test_spot<double>(-9.52743282403084637e+306, boost::charconv::chars_format::hex);
- test_spot<double>(-9.52743282403084637e-306, boost::charconv::chars_format::hex);
- test_spot<double>(-9.52743282403084637e+305, boost::charconv::chars_format::hex);
-@@ -261,13 +272,16 @@ int main()
- // Various non-finite values
- non_finite_test<float>();
- non_finite_test<double>();
-- non_finite_test<long double>();
- non_finite_test<float>(boost::charconv::chars_format::scientific);
- non_finite_test<double>(boost::charconv::chars_format::scientific);
-- non_finite_test<long double>(boost::charconv::chars_format::scientific);
- non_finite_test<float>(boost::charconv::chars_format::hex);
- non_finite_test<double>(boost::charconv::chars_format::hex);
-+
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ non_finite_test<long double>();
-+ non_finite_test<long double>(boost::charconv::chars_format::scientific);
- non_finite_test<long double>(boost::charconv::chars_format::hex);
-+ #endif
-
- #if (defined(__GNUC__) && __GNUC__ >= 11) || (defined(_MSC_VER) && _MSC_VER >= 1924)
- // Selected additional values
-@@ -288,7 +302,10 @@ int main()
- // Reported in issue #93
- test_spot<float>(3.3F);
- test_spot<double>(3.3);
-+
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- test_spot<long double>(3.3L);
-+ #endif
-
- return boost::report_errors();
- }
---- a/libs/charconv/test/to_chars_sprintf.cpp
-+++ b/libs/charconv/test/to_chars_sprintf.cpp
-@@ -627,6 +627,7 @@ int main()
-
- // long double
-
-+ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
- {
- for( int i = 0; i < N; ++i )
- {
-@@ -665,6 +666,7 @@ int main()
-
- test_sprintf_bv_fp<long double>();
- }
-+ #endif
-
- return boost::report_errors();
- }
---
-2.45.2
-
diff --git a/dev-libs/boost/files/boost-1.85.0-04-remove_cruft_codeblock.patch b/dev-libs/boost/files/boost-1.85.0-04-remove_cruft_codeblock.patch
deleted file mode 100644
index 8d91e5f41746f..0000000000000
--- a/dev-libs/boost/files/boost-1.85.0-04-remove_cruft_codeblock.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-https://bugs.gentoo.org/932579
-https://github.com/boostorg/charconv/pull/183
---- a/libs/charconv/src/to_chars.cpp
-+++ b/libs/charconv/src/to_chars.cpp
-@@ -620,44 +620,6 @@ boost::charconv::to_chars_result boost::charconv::to_chars(char* first, char* la
- return boost::charconv::detail::to_chars_float_impl(first, last, value, fmt, precision);
- }
-
--#else
--
--boost::charconv::to_chars_result boost::charconv::to_chars( char* first, char* last, long double value,
-- boost::charconv::chars_format fmt, int precision) noexcept
--{
-- if (std::isnan(value))
-- {
-- bool is_negative = false;
-- if (std::signbit(value))
-- {
-- is_negative = true;
-- *first++ = '-';
-- }
--
-- if (issignaling(value))
-- {
-- std::memcpy(first, "nan(snan)", 9);
-- return { first + 9 + static_cast<int>(is_negative), std::errc() };
-- }
-- else
-- {
-- if (is_negative)
-- {
-- std::memcpy(first, "nan(ind)", 8);
-- return { first + 9, std::errc() };
-- }
-- else
-- {
-- std::memcpy(first, "nan", 3);
-- return { first + 3, std::errc() };
-- }
-- }
-- }
--
-- // Fallback to printf
-- return boost::charconv::detail::to_chars_printf_impl(first, last, value, fmt, precision);
--}
--
- #endif
-
- #ifdef BOOST_CHARCONV_HAS_FLOAT128
---
-2.45.2
-
diff --git a/dev-libs/boost/files/boost-1.85.0-05-fix_macro_name.patch b/dev-libs/boost/files/boost-1.85.0-05-fix_macro_name.patch
deleted file mode 100644
index 69899ae3b8503..0000000000000
--- a/dev-libs/boost/files/boost-1.85.0-05-fix_macro_name.patch
+++ /dev/null
@@ -1,356 +0,0 @@
-https://bugs.gentoo.org/932579
-https://github.com/boostorg/charconv/pull/183
---- a/boost/charconv/detail/bit_layouts.hpp
-+++ b/boost/charconv/detail/bit_layouts.hpp
-@@ -106,7 +106,7 @@ struct IEEEl2bits
- #define BOOST_CHARCONV_LDBL_BITS 64
-
- #else // Unsupported long double representation
--# define BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+# define BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- # define BOOST_CHARCONV_LDBL_BITS -1
- #endif
-
---- a/boost/charconv/from_chars.hpp
-+++ b/boost/charconv/from_chars.hpp
-@@ -140,7 +140,7 @@ BOOST_CHARCONV_GCC5_CONSTEXPR from_chars_result from_chars(boost::core::string_v
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept;
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept;
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept;
- #endif
-
-@@ -168,7 +168,7 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept;
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept;
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept;
- #endif
-
-@@ -200,7 +200,7 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view
- BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept;
- BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept;
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept;
- #endif
-
-@@ -226,7 +226,7 @@ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char*
- BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept;
- BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept;
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept;
- #endif
-
---- a/boost/charconv/to_chars.hpp
-+++ b/boost/charconv/to_chars.hpp
-@@ -82,7 +82,7 @@ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float valu
- BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value,
- chars_format fmt = chars_format::general) noexcept;
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value,
- chars_format fmt = chars_format::general) noexcept;
- #endif
-@@ -92,7 +92,7 @@ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float valu
- BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value,
- chars_format fmt, int precision) noexcept;
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value,
- chars_format fmt, int precision) noexcept;
- #endif
---- a/libs/charconv/src/from_chars.cpp
-+++ b/libs/charconv/src/from_chars.cpp
-@@ -205,7 +205,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char
- return r;
- }
-
--#elif !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
-+#elif !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE)
-
- boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept
- {
-@@ -299,7 +299,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::cor
- return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt);
- }
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept
- {
- return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt);
-@@ -374,7 +374,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars(const char* first
- return from_chars_strict_impl(first, last, value, fmt);
- }
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- boost::charconv::from_chars_result boost::charconv::from_chars(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept
- {
- return from_chars_strict_impl(first, last, value, fmt);
-@@ -433,7 +433,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::stri
- return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt);
- }
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept
- {
- return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt);
---- a/libs/charconv/src/to_chars.cpp
-+++ b/libs/charconv/src/to_chars.cpp
-@@ -601,7 +601,7 @@ boost::charconv::to_chars_result boost::charconv::to_chars(char* first, char* la
- return boost::charconv::detail::to_chars_float_impl(first, last, static_cast<double>(value), fmt, precision);
- }
-
--#elif (BOOST_CHARCONV_LDBL_BITS == 80 || BOOST_CHARCONV_LDBL_BITS == 128)
-+#elif !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE)
-
- boost::charconv::to_chars_result boost::charconv::to_chars(char* first, char* last, long double value,
- boost::charconv::chars_format fmt) noexcept
---- a/libs/charconv/test/from_chars_float.cpp
-+++ b/libs/charconv/test/from_chars_float.cpp
-@@ -440,7 +440,7 @@ void test_issue_37()
- overflow_spot_value("1.0e+9999", HUGE_VAL);
- overflow_spot_value("-1.0e+9999", -HUGE_VAL);
- }
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- else
- {
- overflow_spot_value("1e99999", HUGE_VALL);
-@@ -532,7 +532,7 @@ int main()
- odd_strings_test<float>();
- odd_strings_test<double>();
-
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- simple_integer_test<long double>();
- simple_hex_integer_test<long double>();
- simple_scientific_test<long double>();
-@@ -1883,7 +1883,7 @@ int main()
- spot_check_invalid_argument<double>(" 1.23", fmt);
- spot_check_invalid_argument<double>(" 1.23", fmt);
-
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- spot_check_nan<long double>("nan", fmt);
- spot_check_nan<long double>("-nan", fmt);
- spot_check_inf<long double>("inf", fmt);
---- a/libs/charconv/test/from_chars_string_view.cpp
-+++ b/libs/charconv/test/from_chars_string_view.cpp
-@@ -120,7 +120,7 @@ int main()
- test_float<float, std::string>();
- test_float<double, std::string>();
-
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- test_float<long double>();
- test_float<long double, std::string>();
- #endif
-@@ -130,7 +130,7 @@ int main()
- test_float<float, std::string_view>();
- test_float<double, std::string_view>();
-
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- test_float<long double, std::string_view>();
- #endif
-
---- a/libs/charconv/test/github_issue_110.cpp
-+++ b/libs/charconv/test/github_issue_110.cpp
-@@ -43,7 +43,7 @@ int main()
- test<float>();
- test<double>();
-
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- test<long double>();
- #endif
-
---- a/libs/charconv/test/github_issue_122.cpp
-+++ b/libs/charconv/test/github_issue_122.cpp
-@@ -53,7 +53,7 @@ int main()
- test<float>();
- test<double>();
-
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- test<long double>();
- #endif
-
---- a/libs/charconv/test/github_issue_152.cpp
-+++ b/libs/charconv/test/github_issue_152.cpp
-@@ -229,7 +229,7 @@ int main()
- test_failed_values();
- #endif
-
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- test_non_finite<long double>();
- test_non_finite_fixed_precision<long double>();
- test_min_buffer_size<long double>();
---- a/libs/charconv/test/github_issue_158.cpp
-+++ b/libs/charconv/test/github_issue_158.cpp
-@@ -93,7 +93,7 @@ void test_values_with_negative_exp()
- BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000000000099999999999999990753745222790");
- }
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- void test_long_double_with_negative_exp()
- {
- char buffer[256];
-@@ -409,7 +409,7 @@ void test_zero()
- BOOST_TEST_CSTR_EQ(buffer, "0");
- }
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- void test_long_double_with_positive_exp()
- {
- char buffer[256];
---- a/libs/charconv/test/limits.cpp
-+++ b/libs/charconv/test/limits.cpp
-@@ -228,7 +228,7 @@ int main()
- test_floating_point<float>();
- test_floating_point<double>();
-
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- test_floating_point<long double>();
- #endif
-
---- a/libs/charconv/test/limits_link_1.cpp
-+++ b/libs/charconv/test/limits_link_1.cpp
-@@ -29,7 +29,7 @@ void f1()
-
- test<float>();
- test<double>();
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- test<long double>();
- #endif
-
---- a/libs/charconv/test/limits_link_2.cpp
-+++ b/libs/charconv/test/limits_link_2.cpp
-@@ -29,7 +29,7 @@ void f2()
-
- test<float>();
- test<double>();
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- test<long double>();
- #endif
-
---- a/libs/charconv/test/roundtrip.cpp
-+++ b/libs/charconv/test/roundtrip.cpp
-@@ -347,7 +347,7 @@ template<typename FPType> int64_t Distance(FPType y, FPType x)
- return ToOrdinal(y) - ToOrdinal(x);
- }
-
--#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- template <> void test_roundtrip<long double>(long double value)
- {
- char buffer[ 256 ];
-@@ -603,7 +603,7 @@ int main()
- #endif
-
- // long double
-- #if !(BOOST_CHARCONV_LDBL_BITS == 128) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
-+ #if !(BOOST_CHARCONV_LDBL_BITS == 128) && !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE)
-
- {
- long double const ql = std::pow( 1.0L, -64 );
---- a/libs/charconv/test/to_chars_float.cpp
-+++ b/libs/charconv/test/to_chars_float.cpp
-@@ -202,7 +202,7 @@ int main()
- non_finite_values<double>(boost::charconv::chars_format::hex, 2);
-
- // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57484
-- #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__)) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
-+ #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__)) && !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE)
- non_finite_values<long double>();
- #endif
-
---- a/libs/charconv/test/to_chars_float_STL_comp.cpp
-+++ b/libs/charconv/test/to_chars_float_STL_comp.cpp
-@@ -212,7 +212,7 @@ int main()
- // General format
- random_test<float>();
- random_test<double>();
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- random_test<long double>();
- #endif
-
-@@ -227,7 +227,7 @@ int main()
- // Scientific
- random_test<float>(boost::charconv::chars_format::scientific);
- random_test<double>(boost::charconv::chars_format::scientific);
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- random_test<long double>(boost::charconv::chars_format::scientific);
- #endif
- test_spot<double>(0.0, boost::charconv::chars_format::scientific);
-@@ -242,7 +242,7 @@ int main()
- // Hex
- random_test<float>(boost::charconv::chars_format::hex);
- random_test<double>(boost::charconv::chars_format::hex);
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- random_test<long double>(boost::charconv::chars_format::hex);
- #endif
-
-@@ -250,7 +250,7 @@ int main()
-
- random_test<float>(boost::charconv::chars_format::hex, -1e5F, 1e5F);
- random_test<double>(boost::charconv::chars_format::hex, -1e5, 1e5);
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- random_test<long double>(boost::charconv::chars_format::hex, -1e5L, 1e5L);
- #endif
-
-@@ -277,7 +277,7 @@ int main()
- non_finite_test<float>(boost::charconv::chars_format::hex);
- non_finite_test<double>(boost::charconv::chars_format::hex);
-
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- non_finite_test<long double>();
- non_finite_test<long double>(boost::charconv::chars_format::scientific);
- non_finite_test<long double>(boost::charconv::chars_format::hex);
-@@ -303,7 +303,7 @@ int main()
- test_spot<float>(3.3F);
- test_spot<double>(3.3);
-
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- test_spot<long double>(3.3L);
- #endif
-
---- a/libs/charconv/test/to_chars_sprintf.cpp
-+++ b/libs/charconv/test/to_chars_sprintf.cpp
-@@ -627,7 +627,7 @@ int main()
-
- // long double
-
-- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
-+ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
- {
- for( int i = 0; i < N; ++i )
- {
---
-2.45.2
-
diff --git a/dev-libs/boost/files/boost-1.85.0-bcp-filesystem.patch b/dev-libs/boost/files/boost-1.85.0-bcp-filesystem.patch
deleted file mode 100644
index 23d94040341d1..0000000000000
--- a/dev-libs/boost/files/boost-1.85.0-bcp-filesystem.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-https://bugs.gentoo.org/932240
-https://github.com/boostorg/bcp/commit/cd21e9b4a749a77c24facf2da44f01e032c40842
-
-From cd21e9b4a749a77c24facf2da44f01e032c40842 Mon Sep 17 00:00:00 2001
-From: Andrey Semashev <andrey.semashev@gmail.com>
-Date: Sun, 24 Mar 2024 14:49:18 +0300
-Subject: [PATCH] Remove usage of deprecated and removed Boost.Filesystem APIs.
-
----
- add_dependent_lib.cpp | 5 +++--
- add_path.cpp | 30 +++++++++++++++---------------
- bcp_imp.hpp | 1 +
- copy_path.cpp | 8 ++++----
- file_types.cpp | 2 +-
- 5 files changed, 24 insertions(+), 22 deletions(-)
-
-diff --git a/tools/bcp/add_dependent_lib.cpp b/tools/bcp/add_dependent_lib.cpp
-index 4852914..521b70d 100644
---- a/tools/bcp/add_dependent_lib.cpp
-+++ b/tools/bcp/add_dependent_lib.cpp
-@@ -15,6 +15,7 @@
- #include "bcp_imp.hpp"
- #include "fileview.hpp"
- #include <boost/regex.hpp>
-+#include <boost/filesystem/directory.hpp>
- #include <boost/filesystem/operations.hpp>
- #include <boost/filesystem/exception.hpp>
- #include <iostream>
-@@ -43,12 +44,12 @@ static void init_library_scanner(const fs::path& p, bool cvs_mode, const std::st
- //
- // Don't add files created by build system:
- //
-- if((p.leaf() == "bin") || (p.leaf() == "bin-stage"))
-+ if((p.filename() == "bin") || (p.filename() == "bin-stage"))
- return;
- //
- // Don't add version control directories:
- //
-- if((p.leaf() == "CVS") || (p.leaf() == ".svn"))
-+ if((p.filename() == "CVS") || (p.filename() == ".svn"))
- return;
- //
- // don't add directories not under version control:
-diff --git a/tools/bcp/add_path.cpp b/tools/bcp/add_path.cpp
-index 8a1fee3..747bb8c 100644
---- a/tools/bcp/add_path.cpp
-+++ b/tools/bcp/add_path.cpp
-@@ -15,6 +15,7 @@
- #include "bcp_imp.hpp"
- #include "fileview.hpp"
- #include <boost/regex.hpp>
-+#include <boost/filesystem/directory.hpp>
- #include <boost/filesystem/operations.hpp>
- #include <boost/filesystem/exception.hpp>
- #include <iostream>
-@@ -24,8 +25,7 @@ void bcp_implementation::add_path(const fs::path& p)
- {
- if (m_excluded.find(p) != m_excluded.end())
- return;
-- fs::path normalized_path = p;
-- normalized_path.normalize();
-+ fs::path normalized_path = p.lexically_normal();
- if(fs::exists(m_boost_path / normalized_path))
- {
- if(fs::is_directory(m_boost_path / normalized_path))
-@@ -45,12 +45,12 @@ void bcp_implementation::add_directory(const fs::path& p)
- //
- // Don't add files created by build system:
- //
-- if((p.leaf() == "bin") || (p.leaf() == "bin-stage"))
-+ if((p.filename() == "bin") || (p.filename() == "bin-stage"))
- return;
- //
- // Don't add version control directories:
- //
-- if((p.leaf() == "CVS") || (p.leaf() == ".svn"))
-+ if((p.filename() == "CVS") || (p.filename() == ".svn"))
- return;
- //
- // don't add directories not under version control:
-@@ -180,7 +180,7 @@ void bcp_implementation::add_file(const fs::path& p)
- {
- // only concatonate if it's a relative path
- // rather than a URL:
-- fs::path dep(p.branch_path() / s);
-+ fs::path dep(p.parent_path() / s);
- if(!m_dependencies.count(dep))
- {
- m_dependencies[dep] = p; // set up dependency tree
-@@ -355,13 +355,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile)
- continue;
- }
- include_file = i->str();
-- fs::path test_file(m_boost_path / p.branch_path() / include_file);
-- if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost"))
-+ fs::path test_file(m_boost_path / p.parent_path() / include_file);
-+ if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost"))
- {
-- if(!m_dependencies.count(p.branch_path() / include_file))
-+ if(!m_dependencies.count(p.parent_path() / include_file))
- {
-- m_dependencies[p.branch_path() / include_file] = p;
-- add_pending_path(p.branch_path() / include_file);
-+ m_dependencies[p.parent_path() / include_file] = p;
-+ add_pending_path(p.parent_path() / include_file);
- }
- }
- else if(fs::exists(m_boost_path / include_file))
-@@ -405,13 +405,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile)
- ++i;
- continue;
- }
-- fs::path test_file(m_boost_path / p.branch_path() / include_file);
-- if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost"))
-+ fs::path test_file(m_boost_path / p.parent_path() / include_file);
-+ if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost"))
- {
-- if(!m_dependencies.count(p.branch_path() / include_file))
-+ if(!m_dependencies.count(p.parent_path() / include_file))
- {
-- m_dependencies[p.branch_path() / include_file] = p;
-- add_pending_path(p.branch_path() / include_file);
-+ m_dependencies[p.parent_path() / include_file] = p;
-+ add_pending_path(p.parent_path() / include_file);
- }
- }
- else if(fs::exists(m_boost_path / include_file))
-diff --git a/tools/bcp/bcp_imp.hpp b/tools/bcp/bcp_imp.hpp
-index e515581..51c85ba 100644
---- a/tools/bcp/bcp_imp.hpp
-+++ b/tools/bcp/bcp_imp.hpp
-@@ -14,6 +14,7 @@
- #include <set>
- #include <map>
- #include <queue>
-+#include <string>
- #include <boost/filesystem/path.hpp>
-
- namespace fs = boost::filesystem;
-diff --git a/tools/bcp/copy_path.cpp b/tools/bcp/copy_path.cpp
-index 4143c79..6b7a370 100644
---- a/tools/bcp/copy_path.cpp
-+++ b/tools/bcp/copy_path.cpp
-@@ -49,18 +49,18 @@ void bcp_implementation::copy_path(const fs::path& p)
- if(fs::exists(m_dest_path / p))
- {
- std::cout << "Copying (and overwriting) file: " << p.string() << "\n";
-- fs::remove(m_dest_path / p);
-+ fs::remove(m_dest_path / p);
- }
- else
- std::cout << "Copying file: " << p.string() << "\n";
- //
- // create the path to the new file if it doesn't already exist:
- //
-- create_path(p.branch_path());
-+ create_path(p.parent_path());
- //
- // do text based copy if requested:
- //
-- if((p.leaf() == "Jamroot") && m_namespace_name.size())
-+ if((p.filename() == "Jamroot") && m_namespace_name.size())
- {
- static std::vector<char> v1, v2;
- v1.clear();
-@@ -240,7 +240,7 @@ void bcp_implementation::create_path(const fs::path& p)
- if(!fs::exists(m_dest_path / p))
- {
- // recurse then create the path:
-- create_path(p.branch_path());
-+ create_path(p.parent_path());
- fs::create_directory(m_dest_path / p);
- }
- }
-diff --git a/tools/bcp/file_types.cpp b/tools/bcp/file_types.cpp
-index 297d304..69f6027 100644
---- a/tools/bcp/file_types.cpp
-+++ b/tools/bcp/file_types.cpp
-@@ -52,7 +52,7 @@ bool bcp_implementation::is_binary_file(const fs::path& p)
- "|"
- "(Jamfile|makefile|configure)",
- boost::regex::perl | boost::regex::icase);
-- return !boost::regex_match(p.leaf().generic_string(), e);
-+ return !boost::regex_match(p.filename().generic_string(), e);
-
- }
-
-
diff --git a/dev-libs/boost/files/boost-1.85.0-container-aliasing.patch b/dev-libs/boost/files/boost-1.85.0-container-aliasing.patch
deleted file mode 100644
index cfc1215e70231..0000000000000
--- a/dev-libs/boost/files/boost-1.85.0-container-aliasing.patch
+++ /dev/null
@@ -1,408 +0,0 @@
-https://bugs.gentoo.org/933289 (and https://bugs.gentoo.org/932780, https://bugs.gentoo.org/931587)
-https://github.com/freeorion/freeorion/issues/4949
-https://github.com/boostorg/container/issues/252
-https://github.com/boostorg/container/issues/281
-https://github.com/boostorg/container/commit/20ad12f20e661978e90dc7f36d8ab8ac05e5a5a9
-
-From 20ad12f20e661978e90dc7f36d8ab8ac05e5a5a9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= <igaztanaga@gmail.com>
-Date: Sun, 28 Apr 2024 23:29:59 +0200
-Subject: [PATCH] Remove UB in flat_map implementation when the implementation
- has a movable std::pair
-
---- a/boost/container/allocator_traits.hpp
-+++ b/boost/container/allocator_traits.hpp
-@@ -32,6 +32,8 @@
- #include <boost/container/detail/mpl.hpp>
- #include <boost/container/detail/type_traits.hpp> //is_empty
- #include <boost/container/detail/placement_new.hpp>
-+#include <boost/container/detail/is_pair.hpp>
-+#include <boost/container/detail/addressof.hpp>
- #ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP
- #include <boost/container/detail/std_fwd.hpp>
- #endif
-@@ -81,6 +83,144 @@
-
- namespace boost {
- namespace container {
-+namespace dtl {
-+
-+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-+
-+template<class T, class ...Args>
-+BOOST_CONTAINER_FORCEINLINE void construct_type(T *p, BOOST_FWD_REF(Args) ...args)
-+{
-+ ::new((void*)p, boost_container_new_t()) T(::boost::forward<Args>(args)...);
-+}
-+
-+template < class Pair, class KeyType, class ... Args>
-+typename dtl::enable_if< dtl::is_pair<Pair>, void >::type
-+construct_type
-+ (Pair* p, try_emplace_t, BOOST_FWD_REF(KeyType) k, BOOST_FWD_REF(Args) ...args)
-+{
-+ construct_type(dtl::addressof(p->first), ::boost::forward<KeyType>(k));
-+ BOOST_CONTAINER_TRY{
-+ construct_type(dtl::addressof(p->second), ::boost::forward<Args>(args)...);
-+ }
-+ BOOST_CONTAINER_CATCH(...) {
-+ typedef typename Pair::first_type first_type;
-+ dtl::addressof(p->first)->~first_type();
-+ BOOST_CONTAINER_RETHROW
-+ }
-+ BOOST_CONTAINER_CATCH_END
-+}
-+
-+#else
-+
-+#define BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ(N) \
-+template<class T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
-+BOOST_CONTAINER_FORCEINLINE \
-+ typename dtl::disable_if_c<dtl::is_pair<T>::value, void >::type \
-+construct_type(T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
-+{\
-+ ::new((void*)p, boost_container_new_t()) T( BOOST_MOVE_FWD##N );\
-+}\
-+//
-+BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ)
-+#undef BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ
-+
-+#define BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE(N) \
-+template < class Pair, class KeyType BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
-+typename dtl::enable_if< dtl::is_pair<Pair>, void >::type construct_type\
-+ (Pair* p, try_emplace_t, BOOST_FWD_REF(KeyType) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
-+{\
-+ construct_type(dtl::addressof(p->first), ::boost::forward<KeyType>(k));\
-+ BOOST_CONTAINER_TRY{\
-+ construct_type(dtl::addressof(p->second) BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
-+ }\
-+ BOOST_CONTAINER_CATCH(...) {\
-+ typedef typename Pair::first_type first_type;\
-+ dtl::addressof(p->first)->~first_type();\
-+ BOOST_CONTAINER_RETHROW\
-+ }\
-+ BOOST_CONTAINER_CATCH_END\
-+}\
-+//
-+BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE)
-+#undef BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE
-+
-+#endif
-+
-+template<class T>
-+inline
-+typename dtl::enable_if<dtl::is_pair<T>, void >::type
-+construct_type(T* p)
-+{
-+ dtl::construct_type(dtl::addressof(p->first));
-+ BOOST_CONTAINER_TRY{
-+ dtl::construct_type(dtl::addressof(p->second));
-+ }
-+ BOOST_CONTAINER_CATCH(...) {
-+ typedef typename T::first_type first_type;
-+ dtl::addressof(p->first)->~first_type();
-+ BOOST_CONTAINER_RETHROW
-+ }
-+ BOOST_CONTAINER_CATCH_END
-+}
-+
-+
-+template<class T, class U>
-+inline
-+typename dtl::enable_if_c
-+ < dtl::is_pair<T>::value
-+ , void >::type
-+construct_type(T* p, U &u)
-+{
-+ dtl::construct_type(dtl::addressof(p->first), u.first);
-+ BOOST_CONTAINER_TRY{
-+ dtl::construct_type(dtl::addressof(p->second), u.second);
-+ }
-+ BOOST_CONTAINER_CATCH(...) {
-+ typedef typename T::first_type first_type;
-+ dtl::addressof(p->first)->~first_type();
-+ BOOST_CONTAINER_RETHROW
-+ }
-+ BOOST_CONTAINER_CATCH_END
-+}
-+
-+template<class T, class U>
-+inline
-+typename dtl::enable_if_c
-+ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value &&
-+ !boost::move_detail::is_reference<U>::value //This is needed for MSVC10 and ambiguous overloads
-+ , void >::type
-+construct_type(T* p, BOOST_RV_REF(U) u)
-+{
-+ dtl::construct_type(dtl::addressof(p->first), ::boost::move(u.first));
-+ BOOST_CONTAINER_TRY{
-+ dtl::construct_type(dtl::addressof(p->second), ::boost::move(u.second));
-+ }
-+ BOOST_CONTAINER_CATCH(...) {
-+ typedef typename T::first_type first_type;
-+ dtl::addressof(p->first)->~first_type();
-+ BOOST_CONTAINER_RETHROW
-+ }
-+ BOOST_CONTAINER_CATCH_END
-+}
-+
-+template<class T, class U, class V>
-+inline
-+typename dtl::enable_if<dtl::is_pair<T>, void >::type
-+construct_type(T* p, BOOST_FWD_REF(U) x, BOOST_FWD_REF(V) y)
-+{
-+ dtl::construct_type(dtl::addressof(p->first), ::boost::forward<U>(x));
-+ BOOST_CONTAINER_TRY{
-+ dtl::construct_type(dtl::addressof(p->second), ::boost::forward<V>(y));
-+ }
-+ BOOST_CONTAINER_CATCH(...) {
-+ typedef typename T::first_type first_type;
-+ dtl::addressof(p->first)->~first_type();
-+ BOOST_CONTAINER_RETHROW
-+ }
-+ BOOST_CONTAINER_CATCH_END
-+}
-+
-+} //namespace dtl
-
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-@@ -419,7 +559,7 @@ struct allocator_traits
-
- template<class T, class ...Args>
- inline static void priv_construct(dtl::false_type, Allocator &, T *p, BOOST_FWD_REF(Args) ...args)
-- { ::new((void*)p, boost_container_new_t()) T(::boost::forward<Args>(args)...); }
-+ { dtl::construct_type(p, ::boost::forward<Args>(args)...); }
- #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
- public:
-
-@@ -450,7 +590,7 @@ struct allocator_traits
- \
- template<class T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N >\
- inline static void priv_construct(dtl::false_type, Allocator &, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
-- { ::new((void*)p, boost_container_new_t()) T(BOOST_MOVE_FWD##N); }\
-+ { dtl::construct_type(p BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\
- //
- BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL)
- #undef BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL
---- a/boost/container/detail/construct_in_place.hpp
-+++ b/boost/container/detail/construct_in_place.hpp
-@@ -24,6 +24,7 @@
- #include <boost/container/allocator_traits.hpp>
- #include <boost/container/detail/iterators.hpp>
- #include <boost/container/detail/value_init.hpp>
-+#include <boost/container/detail/is_pair.hpp>
-
- namespace boost {
- namespace container {
-@@ -62,9 +63,42 @@ BOOST_CONTAINER_FORCEINLINE void construct_in_place(Allocator &a, T *dest, empla
-
- //Assignment
-
-+template<class T, class U>
-+BOOST_CONTAINER_FORCEINLINE
-+ typename dtl::disable_if_c
-+ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value
-+ && dtl::is_pair<typename dtl::remove_reference<U>::type>::value
-+ , void>::type
-+assign_in_place_ref(T &t, BOOST_FWD_REF(U) u)
-+{ t = ::boost::forward<U>(u); }
-+
-+template<class T, class U>
-+BOOST_CONTAINER_FORCEINLINE
-+ typename dtl::enable_if_c
-+ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value
-+ && dtl::is_pair<typename dtl::remove_reference<U>::type>::value
-+ , void>::type
-+assign_in_place_ref(T &t, const U &u)
-+{
-+ assign_in_place_ref(t.first, u.first);
-+ assign_in_place_ref(t.second, u.second);
-+}
-+
-+template<class T, class U>
-+BOOST_CONTAINER_FORCEINLINE
-+ typename dtl::enable_if_c
-+ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value
-+ && dtl::is_pair<typename dtl::remove_reference<U>::type>::value
-+ , void>::type
-+assign_in_place_ref(T &t, BOOST_RV_REF(U) u)
-+{
-+ assign_in_place_ref(t.first, ::boost::move(u.first));
-+ assign_in_place_ref(t.second, ::boost::move(u.second));
-+}
-+
- template<class DstIt, class InpIt>
- BOOST_CONTAINER_FORCEINLINE void assign_in_place(DstIt dest, InpIt source)
--{ *dest = *source; }
-+{ assign_in_place_ref(*dest, *source); }
-
- template<class DstIt, class U>
- BOOST_CONTAINER_FORCEINLINE void assign_in_place(DstIt dest, value_init_construct_iterator<U>)
---- a/boost/container/flat_map.hpp
-+++ b/boost/container/flat_map.hpp
-@@ -48,6 +48,11 @@
- #include <initializer_list>
- #endif
-
-+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-+#define BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
-+#endif
-+
-+
- namespace boost {
- namespace container {
-
-@@ -58,21 +63,37 @@ class flat_multimap;
-
- namespace dtl{
-
-+#if defined(BOOST_CONTAINER_STD_PAIR_IS_MOVABLE)
- template<class D, class S>
- BOOST_CONTAINER_FORCEINLINE static D &force(S &s)
--{ return *move_detail::force_ptr<D*>(&s); }
-+{ return s; }
-
- template<class D, class S>
- BOOST_CONTAINER_FORCEINLINE static const D &force(const S &s)
--{ return *move_detail::force_ptr<const D*>(&s); }
-+{ return s; }
-+
-+template<class D>
-+BOOST_CONTAINER_FORCEINLINE static D force_copy(D s)
-+{ return s; }
-+
-+#else //!BOOST_CONTAINER_DOXYGEN_INVOKED
-+
-+template<class D, class S>
-+BOOST_CONTAINER_FORCEINLINE static D &force(S &s)
-+{ return *move_detail::launder_cast<D*>(&s); }
-+
-+template<class D, class S>
-+BOOST_CONTAINER_FORCEINLINE static const D &force(const S &s)
-+{ return *move_detail::launder_cast<const D*>(&s); }
-
- template<class D, class S>
- BOOST_CONTAINER_FORCEINLINE static D force_copy(const S &s)
- {
-- const D *const vp = move_detail::force_ptr<const D *>(&s);
-+ const D *const vp = move_detail::launder_cast<const D *>(&s);
- D ret_val(*vp);
- return ret_val;
- }
-+#endif //BOOST_CONTAINER_DOXYGEN_INVOKED
-
- } //namespace dtl{
-
-@@ -118,18 +139,27 @@ class flat_map
- private:
- BOOST_COPYABLE_AND_MOVABLE(flat_map)
- //This is the tree that we should store if pair was movable
-+ typedef std::pair<Key, T> std_pair_t;
- typedef dtl::flat_tree<
-- std::pair<Key, T>,
-+ std_pair_t,
- dtl::select1st<Key>,
- Compare,
- AllocatorOrContainer> tree_t;
-
- //This is the real tree stored here. It's based on a movable pair
-+ typedef dtl::pair<Key, T> dtl_pair_t;
-+
-+ #ifdef BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
-+ typedef std_pair_t impl_pair_t;
-+ #else
-+ typedef dtl_pair_t impl_pair_t;
-+ #endif
-+
- typedef dtl::flat_tree<
-- dtl::pair<Key, T>,
-+ impl_pair_t,
- dtl::select1st<Key>,
- Compare,
-- typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type
-+ typename dtl::container_or_allocator_rebind<AllocatorOrContainer, impl_pair_t >::type
- > impl_tree_t;
- impl_tree_t m_flat_tree; // flat tree representing flat_map
-
-@@ -851,7 +881,7 @@ class flat_map
- //! @copydoc ::boost::container::flat_set::nth(size_type) const
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
- const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
-- { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
-+ { return dtl::force_copy<const_iterator>(m_flat_tree.nth(n)); }
-
- //! @copydoc ::boost::container::flat_set::index_of(iterator)
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
-@@ -1099,7 +1129,7 @@ class flat_map
- template <class Pair>
- inline BOOST_CONTAINER_DOC1ST
- ( std::pair<iterator BOOST_MOVE_I bool>
-- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
-+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
- BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> >::type)
- insert(BOOST_FWD_REF(Pair) x)
- {
-@@ -1153,7 +1183,7 @@ class flat_map
- template <class Pair>
- inline BOOST_CONTAINER_DOC1ST
- ( iterator
-- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
-+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
- BOOST_MOVE_I iterator>::type)
- insert(const_iterator p, BOOST_FWD_REF(Pair) x)
- {
-@@ -1777,17 +1807,24 @@ class flat_multimap
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- private:
- BOOST_COPYABLE_AND_MOVABLE(flat_multimap)
-+ typedef std::pair<Key, T> std_pair_t;
- typedef dtl::flat_tree<
-- std::pair<Key, T>,
-+ std_pair_t,
- dtl::select1st<Key>,
- Compare,
- AllocatorOrContainer> tree_t;
- //This is the real tree stored here. It's based on a movable pair
-+ typedef dtl::pair<Key, T> dtl_pair_t;
-+ #ifdef BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
-+ typedef std_pair_t impl_pair_t;
-+ #else
-+ typedef dtl_pair_t impl_pair_t;
-+ #endif
- typedef dtl::flat_tree<
-- dtl::pair<Key, T>,
-+ impl_pair_t,
- dtl::select1st<Key>,
- Compare,
-- typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type
-+ typename dtl::container_or_allocator_rebind<AllocatorOrContainer, impl_pair_t >::type
- > impl_tree_t;
- impl_tree_t m_flat_tree; // flat tree representing flat_map
-
-@@ -2388,7 +2425,7 @@ class flat_multimap
- //! @copydoc ::boost::container::flat_set::nth(size_type) const
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
- const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
-- { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
-+ { return dtl::force_copy<const_iterator>(m_flat_tree.nth(n)); }
-
- //! @copydoc ::boost::container::flat_set::index_of(iterator)
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
-@@ -2477,7 +2514,7 @@ class flat_multimap
- template<class Pair>
- inline BOOST_CONTAINER_DOC1ST
- ( iterator
-- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
-+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
- BOOST_MOVE_I iterator >::type)
- insert(BOOST_FWD_REF(Pair) x)
- { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Pair>(x))); }
-@@ -2514,7 +2551,7 @@ class flat_multimap
- template<class Pair>
- inline BOOST_CONTAINER_DOC1ST
- ( iterator
-- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
-+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
- BOOST_MOVE_I iterator>::type)
- insert(const_iterator p, BOOST_FWD_REF(Pair) x)
- {
diff --git a/dev-libs/boost/files/boost-1.85.0-python-numpy-2.patch b/dev-libs/boost/files/boost-1.85.0-python-numpy-2.patch
deleted file mode 100644
index e7a7d98b8573a..0000000000000
--- a/dev-libs/boost/files/boost-1.85.0-python-numpy-2.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://bugs.gentoo.org/932459
-https://github.com/boostorg/python/issues/431
-https://github.com/boostorg/python/pull/432
-
-From 33ac06ca59a68266d3d26edf08205d31ddab4a6c Mon Sep 17 00:00:00 2001
-From: Alexis DUBURCQ <alexis.duburcq@gmail.com>
-Date: Fri, 15 Mar 2024 14:10:16 +0100
-Subject: [PATCH] Support numpy 2.0.0b1
-
---- a/libs/python/src/numpy/dtype.cpp
-+++ b/libs/python/src/numpy/dtype.cpp
-@@ -98,7 +98,13 @@ python::detail::new_reference dtype::convert(object const & arg, bool align)
- return python::detail::new_reference(reinterpret_cast<PyObject*>(obj));
- }
-
--int dtype::get_itemsize() const { return reinterpret_cast<PyArray_Descr*>(ptr())->elsize;}
-+int dtype::get_itemsize() const {
-+#if NPY_ABI_VERSION < 0x02000000
-+ return reinterpret_cast<PyArray_Descr*>(ptr())->elsize;
-+#else
-+ return PyDataType_ELSIZE(reinterpret_cast<PyArray_Descr*>(ptr()));
-+#endif
-+}
-
- bool equivalent(dtype const & a, dtype const & b) {
- // On Windows x64, the behaviour described on
diff --git a/dev-libs/boost/files/boost-1.86.0-uuid-compute-backport.patch b/dev-libs/boost/files/boost-1.86.0-uuid-compute-backport.patch
deleted file mode 100644
index 9fcf806809891..0000000000000
--- a/dev-libs/boost/files/boost-1.86.0-uuid-compute-backport.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 4ab28f5b879c8a2335b851f5338b9012f4466dd0 Mon Sep 17 00:00:00 2001
-From: sehe <github@sehe.nl>
-Date: Mon, 19 Aug 2024 17:42:31 +0200
-Subject: [PATCH] Update sha1.hpp for breaking interface change in Boost.UUID
-
-see https://github.com/boostorg/uuid/commit/0f843137a1a479797004f195ec615fdc6ac1c219
----
- boost/compute/detail/sha1.hpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/boost/compute/detail/sha1.hpp b/boost/compute/detail/sha1.hpp
-index 5afe5f9c4..24fde3cd1 100644
---- a/boost/compute/detail/sha1.hpp
-+++ b/boost/compute/detail/sha1.hpp
-@@ -37,12 +37,12 @@ class sha1 {
- }
-
- operator std::string() {
-- unsigned int digest[5];
-+ unsigned char digest[20];
- h.get_digest(digest);
-
- std::ostringstream buf;
-- for(int i = 0; i < 5; ++i)
-- buf << std::hex << std::setfill('0') << std::setw(8) << digest[i];
-+ for(int i = 0; i < 20; ++i)
-+ buf << std::hex << std::setfill('0') << std::setw(2) << static_cast<int>(digest[i]);
-
- return buf.str();
- }
diff --git a/dev-libs/boost/files/boost-1.87.0-move.patch b/dev-libs/boost/files/boost-1.87.0-move.patch
deleted file mode 100644
index 68d2abbcb6905..0000000000000
--- a/dev-libs/boost/files/boost-1.87.0-move.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-https://bugs.gentoo.org/948204
-https://github.com/boostorg/container/issues/292
-https://github.com/boostorg/move/issues/59
-https://github.com/boostorg/move/commit/5f073f8f00ee23b4502c0ad30a3aa2a5154cd1e8
-https://github.com/boostorg/move/commit/e9ff3ca0952e680871145f454925614d950cef4d
-
-From 5f073f8f00ee23b4502c0ad30a3aa2a5154cd1e8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= <igaztanaga@gmail.com>
-Date: Fri, 28 Feb 2025 17:22:47 +0100
-Subject: [PATCH] FIxes #59 ("std_ns_begin.hpp: missing definition of
- BOOST_MOVE_STD_NS_BEG")
-
----
- include/boost/move/detail/std_ns_begin.hpp | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/include/boost/move/detail/std_ns_begin.hpp b/include/boost/move/detail/std_ns_begin.hpp
-index de13cde..90169c4 100644
---- a/boost/move/detail/std_ns_begin.hpp
-+++ b/boost/move/detail/std_ns_begin.hpp
-@@ -9,6 +9,7 @@
- #//
- #//////////////////////////////////////////////////////////////////////////////
- #
-+#include <boost/config.hpp>
- #if defined(_LIBCPP_VERSION)
- #if defined(__clang__)
- #define BOOST_MOVE_STD_NS_GCC_DIAGNOSTIC_PUSH
-@@ -26,6 +27,9 @@
- #elif defined(BOOST_DINKUMWARE_STDLIB)
- #define BOOST_MOVE_STD_NS_BEG _STD_BEGIN
- #define BOOST_MOVE_STD_NS_END _STD_END
-+#else
-+ #define BOOST_MOVE_STD_NS_BEG namespace std{
-+ #define BOOST_MOVE_STD_NS_END
- #endif
-
- #if defined(_MSC_VER) && (_MSC_VER >= 1915)
-
-From e9ff3ca0952e680871145f454925614d950cef4d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= <igaztanaga@gmail.com>
-Date: Fri, 28 Feb 2025 19:32:21 +0100
-Subject: [PATCH] Fix #59 again (missing BOOST_MOVE_STD_NS_END closing brace)
-
----
- include/boost/move/detail/std_ns_begin.hpp | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/include/boost/move/detail/std_ns_begin.hpp b/include/boost/move/detail/std_ns_begin.hpp
-index 90169c4..ef9b4b4 100644
---- a/boost/move/detail/std_ns_begin.hpp
-+++ b/boost/move/detail/std_ns_begin.hpp
-@@ -9,7 +9,9 @@
- #//
- #//////////////////////////////////////////////////////////////////////////////
- #
--#include <boost/config.hpp>
-+#ifndef BOOST_CONFIG_HPP
-+# include <boost/config.hpp>
-+#endif
- #if defined(_LIBCPP_VERSION)
- #if defined(__clang__)
- #define BOOST_MOVE_STD_NS_GCC_DIAGNOSTIC_PUSH
-@@ -28,8 +30,8 @@
- #define BOOST_MOVE_STD_NS_BEG _STD_BEGIN
- #define BOOST_MOVE_STD_NS_END _STD_END
- #else
-- #define BOOST_MOVE_STD_NS_BEG namespace std{
-- #define BOOST_MOVE_STD_NS_END
-+ #define BOOST_MOVE_STD_NS_BEG namespace std {
-+ #define BOOST_MOVE_STD_NS_END }
- #endif
-
- #if defined(_MSC_VER) && (_MSC_VER >= 1915)
diff --git a/dev-libs/boost/files/boost-1.87.0-smart_ptr-operator.patch b/dev-libs/boost/files/boost-1.87.0-smart_ptr-operator.patch
deleted file mode 100644
index 6a008d528a658..0000000000000
--- a/dev-libs/boost/files/boost-1.87.0-smart_ptr-operator.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-https://github.com/boostorg/smart_ptr/issues/115
-https://github.com/boostorg/smart_ptr/commit/e7433ba54596da97cb7859455cd37ca140305a9c
-
-From e7433ba54596da97cb7859455cd37ca140305a9c Mon Sep 17 00:00:00 2001
-From: Peter Dimov <pdimov@gmail.com>
-Date: Mon, 13 Jan 2025 16:13:04 +0200
-Subject: [PATCH] Fix operator<< for shared_ptr and intrusive_ptr. Fixes #115.
-
----
- include/boost/smart_ptr/intrusive_ptr.hpp | 2 +-
- include/boost/smart_ptr/shared_ptr.hpp | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git boost/smart_ptr/intrusive_ptr.hpp boost/smart_ptr/intrusive_ptr.hpp
-index ddb20c0b0e..11b476513a 100644
---- a/boost/smart_ptr/intrusive_ptr.hpp
-+++ b/boost/smart_ptr/intrusive_ptr.hpp
-@@ -285,7 +285,7 @@ template<class T, class U> intrusive_ptr<T> dynamic_pointer_cast( intrusive_ptr<
-
- // operator<<
-
--template<class Y> std::ostream & operator<< (std::ostream & os, intrusive_ptr<Y> const & p)
-+template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, intrusive_ptr<Y> const & p)
- {
- os << p.get();
- return os;
-diff --git boost/smart_ptr/shared_ptr.hpp boost/smart_ptr/shared_ptr.hpp
-index 2431a33590..2deed9b632 100644
---- a/boost/smart_ptr/shared_ptr.hpp
-+++ b/boost/smart_ptr/shared_ptr.hpp
-@@ -775,7 +775,7 @@ template<class T> inline typename shared_ptr<T>::element_type * get_pointer(shar
-
- // operator<<
-
--template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p)
-+template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)
- {
- os << p.get();
- return os;
-
diff --git a/dev-libs/boost/files/boost-1.87.0-solaris.patch b/dev-libs/boost/files/boost-1.87.0-solaris.patch
deleted file mode 100644
index f0c8f9fbfe634..0000000000000
--- a/dev-libs/boost/files/boost-1.87.0-solaris.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-for Solaris, part from upstream commit
-https://github.com/boostorg/process/commit/bb375f50bd5b362b087aab326df158a440882e29
-
---- boost_1_87_0/libs/process/src/ext/cwd.cpp
-+++ boost_1_87_0/libs/process/src/ext/cwd.cpp
-@@ -124,7 +124,7 @@
- filesystem::path("/proc") / std::to_string(pid) / "cwd", ec
- );
- #elif defined(__sun)
-- return fileystem::canonical(
-+ return filesystem::canonical(
- filesystem::path("/proc") / std::to_string(pid) / "path/cwd", ec
- );
- #endif
---- boost_1_87_0/libs/process/src/ext/exe.cpp
-+++ boost_1_87_0/libs/process/src/ext/exe.cpp
-@@ -138,7 +138,7 @@
- filesystem::path("/proc") / std::to_string(pid) / "exe", ec
- );
- #elif defined(__sun)
-- return fileystem::canonical(
-+ return filesystem::canonical(
- filesystem::path("/proc") / std::to_string(pid) / "path/a.out", ec
- );
- #endif
diff --git a/dev-libs/boost/files/boost-1.87.0-thread-typo.patch b/dev-libs/boost/files/boost-1.87.0-thread-typo.patch
deleted file mode 100644
index 2674cffe9367c..0000000000000
--- a/dev-libs/boost/files/boost-1.87.0-thread-typo.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://bugs.gentoo.org/945916
-https://github.com/boostorg/thread/pull/408
-
-From 49ccf9c30a0ca556873dbf64b12b0d741d1b3e66 Mon Sep 17 00:00:00 2001
-From: Arvid Norlander <arvid-norlander@users.noreply.github.com>
-Date: Fri, 8 Nov 2024 16:48:43 +0100
-Subject: [PATCH] Fix build on clang-19 (which checks more things in
- uninstantiated templates)
-
-Fixes issue #402
----
- include/boost/thread/future.hpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/boost/thread/future.hpp b/include/boost/thread/future.hpp
-index 00f504b9b..d15d7ffa5 100644
---- a/boost/thread/future.hpp
-+++ b/boost/thread/future.hpp
-@@ -4668,7 +4668,7 @@ namespace detail
- }
- run_it& operator=(BOOST_THREAD_RV_REF(run_it) x) BOOST_NOEXCEPT {
- if (this != &x) {
-- that_=x.that;
-+ that_=x.that_;
- x.that_.reset();
- }
- return *this;
-
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest
index c6d21389d638d..a29f87a2ceff5 100644
--- a/dev-libs/icu/Manifest
+++ b/dev-libs/icu/Manifest
@@ -3,10 +3,7 @@ AUX icu-68.1-nonunicode.patch 477 BLAKE2B 5e74142e5adbf8f3fffa23c8fb08657b5b75d1
AUX icu-76.1-remove-bashisms.patch 3382 BLAKE2B fda519c35f7b8d617007fcfa91dd6d36da7eae457f616b437ac32c4de1808d5e7d4b31cb6b560fbf1b2940e69b6fcb8fb51b4c9ad2671aa43aa89cf056934999 SHA512 223ab2e184945ad7039a72dafaf3478bbcab4b4577929e0aac8b508f9cac678a770ff9ce307d373e9ab1d8e42a81740251bb70e2244592cda91ad15a6af1fd2d
AUX icu-76.1-undo-pkgconfig-change-for-now.patch 989 BLAKE2B 66348d618956c593b3cca1740ea6805be00c8b5ae94a040a9a37ab928c94e439233c7aa53e8074cb773da89ff42a16d15c3bb1cc597405c1929bb14ba755d61d SHA512 8c4054752e78c89e3b3731f55ba4a96a9f71800ef7734a042343b759f5051d70daec6300b64c1875abc7c012a90010b05ad94c2729cbd8e99c53c8d8b6650790
AUX icu-77.1-invalid-malloc.patch 1492 BLAKE2B 68eb521f4aad316d1a020c985e5dc55cfe328084bdc3d7fe57acb65d2fcc76a8746495720398993e4130831de494ea4fab5ab49401cbd0937aca260577fded75 SHA512 be02b7e0df87ac2110ae94116eb505cbdaa2b78fbe0be5178973970299e543ac9d7946cec2f385307d1df13b04925cda46ebc8b2164ebbdb23be1a1f826bd4d8
-DIST icu4c-76_1-src.tgz 27437767 BLAKE2B 67223391123d2d2c75107fc4b87510b1d8d520301a863032951b894366ec8b414692ee3fa2acd652289b0ae2f60946d71bf9ca21ed87de40825e2fd02634c658 SHA512 b702ab62fb37a1574d5f4a768326d0f8fa30d9db5b015605b5f8215b5d8547f83d84880c586d3dcc7b6c76f8d47ef34e04b0f51baa55908f737024dd79a42a6c
-DIST icu4c-76_1-src.tgz.asc 228 BLAKE2B 37a058e22da5ad122e3df6de2cb3979fa734b32e4e81d91201d2095fbf20ef2dbcba4579efab3041193e49c388d09618c965ddf082a8362aa82b694184804fa7 SHA512 c4bd81d4e98d7e37a6ba9540748c4ce1eb740d70bd689a13e2e51da76503b6e0287afd4d1cd3af4540210f37626dec998fcbd7269976cb801f238b789e604489
DIST icu4c-77_1-src.tgz 27384265 BLAKE2B 7ee4457dbb9abfee543aa91314e052282fb1c73e5fd9d9b21777d2ea32ae29c3eb3d83a78aafc7d00530435c014aa0f6196faf82ed67593c844e28395ab4720e SHA512 a47d6d9c327d037a05ea43d1d1a06b2fd757cc02a94f7c1a238f35cfc3dfd4ab78d0612790f3a3cca0292c77412a9c2c15c8f24b718f79a857e007e66f07e7cd
DIST icu4c-77_1-src.tgz.asc 228 BLAKE2B faabf00cb79427b14286e24770cbed3cd81a367bb5e9dc935c8fa5b8d67d7401fa82425b70259740a4136bd52fe9887bf0494195c6941454cadabec475d5c0e5 SHA512 7051e53f5a82a9b72a07adcc9751921c0afee56c733ccfe8ed94701606cadaf3b85135d5815dbe1acddb64ffef30d3d9fc5f37016b20dcd07685baa06d633759
-EBUILD icu-76.1-r1.ebuild 4698 BLAKE2B bf432cedef2f582ec5120dd0d77e95dbacca42afb05b21b40b30048a8a459c903668920576f32ba702556f6f638adc58b247f95117d8659c73598df505148598 SHA512 578d5491e2f14f3481ce86e592f0f028f5fe653e286120905cadbf4058d54b46b7c7032282d440546190c2f4d5f84f6f79158209b461db01682ea3f90825a626
EBUILD icu-77.1.ebuild 4668 BLAKE2B 21d74dd96c0a9754a8f16f8624de7e4cf2011b3f01279948abddb2679a73f0ce57d91b373bd2257a18262c287b2f5eaf32f3c4cef29cd6a1dd2d01317c1cf9fc SHA512 1bec9bef7ff161ea807012e27cade7512500541c5ddeb8ac81d82eb25d3b04424fcab3ac3167280b23b1d7e0ba06cc040ecc9316bb9cf256d4c4192ad5739287
MISC metadata.xml 336 BLAKE2B df52385ac9930c85fc8cb8799f5fd083e99bfe1bacd63519001f91b841cacdc50d6b7ed32f3520372cbab48d270bb05fd0896eaec55046ce1eac03af4502365e SHA512 80d8e03229a72e9acd1429f7ed697df59e98899b135bb40367e95d6eed63aa011efd2121601be68e685350b6eadd46e6f39c036f86ff18bc3c85410e88008c7e
diff --git a/dev-libs/icu/icu-76.1-r1.ebuild b/dev-libs/icu/icu-76.1-r1.ebuild
deleted file mode 100644
index 3dd4655773a0e..0000000000000
--- a/dev-libs/icu/icu-76.1-r1.ebuild
+++ /dev/null
@@ -1,182 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Please bump with dev-libs/icu-layoutex
-
-PYTHON_COMPAT=( python3_{10..13} )
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/icu.asc
-inherit autotools multilib-minimal python-any-r1 toolchain-funcs verify-sig
-
-MY_PV=${PV/_rc/-rc}
-MY_PV=${MY_PV//./_}
-
-DESCRIPTION="International Components for Unicode"
-HOMEPAGE="https://icu.unicode.org/"
-SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz"
-SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz.asc )"
-S="${WORKDIR}"/${PN}/source
-
-if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-LICENSE="BSD"
-SLOT="0/${PV%.*}"
-IUSE="debug doc examples static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${PYTHON_DEPS}
- dev-build/autoconf-archive
- virtual/pkgconfig
- doc? ( app-text/doxygen[dot] )
- verify-sig? ( >=sec-keys/openpgp-keys-icu-20241110 )
-"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/icu-config
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-76.1-remove-bashisms.patch"
- "${FILESDIR}/${PN}-64.2-darwin.patch"
- "${FILESDIR}/${PN}-68.1-nonunicode.patch"
-
- # Undo change for now which exposes underlinking in consumers;
- # revisit when things are a bit quieter and tinderbox its removal.
- "${FILESDIR}/${PN}-76.1-undo-pkgconfig-change-for-now.patch"
-)
-
-src_prepare() {
- default
-
- # TODO: switch uconfig.h hacks to use uconfig_local
- #
- # Disable renaming as it assumes stable ABI and that consumers
- # won't use unofficial APIs. We need this despite the configure argument.
- sed -i \
- -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
- common/unicode/uconfig.h || die
- #
- # ODR violations, experimental API
- sed -i \
- -e "s/# define UCONFIG_NO_MF2 0/#define UCONFIG_NO_MF2 1/" \
- common/unicode/uconfig.h || die
-
- # Fix linking of icudata
- sed -i \
- -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
- config/mh-linux || die
-
- # Append doxygen configuration to configure
- sed -i \
- -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
- configure.ac || die
-
- eautoreconf
-}
-
-src_configure() {
- MAKEOPTS+=" VERBOSE=1"
-
- if tc-is-cross-compiler; then
- mkdir "${WORKDIR}"/host || die
- pushd "${WORKDIR}"/host >/dev/null || die
-
- CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
- CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
- RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
- "${S}"/configure --disable-renaming --disable-debug \
- --disable-samples --enable-static || die
- emake
-
- popd >/dev/null || die
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-renaming
- --disable-samples
- # TODO: Merge with dev-libs/icu-layoutex
- # Planned to do this w/ 73.2 but seem to get test failures
- # only with --enable-layoutex.
- --disable-layoutex
- $(use_enable debug)
- $(use_enable static-libs static)
- $(use_enable test tests)
- $(multilib_native_use_enable examples samples)
- )
-
- #if use test ; then
- # myeconfargs+=(
- # --enable-extras
- # --enable-tools
- # )
- #else
- # myeconfargs+=(
- # $(multilib_native_enable extras)
- # $(multilib_native_enable tools)
- # )
- #fi
-
- tc-is-cross-compiler && myeconfargs+=(
- --with-cross-build="${WORKDIR}"/host
- )
-
- # Work around cross-endian testing failures with LTO, bug #757681
- if tc-is-cross-compiler && tc-is-lto ; then
- myeconfargs+=( --disable-strict )
- fi
-
- # ICU tries to use clang by default
- tc-export CC CXX
-
- # Make sure we configure with the same shell as we run icu-config
- # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined
- export CONFIG_SHELL="${EPREFIX}/bin/sh"
- # Probably have no /bin/sh in prefix-chain
- [[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}"
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- default
-
- if multilib_is_native_abi && use doc; then
- doxygen -u Doxyfile || die
- doxygen Doxyfile || die
- fi
-}
-
-multilib_src_test() {
- # INTLTEST_OPTS: intltest options
- # -e: Exhaustive testing
- # -l: Reporting of memory leaks
- # -v: Increased verbosity
- # IOTEST_OPTS: iotest options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- # CINTLTST_OPTS: cintltst options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- emake check
-}
-
-multilib_src_install() {
- default
-
- if multilib_is_native_abi && use doc; then
- docinto html
- dodoc -r doc/html/*
- fi
-}
-
-multilib_src_install_all() {
- local HTML_DOCS=( ../readme.html )
- einstalldocs
-}