main/boost: remove old 1.78 and 1.79

master
parent e719bb3bc1
commit 4e9d8e056e
  1. 49
      main/boost1.78/0001-revert-cease-dependence-on-range.patch
  2. 229
      main/boost1.78/APKBUILD
  3. 73
      main/boost1.78/bjam-no-skip-install.patch
  4. 62
      main/boost1.78/boost-1.57.0-python-abi_letters.patch
  5. 13
      main/boost1.78/boost-1.57.0-python-libpython_dep.patch
  6. 23
      main/boost1.78/boost-1.78.0-interprocess-musl-include.patch
  7. 49
      main/boost1.79/0001-revert-cease-dependence-on-range.patch
  8. 230
      main/boost1.79/APKBUILD
  9. 62
      main/boost1.79/boost-1.57.0-python-abi_letters.patch
  10. 13
      main/boost1.79/boost-1.57.0-python-libpython_dep.patch
  11. 50
      main/boost1.79/boost-1.79.0-fix-segfault-in-array-erase.patch

@ -1,49 +0,0 @@
From 436e1dbe6fcd31523d261d18ad011392f1d6fbbc Mon Sep 17 00:00:00 2001
From: Oliver Kowalke <oliver.kowalke@gmail.com>
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 <boost/assert.hpp>
#include <boost/config.hpp>
#include <boost/move/move.hpp>
+#include <boost/range.hpp>
#include <boost/throw_exception.hpp>
#include <boost/utility/explicit_operator_bool.hpp>
@@ -2354,19 +2355,12 @@ end( push_coroutine< R > & c)
}
-// forward declaration of Boost.Range traits to break dependency on it
-template<typename C, typename Enabler>
-struct range_mutable_iterator;
-
-template<typename C, typename Enabler>
-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

@ -1,229 +0,0 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=boost1.78
pkgver=1.78.0
_pkgver="${pkgver//./_}"
pkgrel=2
pkgdesc="Free peer-reviewed portable C++ source libraries"
url="https://www.boost.org/"
arch="all"
license="BSL-1.0"
depends="$pkgname-libs"
depends_dev="$pkgname linux-headers bzip2-dev icu-dev xz-dev zlib-dev"
makedepends="$depends_dev python3-dev>=3.8 flex bison"
subpackages="
$pkgname-static
$pkgname-dev
$pkgname-doc
boost-dev:_dev
"
source="https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/boost_$_pkgver.tar.bz2
boost-1.57.0-python-abi_letters.patch
boost-1.57.0-python-libpython_dep.patch
0001-revert-cease-dependence-on-range.patch
bjam-no-skip-install.patch
boost-1.78.0-interprocess-musl-include.patch
"
builddir="$srcdir/boost_$_pkgver"
_enginedir="tools/build/src/engine"
_bjam="$builddir"/$_enginedir/b2
_libs="
atomic
chrono
container
context
contract
coroutine
date_time
fiber
filesystem
graph
iostreams
locale
log_setup
log
math
prg_exec_monitor
program_options
python3
random
regex
serialization
stacktrace_basic
stacktrace_noop
system
thread
timer
type_erasure
unit_test_framework
wave
wserialization
json
nowide
"
for _lib in $_libs; do
subpackages="$subpackages $pkgname-${_lib}:_boostlib"
done; unset -v _lib
subpackages="$subpackages $pkgname-libs"
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version
provides="boost=$pkgver-r$pkgrel"
replaces="boost"
_set_options() {
local _python="$(_pyversion python3)"
export PY3_VERSION="$_python"
export BOOST_ROOT="$builddir"
_options="
--user-config=\"$builddir/user-config.jam\"
--prefix=\"$pkgdir/usr\"
variant=release
python=$PY3_VERSION
toolset=gcc
debug-symbols=off
threading=multi
runtime-link=shared
link=shared,static
cflags=-fno-strict-aliasing
--layout=system
-q
-j${JOBS:-2}
"
}
prepare() {
default_prepare
_set_options
local abiflags="$(python3-config --abiflags)"
# create user-config.jam
cat > user-config.jam <<-__EOF__
using gcc : : $CC : <cxxflags>"$CXXFLAGS" <linkflags>"$LDFLAGS" ;
using python : $PY3_VERSION : /usr/bin/python3 : /usr/include/python${PY3_VERSION}$abiflags : : : : $abiflags ;
__EOF__
}
build() {
_set_options
msg "Building bjam"
cd "$builddir"/$_enginedir
CC= ./build.sh gcc
msg "Building bcp"
cd "$builddir"/tools/bcp
"$_bjam" -j${JOBS:-2}
msg "Building boost"
cd "$builddir"
"$_bjam" $_options
}
check() {
cd "$builddir"/tools/build/test
PATH="${_bjam%/*}:$PATH" python3 test_all.py --default-bjam
}
package() {
_set_options
install -Dm755 "$_bjam" \
"$pkgdir"/usr/bin/b2
ln -s b2 "$pkgdir"/usr/bin/bjam # old name for b2 binary
install -Dm755 dist/bin/bcp "$pkgdir"/usr/bin/bcp
install -Dm644 LICENSE_1_0.txt \
"$pkgdir"/usr/share/licenses/$pkgname/LICENSE_1_0.txt
"$pkgdir"/usr/bin/bjam $_options \
--includedir="$pkgdir"/usr/include \
--libdir="$pkgdir"/usr/lib \
install
}
static() {
pkgdesc="Boost static libraries"
depends="$depends_static"
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version
provides="boost-static=$pkgver-r$pkgrel"
replaces="boost-static"
amove usr/lib/lib*.a
}
_boostlib() {
local name="${subpkgname#$pkgname-}"
pkgdesc="Boost $name shared library"
depends="$depends__boostlib"
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version
provides="boost-$name=$pkgver-r$pkgrel"
replaces="boost-$name"
amove usr/lib/libboost_$name*.so.[0-9]*
}
libs() {
default_libs
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version
provides="boost-libs=$pkgver-r$pkgrel"
replaces="boost-libs"
pkgdesc="Boost shared libraries"
depends="$depends_libs"
local _pkg; for _pkg in $origsubpackages; do
case "$_pkg" in
*:_boostlib) depends="$depends ${_pkg%%:*}" ;;
esac
done
mkdir -p "$subpkgdir"
rmdir "$pkgdir"/usr/lib >/dev/null 2>&1 || :
}
dev() {
default_dev
replaces="boost1.77-dev"
}
_dev() {
# This makes boost-dev be a metapackage that depends on boostX.Y-dev
mkdir -p "$subpkgdir"
depends="$pkgname-dev=$pkgver-r$pkgrel"
}
doc() {
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version
provides="boost-doc=$pkgver-r$pkgrel"
replaces="boost-doc"
default_doc
}
_pyversion() {
"$1" -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))'
}
sha512sums="
9c34a387a203b99aa773eb0c59f5abac7a99ba10e4623653e793c1d5b29b99b88e0e4e0d4e2e4ca5d497c42f2e46e23bab66417722433a457dc818d7670bcbbf boost_1_78_0.tar.bz2
d96d4d37394a31764ed817d0bc4a99cffa68a75ff1ecfd4417b9e1e5ae2c31a96ed24f948c6f2758ffdac01328d2402c4cf0d33a37107e4f5f721e636daebd66 boost-1.57.0-python-abi_letters.patch
132c4b62815d605c2d3c9038427fa4f422612a33711d47b2862f2311516af8a371d6b75bf078a7bffe20be863f8d21fb9fe74dc1a1bac3a10d061e9768ec3e02 boost-1.57.0-python-libpython_dep.patch
9b53d2fe2dddd592e43db03c26fadd6c07d4c45a980ae4c775b7a914346a3914f6e0c3ef42dad5e2ea4568afb86c9967e09444ff609cfba1e1d39f4980b22ad6 0001-revert-cease-dependence-on-range.patch
3e6679ce66b5fb5e89ba9500c7fdc94f0f7ede0c821cd89d488a618ecd7e6f2edd80b4a1928402a569f6e33fdefbd709bd16868b3d703a070c6117a65ac4761c bjam-no-skip-install.patch
18d3944abd74a8f3b4dc53f39f47b4138a03b50f49f7a2cb7ccc49528d9a6c547d29b5589c620e02e0a6080c417fb33cd2b4d5a67644815d520091463771ed87 boost-1.78.0-interprocess-musl-include.patch
"

@ -1,73 +0,0 @@
Patch-Source: https://github.com/bfgroup/b2/commit/78fd284a42caabe8815cb0870b46e5567872e75b
From 78fd284a42caabe8815cb0870b46e5567872e75b Mon Sep 17 00:00:00 2001
From: Dmitry <grisumbras@gmail.com>
Date: Sat, 11 Dec 2021 16:58:23 +0300
Subject: [PATCH] Don't skip install targets if there's <build>no in ureqs
(#113)
---
src/tools/stage.jam | 4 ++++
test/install_build_no.py | 26 ++++++++++++++++++++++++++
test/test_all.py | 1 +
3 files changed, 31 insertions(+)
create mode 100755 test/install_build_no.py
diff --git a/src/tools/stage.jam b/src/tools/stage.jam
index c5f02e3ba4..325129dc81 100644
--- a/tools/build/src/tools/stage.jam
+++ b/tools/build/src/tools/stage.jam
@@ -478,6 +478,10 @@ class install-target-class : basic-target
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 * )
diff --git a/test/install_build_no.py b/test/install_build_no.py
new file mode 100755
index 0000000000..0ccf3c5cc6
--- /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()
diff --git a/test/test_all.py b/test/test_all.py
index b7ef5ad701..9ed729d017 100644
--- a/tools/build/test/test_all.py
+++ b/tools/build/test/test_all.py
@@ -250,6 +250,7 @@ def reorder_tests(tests, first_test):
"inherit_toolset",
"inherited_dependency",
"inline",
+ "install_build_no",
"libjpeg",
"liblzma",
"libpng",

@ -1,62 +0,0 @@
--- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200
+++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200
@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti
# using python : 2.3 : /usr/local/bin/python ;
#
rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
- : condition * : extension-suffix ? )
+ : condition * : extension-suffix ? : abi-letters ? )
{
project.push-current $(.project) ;
@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ?
}
}
- configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ;
+ configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ;
project.pop-current ;
}
@@ -653,7 +653,7 @@ local rule system-library-dependencies (
# Declare a target to represent Python's library.
#
-local rule declare-libpython-target ( version ? : requirements * )
+local rule declare-libpython-target ( version ? : requirements * : abi-letters ? )
{
# Compute the representation of Python version in the name of Python's
# library file.
@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve
}
# Declare it.
- lib python.lib : : <name>python$(lib-version) $(requirements) ;
+ lib python.lib : : <name>python$(lib-version)$(abi-letters) $(requirements) ;
}
# Implementation of init.
local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
- condition * : extension-suffix ? )
+ condition * : extension-suffix ? : abi-letters ? )
{
local prefix ;
local exec-prefix ;
@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o
extension-suffix ?= _d ;
}
extension-suffix ?= "" ;
+ abi-letters ?= "" ;
# Normalize and dissect any version number.
local major-minor ;
@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
}
else
{
- declare-libpython-target $(version) : $(target-requirements) ;
+ declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ;
# This is an evil hack. On, Windows, when Python is embedded, nothing
# seems to set up sys.path to include Python's standard library

@ -1,13 +0,0 @@
Index: boost_1_57_0/tools/build/src/tools/python.jam
===================================================================
--- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406)
+++ boost_1_57_0/tools/build/src/tools/python.jam (working copy)
@@ -994,7 +994,7 @@
else
{
alias python_for_extensions
- :
+ : python
: $(target-requirements)
:
: $(usage-requirements)

@ -1,23 +0,0 @@
Patch-Source: https://github.com/boostorg/interprocess/commit/d002a0d929ecb031843d806c2bda69e013442e13
From: Leonardo Neumann <leonardo@neumann.dev.br>
Date: Mon, 13 Dec 2021 01:07:20 -0300
Subject: [PATCH] Fix missing sys/stat.h include on musl-based systems
Boost 1.78.0 fails to build on musl-based systems because musl does
not include sys/stat.h by default.
Fixes #161 ("Boost compiler error")
--- 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

@ -1,49 +0,0 @@
From 436e1dbe6fcd31523d261d18ad011392f1d6fbbc Mon Sep 17 00:00:00 2001
From: Oliver Kowalke <oliver.kowalke@gmail.com>
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 <boost/assert.hpp>
#include <boost/config.hpp>
#include <boost/move/move.hpp>
+#include <boost/range.hpp>
#include <boost/throw_exception.hpp>
#include <boost/utility/explicit_operator_bool.hpp>
@@ -2354,19 +2355,12 @@ end( push_coroutine< R > & c)
}
-// forward declaration of Boost.Range traits to break dependency on it
-template<typename C, typename Enabler>
-struct range_mutable_iterator;
-
-template<typename C, typename Enabler>
-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

@ -1,230 +0,0 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=boost1.79
pkgver=1.79.0
_pkgver="${pkgver//./_}"
pkgrel=2
pkgdesc="Free peer-reviewed portable C++ source libraries"
url="https://www.boost.org/"
arch="all"
license="BSL-1.0"
depends="$pkgname-libs"
depends_dev="$pkgname linux-headers bzip2-dev icu-dev xz-dev zlib-dev"
makedepends="$depends_dev python3-dev>=3.8 flex bison"
subpackages="
$pkgname-static
$pkgname-dev
$pkgname-doc
boost-dev:_dev
"
source="https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/boost_$_pkgver.tar.bz2
boost-1.57.0-python-abi_letters.patch
boost-1.57.0-python-libpython_dep.patch
0001-revert-cease-dependence-on-range.patch
boost-1.79.0-fix-segfault-in-array-erase.patch
"
builddir="$srcdir/boost_$_pkgver"
_enginedir="tools/build/src/engine"
_bjam="$builddir"/$_enginedir/b2
_libs="
atomic
chrono
container
context
contract
coroutine
date_time
fiber
filesystem
graph
iostreams
locale
log_setup
log
math
prg_exec_monitor
program_options
python3
random
regex
serialization
stacktrace_basic
stacktrace_noop
system
thread
timer
type_erasure
unit_test_framework
wave
wserialization
json
nowide
"
for _lib in $_libs; do
subpackages="$subpackages $pkgname-${_lib}:_boostlib"
done; unset -v _lib
subpackages="$subpackages $pkgname-libs"
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version
provides="boost=$pkgver-r$pkgrel"
replaces="boost boost1.78"
_set_options() {
local _python="$(_pyversion python3)"
export PY3_VERSION="$_python"
export BOOST_ROOT="$builddir"
_options="
--user-config=\"$builddir/user-config.jam\"
--prefix=\"$pkgdir/usr\"
variant=release
python=$PY3_VERSION
toolset=gcc
debug-symbols=off
threading=multi
runtime-link=shared
link=shared,static
cflags=-fno-strict-aliasing
--layout=system
-q
-j${JOBS:-2}
"
}
prepare() {
default_prepare
_set_options
local abiflags="$(python3-config --abiflags)"
# create user-config.jam
cat > user-config.jam <<-__EOF__
using gcc : : $CC : <cxxflags>"$CXXFLAGS" <linkflags>"$LDFLAGS" ;
using python : $PY3_VERSION : /usr/bin/python3 : /usr/include/python${PY3_VERSION}$abiflags : : : : $abiflags ;
__EOF__
}
build() {
_set_options
msg "Building bjam"
cd "$builddir"/$_enginedir
CC= ./build.sh gcc
msg "Building bcp"
cd "$builddir"/tools/bcp
"$_bjam" -j${JOBS:-2}
msg "Building boost"
cd "$builddir"
"$_bjam" $_options
}
check() {
cd "$builddir"/tools/build/test
PATH="${_bjam%/*}:$PATH" python3 test_all.py --default-bjam
}
package() {
_set_options
install -Dm755 "$_bjam" \
"$pkgdir"/usr/bin/b2
ln -s b2 "$pkgdir"/usr/bin/bjam # old name for b2 binary
install -Dm755 dist/bin/bcp "$pkgdir"/usr/bin/bcp
install -Dm644 LICENSE_1_0.txt \
"$pkgdir"/usr/share/licenses/$pkgname/LICENSE_1_0.txt
"$pkgdir"/usr/bin/bjam $_options \
--includedir="$pkgdir"/usr/include \
--libdir="$pkgdir"/usr/lib \
install
}
static() {
pkgdesc="Boost static libraries"
depends="$depends_static"
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version
provides="boost-static=$pkgver-r$pkgrel"
replaces="boost-static"
amove usr/lib/lib*.a
}
_boostlib() {
local name="${subpkgname#$pkgname-}"
pkgdesc="Boost $name shared library"
depends="$depends__boostlib"
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version
provides="boost-$name=$pkgver-r$pkgrel"
replaces="boost-$name"
amove usr/lib/libboost_$name*.so.[0-9]*
}
libs() {
default_libs
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version
provides="boost-libs=$pkgver-r$pkgrel"
replaces="boost-libs"
pkgdesc="Boost shared libraries"
depends="$depends_libs"
local _pkg; for _pkg in $origsubpackages; do
case "$_pkg" in
*:_boostlib) depends="$depends ${_pkg%%:*}" ;;
esac
done
mkdir -p "$subpkgdir"
rmdir "$pkgdir"/usr/lib >/dev/null 2>&1 || :
}
dev() {
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version. Replace previous boost version for clean -dev
# upgrade
default_dev
replaces="boost1.78-dev"
}
_dev() {
# This makes boost-dev be a metapackage that depends on boostX.Y-dev
mkdir -p "$subpkgdir"
depends="$pkgname-dev=$pkgver-r$pkgrel"
}
doc() {
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version
provides="boost-doc=$pkgver-r$pkgrel"
replaces="boost-doc"
default_doc
}
_pyversion() {
"$1" -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))'
}
sha512sums="
70909e0561c213d10a1fdd692f9ae7b293d3cdc63e925bdc207da9e9bba6e86474341100e7ee5de6d94f9561196b1a3a1597055a7b7382babf8931131170a312 boost_1_79_0.tar.bz2
d96d4d37394a31764ed817d0bc4a99cffa68a75ff1ecfd4417b9e1e5ae2c31a96ed24f948c6f2758ffdac01328d2402c4cf0d33a37107e4f5f721e636daebd66 boost-1.57.0-python-abi_letters.patch
132c4b62815d605c2d3c9038427fa4f422612a33711d47b2862f2311516af8a371d6b75bf078a7bffe20be863f8d21fb9fe74dc1a1bac3a10d061e9768ec3e02 boost-1.57.0-python-libpython_dep.patch
9b53d2fe2dddd592e43db03c26fadd6c07d4c45a980ae4c775b7a914346a3914f6e0c3ef42dad5e2ea4568afb86c9967e09444ff609cfba1e1d39f4980b22ad6 0001-revert-cease-dependence-on-range.patch
17db69e7b41665b2fae5630aa5edf15f0b8d00aa04e8597b198eb4f530793e8227d0234ceb9c8a9859fac3a4ceb5b9eb51721329b91497a422d4ff579739b964 boost-1.79.0-fix-segfault-in-array-erase.patch
"

@ -1,62 +0,0 @@
--- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200
+++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200
@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti
# using python : 2.3 : /usr/local/bin/python ;
#
rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
- : condition * : extension-suffix ? )
+ : condition * : extension-suffix ? : abi-letters ? )
{
project.push-current $(.project) ;
@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ?
}
}
- configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ;
+ configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ;
project.pop-current ;
}
@@ -653,7 +653,7 @@ local rule system-library-dependencies (
# Declare a target to represent Python's library.
#
-local rule declare-libpython-target ( version ? : requirements * )
+local rule declare-libpython-target ( version ? : requirements * : abi-letters ? )
{
# Compute the representation of Python version in the name of Python's
# library file.
@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve
}
# Declare it.
- lib python.lib : : <name>python$(lib-version) $(requirements) ;
+ lib python.lib : : <name>python$(lib-version)$(abi-letters) $(requirements) ;
}
# Implementation of init.
local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
- condition * : extension-suffix ? )
+ condition * : extension-suffix ? : abi-letters ? )
{
local prefix ;
local exec-prefix ;
@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o
extension-suffix ?= _d ;
}
extension-suffix ?= "" ;
+ abi-letters ?= "" ;
# Normalize and dissect any version number.
local major-minor ;
@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
}
else
{
- declare-libpython-target $(version) : $(target-requirements) ;
+ declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ;
# This is an evil hack. On, Windows, when Python is embedded, nothing
# seems to set up sys.path to include Python's standard library

@ -1,13 +0,0 @@
Index: boost_1_57_0/tools/build/src/tools/python.jam
===================================================================
--- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406)
+++ boost_1_57_0/tools/build/src/tools/python.jam (working copy)
@@ -994,7 +994,7 @@
else
{
alias python_for_extensions
- :
+ : python
: $(target-requirements)
:
: $(usage-requirements)

@ -1,50 +0,0 @@
Patch-Source: https://www.boost.org/users/history/version_1_79_0.html , known-issues
diff -ur boost_1_79_0/boost/json/impl/array.ipp boost_1_79_0/boost/json/impl/array.ipp
--- boost_1_79_0/boost/json/impl/array.ipp 2022-04-06 17:02:43.000000000 -0400
+++ boost_1_79_0/boost/json/impl/array.ipp 2022-04-13 20:55:20.464359478 -0400
@@ -491,8 +491,11 @@
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;
}
diff -ur boost_1_79_0/libs/json/test/array.cpp boost_1_79_0/libs/json/test/array.cpp
--- boost_1_79_0/libs/json/test/array.cpp 2022-04-06 17:02:43.000000000 -0400
+++ boost_1_79_0/libs/json/test/array.cpp 2022-04-13 20:53:32.671782680 -0400
@@ -1270,6 +1270,21 @@
}
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 @@
testExceptions();
testEquality();
testHash();
+ testIssue692();
}
};
Loading…
Cancel
Save