boost: Updates package to version 1.79.0
authorCarlos Miguel Ferreira <carlosmf.pt@gmail.com>
Sun, 1 May 2022 00:30:57 +0000 (01:30 +0100)
committerRosen Penev <rosenp@gmail.com>
Sun, 1 May 2022 06:58:02 +0000 (23:58 -0700)
This commit updates boost to version 1.79.0

There are no new libraries in this version

The following patches were removed due to upstream update:
* 010-fix-b2-install.patch [1]
* 020-fix-musl-build.patch [2]

More info about Boost 1.79.0 can be found at the usual place [3].

Note: This package update includes a fix merged to Boost.JSON in [4]
which did not make into this version.

[1]: https://github.com/boostorg/build/commit/78fd284a42caabe8815cb0870b46e5567872e75b
[2]: https://github.com/boostorg/interprocess/pull/162
[3]: https://www.boost.org/users/history/version_1_79_0.html
[4]: https://github.com/boostorg/json/issues/692

Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
libs/boost/Makefile
libs/boost/patches/010-fix-b2-install.patch [deleted file]
libs/boost/patches/010-mips1.patch [new file with mode: 0644]
libs/boost/patches/020-fix-musl-build.patch [deleted file]
libs/boost/patches/030-mips1.patch [deleted file]
libs/boost/patches/910-json-array-erase-relocate.patch [new file with mode: 0644]

index 46ffa10bb65b1ec03068c6c548d7074111e58bcb..a02851338ae3991dcdf9fbe3b44cb7a45b5304cd 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=boost
-PKG_VERSION:=1.78.0
-PKG_SOURCE_VERSION:=1_78_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:=8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc
+PKG_HASH:=475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39
 
 PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
 PKG_LICENSE:=BSL-1.0
@@ -42,7 +42,7 @@ define Package/boost/Default
 endef
 
 define Package/boost/description
-This package provides the Boost v1.78.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:
diff --git a/libs/boost/patches/010-fix-b2-install.patch b/libs/boost/patches/010-fix-b2-install.patch
deleted file mode 100644 (file)
index 3b81fda..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/tools/build/src/tools/stage.jam
-+++ b/tools/build/src/tools/stage.jam
-@@ -478,6 +478,10 @@ class install-target-class : basic-targe
-         return [ sequence.unique $(result2) ] ;
-     }
-+    rule skip-from-usage-requirements ( )
-+    {
-+    }
-+
-     # Returns true iff 'type' is subtype of some element of 'types-to-include'.
-     #
-     local rule include-type ( type : types-to-include * )
---- /dev/null
-+++ b/tools/build/test/install_build_no.py
-@@ -0,0 +1,26 @@
-+#!/usr/bin/python
-+
-+# Copyright 2021 Dmitry Arkhipov (grisumbras@gmail.com)
-+# Distributed under the Boost Software License, Version 1.0.
-+# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
-+
-+# Check that <build>no in usage-requirements of dependencies does not affect
-+# install rule, i.e. a skipped installed target does not affect insallation of
-+# other targets.
-+
-+import BoostBuild
-+
-+t = BoostBuild.Tester()
-+
-+t.write("a.cpp", "int main() {}\n")
-+
-+t.write("jamroot.jam", """
-+make x : : maker : <build>no ;
-+exe a : a.cpp ;
-+install install : x a ;
-+""")
-+
-+t.run_build_system()
-+t.expect_addition("install/a.exe")
-+
-+t.cleanup()
---- a/tools/build/test/test_all.py
-+++ b/tools/build/test/test_all.py
-@@ -250,6 +250,7 @@ tests = ["abs_workdir",
-          "inherit_toolset",
-          "inherited_dependency",
-          "inline",
-+         "install_build_no",
-          "libjpeg",
-          "liblzma",
-          "libpng",
diff --git a/libs/boost/patches/010-mips1.patch b/libs/boost/patches/010-mips1.patch
new file mode 100644 (file)
index 0000000..7f535c5
--- /dev/null
@@ -0,0 +1,49 @@
+--- a/boostcpp.jam
++++ b/boostcpp.jam
+@@ -634,7 +634,7 @@ rule address-model ( )
+     return <conditional>@boostcpp.deduce-address-model ;
+ }
+-local deducable-architectures = arm mips1 power riscv s390x sparc x86 combined ;
++local deducable-architectures = arm mips power riscv s390x sparc x86 combined ;
+ feature.feature deduced-architecture : $(deducable-architectures) : propagated optional composite hidden ;
+ for a in $(deducable-architectures)
+ {
+@@ -645,10 +645,10 @@ rule deduce-architecture ( properties *
+ {
+     local result ;
+     local filtered = [ toolset-properties $(properties) ] ;
+-    local names = arm mips1 power riscv s390x sparc x86 combined ;
++    local names = arm mips power riscv s390x sparc x86 combined ;
+     local idx = [ configure.find-builds "default architecture" : $(filtered)
+         : /boost/architecture//arm
+-        : /boost/architecture//mips1
++        : /boost/architecture//mips
+         : /boost/architecture//power
+         : /boost/architecture//riscv
+         : /boost/architecture//s390x
+--- a/libs/atomic/build/atomic-arch-config.jam
++++ b/libs/atomic/build/atomic-arch-config.jam
+@@ -27,9 +27,9 @@ rule deduce-architecture ( properties *
+         {
+             return arm ;
+         }
+-        else if [ configure.builds /boost/architecture//mips1 : $(properties) : "mips1" ]
++        else if [ configure.builds /boost/architecture//mips : $(properties) : "mips" ]
+         {
+-            return mips1 ;
++            return mips ;
+         }
+         else if [ configure.builds /boost/architecture//power : $(properties) : "power" ]
+         {
+--- a/libs/config/checks/architecture/Jamfile.jam
++++ b/libs/config/checks/architecture/Jamfile.jam
+@@ -18,7 +18,7 @@ obj 64 : 64.cpp ;
+ obj arm      : arm.cpp ;
+ obj combined : combined.cpp ;
+-obj mips1    : mips1.cpp ;
++obj mips     : mips1.cpp ;
+ obj power    : power.cpp ;
+ obj riscv    : riscv.cpp ;
+ obj sparc    : sparc.cpp ;
diff --git a/libs/boost/patches/020-fix-musl-build.patch b/libs/boost/patches/020-fix-musl-build.patch
deleted file mode 100644 (file)
index 6563584..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/boost/interprocess/permissions.hpp
-+++ b/boost/interprocess/permissions.hpp
-@@ -29,6 +29,10 @@
- #include <boost/interprocess/detail/win32_api.hpp>
-+#else
-+
-+#include <sys/stat.h>
-+
- #endif
- #endif   //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
diff --git a/libs/boost/patches/030-mips1.patch b/libs/boost/patches/030-mips1.patch
deleted file mode 100644 (file)
index b32dd5f..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
---- a/boostcpp.jam
-+++ b/boostcpp.jam
-@@ -634,7 +634,7 @@ rule address-model ( )
-     return <conditional>@boostcpp.deduce-address-model ;
- }
--local deducable-architectures = arm mips1 power riscv s390x sparc x86 combined ;
-+local deducable-architectures = arm mips power riscv s390x sparc x86 combined ;
- feature.feature deduced-architecture : $(deducable-architectures) : propagated optional composite hidden ;
- for a in $(deducable-architectures)
- {
-@@ -645,10 +645,10 @@ rule deduce-architecture ( properties *
- {
-     local result ;
-     local filtered = [ toolset-properties $(properties) ] ;
--    local names = arm mips1 power riscv s390x sparc x86 combined ;
-+    local names = arm mips power riscv s390x sparc x86 combined ;
-     local idx = [ configure.find-builds "default architecture" : $(filtered)
-         : /boost/architecture//arm
--        : /boost/architecture//mips1
-+        : /boost/architecture//mips
-         : /boost/architecture//power
-         : /boost/architecture//riscv
-         : /boost/architecture//s390x
---- a/libs/atomic/build/atomic-arch-config.jam
-+++ b/libs/atomic/build/atomic-arch-config.jam
-@@ -27,9 +27,9 @@ rule deduce-architecture ( properties *
-         {
-             return arm ;
-         }
--        else if [ configure.builds /boost/architecture//mips1 : $(properties) : "mips1" ]
-+        else if [ configure.builds /boost/architecture//mips : $(properties) : "mips" ]
-         {
--            return mips1 ;
-+            return mips ;
-         }
-         else if [ configure.builds /boost/architecture//power : $(properties) : "power" ]
-         {
---- a/libs/config/checks/architecture/Jamfile.jam
-+++ b/libs/config/checks/architecture/Jamfile.jam
-@@ -18,7 +18,7 @@ obj 64 : 64.cpp ;
- obj arm      : arm.cpp ;
- obj combined : combined.cpp ;
--obj mips1    : mips1.cpp ;
-+obj mips     : mips1.cpp ;
- obj power    : power.cpp ;
- obj riscv    : riscv.cpp ;
- obj sparc    : sparc.cpp ;
---- a/libs/log/build/log-arch-config.jam
-+++ b/libs/log/build/log-arch-config.jam
-@@ -56,9 +56,9 @@ rule deduce-architecture ( properties *
-         {
-             return arm ;
-         }
--        else if [ configure.builds /boost/architecture//mips1 : $(properties) : mips1 ]
-+        else if [ configure.builds /boost/architecture//mips : $(properties) : mips ]
-         {
--            return mips1 ;
-+            return mips ;
-         }
-         else if [ configure.builds /boost/architecture//power : $(properties) : power ]
-         {
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 (file)
index 0000000..3078d25
--- /dev/null
@@ -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();
+     }
+ };