summaryrefslogtreecommitdiff
path: root/dev-libs/boost
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-01 23:49:35 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-01 23:49:35 +0000
commitf8ce9f2b903374606b4f44deb7727aca194ef970 (patch)
tree60b15bcfcc2e2f638e9307f40ecbabb9ca911b1c /dev-libs/boost
parentc16ac3f2fa4ccc7440fd13db1e5872a3e319f48c (diff)
gentoo auto-resync : 01:01:2024 - 23:49:35
Diffstat (limited to 'dev-libs/boost')
-rw-r--r--dev-libs/boost/Manifest4
-rw-r--r--dev-libs/boost/boost-1.84.0-r1.ebuild (renamed from dev-libs/boost/boost-1.84.0.ebuild)8
-rw-r--r--dev-libs/boost/files/boost-1.84.0-signals2-patch1.patch124
-rw-r--r--dev-libs/boost/files/boost-1.84.0-signals2-patch2.patch19
4 files changed, 152 insertions, 3 deletions
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
index dfc5cea4efc8..7e3ed9e1aa9c 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -7,6 +7,8 @@ AUX boost-1.81.0-phoenix-multiple-definitions.patch 292 BLAKE2B d9bae6f053188f93
AUX boost-1.82.0-context-arm64.patch 815 BLAKE2B 6b0f9217cf8f761742e1863394cbb64f8f236fdf66141df925b23ce077a00d49932b48a6a539ed1716af7f7f0ee9376f53c4128115a0677b92958ae31e1e2f40 SHA512 f1f9b40ea8afa5b8a07dbccb31ae70dffd5e62272eaaa2a3a53946d15d26120b153f2c5c9ca4623af65b43c0f0d95f8958d4f62c58741b93c98e3b0cf6e74176
AUX boost-1.83.0-math-gcc14.patch 936 BLAKE2B 8cf731affa3684692b773ed4941240616a681f4af207fda746351920de12c198aae4a04872632f5ec630d57d2cb8ff7761502df929383977fc528f61678a4c3b SHA512 2d33a19a698e62cc5e2110a1f0e28782abc58cc8ed39fd2dcd9860c664239a51a819aa4c676563a79070b43a72ea898221ae23056c3e176f4a3a2c12bf07bdfc
AUX boost-1.83.0-unordered-uaf.patch 556 BLAKE2B 0db4079e944ec01687ae09371bd88ac689afc71fa0dd1cad43396e9456d5d6312baf8d8e7ec1e2a47a68da0c45ff6acac5172f42cd6cfb7762e15e435a506579 SHA512 319e7da4bcf52b4ea6b1f625f73f7af6027451f433b926e61aabf6b2a3d0b541f250adc517a6849a7307264baa02168f9753b3281121c8f486d7974f7731a10e
+AUX boost-1.84.0-signals2-patch1.patch 5250 BLAKE2B 6e620d8e9fe1dbd4b2dbf7aec8c1cc4bdd36935027e1648a3e51f3c11e31ebe13d8100dcdcc40009a4c356e87f0df01ad1ca38327b8926b5de230d81c322f4a8 SHA512 8ab253eb562587b7d796bc559934a1044b475698986f71d2a3c80d19758fd53eea213356a43dcb87861e198dfb0178f86ab7bbfc54d4e6e44092c1502dfec595
+AUX boost-1.84.0-signals2-patch2.patch 783 BLAKE2B 76e989e7df011ecce99e5747ca73997f001d0e76e3453fe952f03b9b8adbcc1f5adbda2935c2a2761eef783e0317d56d36ab3bf63e11875466afa28507a09518 SHA512 4dc438ac7b19edb9640599add2859bd3dfdb58fa53e846c292e1c550e5737daa256d46e14d97ba8dc1e6ea01b0ad0d3075320211d4aba0a48048f0158004378f
DIST boost_1_82_0.tar.bz2 121325129 BLAKE2B 16ee164ce7114d8134c861b3652c842750cec63ab0e79e4386d8cb9c56f7a454f9a9cfa75f25d9132a8d8d9e6f39d32a8e7535f83f52f355bbc40ef530163fa5 SHA512 6fddc452ca67f99f5c181e21c73d96feb7346e10886477c91b4abc2cdf447750599e0d42f935ef591222200ef6c033de078a7ad2bb577c81fa56a249b17420cb
DIST boost_1_83_0.tar.bz2 122892751 BLAKE2B c4af1713712da82f964fe08451141ea96905e30b475ee5090bf87ae6e43bcb1f258ab92e16e992fd22405e8cd85a435cef76a22b98788d9960396a4fec8c4c62 SHA512 d133b521bd754dc35a9bd30d8032bd2fd866026d90af2179e43bfd7bd816841f7f3b84303f52c0e54aebc373f4e4edd601a8f5a5e0c47500e0e852e04198a711
DIST boost_1_84_0.tar.bz2 123110547 BLAKE2B a872ee00402be0383726020f4d13a7df6c2765c52eac2e09aab1604432931d26dd597503f5dcbbf788d7e7528d13c6d1dbfff1e85d22bf92c7828ef74cf2405d SHA512 5dfeb35198bb096e46cf9e131ef0334cb95bc0bf09f343f291b860b112598b3c36111bd8c232439c401a2b2fb832fa0c399a8d5b96afc60bd359dff070154497
@@ -14,5 +16,5 @@ EBUILD boost-1.82.0-r1.ebuild 11358 BLAKE2B 277b8e2573fdd5c0e6d77ac1a84fe2466383
EBUILD boost-1.83.0-r1.ebuild 11578 BLAKE2B f66cbdb938d84f3df314deff95c29321e9e86874b587e456915a637f87776760d0d9d79749cbce94ebcc314c790a63065dad97cd8494eac29e0d48ef21815024 SHA512 ef6689addde5befec2fa93d7c765a1c5231d9313136ec4e6ca76244960ab04953a6b6b06e1f4acd35a852317256474114240d4b8cf4b250089d312d5435bc00b
EBUILD boost-1.83.0-r2.ebuild 11626 BLAKE2B 853d86946f3f9b3def0dd2991687a1e53ba952e41f3f3c56af2cce0ff453031c39572f9a693422778d3387e8a6d5222c57a77de87f3820847ac2e22f462b0766 SHA512 9a099bbeea8791e6886490050bdad17f6057685e4c3a090072e9e0e94a8f46e401091f687169f5cd338a0fbfdccdad1f85c6f6da18ce012cfd36010fdefa24cf
EBUILD boost-1.83.0-r3.ebuild 11671 BLAKE2B 245712818fc58f61a191d6048b2f61e6d883d11b53fe7eaa1f3860ba0f6d63c218ca42430ceb61efad9a4acb365ac38642e520576ef429648587b22a231bc8af SHA512 309cd6ce5384f0281b4f653664f528dbd394cc281f9c40fce2b24d05c88b8571669dc1a447d06063e0c85d2780b38e6687f7a6e007c02c347fcc616c682448e9
-EBUILD boost-1.84.0.ebuild 11624 BLAKE2B e8653d13868c448fa4e2ca0c6db1825ce0def0bc19ded7cae45bcd1c5162e1afcbbd5eeebaf4a9fa0459081d974171074483051f6ad4d1fcaba86b94f2b18f4f SHA512 7355a92a892041904078ec72adc535dcb57188943c93155b98153b1bc3a487dffc4febbfae47dfa748c6671819066862cb94a965419f7f248b14dc2a53a826b6
+EBUILD boost-1.84.0-r1.ebuild 11738 BLAKE2B 46eaaaed5853adb5bfec2eb59adddb997052ce73468639c1f0d95c56d1a4e3f3e568bbee1dca3659419ed30ba607b01622bb04cd9115e527f4740ad79c79e4c5 SHA512 60648dd5dd31b5ce94e0ccfe577cd6e97d682c6ce631f5526cb8cf0d9e82bc869931050739fc658e1cdd237de4a83025785bd1deaf864b78d0d49e6b2455d098
MISC metadata.xml 9162 BLAKE2B c8df087c7fe1e4af3a59f21763777d3f1318aebcd524e077b6a93c374e0910ff31b1e73b8b4908130d63c2bb7d060348602cffd215648f09afd8015c782e2340 SHA512 3c45d74e046e0fd09f152fcfa7af942c9097e3ed91a0915a2541caad14a8b94b9faceccdbc74bf8aa7c8f7b383db7e91e09babba9c2c28fd7855a7b809616839
diff --git a/dev-libs/boost/boost-1.84.0.ebuild b/dev-libs/boost/boost-1.84.0-r1.ebuild
index c6e55525f805..3acb382ad022 100644
--- a/dev-libs/boost/boost-1.84.0.ebuild
+++ b/dev-libs/boost/boost-1.84.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,7 @@ S="${WORKDIR}/${PN}_${MY_PV}"
LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead of the major version due to bug 486122
-#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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
@@ -55,6 +55,10 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.79.0-boost-mpi-python-PEP-328.patch
"${FILESDIR}"/${PN}-1.81.0-phoenix-multiple-definitions.patch
"${FILESDIR}"/${PN}-1.83.0-math-gcc14.patch
+
+ # upstreamed
+ "${FILESDIR}"/${PN}-1.84.0-signals2-patch1.patch
+ "${FILESDIR}"/${PN}-1.84.0-signals2-patch2.patch
)
python_bindings_needed() {
diff --git a/dev-libs/boost/files/boost-1.84.0-signals2-patch1.patch b/dev-libs/boost/files/boost-1.84.0-signals2-patch1.patch
new file mode 100644
index 000000000000..9c07bd8f06cf
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.84.0-signals2-patch1.patch
@@ -0,0 +1,124 @@
+https://github.com/boostorg/signals2/issues/70
+
+From 2ba258f7b465e7bde14663ca3a966019b4ec3694 Mon Sep 17 00:00:00 2001
+From: Frank Mori Hess <fmh6jj@gmail.com>
+Date: Sat, 30 Dec 2023 14:34:58 -0500
+Subject: [PATCH] Fix disconnect by slot when the slot is another signal.
+
+--- a/boost/signals2/detail/signal_template.hpp
++++ b/boost/signals2/detail/signal_template.hpp
+@@ -103,9 +103,9 @@ namespace boost
+ BOOST_SIGNALS2_FORWARDED_ARGS(BOOST_SIGNALS2_NUM_ARGS));
+ }
+ template<typename T>
+- bool operator==(const T &other) const
++ bool contains(const T &other) const
+ {
+- return _fun == other;
++ return _fun.contains(other);
+ }
+ private:
+ BOOST_SIGNALS2_BOUND_EXTENDED_SLOT_FUNCTION_N(BOOST_SIGNALS2_NUM_ARGS)()
+@@ -115,6 +115,8 @@ namespace boost
+ boost::shared_ptr<connection> _connection;
+ };
+
++ template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DECL(BOOST_SIGNALS2_NUM_ARGS)>
++ class BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS);
+ template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DECL(BOOST_SIGNALS2_NUM_ARGS)>
+ class BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS);
+
+@@ -150,6 +152,8 @@ namespace boost
+ typedef GroupCompare group_compare_type;
+ typedef typename detail::slot_call_iterator_t<slot_invoker,
+ typename connection_list_type::iterator, connection_body<group_key_type, slot_type, Mutex> > slot_call_iterator;
++ typedef detail::BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
++ <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> weak_signal_type;
+
+ BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)(const combiner_type &combiner_arg,
+ const group_compare_type &group_compare):
+@@ -531,13 +535,20 @@ namespace boost
+ {
+ (*it)->nolock_disconnect(lock);
+ }else
+- {
+- // check for wrapped extended slot
++ { // check for wrapped extended slot
+ bound_extended_slot_function_type *fp;
+ fp = (*it)->slot().slot_function().template target<bound_extended_slot_function_type>();
+- if(fp && function_equal(*fp, slot))
++ if(fp && fp->contains(slot))
+ {
+ (*it)->nolock_disconnect(lock);
++ }else
++ { // check for wrapped signal
++ weak_signal_type *fp;
++ fp = (*it)->slot().slot_function().template target<weak_signal_type>();
++ if(fp && fp->contains(slot))
++ {
++ (*it)->nolock_disconnect(lock);
++ }
+ }
+ }
+ }
+@@ -588,8 +599,6 @@ namespace boost
+ const boost::shared_ptr<mutex_type> _mutex;
+ };
+
+- template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DECL(BOOST_SIGNALS2_NUM_ARGS)>
+- class BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS);
+ }
+
+ template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DEFAULTED_DECL(BOOST_SIGNALS2_NUM_ARGS)>
+@@ -603,8 +612,7 @@ namespace boost
+ typedef detail::BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
+ <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> impl_class;
+ public:
+- typedef detail::BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
+- <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> weak_signal_type;
++ typedef typename impl_class::weak_signal_type weak_signal_type;
+ friend class detail::BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
+ <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION>;
+
+@@ -746,12 +754,24 @@ namespace boost
+ using std::swap;
+ swap(_pimpl, other._pimpl);
+ }
++ bool operator==(const BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS) & other) const
++ {
++ return _pimpl.get() == other._pimpl.get();
++ }
+ protected:
+ virtual shared_ptr<void> lock_pimpl() const
+ {
+ return _pimpl;
+ }
+ private:
++ // explicit private copy constructor to avoid compiler trying to do implicit conversions to signal
++ explicit BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)(
++ const BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS) & other) BOOST_NOEXCEPT
++ {
++ // noncopyable
++ BOOST_ASSERT(false);
++ }
++
+ shared_ptr<impl_class>
+ _pimpl;
+ };
+@@ -802,6 +822,16 @@ namespace boost
+ shared_pimpl(_weak_pimpl.lock());
+ return (*shared_pimpl)(BOOST_SIGNALS2_SIGNATURE_ARG_NAMES(BOOST_SIGNALS2_NUM_ARGS));
+ }
++ bool contains(const BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
++ <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> &signal) const
++ {
++ return _weak_pimpl.lock().get() == signal._pimpl.get();
++ }
++ template <typename T>
++ bool contains(const T&) const
++ {
++ return false;
++ }
+ private:
+ boost::weak_ptr<detail::BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
+ <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> > _weak_pimpl;
diff --git a/dev-libs/boost/files/boost-1.84.0-signals2-patch2.patch b/dev-libs/boost/files/boost-1.84.0-signals2-patch2.patch
new file mode 100644
index 000000000000..f277ae9973a1
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.84.0-signals2-patch2.patch
@@ -0,0 +1,19 @@
+https://github.com/boostorg/signals2/issues/70
+
+From 4d994bbed820882059c7842ba5e230a26d68f2f0 Mon Sep 17 00:00:00 2001
+From: Frank Mori Hess <fmh6jj@gmail.com>
+Date: Sat, 30 Dec 2023 14:51:49 -0500
+Subject: [PATCH] Fix disconnect by slot when slot is wrapped in a
+ boost::reference_wrapper
+
+--- a/boost/signals2/detail/signal_template.hpp
++++ b/boost/signals2/detail/signal_template.hpp
+@@ -223,7 +223,7 @@ namespace boost
+ void disconnect(const T &slot)
+ {
+ typedef mpl::bool_<(is_convertible<T, group_type>::value)> is_group;
+- do_disconnect(slot, is_group());
++ do_disconnect(unwrap_ref(slot), is_group());
+ }
+ // emit signal
+ result_type operator ()(BOOST_SIGNALS2_SIGNATURE_FULL_ARGS(BOOST_SIGNALS2_NUM_ARGS))