Browse Source

Merge pull request #4298 from ClaymorePT/boost_1.64.0_r1

boost: Package Version Update -> 1.64.0
lilik-openwrt-22.03
Hannu Nyman 8 years ago
committed by GitHub
parent
commit
93e07a5126
3 changed files with 87 additions and 28 deletions
  1. +6
    -6
      libs/boost/Makefile
  2. +81
    -0
      libs/boost/patches/02_fix_context_overload_ambiguity.patch
  3. +0
    -22
      libs/boost/patches/02_fix_libc_regression_execution_monitor.patch

+ 6
- 6
libs/boost/Makefile View File

@ -16,15 +16,15 @@ include $(INCLUDE_DIR)/nls.mk
include $(INCLUDE_DIR)/target.mk
PKG_NAME:=boost
PKG_VERSION:=1.63.0
PKG_SOURCE_VERSION:=1_63_0
PKG_RELEASE:=2
PKG_VERSION:=1.64.0
PKG_SOURCE_VERSION:=1_64_0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
PKG_SOURCE_URL:=https://sourceforge.net/projects/boost/files/boost/$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
PKG_MD5SUM:=beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0
PKG_MD5SUM:=7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332
PKG_LICENSE:=Boost Software License <http://www.boost.org/users/license.html>
PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
@ -44,7 +44,7 @@ define Package/boost/Default
endef
define Package/boost/description
This package provides the Boost v1.63 libraries.
This package provides the Boost v1.64 libraries.
Boost is a set of free, peer-reviewed, portable C++ source libraries.
-----------------------------------------------------------------------------
@ -88,7 +88,7 @@ This package provides the following run-time libraries:
- wave
There are many more header-only libraries supported by Boost.
See more at http://www.boost.org/doc/libs/1_63_0/
See more at http://www.boost.org/doc/libs/1_64_0/
endef
PKG_BUILD_DEPENDS:=boost/host PACKAGE_python:python PACKAGE_python3:python3


+ 81
- 0
libs/boost/patches/02_fix_context_overload_ambiguity.patch View File

@ -0,0 +1,81 @@
Index: boost_1_64_0/boost/context/continuation.hpp
===================================================================
--- boost_1_64_0.orig/boost/context/continuation.hpp 2017-04-24 12:36:55.987412031 +0100
+++ boost_1_64_0/boost/context/continuation.hpp 2017-04-24 12:37:49.730416122 +0100
@@ -56,7 +56,7 @@
namespace context {
namespace detail {
-template< int N >
+template<typename U>
struct helper {
template< typename T >
static T convert( T && t) noexcept {
@@ -64,8 +64,8 @@
}
};
-template<>
-struct helper< 1 > {
+template<typename U>
+struct helper< std::tuple<U> > {
template< typename T >
static std::tuple< T > convert( T && t) noexcept {
return std::make_tuple( std::forward< T >( t) );
@@ -239,15 +239,16 @@
}
-template< typename Ctx, typename Fn, typename ... Arg >
+template< typename Ctx, typename Fn, typename Arg >
detail::transfer_t context_ontop( detail::transfer_t t) {
- auto p = static_cast< std::tuple< Fn, std::tuple< Arg ... > > * >( t.data);
+ auto p = static_cast< Arg * >( t.data);
BOOST_ASSERT( nullptr != p);
typename std::decay< Fn >::type fn = std::forward< Fn >( std::get< 0 >( * p) );
t.data = & std::get< 1 >( * p);
Ctx c{ t };
// execute function, pass continuation via reference
- std::get< 1 >( * p) = detail::helper< sizeof ... (Arg) >::convert( fn( std::move( c) ) );
+ typedef typename std::decay<decltype(std::get<1>(*p))>::type H;
+ std::get< 1 >(* p) = detail::helper<H>::convert( fn( std::move( c) ) );
#if defined(BOOST_NO_CXX14_STD_EXCHANGE)
return { detail::exchange( c.t_.fctx, nullptr), & std::get< 1 >( * p) };
#else
@@ -275,7 +276,7 @@
template< typename Ctx, typename StackAlloc, typename Fn >
friend class detail::record;
- template< typename Ctx, typename Fn, typename ... Arg >
+ template< typename Ctx, typename Fn, typename Arg >
friend detail::transfer_t
context_ontop( detail::transfer_t);
@@ -354,7 +355,7 @@
template< typename Fn, typename ... Arg >
continuation resume_with( Fn && fn, Arg ... arg) {
BOOST_ASSERT( nullptr != t_.fctx);
- auto tpl = std::make_tuple( std::forward< Fn >( fn), std::forward< Arg >( arg) ... );
+ auto tpl = std::make_tuple( std::forward< Fn >( fn), std::make_tuple( std::forward< Arg >( arg) ... ));
return detail::ontop_fcontext(
#if defined(BOOST_NO_CXX14_STD_EXCHANGE)
detail::exchange( t_.fctx, nullptr),
@@ -362,7 +363,7 @@
std::exchange( t_.fctx, nullptr),
#endif
& tpl,
- context_ontop< continuation, Fn, Arg ... >);
+ context_ontop< continuation, Fn, decltype(tpl) >);
}
continuation resume() {
@@ -451,7 +452,8 @@
template<
typename Fn,
typename ... Arg,
- typename = detail::disable_overload< continuation, Fn >
+ typename = detail::disable_overload< continuation, Fn >,
+ typename = detail::disable_overload< std::allocator_arg_t, Fn >
>
continuation
callcc( Fn && fn, Arg ... arg) {

+ 0
- 22
libs/boost/patches/02_fix_libc_regression_execution_monitor.patch View File

@ -1,22 +0,0 @@
Index: boost_1_63_0/boost/test/impl/execution_monitor.ipp
===================================================================
--- boost_1_63_0.orig/boost/test/impl/execution_monitor.ipp
+++ boost_1_63_0/boost/test/impl/execution_monitor.ipp
@@ -1375,7 +1375,7 @@ enable( unsigned mask )
#endif
return ~old_cw & BOOST_FPE_ALL;
-#elif defined(__GLIBC__) && defined(__USE_GNU)
+#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
if (BOOST_FPE_ALL == BOOST_FPE_OFF)
/* Not Implemented */
return BOOST_FPE_OFF;
@@ -1415,7 +1415,7 @@ disable( unsigned mask )
#endif
return ~old_cw & BOOST_FPE_ALL;
-#elif defined(__GLIBC__) && defined(__USE_GNU)
+#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
if (BOOST_FPE_ALL == BOOST_FPE_OFF)
/* Not Implemented */
return BOOST_FPE_INV;

Loading…
Cancel
Save