Files
loongoffice/external/boost/0001-Fix-include-inside-boost-namespace.patch.2
Stephan Bergmann 1f6851c6f6 Upgrade external/boost to latest Boost 1.76.0
*  <https://dev-www.libreoffice.org/src/boost_1_76_0.tar.xz> has been generated
(on Fedora 34) with

> $ wget https://boostorg.jfrog.io/native/main/release/1.76.0/source/boost_1_76_0.tar.bz2
> $ printf 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41 boost_1_76_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_76_0.html>
> boost_1_76_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_76_0.tar.bz2
> Unpacking boost_1_76_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_76_0.tar.xz ...
> Cleaning up ...
> adfa0ca971c56006a8304b6146d1382e6369815d568f6e6a7440fe29995d51b8  boost_1_76_0.tar.xz
> Done.

*  external/boost/0001-Fix-include-inside-boost-namespace.patch.2 is necessary
to fix

> checking for boost/math/constants/constants.hpp... no
> configure: error: Required boost headers not found.
> make[1]: *** [external/libzmf/ExternalProject_libzmf.mk:28: workdir/ExternalProject/libzmf/build] Error 1

with recent libstdc++ 12 trunk (presumably since
<https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=261d5a4a459bd49942e53bc83334ccc7154a09d5>
"libstdc++: Reduce header dependencies on <array> and <utility>", and with other
standard libraries <utility> was likely already included indirectly earlier, so
the include nested in namespace boost::math::tools::meta_programming in the
middle of workdir/UnpackedTarball/boost/boost/math/tools/mp.hpp didn't cause
harm).

Change-Id: I1eee23915fea48bbb383cbeefc4ddfdeaac63e14
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120253
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-10 09:15:00 +02:00

34 lines
1.0 KiB
Groff

From 1ec5c98d80de97f9e962c5627e1a0e6096099894 Mon Sep 17 00:00:00 2001
From: Daniel Scharrer <daniel@constexpr.org>
Date: Wed, 28 Jul 2021 19:56:31 +0200
Subject: [PATCH] Fix #include inside boost namespace
The existing code fails to build if <utility> was not already included.
---
include/boost/math/tools/mp.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/boost/math/tools/mp.hpp b/include/boost/math/tools/mp.hpp
index 35565646f..dc8440988 100644
--- a/include/boost/math/tools/mp.hpp
+++ b/include/boost/math/tools/mp.hpp
@@ -13,6 +13,7 @@
#include <type_traits>
#include <cstddef>
+#include <utility>
namespace boost { namespace math { namespace tools { namespace meta_programming {
@@ -338,7 +339,6 @@ using mp_remove_if_q = mp_remove_if<L, Q::template fn>;
// Index sequence
// Use C++14 index sequence if available
#if defined(__cpp_lib_integer_sequence) && (__cpp_lib_integer_sequence >= 201304)
-#include <utility>
template<std::size_t... I>
using index_sequence = std::index_sequence<I...>;
--
2.31.1