diff --git a/libs/boost/Makefile b/libs/boost/Makefile index 16b06ac0c8..a02851338a 100644 --- a/libs/boost/Makefile +++ b/libs/boost/Makefile @@ -11,13 +11,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=boost -PKG_VERSION:=1.76.0 -PKG_SOURCE_VERSION:=1_76_0 +PKG_VERSION:=1.79.0 +PKG_SOURCE_VERSION:=1_79_0 PKG_RELEASE:=$(AUTORELEASE) 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:=f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41 +PKG_HASH:=475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39 PKG_MAINTAINER:=Carlos M. Ferreira PKG_LICENSE:=BSL-1.0 @@ -42,7 +42,7 @@ define Package/boost/Default endef define Package/boost/description -This package provides the Boost v1.76.0 libraries. +This package provides the Boost v1.79.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_76_0/ +See more at http://www.boost.org/doc/libs/1_78_0/ endef PKG_BUILD_DEPENDS:=boost/host @@ -342,7 +342,7 @@ $(eval $(call DefineBoostLibrary,coroutine,system chrono context thread,,!boost- $(eval $(call DefineBoostLibrary,date_time)) #$(eval $(call DefineBoostLibrary,exception,,)) $(eval $(call DefineBoostLibrary,fiber,coroutine filesystem,,!boost-fiber-exclude)) -$(eval $(call DefineBoostLibrary,filesystem,system)) +$(eval $(call DefineBoostLibrary,filesystem,system atomic)) $(eval $(call DefineBoostLibrary,graph,regex)) $(eval $(call DefineBoostLibrary,iostreams,,,,zlib liblzma libbz2 libzstd)) $(eval $(call DefineBoostLibrary,json,container)) diff --git a/libs/boost/patches/010-mips64-fiber.patch b/libs/boost/patches/010-mips64-fiber.patch deleted file mode 100644 index 768c4b21b3..0000000000 --- a/libs/boost/patches/010-mips64-fiber.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/boost/fiber/detail/cpu_relax.hpp -+++ b/boost/fiber/detail/cpu_relax.hpp -@@ -47,7 +47,7 @@ namespace detail { - # else - # define cpu_relax() asm volatile ("nop" ::: "memory"); - # endif --#elif BOOST_ARCH_MIPS && (__mips_isa_rev > 1) && !defined(_MIPS_ARCH_OCTEONP) -+#elif BOOST_ARCH_MIPS && (((__mips_isa_rev > 1) && defined(__mips32)) || ((__mips_isa_rev > 2) && defined(__mips64))) - # define cpu_relax() asm volatile ("pause" ::: "memory"); - #elif BOOST_ARCH_PPC - // http://code.metager.de/source/xref/gnu/glibc/sysdeps/powerpc/sys/platform/ppc.h diff --git a/libs/boost/patches/020-regex.patch b/libs/boost/patches/020-regex.patch deleted file mode 100644 index 606d2223a5..0000000000 --- a/libs/boost/patches/020-regex.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/boost/regex/v5/mem_block_cache.hpp -+++ b/boost/regex/v5/mem_block_cache.hpp -@@ -85,10 +85,10 @@ struct mem_block_node - struct mem_block_cache - { - // this member has to be statically initialsed: -- mem_block_node* next; -- unsigned cached_blocks; -+ mem_block_node* next { nullptr }; -+ unsigned cached_blocks { 0 }; - #ifdef BOOST_HAS_THREADS -- boost::static_mutex mut; -+ std::mutex mut; - #endif - - ~mem_block_cache() -@@ -133,11 +133,7 @@ struct mem_block_cache - } - static mem_block_cache& instance() - { --#ifdef BOOST_HAS_THREADS -- static mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, }; --#else -- static mem_block_cache block_cache = { 0, 0, }; --#endif -+ static mem_block_cache block_cache; - return block_cache; - } - }; diff --git a/libs/boost/patches/910-json-array-erase-relocate.patch b/libs/boost/patches/910-json-array-erase-relocate.patch new file mode 100644 index 0000000000..3078d25c34 --- /dev/null +++ b/libs/boost/patches/910-json-array-erase-relocate.patch @@ -0,0 +1,47 @@ +--- a/boost/json/impl/array.ipp ++++ b/boost/json/impl/array.ipp +@@ -491,8 +491,11 @@ erase( + auto const p = &(*t_)[0] + + (pos - &(*t_)[0]); + destroy(p, p + 1); +- relocate(p, p + 1, 1); + --t_->size; ++ if(t_->size > 0) ++ relocate(p, p + 1, ++ t_->size - (p - ++ &(*t_)[0])); + return p; + } + +--- a/libs/json/test/array.cpp ++++ b/libs/json/test/array.cpp +@@ -1270,6 +1270,21 @@ public: + } + + void ++ testIssue692() ++ { ++ array a; ++ object obj; ++ obj["test1"] = "hello"; ++ a.push_back(obj); ++ a.push_back(obj); ++ a.push_back(obj); ++ a.push_back(obj); ++ a.push_back(obj); ++ while(a.size()) ++ a.erase(a.begin()); ++ } ++ ++ void + run() + { + testDestroy(); +@@ -1283,6 +1298,7 @@ public: + testExceptions(); + testEquality(); + testHash(); ++ testIssue692(); + } + }; +