qa: Boost 1.77.0

- The patches `iostreams-106.patch` and `signals2-noise.patch` were
  incorporated into Boost 1.75.
- The allocator access deprecation issue was fixed in Boost 1.76.

Closes zcash/zcash#4945.
This commit is contained in:
Jack Grigg 2021-09-14 17:44:51 +01:00
parent 966e285b61
commit 1ad8ee8735
5 changed files with 2 additions and 165 deletions

View File

@ -1,10 +1,9 @@
package=boost
$(package)_version=1_74_0
$(package)_version=1_77_0
$(package)_download_path=https://boostorg.jfrog.io/artifactory/main/release/$(subst _,.,$($(package)_version))/source/
$(package)_file_name=boost_$($(package)_version).tar.bz2
$(package)_sha256_hash=83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1
$(package)_sha256_hash=fc9f85fc030e233142908241af7a846e60630aa7388de9a5fafb1f3a26840854
$(package)_dependencies=native_b2
$(package)_patches=iostreams-106.patch signals2-noise.patch deprecated-two-arg-allocate.diff
ifneq ($(host_os),darwin)
$(package)_dependencies+=libcxx
@ -42,9 +41,6 @@ endif
endef
define $(package)_preprocess_cmds
patch -p2 < $($(package)_patch_dir)/iostreams-106.patch && \
patch -p2 < $($(package)_patch_dir)/signals2-noise.patch && \
patch -p2 < $($(package)_patch_dir)/deprecated-two-arg-allocate.diff && \
echo "using $($(package)_toolset_$(host_os)) : : $($(package)_cxx) : <cflags>\"$($(package)_cflags)\" <cxxflags>\"$($(package)_cxxflags)\" <compileflags>\"$($(package)_cppflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$($(package)_ar)\" <striper>\"$(host_STRIP)\" <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam
endef

View File

@ -1,102 +0,0 @@
diff -ur orig/include/boost/core/allocator_access.hpp patched/include/boost/core/allocator_access.hpp
--- orig/include/boost/core/allocator_access.hpp 2021-01-18 21:42:05.926895400 +0000
+++ patched/include/boost/core/allocator_access.hpp 2021-01-18 21:44:26.426895400 +0000
@@ -11,7 +11,7 @@
#include <boost/config.hpp>
#if !defined(BOOST_NO_CXX11_ALLOCATOR)
#include <boost/core/pointer_traits.hpp>
-#if !defined(BOOST_MSVC)
+#if !defined(BOOST_MSVC) && !defined(BOOST_CLANG)
#include <limits>
#else
#include <memory>
@@ -49,7 +49,7 @@
struct allocator_pointer {
typedef typename A::pointer type;
};
-#elif defined(BOOST_MSVC)
+#elif defined(BOOST_MSVC) || defined(BOOST_CLANG)
template<class A>
struct allocator_pointer {
typedef typename std::allocator_traits<A>::pointer type;
@@ -72,7 +72,7 @@
struct allocator_const_pointer {
typedef typename A::const_pointer type;
};
-#elif defined(BOOST_MSVC)
+#elif defined(BOOST_MSVC) || defined(BOOST_CLANG)
template<class A>
struct allocator_const_pointer {
typedef typename std::allocator_traits<A>::const_pointer type;
@@ -137,7 +137,7 @@
struct allocator_difference_type {
typedef typename A::difference_type type;
};
-#elif defined(BOOST_MSVC)
+#elif defined(BOOST_MSVC) || defined(BOOST_CLANG)
template<class A>
struct allocator_difference_type {
typedef typename std::allocator_traits<A>::difference_type type;
@@ -161,7 +161,7 @@
struct allocator_size_type {
typedef typename A::size_type type;
};
-#elif defined(BOOST_MSVC)
+#elif defined(BOOST_MSVC) || defined(BOOST_CLANG)
template<class A>
struct allocator_size_type {
typedef typename std::allocator_traits<A>::size_type type;
@@ -260,7 +260,7 @@
struct allocator_rebind {
typedef typename A::template rebind<T>::other type;
};
-#elif defined(BOOST_MSVC)
+#elif defined(BOOST_MSVC) || defined(BOOST_CLANG)
template<class A, class T>
struct allocator_rebind {
typedef typename std::allocator_traits<A>::template rebind_alloc<T> type;
@@ -313,7 +313,7 @@
{
return a.allocate(n, h);
}
-#elif defined(BOOST_MSVC)
+#elif defined(BOOST_MSVC) || defined(BOOST_CLANG)
template<class A>
inline typename allocator_pointer<A>::type
allocator_allocate(A& a, typename allocator_size_type<A>::type n,
@@ -400,7 +400,7 @@
::new((void*)p) T(v);
}
#endif
-#elif defined(BOOST_MSVC)
+#elif defined(BOOST_MSVC) || defined(BOOST_CLANG)
template<class A, class T, class... Args>
inline void
allocator_construct(A& a, T* p, Args&&... args)
@@ -449,7 +449,7 @@
p->~T();
(void)p;
}
-#elif defined(BOOST_MSVC)
+#elif defined(BOOST_MSVC) || defined(BOOST_CLANG)
template<class A, class T>
inline void
allocator_destroy(A& a, T* p)
@@ -496,7 +496,7 @@
{
return a.max_size();
}
-#elif defined(BOOST_MSVC)
+#elif defined(BOOST_MSVC) || defined(BOOST_CLANG)
template<class A>
inline typename allocator_size_type<A>::type
allocator_max_size(const A& a)
@@ -545,7 +545,7 @@
{
return a;
}
-#elif defined(BOOST_MSVC)
+#elif defined(BOOST_MSVC) || defined(BOOST_CLANG)
template<class A>
inline A
allocator_select_on_container_copy_construction(const A& a)

View File

@ -1,25 +0,0 @@
From 4e76f73826fd0a7067b837e4850a9051436f5ec5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jean-Micha=C3=ABl=20Celerier?=
<jeanmichael.celerier+github@gmail.com>
Date: Sun, 22 Dec 2019 10:26:38 +0100
Subject: [PATCH] Fix build on windows with libc++
Proposed by @SquallATF in #67
---
include/boost/iostreams/detail/config/fpos.hpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/boost/iostreams/detail/config/fpos.hpp b/include/boost/iostreams/detail/config/fpos.hpp
index c5dc6cf59..a5835421f 100644
--- a/include/boost/iostreams/detail/config/fpos.hpp
+++ b/include/boost/iostreams/detail/config/fpos.hpp
@@ -26,7 +26,8 @@
# if (defined(_YVALS) || defined(_CPPLIB_VER)) && !defined(__SGI_STL_PORT) && \
!defined(_STLPORT_VERSION) && !defined(__QNX__) && !defined(_VX_CPU) && !defined(__VXWORKS__) \
- && !((defined(BOOST_MSVC) || defined(BOOST_CLANG)) && _MSVC_STL_VERSION >= 141)
+ && !((defined(BOOST_MSVC) || defined(BOOST_CLANG)) && _MSVC_STL_VERSION >= 141) \
+ && !defined(_LIBCPP_VERSION)
/**/
#include <boost/iostreams/detail/ios.hpp>

View File

@ -1,23 +0,0 @@
From fd27423fea5537bc857c1fa14bb0c25b994f77b3 Mon Sep 17 00:00:00 2001
From: Frank Mori Hess <fmh6jj@gmail.com>
Date: Mon, 20 Jul 2020 14:17:05 -0400
Subject: [PATCH] Fix warning about deprecated
boost/function_output_iterator.hpp
---
include/boost/signals2/detail/null_output_iterator.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/boost/signals2/detail/null_output_iterator.hpp b/include/boost/signals2/detail/null_output_iterator.hpp
index 9e986959..dee4373c 100644
--- a/include/boost/signals2/detail/null_output_iterator.hpp
+++ b/include/boost/signals2/detail/null_output_iterator.hpp
@@ -11,7 +11,7 @@
#ifndef BOOST_SIGNALS2_NULL_OUTPUT_ITERATOR_HPP
#define BOOST_SIGNALS2_NULL_OUTPUT_ITERATOR_HPP
-#include <boost/function_output_iterator.hpp>
+#include <boost/iterator/function_output_iterator.hpp>
namespace boost
{

View File

@ -19,15 +19,6 @@ native_ccache 4.4.1 2021-10-01
bdb 18.1.40 2022-02-01
# Boost 1.75 starts using the statx syscall where available, which causes
# permission errors in some environments.
# https://github.com/zcash/zcash/issues/4945
# native_b2 is pinned to the same version as Boost.
boost 1.75.0 2021-09-01
boost 1.76.0 2021-09-01
native_b2 1.75.0 2021-09-01
native_b2 1.76.0 2021-09-01
# Google Test 1.10.0 requires adding CMake to the depends system.
googletest 1.10.0 2021-10-01
googletest 1.11.0 2021-10-01