From c8907926cc32d504ba474d89437e4af5146cd214 Mon Sep 17 00:00:00 2001 From: Carlos Miguel Ferreira Date: Thu, 19 Dec 2019 22:16:04 +0000 Subject: [PATCH] boost: Package Version Update (1.72.0) This commit updates Boost to version 1.72.0 There are no new libraries in this release. Note: - This commit also adds a post-release patch to fix an issue with Boost.Coroutine More info about Boost 1.72.0 can be found at the usual place [1]. [1]: https://www.boost.org/users/history/version_1_72_0.html Signed-off-by: Carlos Miguel Ferreira --- libs/boost/Makefile | 12 ++-- ...-mips-pause.patch => 002-mips-pause.patch} | 0 libs/boost/patches/002-utime-filesystem.patch | 71 ------------------- ...003-revert-cease-dependence-on-range.patch | 49 +++++++++++++ libs/boost/patches/004-math.patch | 30 ++++++++ libs/boost/patches/005-math.patch | 17 +++++ 6 files changed, 102 insertions(+), 77 deletions(-) rename libs/boost/patches/{003-mips-pause.patch => 002-mips-pause.patch} (100%) delete mode 100644 libs/boost/patches/002-utime-filesystem.patch create mode 100644 libs/boost/patches/003-revert-cease-dependence-on-range.patch create mode 100644 libs/boost/patches/004-math.patch create mode 100644 libs/boost/patches/005-math.patch diff --git a/libs/boost/Makefile b/libs/boost/Makefile index 4eac36ae4..6c8e54310 100644 --- a/libs/boost/Makefile +++ b/libs/boost/Makefile @@ -11,13 +11,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=boost -PKG_VERSION:=1.71.0 -PKG_SOURCE_VERSION:=1_71_0 -PKG_RELEASE:=5 +PKG_VERSION:=1.72.0 +PKG_SOURCE_VERSION:=1_72_0 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2 PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/ -PKG_HASH:=d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee +PKG_HASH:=59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722 PKG_MAINTAINER:=Carlos M. Ferreira PKG_LICENSE:=BSL-1.0 @@ -43,7 +43,7 @@ define Package/boost/Default endef define Package/boost/description -This package provides the Boost v1.71.0 libraries. +This package provides the Boost v1.72.0 libraries. Boost is a set of free, peer-reviewed, portable C++ source libraries. This package provides the following run-time libraries: @@ -77,7 +77,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_71_0/ +See more at http://www.boost.org/doc/libs/1_72_0/ endef PKG_BUILD_DEPENDS:=boost/host PACKAGE_python:python PACKAGE_python3:python3 diff --git a/libs/boost/patches/003-mips-pause.patch b/libs/boost/patches/002-mips-pause.patch similarity index 100% rename from libs/boost/patches/003-mips-pause.patch rename to libs/boost/patches/002-mips-pause.patch diff --git a/libs/boost/patches/002-utime-filesystem.patch b/libs/boost/patches/002-utime-filesystem.patch deleted file mode 100644 index 9b5c246ae..000000000 --- a/libs/boost/patches/002-utime-filesystem.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 83b989ecee478be083db8dc0cc7a5387615bd3cb Mon Sep 17 00:00:00 2001 -From: Andrey Semashev -Date: Wed, 31 Jul 2019 16:28:05 +0300 -Subject: [PATCH] Added support for utimensat for better POSIX.1-2008 - compliance. - -POSIX.1-2008 marks utime as obsolete and replaces it with utimensat. -uClibc-ng has an option for removing utime, including the corresponding -header. - -Closes https://github.com/boostorg/filesystem/pull/115. ---- - libs/filesystem/src/operations.cpp | 24 ++++++++++++++++++++++-- - 1 file changed, 22 insertions(+), 2 deletions(-) - -diff --git a/src/operations.cpp b/src/operations.cpp -index 9bba1cf7a..038109d35 100644 ---- a/libs/filesystem/src/operations.cpp -+++ b/libs/filesystem/src/operations.cpp -@@ -62,7 +62,7 @@ - #endif - - #ifndef _POSIX_PTHREAD_SEMANTICS --# define _POSIX_PTHREAD_SEMANTICS // Sun readdir_r()needs this -+# define _POSIX_PTHREAD_SEMANTICS // Sun readdir_r() needs this - #endif - - #include -@@ -119,7 +119,9 @@ using std::wstring; - # include - # include - # include --# include -+# if _POSIX_C_SOURCE < 200809L -+# include -+# endif - # include "limits.h" - - # else // BOOST_WINDOW_API -@@ -1459,6 +1461,22 @@ namespace detail - system::error_code* ec) - { - # ifdef BOOST_POSIX_API -+# if _POSIX_C_SOURCE >= 200809L -+ -+ struct timespec times[2] = {}; -+ -+ // Keep the last access time unchanged -+ times[0].tv_nsec = UTIME_OMIT; -+ -+ times[1].tv_sec = new_time; -+ -+ if (BOOST_UNLIKELY(::utimensat(AT_FDCWD, p.c_str(), times, 0) != 0)) -+ { -+ error(BOOST_ERRNO, p, ec, "boost::filesystem::last_write_time"); -+ return; -+ } -+ -+# else // _POSIX_C_SOURCE >= 200809L - - struct stat path_stat; - if (error(::stat(p.c_str(), &path_stat)!= 0, -@@ -1470,6 +1488,8 @@ namespace detail - error(::utime(p.c_str(), &buf)!= 0 ? BOOST_ERRNO : 0, - p, ec, "boost::filesystem::last_write_time"); - -+# endif // _POSIX_C_SOURCE >= 200809L -+ - # else - - handle_wrapper hw( diff --git a/libs/boost/patches/003-revert-cease-dependence-on-range.patch b/libs/boost/patches/003-revert-cease-dependence-on-range.patch new file mode 100644 index 000000000..a6002074a --- /dev/null +++ b/libs/boost/patches/003-revert-cease-dependence-on-range.patch @@ -0,0 +1,49 @@ +From 436e1dbe6fcd31523d261d18ad011392f1d6fbbc Mon Sep 17 00:00:00 2001 +From: Oliver Kowalke +Date: Sun, 1 Dec 2019 20:40:28 +0100 +Subject: [PATCH] Revert "Cease dependence on Range" + +This reverts commit 0c556bb59241e682bbcd3f572815149c5a9b17db. + +see #44 (One test fails to compile after boostorg/coroutine submodule updated) +--- + boost/coroutine/asymmetric_coroutine.hpp | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +diff --git a/boost/coroutine/asymmetric_coroutine.hpp b/boost/coroutine/asymmetric_coroutine.hpp +index ea96981..640896f 100644 +--- a/boost/coroutine/asymmetric_coroutine.hpp ++++ b/boost/coroutine/asymmetric_coroutine.hpp +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -2354,19 +2355,12 @@ end( push_coroutine< R > & c) + + } + +-// forward declaration of Boost.Range traits to break dependency on it +-template +-struct range_mutable_iterator; +- +-template +-struct range_const_iterator; +- + template< typename Arg > +-struct range_mutable_iterator< coroutines::push_coroutine< Arg >, void > ++struct range_mutable_iterator< coroutines::push_coroutine< Arg > > + { typedef typename coroutines::push_coroutine< Arg >::iterator type; }; + + template< typename R > +-struct range_mutable_iterator< coroutines::pull_coroutine< R >, void > ++struct range_mutable_iterator< coroutines::pull_coroutine< R > > + { typedef typename coroutines::pull_coroutine< R >::iterator type; }; + + } +-- +2.24.1 + diff --git a/libs/boost/patches/004-math.patch b/libs/boost/patches/004-math.patch new file mode 100644 index 000000000..5230e3306 --- /dev/null +++ b/libs/boost/patches/004-math.patch @@ -0,0 +1,30 @@ +From 5f19fd7dc6c4dd37fb0409f08a0b7dbb887dd516 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Thu, 19 Dec 2019 17:46:46 -0800 +Subject: [PATCH] roots: Fix fma_workaround + +fma takes three parameters, not one. + +Signed-off-by: Rosen Penev +--- + include/boost/math/tools/roots.hpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/boost/math/tools/roots.hpp b/boost/math/tools/roots.hpp +index 8b3ab7eb9..5d7936bb2 100644 +--- a/boost/math/tools/roots.hpp ++++ b/boost/math/tools/roots.hpp +@@ -861,10 +861,10 @@ Complex complex_newton(F g, Complex guess, int max_iterations = std::numeric_lim + namespace detail + { + #if defined(BOOST_GNU_STDLIB) && !defined(_GLIBCXX_USE_C99_MATH_TR1) +-float fma_workaround(float f) { return ::fmaf(f); } +-double fma_workaround(double f) { return ::fma(f); } ++inline float fma_workaround(float x, float y, float z) { return ::fmaf(x, y, z); } ++inline double fma_workaround(double x, double y, double z) { return ::fma(x, y, z); } + #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS +-long double fma_workaround(long double f) { return ::fmal(f); } ++inline long double fma_workaround(long double x, long double y, long double z) { return ::fmal(x, y, z); } + #endif + #endif + template diff --git a/libs/boost/patches/005-math.patch b/libs/boost/patches/005-math.patch new file mode 100644 index 000000000..e656d0330 --- /dev/null +++ b/libs/boost/patches/005-math.patch @@ -0,0 +1,17 @@ +Index: boost_1_72_0/boost/math/tools/roots.hpp +=================================================================== +--- boost_1_72_0.orig/boost/math/tools/roots.hpp ++++ boost_1_72_0/boost/math/tools/roots.hpp +@@ -884,7 +884,11 @@ inline T discriminant(T const& a, T cons + template + std::pair quadratic_roots_imp(T const& a, T const& b, T const& c) + { +- using std::copysign; ++ #if defined(BOOST_GNU_STDLIB) && !defined(_GLIBCXX_USE_C99_MATH_TR1) ++ using boost::math::copysign; ++ #else ++ using std::copysign; ++ #endif + using std::sqrt; + if constexpr (std::is_floating_point::value) + {