include $(TOPDIR)/rules.mk
PKG_NAME:=boost
-PKG_VERSION:=1.79.0
-PKG_SOURCE_VERSION:=1_79_0
+PKG_VERSION:=1.78.0
+PKG_SOURCE_VERSION:=1_78_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:=475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39
+PKG_HASH:=8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc
PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
PKG_LICENSE:=BSL-1.0
endef
define Package/boost/description
-This package provides the Boost v1.79.0 libraries.
+This package provides the Boost v1.78.0 libraries.
Boost is a set of free, peer-reviewed, portable C++ source libraries.
This package provides the following run-time libraries:
--- /dev/null
+--- 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",
--- /dev/null
+--- 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
--- /dev/null
+--- 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 ]
+ {
+++ /dev/null
---- 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();
- }
- };
-