diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-01-01 23:49:35 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-01-01 23:49:35 +0000 |
commit | f8ce9f2b903374606b4f44deb7727aca194ef970 (patch) | |
tree | 60b15bcfcc2e2f638e9307f40ecbabb9ca911b1c /dev-libs/boost | |
parent | c16ac3f2fa4ccc7440fd13db1e5872a3e319f48c (diff) |
gentoo auto-resync : 01:01:2024 - 23:49:35
Diffstat (limited to 'dev-libs/boost')
-rw-r--r-- | dev-libs/boost/Manifest | 4 | ||||
-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.patch | 124 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.84.0-signals2-patch2.patch | 19 |
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)) |