aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2021-07-06 02:39:57 +0200
committerThomas Deutschmann <whissi@gentoo.org>2021-07-06 03:15:20 +0200
commit5e3406541f08d5d69ab6eee06f0978d6cd840fa5 (patch)
treea78694b4aa6261941791d2ea43299ef733b4d625
parentinitrd.scripts: openLUKS(): Reset cryptsetup_options on each iteration (diff)
downloadgenkernel-5e340654.tar.gz
genkernel-5e340654.tar.bz2
genkernel-5e340654.zip
Bump boost to v1.76.0
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
-rw-r--r--gkbuilds/boost-build.gkbuild20
-rw-r--r--gkbuilds/boost.gkbuild10
-rw-r--r--patches/boost-build/1.75.0/boost-build-1.71.0-respect-c_ld-flags.patch9
-rw-r--r--patches/boost-build/1.76.0/boost-build-1.71.0-disable_python_rpath.patch (renamed from patches/boost-build/1.75.0/boost-build-1.71.0-disable_python_rpath.patch)0
-rw-r--r--patches/boost-build/1.76.0/boost-build-1.73.0-add-none-feature-options.patch (renamed from patches/boost-build/1.75.0/boost-build-1.73.0-add-none-feature-options.patch)0
-rw-r--r--patches/boost-build/1.76.0/boost-build-1.74.0-no-implicit-march-flags.patch (renamed from patches/boost-build/1.75.0/boost-build-1.74.0-no-implicit-march-flags.patch)0
-rw-r--r--patches/boost-build/1.76.0/boost-build-1.76.0-python-numpy.patch24
-rw-r--r--patches/boost-build/1.76.0/boost-build-1.76.0-respect-user-flags.patch11
-rw-r--r--patches/boost/1.75.0/boost-1.73-property-tree-include.patch45
-rw-r--r--patches/boost/1.76.0/boost-1.71.0-context-x32.patch (renamed from patches/boost/1.75.0/boost-1.71.0-context-x32.patch)0
-rw-r--r--patches/boost/1.76.0/boost-1.71.0-disable_icu_rpath.patch (renamed from patches/boost/1.75.0/boost-1.71.0-disable_icu_rpath.patch)0
-rw-r--r--patches/boost/1.76.0/boost-1.73-boost-mpi-python-PEP-328.patch17
-rw-r--r--patches/boost/1.76.0/boost-1.74-CVE-2012-2677.patch125
-rw-r--r--patches/boost/1.76.0/boost-1.76-boost-numpy.patch23
-rw-r--r--patches/boost/1.76.0/boost-1.76-sparc-define.patch21
15 files changed, 234 insertions, 71 deletions
diff --git a/gkbuilds/boost-build.gkbuild b/gkbuilds/boost-build.gkbuild
index baf18110..5d470c1f 100644
--- a/gkbuilds/boost-build.gkbuild
+++ b/gkbuilds/boost-build.gkbuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# distcc is known to fail compiling boost and will fallback
@@ -9,31 +9,19 @@ MY_PV="${PV//./_}"
S="${WORKDIR}/boost_${MY_PV}/tools/build/src"
QA_IGNORE_DYNAMICALLY_LINKED_PROGRAM='(bjam|b2)$'
-src_prepare() {
- default
-
- # remove default -march/-mcpu definitions
- # bjam is trying to be clever and injects -march= in order to
- # optimize code for you. This breaks on 32-bit builds, because
- # -march=i686 will not work on an i486 CHOST.
- # https://bugs.gentoo.org/624616
- sed -e '/^cpu-flags\s*gcc\s*OPTIONS/d' \
- -e '/toolset\.flags\s*gcc\s*OPTIONS/d' \
- -e "/cpu_flags('gcc',\s*'OPTIONS'/d" \
- -i tools/gcc.{jam,py} || die "Failed removing -march/-mcpu"
-}
-
src_compile() {
cd engine || die "Failed to chdir to '${S}/engine'!"
local myargs=(
./build.sh
cxx
+ --cxx="$(tc-getCXX)"
+ --cxxflags="${CXXFLAGS}"
-d+2
--without-python
)
- CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) gkexec "${myargs[*]}"
+ gkexec "${myargs[*]}"
}
src_install() {
diff --git a/gkbuilds/boost.gkbuild b/gkbuilds/boost.gkbuild
index a796e0f0..9b7c1b56 100644
--- a/gkbuilds/boost.gkbuild
+++ b/gkbuilds/boost.gkbuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# distcc is known to fail compiling boost and will fallback
@@ -18,6 +18,14 @@ create_user-config.jam() {
cat > "${user_config_jam}" <<- __EOF__ || die
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
__EOF__
+
+ # Boost.Build does not allow for disabling of numpy
+ # extensions, thereby leading to automagic numpy
+ # https://github.com/boostorg/python/issues/111#issuecomment-280447482
+ sed \
+ -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
+ -i "${S}"/libs/python/build/Jamfile \
+ || die
}
ejam() {
diff --git a/patches/boost-build/1.75.0/boost-build-1.71.0-respect-c_ld-flags.patch b/patches/boost-build/1.75.0/boost-build-1.71.0-respect-c_ld-flags.patch
deleted file mode 100644
index f51abea6..00000000
--- a/patches/boost-build/1.75.0/boost-build-1.71.0-respect-c_ld-flags.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/engine/build.sh
-+++ b/engine/build.sh
-@@ -439,5 +439,5 @@
- if check_debug_build "$@" ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG}"
- else B2_CXXFLAGS="${B2_CXXFLAGS_RELEASE} -DNDEBUG"
- fi
--echo_run ${B2_CXX} ${CXXFLAGS} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2
-+echo_run ${B2_CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2
- echo_run cp b2 bjam
diff --git a/patches/boost-build/1.75.0/boost-build-1.71.0-disable_python_rpath.patch b/patches/boost-build/1.76.0/boost-build-1.71.0-disable_python_rpath.patch
index b7b47cc9..b7b47cc9 100644
--- a/patches/boost-build/1.75.0/boost-build-1.71.0-disable_python_rpath.patch
+++ b/patches/boost-build/1.76.0/boost-build-1.71.0-disable_python_rpath.patch
diff --git a/patches/boost-build/1.75.0/boost-build-1.73.0-add-none-feature-options.patch b/patches/boost-build/1.76.0/boost-build-1.73.0-add-none-feature-options.patch
index 1918a245..1918a245 100644
--- a/patches/boost-build/1.75.0/boost-build-1.73.0-add-none-feature-options.patch
+++ b/patches/boost-build/1.76.0/boost-build-1.73.0-add-none-feature-options.patch
diff --git a/patches/boost-build/1.75.0/boost-build-1.74.0-no-implicit-march-flags.patch b/patches/boost-build/1.76.0/boost-build-1.74.0-no-implicit-march-flags.patch
index 894af8f6..894af8f6 100644
--- a/patches/boost-build/1.75.0/boost-build-1.74.0-no-implicit-march-flags.patch
+++ b/patches/boost-build/1.76.0/boost-build-1.74.0-no-implicit-march-flags.patch
diff --git a/patches/boost-build/1.76.0/boost-build-1.76.0-python-numpy.patch b/patches/boost-build/1.76.0/boost-build-1.76.0-python-numpy.patch
new file mode 100644
index 00000000..ed04d542
--- /dev/null
+++ b/patches/boost-build/1.76.0/boost-build-1.76.0-python-numpy.patch
@@ -0,0 +1,24 @@
+From 61adb508853be1fa2c01a0c3a0c55fbd16cb9a52 Mon Sep 17 00:00:00 2001
+From: Peter Dimov <pdimov@gmail.com>
+Date: Mon, 24 May 2021 22:11:23 +0300
+Subject: [PATCH] Declare the /python//numpy target to hold the include path
+ (fixes #725)
+
+---
+ tools/python.jam | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tools/python.jam b/tools/python.jam
+index 00706932d2..0dfc750a22 100644
+--- a/tools/python.jam
++++ b/tools/python.jam
+@@ -1052,6 +1052,9 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
+ ;
+ }
+
++ # Declare the numpy target, which contains the NumPy include directory
++
++ alias numpy : : $(target-requirements) : : <include>$(.numpy-include) ;
+ }
+
+ # Conditional rule specification that will prevent building of a target
diff --git a/patches/boost-build/1.76.0/boost-build-1.76.0-respect-user-flags.patch b/patches/boost-build/1.76.0/boost-build-1.76.0-respect-user-flags.patch
new file mode 100644
index 00000000..2289e706
--- /dev/null
+++ b/patches/boost-build/1.76.0/boost-build-1.76.0-respect-user-flags.patch
@@ -0,0 +1,11 @@
+--- a/engine/build.sh
++++ b/engine/build.sh
+@@ -496,7 +496,7 @@
+ if test_true ${B2_DEBUG_OPT} ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG}"
+ else B2_CXXFLAGS="${B2_CXXFLAGS_RELEASE} -DNDEBUG"
+ fi
+- ( B2_VERBOSE_OPT=${TRUE} echo_run ${B2_CXX} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2 )
++ ( B2_VERBOSE_OPT=${TRUE} echo_run ${B2_CXX} ${CPPFLAGS} ${B2_CXXFLAGS} ${LDFLAGS} ${B2_SOURCES} -o b2 )
+ ( B2_VERBOSE_OPT=${TRUE} echo_run cp b2 bjam )
+ }
+
diff --git a/patches/boost/1.75.0/boost-1.73-property-tree-include.patch b/patches/boost/1.75.0/boost-1.73-property-tree-include.patch
deleted file mode 100644
index 53938827..00000000
--- a/patches/boost/1.75.0/boost-1.73-property-tree-include.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From d1c8825a45a0717e1ad79583d3283b0e5e32831e Mon Sep 17 00:00:00 2001
-From: Andrey Semashev <Lastique@users.noreply.github.com>
-Date: Tue, 28 Apr 2020 22:03:04 +0300
-Subject: [PATCH] Fix usage of deprecated Boost.Bind features
-
-This fixes deprecation warnings generated by boost/bind.hpp.
-
-Also, use a more actual include path for ref.hpp.
----
- boost/property_tree/json_parser/detail/parser.hpp | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/boost/property_tree/json_parser/detail/parser.hpp b/boost/property_tree/json_parser/detail/parser.hpp
-index 5554990fb..6cf636394 100644
---- a/boost/property_tree/json_parser/detail/parser.hpp
-+++ b/boost/property_tree/json_parser/detail/parser.hpp
-@@ -3,8 +3,8 @@
-
- #include <boost/property_tree/json_parser/error.hpp>
-
--#include <boost/ref.hpp>
--#include <boost/bind.hpp>
-+#include <boost/core/ref.hpp>
-+#include <boost/bind/bind.hpp>
- #include <boost/format.hpp>
-
- #include <iterator>
-@@ -214,7 +214,7 @@ namespace boost { namespace property_tree {
- void process_codepoint(Sentinel end, EncodingErrorFn error_fn) {
- encoding.transcode_codepoint(cur, end,
- boost::bind(&Callbacks::on_code_unit,
-- boost::ref(callbacks), _1),
-+ boost::ref(callbacks), boost::placeholders::_1),
- error_fn);
- }
-
-@@ -517,7 +517,7 @@ namespace boost { namespace property_tree {
- void feed(unsigned codepoint) {
- encoding.feed_codepoint(codepoint,
- boost::bind(&Callbacks::on_code_unit,
-- boost::ref(callbacks), _1));
-+ boost::ref(callbacks), boost::placeholders::_1));
- }
-
- Callbacks& callbacks;
diff --git a/patches/boost/1.75.0/boost-1.71.0-context-x32.patch b/patches/boost/1.76.0/boost-1.71.0-context-x32.patch
index 9ee3d545..9ee3d545 100644
--- a/patches/boost/1.75.0/boost-1.71.0-context-x32.patch
+++ b/patches/boost/1.76.0/boost-1.71.0-context-x32.patch
diff --git a/patches/boost/1.75.0/boost-1.71.0-disable_icu_rpath.patch b/patches/boost/1.76.0/boost-1.71.0-disable_icu_rpath.patch
index 32faf8d0..32faf8d0 100644
--- a/patches/boost/1.75.0/boost-1.71.0-disable_icu_rpath.patch
+++ b/patches/boost/1.76.0/boost-1.71.0-disable_icu_rpath.patch
diff --git a/patches/boost/1.76.0/boost-1.73-boost-mpi-python-PEP-328.patch b/patches/boost/1.76.0/boost-1.73-boost-mpi-python-PEP-328.patch
new file mode 100644
index 00000000..444db2b6
--- /dev/null
+++ b/patches/boost/1.76.0/boost-1.73-boost-mpi-python-PEP-328.patch
@@ -0,0 +1,17 @@
+--- a/libs/mpi/build/__init__.py
++++ b/libs/mpi/build/__init__.py
+@@ -1,10 +1,12 @@
++from __future__ import absolute_import
++
+ import sys
+ if sys.platform == 'linux2':
+ import DLFCN as dl
+ flags = sys.getdlopenflags()
+ sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)
+- import mpi
++ from . import mpi
+ sys.setdlopenflags(flags)
+ else:
+- import mpi
++ from . import mpi
+
diff --git a/patches/boost/1.76.0/boost-1.74-CVE-2012-2677.patch b/patches/boost/1.76.0/boost-1.74-CVE-2012-2677.patch
new file mode 100644
index 00000000..ff947f74
--- /dev/null
+++ b/patches/boost/1.76.0/boost-1.74-CVE-2012-2677.patch
@@ -0,0 +1,125 @@
+https://src.fedoraproject.org/rpms/boost/raw/master/f/boost-1.58.0-pool.patch
+https://bugzilla.redhat.com/show_bug.cgi?id=828856
+https://bugs.gentoo.org/620468
+https://svn.boost.org/trac10/ticket/6701
+
+Index: boost/pool/pool.hpp
+===================================================================
+--- a/boost/pool/pool.hpp (revision 78317)
++++ b/boost/pool/pool.hpp (revision 78326)
+@@ -27,4 +27,6 @@
+ #include <boost/pool/poolfwd.hpp>
+
++// std::numeric_limits
++#include <boost/limits.hpp>
+ // boost::integer::static_lcm
+ #include <boost/integer/common_factor_ct.hpp>
+@@ -358,4 +360,11 @@
+ }
+
++ size_type max_chunks() const
++ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool.
++ size_type partition_size = alloc_size();
++ size_type POD_size = integer::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type);
++ return (std::numeric_limits<size_type>::max() - POD_size) / alloc_size();
++ }
++
+ static void * & nextof(void * const ptr)
+ { //! \returns Pointer dereferenced.
+@@ -377,5 +388,7 @@
+ //! the first time that object needs to allocate system memory.
+ //! The default is 32. This parameter may not be 0.
+- //! \param nmax_size is the maximum number of chunks to allocate in one block.
++ //! \param nmax_size is the maximum number of chunks to allocate in one block.
++ set_next_size(nnext_size);
++ set_max_size(nmax_size);
+ }
+
+@@ -400,7 +413,7 @@
+ }
+ void set_next_size(const size_type nnext_size)
+- { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0.
+- //! \returns nnext_size.
+- next_size = start_size = nnext_size;
++ { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0.
++ BOOST_USING_STD_MIN();
++ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks());
+ }
+ size_type get_max_size() const
+@@ -410,5 +423,6 @@
+ void set_max_size(const size_type nmax_size)
+ { //! Set max_size.
+- max_size = nmax_size;
++ BOOST_USING_STD_MIN();
++ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks());
+ }
+ size_type get_requested_size() const
+@@ -713,7 +727,7 @@
+ BOOST_USING_STD_MIN();
+ if(!max_size)
+- next_size <<= 1;
++ set_next_size(next_size << 1);
+ else if( next_size*partition_size/requested_size < max_size)
+- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
+
+ // initialize it,
+@@ -753,7 +767,7 @@
+ BOOST_USING_STD_MIN();
+ if(!max_size)
+- next_size <<= 1;
++ set_next_size(next_size << 1);
+ else if( next_size*partition_size/requested_size < max_size)
+- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
+
+ // initialize it,
+@@ -797,4 +811,6 @@
+ //! \returns Address of chunk n if allocated ok.
+ //! \returns 0 if not enough memory for n chunks.
++ if (n > max_chunks())
++ return 0;
+
+ const size_type partition_size = alloc_size();
+@@ -845,7 +861,7 @@
+ BOOST_USING_STD_MIN();
+ if(!max_size)
+- next_size <<= 1;
++ set_next_size(next_size << 1);
+ else if( next_size*partition_size/requested_size < max_size)
+- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
+
+ // insert it into the list,
+Index: libs/pool/test/test_bug_6701.cpp
+===================================================================
+--- a/libs/pool/test/test_bug_6701.cpp (revision 78326)
++++ b/libs/pool/test/test_bug_6701.cpp (revision 78326)
+@@ -0,0 +1,27 @@
++/* Copyright (C) 2012 Étienne Dupuis
++*
++* Use, modification and distribution is subject to the
++* Boost Software License, Version 1.0. (See accompanying
++* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
++*/
++
++// Test of bug #6701 (https://svn.boost.org/trac/boost/ticket/6701)
++
++#include <boost/pool/object_pool.hpp>
++#include <boost/limits.hpp>
++
++int main()
++{
++ boost::pool<> p(1024, std::numeric_limits<size_t>::max() / 768);
++
++ void *x = p.malloc();
++ BOOST_ASSERT(!x);
++
++ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_next_size());
++ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_max_size());
++
++ void *y = p.ordered_malloc(std::numeric_limits<size_t>::max() / 768);
++ BOOST_ASSERT(!y);
++
++ return 0;
++}
diff --git a/patches/boost/1.76.0/boost-1.76-boost-numpy.patch b/patches/boost/1.76.0/boost-1.76-boost-numpy.patch
new file mode 100644
index 00000000..d9af1320
--- /dev/null
+++ b/patches/boost/1.76.0/boost-1.76-boost-numpy.patch
@@ -0,0 +1,23 @@
+From 0796305c863804a2b31610507c531da5c0408422 Mon Sep 17 00:00:00 2001
+From: Peter Dimov <pdimov@gmail.com>
+Date: Mon, 24 May 2021 22:14:55 +0300
+Subject: [PATCH] Use the /python//numpy target instead of [ numpy.include ]
+ (fixes #361)
+
+---
+ libs/python/build/Jamfile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libs/python/build/Jamfile b/libs/python/build/Jamfile
+index dbc9fb203..03b69a25d 100644
+--- a/libs/python/build/Jamfile
++++ b/libs/python/build/Jamfile
+@@ -117,7 +117,7 @@ lib boost_numpy
+ <define>BOOST_NUMPY_SOURCE
+ [ cond [ python.numpy ] : <library>/python//python_for_extensions ]
+ [ unless [ python.numpy ] : <build>no ]
+- <include>$(numpy-include)
++ <library>/python//numpy
+ <library>boost_python
+ <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+ -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
diff --git a/patches/boost/1.76.0/boost-1.76-sparc-define.patch b/patches/boost/1.76.0/boost-1.76-sparc-define.patch
new file mode 100644
index 00000000..b3909ee3
--- /dev/null
+++ b/patches/boost/1.76.0/boost-1.76-sparc-define.patch
@@ -0,0 +1,21 @@
+https://github.com/boostorg/predef/commit/1be0e4a2d8db15a405f64a6f65507b87c1be7e1a.patch
+
+From 1be0e4a2d8db15a405f64a6f65507b87c1be7e1a Mon Sep 17 00:00:00 2001
+From: tkoecker <tkoecker@gmx.net>
+Date: Fri, 21 May 2021 16:31:11 +0200
+Subject: [PATCH] added missing brackets (#118)
+--- a/boost/predef/architecture/sparc.h
++++ b/boost/predef/architecture/sparc.h
+@@ -34,10 +34,10 @@ Distributed under the Boost Software License, Version 1.0.
+
+ #if defined(__sparc__) || defined(__sparc)
+ # undef BOOST_ARCH_SPARC
+-# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__)
++# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__))
+ # define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
+ # endif
+-# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__)
++# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__))
+ # define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
+ # endif
+ # if !defined(BOOST_ARCH_SPARC)