aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhoebe <925731795@qq.com>2019-06-27 01:36:16 +0800
committerPhil Christensen <philc@microsoft.com>2019-06-26 10:36:16 -0700
commit64d8f9503120b8d51643129efd8e32341638e106 (patch)
treed598937a1cd19a9b5ddd2c062fd0a146afa55966
parentfaf17a0f4a497eb5ac28389f3be4aa3612aa5d86 (diff)
downloadvcpkg-64d8f9503120b8d51643129efd8e32341638e106.tar.gz
vcpkg-64d8f9503120b8d51643129efd8e32341638e106.zip
[Boost-variant] Upgrade to 1.70.0 (#7047)
* [Boost-variant] Upgrade to 1.70.0 * Update patch
-rw-r--r--ports/boost-variant/CONTROL2
-rw-r--r--ports/boost-variant/fix-regression-1.70.patch47
-rw-r--r--ports/boost-variant/portfile.cmake6
3 files changed, 52 insertions, 3 deletions
diff --git a/ports/boost-variant/CONTROL b/ports/boost-variant/CONTROL
index 395d00758..5aec459fd 100644
--- a/ports/boost-variant/CONTROL
+++ b/ports/boost-variant/CONTROL
@@ -1,6 +1,6 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-variant
-Version: 1.69.0
+Version: 1.70.0
Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-move, boost-mpl, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers
Homepage: https://github.com/boostorg/variant
Description: Boost variant module
diff --git a/ports/boost-variant/fix-regression-1.70.patch b/ports/boost-variant/fix-regression-1.70.patch
new file mode 100644
index 000000000..79c0e2c23
--- /dev/null
+++ b/ports/boost-variant/fix-regression-1.70.patch
@@ -0,0 +1,47 @@
+diff --git a/include/boost/variant/detail/apply_visitor_unary.hpp b/include/boost/variant/detail/apply_visitor_unary.hpp
+index 71610cb..c3a741e 100644
+--- a/include/boost/variant/detail/apply_visitor_unary.hpp
++++ b/include/boost/variant/detail/apply_visitor_unary.hpp
+@@ -23,6 +23,7 @@
+ # include <boost/mpl/size.hpp>
+ # include <boost/utility/declval.hpp>
+ # include <boost/core/enable_if.hpp>
++# include <boost/type_traits/copy_cv_ref.hpp>
+ # include <boost/type_traits/remove_reference.hpp>
+ # include <boost/variant/detail/has_result_type.hpp>
+ #endif
+@@ -85,7 +86,7 @@ namespace detail { namespace variant {
+ // This class serves only metaprogramming purposes. none of its methods must be called at runtime!
+ template <class Visitor, class Variant>
+ struct result_multideduce1 {
+- typedef typename Variant::types types;
++ typedef typename remove_reference<Variant>::type::types types;
+ typedef typename boost::mpl::begin<types>::type begin_it;
+ typedef typename boost::mpl::advance<
+ begin_it, boost::mpl::int_<boost::mpl::size<types>::type::value - 1>
+@@ -95,14 +96,14 @@ struct result_multideduce1 {
+ struct deduce_impl {
+ typedef typename boost::mpl::next<It>::type next_t;
+ typedef typename boost::mpl::deref<It>::type value_t;
+- typedef decltype(true ? boost::declval< Visitor& >()( boost::declval< value_t >() )
++ typedef decltype(true ? boost::declval< Visitor& >()( boost::declval< copy_cv_ref_t< value_t, Variant > >() )
+ : boost::declval< typename deduce_impl<next_t>::type >()) type;
+ };
+
+ template <class Dummy>
+ struct deduce_impl<last_it, Dummy> {
+ typedef typename boost::mpl::deref<last_it>::type value_t;
+- typedef decltype(boost::declval< Visitor& >()( boost::declval< value_t >() )) type;
++ typedef decltype(boost::declval< Visitor& >()( boost::declval< copy_cv_ref_t< value_t, Variant > >() )) type;
+ };
+
+ typedef typename deduce_impl<begin_it>::type type;
+@@ -132,7 +133,7 @@ inline decltype(auto) apply_visitor(Visitor&& visitor, Visitable&& visitable,
+ boost::detail::variant::has_result_type<Visitor>
+ >::type* = 0)
+ {
+- boost::detail::variant::result_wrapper1<Visitor, typename remove_reference<Visitable>::type> cpp14_vis(::boost::forward<Visitor>(visitor));
++ boost::detail::variant::result_wrapper1<Visitor, Visitable> cpp14_vis(::boost::forward<Visitor>(visitor));
+ return ::boost::forward<Visitable>(visitable).apply_visitor(cpp14_vis);
+ }
+
diff --git a/ports/boost-variant/portfile.cmake b/ports/boost-variant/portfile.cmake
index 95352b3f0..a1d8be528 100644
--- a/ports/boost-variant/portfile.cmake
+++ b/ports/boost-variant/portfile.cmake
@@ -5,9 +5,11 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/variant
- REF boost-1.69.0
- SHA512 281f2a89317603e4875d35388d941c3a174024618f2f9c255344e69d43d43509de2947e35374d8498e337326c7637805160a84f3b2b4da8811660c8429e11be0
+ REF boost-1.70.0
+ SHA512 e5a555c666bd692a5ed6e556a66d93db82707357ae5f7e62af8565e5bf56b134adefb3049c38af72f420a969308f120b8270a9e9187eac984b74573b8e9e1d75
HEAD_REF master
+ PATCHES
+ fix-regression-1.70.patch
)
include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)