Compare commits

..

3 commits

Author SHA1 Message Date
Jonathan Wakely
6aba088b07 Change spec file to use autosetup for applying patches
Also renumber the patches from 0-13 since any historical significance of
the numbers is already gone from the spec file.
2023-09-12 13:23:01 +01:00
Jonathan Wakely
ea476ebc58 Fix test plan by removing obsolete beakerlib setting 2023-09-01 09:52:04 +01:00
Kefu Chai
28be73603a Add patch for Boost.Accumulators bug
This change silences the warning when compiling Boost.accumulators
with GCC 13. as some projects using Boost.Accumulators are compiled
with -Werror. Without this change, these project would have to disable
-Wuninitialized warning or silence it temporarily when including
the offending headers. Neither of these two solution is ideal from
a developer's perspective. so let's apply the patch when packaging
Boost. The patch was included by Boost 1.83.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2023-08-22 12:11:42 +01:00
20 changed files with 1997 additions and 479 deletions

View file

@ -0,0 +1,30 @@
--- boost_1_68_0/libs/pool/test/Jamfile.v2.orig 2018-08-01 20:50:52.000000000 +0000
+++ boost_1_68_0/libs/pool/test/Jamfile.v2 2018-12-01 17:29:33.322195409 +0000
@@ -22,18 +22,18 @@
import testing ;
test-suite pool :
- [ run test_simple_seg_storage.cpp : : : <toolset>msvc:<cxxflags>-wd4267 ]
- [ run test_pool_alloc.cpp ]
- [ run pool_msvc_compiler_bug_test.cpp : : : <toolset>msvc:<cxxflags>-wd4512 ]
- [ run test_msvc_mem_leak_detect.cpp ]
- [ run test_bug_3349.cpp ]
- [ run test_bug_4960.cpp ]
+ [ run test_simple_seg_storage.cpp : : : <toolset>msvc:<cxxflags>-wd4267 <library>/boost/system//boost_system ]
+ [ run test_pool_alloc.cpp : : : <library>/boost/system//boost_system ]
+ [ run pool_msvc_compiler_bug_test.cpp : : : <toolset>msvc:<cxxflags>-wd4512 <library>/boost/system//boost_system ]
+ [ run test_msvc_mem_leak_detect.cpp : : : <library>/boost/system//boost_system ]
+ [ run test_bug_3349.cpp : : : <library>/boost/system//boost_system ]
+ [ run test_bug_4960.cpp : : : <library>/boost/system//boost_system ]
[ run test_bug_1252.cpp : : :
<toolset>clang:<cxxflags>-Wno-c++11-long-long
<toolset>gcc:<cxxflags>-Wno-long-long
- <toolset>pathscale:<cxxflags>-Wno-long-long ]
- [ run test_bug_2696.cpp ]
- [ run test_bug_5526.cpp ]
+ <toolset>pathscale:<cxxflags>-Wno-long-long <library>/boost/system//boost_system ]
+ [ run test_bug_2696.cpp : : : <library>/boost/system//boost_system ]
+ [ run test_bug_5526.cpp : : : <library>/boost/system//boost_system ]
[ run test_threading.cpp : : : <threading>multi <library>/boost/thread//boost_thread ]
[ compile test_poisoned_macros.cpp ]
;

120
boost-1.58.0-pool.patch Normal file
View file

@ -0,0 +1,120 @@
Index: boost/pool/pool.hpp
===================================================================
--- ./boost/pool/pool.hpp (revision 78317)
+++ ./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
===================================================================
--- libs/pool/test/test_bug_6701.cpp (revision 78326)
+++ 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;
+}

View file

@ -0,0 +1,37 @@
From daf4ef50c88c2b9a6bf2c40b537eebc202caad6e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Gonzalve?=
<sebastien.gonzalve@aliceadsl.fr>
Date: Sat, 14 Nov 2020 10:39:47 +0100
Subject: [PATCH] Do not try to access element when vector is empty
Trying to access tmp[0] causes a crash on Fedora when assertion on STL
are enabled.
/usr/include/c++/10/bits/stl_vector.h:1045: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>; std::vector<_Tp, _Alloc>::reference = unsigned char&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.
This patch just passes nullptr as pointer to getSortKey() when tmp size
is 0, preventing dereferencing elements in empty vector.
I guess that &tmp[0] should be optimized as 'no real access' when
disabling assertion, but actually leads to crash when assert are
enabled.
---
src/icu/collator.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/locale/src/icu/collator.cpp b/libs/locale/src/icu/collator.cpp
index 7f1ea6a..dc59e8c 100644
--- a/libs/locale/src/icu/collator.cpp
+++ b/libs/locale/src/icu/collator.cpp
@@ -93,7 +93,7 @@ namespace boost {
std::vector<uint8_t> tmp;
tmp.resize(str.length());
icu::Collator *collate = get_collator(level);
- int len = collate->getSortKey(str,&tmp[0],tmp.size());
+ int len = collate->getSortKey(str,tmp.empty()?nullptr:&tmp[0],tmp.size());
if(len > int(tmp.size())) {
tmp.resize(len);
collate->getSortKey(str,&tmp[0],tmp.size());
--
2.26.2

View file

@ -0,0 +1,114 @@
From f364ee7be2bb1a44a2724d92f67490deaf19dc5e Mon Sep 17 00:00:00 2001
From: Andrey Semashev <andrey.semashev@gmail.com>
Date: Mon, 11 May 2020 19:59:23 +0300
Subject: [PATCH] Removed usage of deprecated header boost/detail/iterator.hpp.
The header was deprecated in favor of <iterator>. It generates compiler
warnings and will be removed in a future release.
---
boost/detail/algorithm.hpp | 2 +-
boost/graph/adjacency_iterator.hpp | 6 +++---
boost/graph/detail/adjacency_list.hpp | 5 +++--
boost/graph/incremental_components.hpp | 6 +++---
4 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/boost/detail/algorithm.hpp b/boost/detail/algorithm.hpp
index 7793fb357..9b3195cbf 100644
--- a/boost/detail/algorithm.hpp
+++ b/boost/detail/algorithm.hpp
@@ -30,7 +30,7 @@
#ifndef BOOST_ALGORITHM_HPP
#define BOOST_ALGORITHM_HPP
-#include <boost/detail/iterator.hpp>
+
// Algorithms on sequences
//
// The functions in this file have not yet gone through formal
diff --git a/boost/graph/adjacency_iterator.hpp b/boost/graph/adjacency_iterator.hpp
index 5325e7875..4693e3a3a 100644
--- a/boost/graph/adjacency_iterator.hpp
+++ b/boost/graph/adjacency_iterator.hpp
@@ -10,7 +10,7 @@
#ifndef BOOST_ADJACENCY_ITERATOR_HPP
#define BOOST_ADJACENCY_ITERATOR_HPP
-#include <boost/detail/iterator.hpp>
+#include <iterator>
#include <boost/iterator/iterator_adaptor.hpp>
#include <boost/graph/graph_traits.hpp>
@@ -45,7 +45,7 @@ template < class Graph,
class adjacency_iterator_generator
{
typedef
- typename boost::detail::iterator_traits< OutEdgeIter >::difference_type
+ typename std::iterator_traits< OutEdgeIter >::difference_type
difference_type;
public:
@@ -81,7 +81,7 @@ template < class Graph,
class inv_adjacency_iterator_generator
{
typedef
- typename boost::detail::iterator_traits< InEdgeIter >::difference_type
+ typename std::iterator_traits< InEdgeIter >::difference_type
difference_type;
public:
diff --git a/boost/graph/detail/adjacency_list.hpp b/boost/graph/detail/adjacency_list.hpp
index 4b11fa516..c1a2ada23 100644
--- a/boost/graph/detail/adjacency_list.hpp
+++ b/boost/graph/detail/adjacency_list.hpp
@@ -21,6 +21,7 @@
#include <boost/range/irange.hpp>
#include <boost/graph/graph_traits.hpp>
#include <memory>
+#include <iterator>
#include <algorithm>
#include <boost/limits.hpp>
@@ -2370,7 +2371,7 @@ namespace detail
typedef typename OutEdgeList::size_type degree_size_type;
typedef typename OutEdgeList::iterator OutEdgeIter;
- typedef boost::detail::iterator_traits< OutEdgeIter >
+ typedef std::iterator_traits< OutEdgeIter >
OutEdgeIterTraits;
typedef
typename OutEdgeIterTraits::iterator_category OutEdgeIterCat;
@@ -2398,7 +2399,7 @@ namespace detail
// Edge Iterator
- typedef boost::detail::iterator_traits< EdgeIter > EdgeIterTraits;
+ typedef std::iterator_traits< EdgeIter > EdgeIterTraits;
typedef typename EdgeIterTraits::iterator_category EdgeIterCat;
typedef typename EdgeIterTraits::difference_type EdgeIterDiff;
diff --git a/boost/graph/incremental_components.hpp b/boost/graph/incremental_components.hpp
index 1ad8c9403..f16882e2a 100644
--- a/boost/graph/incremental_components.hpp
+++ b/boost/graph/incremental_components.hpp
@@ -13,10 +13,10 @@
#ifndef BOOST_INCREMENTAL_COMPONENTS_HPP
#define BOOST_INCREMENTAL_COMPONENTS_HPP
-#include <boost/detail/iterator.hpp>
+#include <boost/tuple/tuple.hpp>
#include <boost/graph/detail/incremental_components.hpp>
#include <boost/iterator/counting_iterator.hpp>
-#include <boost/make_shared.hpp>
+#include <boost/smart_ptr/make_shared.hpp>
#include <boost/pending/disjoint_sets.hpp>
#include <iterator>
@@ -69,7 +69,7 @@ void compress_components(ParentIterator first, ParentIterator last)
}
template < class ParentIterator >
-typename boost::detail::iterator_traits< ParentIterator >::difference_type
+typename std::iterator_traits< ParentIterator >::difference_type
component_count(ParentIterator first, ParentIterator last)
{
std::ptrdiff_t count = 0;

View file

@ -0,0 +1,35 @@
From ae5da2a7e8f1111757d8a474095486a5b22aa12d Mon Sep 17 00:00:00 2001
From: Victor Stinner <vstinner@python.org>
Date: Mon, 25 Apr 2022 10:51:46 +0200
Subject: [PATCH] Fix enum_type_object type on Python 3.11
The enum_type_object type inherits from PyLong_Type which is not tracked
by the GC. Instances doesn't have to be tracked by the GC: remove the
Py_TPFLAGS_HAVE_GC flag.
The Python C API documentation says:
"To create a container type, the tp_flags field of the type object
must include the Py_TPFLAGS_HAVE_GC and provide an implementation of
the tp_traverse handler."
https://docs.python.org/dev/c-api/gcsupport.html
The new exception was introduced in Python 3.11 by:
https://github.com/python/cpython/issues/88429
---
libs/python/src/object/enum.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/libs/python/src/object/enum.cpp b/libs/python/src/object/enum.cpp
index 293e705899..5753b32e07 100644
--- a/libs/python/src/object/enum.cpp
+++ b/libs/python/src/object/enum.cpp
@@ -113,7 +113,6 @@ static PyTypeObject enum_type_object = {
#if PY_VERSION_HEX < 0x03000000
| Py_TPFLAGS_CHECKTYPES
#endif
- | Py_TPFLAGS_HAVE_GC
| Py_TPFLAGS_BASETYPE, /* tp_flags */
0, /* tp_doc */
0, /* tp_traverse */

View file

@ -0,0 +1,27 @@
From d1343f28dcbe25b100b082b34775bd92ead4602c Mon Sep 17 00:00:00 2001
From: jzmaddock <john@johnmaddock.co.uk>
Date: Tue, 25 Jan 2022 09:27:40 +0000
Subject: [PATCH] Update gcc Intel intrinsic usage config. Fixes
https://github.com/boostorg/multiprecision/issues/419.
---
include/boost/multiprecision/cpp_int/intel_intrinsics.hpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp b/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp
index eb4624bb4..37717cd51 100644
--- include/boost/multiprecision/cpp_int/intel_intrinsics.hpp
+++ include/boost/multiprecision/cpp_int/intel_intrinsics.hpp
@@ -19,7 +19,11 @@
// If this is GCC/clang, then check that the actual intrinsic exists:
//
#if defined(__has_builtin) && defined(__GNUC__)
-#if !__has_builtin(__builtin_ia32_addcarryx_u64) && defined(BOOST_MP_HAS_IMMINTRIN_H) && !(defined(BOOST_GCC) && (__GNUC__ >= 9))
+#if !__has_builtin(__builtin_ia32_addcarryx_u64) && defined(BOOST_MP_HAS_IMMINTRIN_H) \
+ && !(defined(BOOST_GCC) && (__GNUC__ >= 9) \
+ && (defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)\
+ || defined(i386) || defined(__i386) || defined(__i386__) || defined(_M_AMD64) \
+ || defined(_M_X64) || defined(__amd64__) || defined(_M_X64)))
#undef BOOST_MP_HAS_IMMINTRIN_H
#endif
#elif defined(BOOST_MP_HAS_IMMINTRIN_H) && defined(__GNUC__) && !(defined(BOOST_GCC) && (__GNUC__ >= 9))

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,34 @@
From c3ada7a1b2b54f4b27585f72308a76984f8489b4 Mon Sep 17 00:00:00 2001
From: jzmaddock <john@johnmaddock.co.uk>
Date: Tue, 16 Mar 2021 10:47:16 +0000
Subject: [PATCH] Add missing #includes.
---
test/multiprecision_float_test.cpp | 1 +
test/multiprecision_int_test.cpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/test/multiprecision_float_test.cpp b/test/multiprecision_float_test.cpp
index 904c59d8f..bc2a9364d 100644
--- boost_1_76_0/libs/random/test/multiprecision_float_test.cpp
+++ boost_1_76_0/libs/random/test/multiprecision_float_test.cpp
@@ -20,6 +20,7 @@
#include <boost/multiprecision/debug_adaptor.hpp>
#include <boost/scoped_ptr.hpp>
#include <boost/random.hpp>
+#include <boost/mpl/list.hpp>
#include <sstream>
diff --git a/test/multiprecision_int_test.cpp b/test/multiprecision_int_test.cpp
index 577e52aff..41ec229b5 100644
--- boost_1_76_0/libs/random/test/multiprecision_int_test.cpp
+++ boost_1_76_0/libs/random/test/multiprecision_int_test.cpp
@@ -32,6 +32,7 @@
#include <boost/random/uniform_int.hpp>
#include <boost/random/uniform_smallint.hpp>
#include <boost/random/discrete_distribution.hpp>
+#include <boost/mpl/list.hpp>
#include <sstream>
typedef boost::mpl::list <

View file

@ -0,0 +1,68 @@
From 739edb2889cb63c281a3597e712988a40bc82829 Mon Sep 17 00:00:00 2001
From: Thomas W Rodgers <rodgert@twrodgers.com>
Date: Mon, 28 Feb 2022 20:55:14 -0800
Subject: [PATCH 1/3] Adjust options for Fedora package build
---
src/tools/gcc.jam | 31 ++++++++++++++++---------------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
index 47a11322..543cfd84 100644
--- a/tools/build/src/tools/gcc.jam
+++ b/tools/build/src/tools/gcc.jam
@@ -510,7 +510,7 @@ rule compile.fortran ( targets * : sources * : properties * )
actions compile.c++ bind PCH_FILE
{
- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -include"$(PCH_FILE:S=)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" -c -o "$(<:W)" "$(>:W)"
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -include"$(PCH_FILE:S=)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" -c -o "$(<:W)" "$(>:W)"
}
actions compile.c bind PCH_FILE
@@ -521,6 +521,7 @@ actions compile.c bind PCH_FILE
actions compile.c++.preprocess bind PCH_FILE
{
"$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -include"$(PCH_FILE:S=)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" "$(>:W)" -E >"$(<:W)"
++ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -include"$(PCH_FILE:S=)" $(PCH_FILE:D)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" "$(>:W)" -E >"$(<:W)"
}
actions compile.c.preprocess bind PCH_FILE
@@ -623,20 +624,20 @@ actions compile.c.pch
###
# Declare flags and action for compilation.
-toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
-toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
-toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
-
-toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
-
-toolset.flags gcc.compile OPTIONS <warnings>off : -w ;
-toolset.flags gcc.compile OPTIONS <warnings>on : -Wall ;
-toolset.flags gcc.compile OPTIONS <warnings>all : -Wall ;
-toolset.flags gcc.compile OPTIONS <warnings>extra : -Wall -Wextra ;
-toolset.flags gcc.compile OPTIONS <warnings>pedantic : -Wall -Wextra -pedantic ;
-toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : -Werror ;
+toolset.flags gcc.compile OPTIONS <optimization>off : ;
+toolset.flags gcc.compile OPTIONS <optimization>speed : ;
+toolset.flags gcc.compile OPTIONS <optimization>space : ;
+
+toolset.flags gcc.compile OPTIONS <inlining>off : ;
+toolset.flags gcc.compile OPTIONS <inlining>on : ;
+toolset.flags gcc.compile OPTIONS <inlining>full : ;
+
+toolset.flags gcc.compile OPTIONS <warnings>off : ;
+toolset.flags gcc.compile OPTIONS <warnings>on : ;
+toolset.flags gcc.compile OPTIONS <warnings>all : ;
+toolset.flags gcc.compile OPTIONS <warnings>extra : ;
+toolset.flags gcc.compile OPTIONS <warnings>pedantic : ;
+toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : ;
toolset.flags gcc.compile OPTIONS <debug-symbols>on : -g ;
toolset.flags gcc.compile OPTIONS <profiling>on : -pg ;
--
2.35.1

View file

@ -0,0 +1,72 @@
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/tools/build/src/tools/stage.jam b/tools/build/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/tools/build/test/install_build_no.py b/tools/build/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/tools/build/test/test_all.py b/tools/build/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",

View file

@ -0,0 +1,31 @@
From 25e4220a4564a3f8ec22607fcdbee90c81f040d6 Mon Sep 17 00:00:00 2001
From: Thomas W Rodgers <trodgers@redhat.com>
Date: Mon, 28 Feb 2022 21:24:07 -0800
Subject: [PATCH 2/3] Adjust options to remove RPATH for Fedora package builds
---
src/tools/gcc.jam | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
index 543cfd84..fd213ccb 100644
--- a/tools/build/src/tools/gcc.jam
+++ b/tools/build/src/tools/gcc.jam
@@ -1045,12 +1045,11 @@ actions link.dll.mingw bind LIBRARIES
actions link bind LIBRARIES
{
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,$(RPATH) -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
-}
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)}
actions link.dll bind LIBRARIES
{
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,$(RPATH) "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
}
###
--
2.35.1

View file

@ -0,0 +1,41 @@
From ecdc3d41be93d994cf293b6ce08cc33cb9e39e71 Mon Sep 17 00:00:00 2001
From: Kefu Chai <tchaikov@gmail.com>
Date: Thu, 27 Apr 2023 13:09:28 +0800
Subject: [PATCH] always initialize member variable
in this change, impl::extended_p_square_quantile_impl::probability is
zero-initialized to silence -Wuninitialized warning from GCC-13.
despite that this variable is always initialized in
impl::extended_p_square_quantile_impl::result(), it is still referenced
by, for instance the copy constructor, which could be called before
`result()` gets called. and GCC-13 rightly warn us like:
In copy constructor constexpr boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>::extended_p_square_quantile_impl(const boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>&),
inlined from boost::accumulators::detail::accumulator_wrapper<Accumulator, Feature>::accumulator_wrapper(const boost::accumulators::detail::accumulator_wrapper<Accumulator, Feature>&) [with Accumulator = boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>; Feature = boost::accumulators::tag::extended_p_square_quantile_quadratic] at /usr/include/boost/accumulators/framework/depends_on.hpp:320:69,
inlined from constexpr boost::fusion::cons<Car, Cdr>::cons(typename boost::fusion::detail::call_param<Car>::type, typename boost::fusion::detail::call_param<Cdr>::type) [with Car = boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>; Cdr = boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<double, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<double, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::max_impl<double>, boost::accumulators::tag::max>, boost::fusion::nil_> > >] at /usr/include/boost/fusion/container/list/cons.hpp:66:15,
inlined from static boost::accumulators::detail::build_acc_list<First, Last, false>::type boost::accumulators::detail::build_acc_list<First, Last, false>::call(const Args&, const First&, const Last&) [with Args = boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::accumulator, boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::extended_p_square_quantile(boost::accumulators::quadratic), boost::accumulators::tag::mean, boost::accumulators::tag::max, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::extended_p_square_probabilities_<0>, boost::parameter::aux::tagged_argument<boost::accumulators::tag::extended_p_square_probabilities_<0>, std::array<double, 4> >, std::integral_constant<bool, true> > >; First = boost::fusion::mpl_iterator<boost::mpl::v_iter<boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::max_impl<double>, boost::accumulators::tag::max>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<double, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<double, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_impl<double>, boost::accumulators::tag::extended_p_square>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::count_impl, boost::accumulators::tag::count>, boost::mpl::vector0<mpl_::na>, 0>, 0>, 0>, 0>, 0>, 0>, 2> >; Last = boost::fusion::mpl_iterator<boost::mpl::v_iter<boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::max_impl<double>, boost::accumulators::tag::max>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<double, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<double, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_impl<double>, boost::accumulators::tag::extended_p_square>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::count_impl, boost::accumulators::tag::count>, boost::mpl::vector0<mpl_::na>, 0>, 0>, 0>, 0>, 0>, 0>, 6> >] at /usr/include/boost/accumulators/framework/depends_on.hpp:252:86,
inlined from static boost::accumulators::detail::build_acc_list<First, Last, false>::type boost::accumulators::detail::build_acc_list<First, Last, false>::call(const Args&, const First&, const Last&) [with Args = boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::accumulator, boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::extended_p_square_quantile(boost::accumulators::quadratic), boost::accumulators::tag::mean, boost::accumulators::tag::max, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::extended_p_square_probabilities_<0>, boost::parameter::aux::tagged_argument<boost::accumulators::tag::extended_p_square_probabilities_<0>, std::array<double, 4> >, std::integral_constant<bool, true> > >; First = boost::fusion::mpl_iterator<boost::mpl::v_iter<boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::max_impl<double>, boost::accumulators::tag::max>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<double, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<double, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_impl<double>, boost::accumulators::tag::extended_p_square>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::count_impl, boost::accumulators::tag::count>, boost::mpl::vector0<mpl_::na>, 0>, 0>, 0>, 0>, 0>, 0>, 1> >; Last = boost::fusion::mpl_iterator<boost::mpl::v_iter<boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::max_impl<double>, boost::accumulators::tag::max>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<double, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<double, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_impl<double>, boost::accumulators::tag::extended_p_square>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::count_impl, boost::accumulators::tag::count>, boost::mpl::vector0<mpl_::na>, 0>, 0>, 0>, 0>, 0>, 0>, 6> >] at /usr/include/boost/accumulators/framework/depends_on.hpp:252:86:
/usr/include/boost/accumulators/statistics/extended_p_square_quantile.hpp:57:12: error: <unnamed>.boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>::<unnamed>.boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>::probability is used uninitialized [-Werror=uninitialized]
57 | struct extended_p_square_quantile_impl
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
---
boost/accumulators/statistics/extended_p_square_quantile.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/boost/accumulators/statistics/extended_p_square_quantile.hpp b/boost/accumulators/statistics/extended_p_square_quantile.hpp
index f57304c..a4ac3cd 100644
--- a/boost/accumulators/statistics/extended_p_square_quantile.hpp
+++ b/boost/accumulators/statistics/extended_p_square_quantile.hpp
@@ -76,6 +76,7 @@ namespace impl
boost::begin(args[extended_p_square_probabilities])
, boost::end(args[extended_p_square_probabilities])
)
+ , probability()
{
}
--
2.39.2

View file

@ -1,70 +0,0 @@
From ebc90bc3e372dc8e5db21f79d2a79e4f5c4d01ee Mon Sep 17 00:00:00 2001
From: Patrick Palka <ppalka@redhat.com>
Date: Mon, 4 Dec 2023 09:24:20 -0500
Subject: [PATCH] Adjust options for Fedora package build
---
tools/build/src/tools/gcc.jam | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
index 834f5e1bf..c753afc23 100644
--- a/tools/build/src/tools/gcc.jam
+++ b/tools/build/src/tools/gcc.jam
@@ -513,7 +513,7 @@ rule compile.fortran ( targets * : sources * : properties * )
actions compile.c++ bind PCH_FILE
{
- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) $(INCLUDE-GCH)$(_)"$(PCH_FILE:S=)" $(INCLUDE-PCH)$(_)"$(PCH_FILE)" -I"$(INCLUDES)" -include$(_)"$(FORCE_INCLUDES)" -c -o "$(<)" "$(>:T)"
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) $(INCLUDE-GCH)$(_)"$(PCH_FILE:S=)" $(INCLUDE-PCH)$(_)"$(PCH_FILE)" -I"$(INCLUDES)" -include$(_)"$(FORCE_INCLUDES)" -c -o "$(<)" "$(>:T)"
}
actions compile.c bind PCH_FILE
@@ -523,7 +523,7 @@ actions compile.c bind PCH_FILE
actions compile.c++.preprocess bind PCH_FILE
{
- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) $(INCLUDE-GCH)$(_)"$(PCH_FILE:S=)" $(INCLUDE-PCH)$(_)"$(PCH_FILE)" -I"$(INCLUDES)" -include$(_)"$(FORCE_INCLUDES)" "$(>:T)" -E >"$(<)"
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) $(INCLUDE-GCH)$(_)"$(PCH_FILE:S=)" $(INCLUDE-PCH)$(_)"$(PCH_FILE)" -I"$(INCLUDES)" -include$(_)"$(FORCE_INCLUDES)" "$(>:T)" -E >"$(<)"
}
actions compile.c.preprocess bind PCH_FILE
@@ -627,22 +627,22 @@ actions compile.c.pch
###
# Declare flags and action for compilation.
-toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
-toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
-toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
-toolset.flags gcc.compile OPTIONS <optimization>minimal : -O1 ;
+toolset.flags gcc.compile OPTIONS <optimization>off : ;
+toolset.flags gcc.compile OPTIONS <optimization>speed : ;
+toolset.flags gcc.compile OPTIONS <optimization>space : ;
+toolset.flags gcc.compile OPTIONS <optimization>minimal : ;
toolset.flags gcc.compile OPTIONS <optimization>debug : -Og ;
-toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
+toolset.flags gcc.compile OPTIONS <inlining>off : ;
+toolset.flags gcc.compile OPTIONS <inlining>on : ;
+toolset.flags gcc.compile OPTIONS <inlining>full : ;
-toolset.flags gcc.compile OPTIONS <warnings>off : -w ;
-toolset.flags gcc.compile OPTIONS <warnings>on : -Wall ;
-toolset.flags gcc.compile OPTIONS <warnings>all : -Wall ;
-toolset.flags gcc.compile OPTIONS <warnings>extra : -Wall -Wextra ;
-toolset.flags gcc.compile OPTIONS <warnings>pedantic : -Wall -Wextra -pedantic ;
-toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : -Werror ;
+toolset.flags gcc.compile OPTIONS <warnings>off : ;
+toolset.flags gcc.compile OPTIONS <warnings>on : ;
+toolset.flags gcc.compile OPTIONS <warnings>all : ;
+toolset.flags gcc.compile OPTIONS <warnings>extra : ;
+toolset.flags gcc.compile OPTIONS <warnings>pedantic : ;
+toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : ;
toolset.flags gcc.compile OPTIONS <debug-symbols>on : -g ;
toolset.flags gcc.compile OPTIONS <profiling>on : -pg ;
--
2.43.0

View file

@ -1,42 +0,0 @@
From d9554db26c3dbb00a6a293ee4fd4966e4e278da8 Mon Sep 17 00:00:00 2001
From: Peter Dimov <pdimov@gmail.com>
Date: Mon, 15 Dec 2025 21:51:45 +0200
Subject: [PATCH] Install boost_system as header-only
---
boost-install.jam | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/boost-install.jam b/boost-install.jam
index b87e308..5e6bfa6 100644
--- a/tools/boost_install/boost-install.jam
+++ b/tools/boost_install/boost-install.jam
@@ -1015,7 +1015,7 @@ local rule install-cmake-config- ( install-or-stage : version : name : requireme
local library-type = UNKNOWN ;
- if $(name) = boost_headers || $(name) = boost_math || $(name) = boost_exception
+ if $(name) = boost_headers || $(name) = boost_math || $(name) = boost_exception || $(name) = boost_system
{
library-type = INTERFACE ;
}
From 9529e070ea9e9afd1da17edd48993d560fdc0d7a Mon Sep 17 00:00:00 2001
From: Peter Dimov <pdimov@gmail.com>
Date: Mon, 15 Dec 2025 21:52:49 +0200
Subject: [PATCH] Still install boost_system, for the CMake configuration. Refs
#132.
---
build.jam | 1 +
1 file changed, 1 insertion(+)
diff --git a/build.jam b/build.jam
index 65da5aa6..5b6545c8 100644
--- a/libs/system//build.jam
+++ b/libs/system//build.jam
@@ -21,4 +21,5 @@ explicit
;
call-if : boost-library system
+ : install boost_system
;

View file

@ -1,31 +0,0 @@
From 6a8ff06728b64a1121a6179d891ab0baf3b9290b Mon Sep 17 00:00:00 2001
From: Patrick Palka <ppalka@redhat.com>
Date: Mon, 4 Dec 2023 09:27:13 -0500
Subject: [PATCH] Adjust options to remove RPATH for Fedora package builds
---
tools/build/src/tools/gcc.jam | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
index c753afc23..e0b627726 100644
--- a/tools/build/src/tools/gcc.jam
+++ b/tools/build/src/tools/gcc.jam
@@ -1035,12 +1035,12 @@ rule link.dll ( targets * : sources * : properties * )
actions link bind LIBRARIES
{
- "$(CONFIG_COMMAND)" @($(<[1]:T).rsp:O=FC:<=@":>=":E=-L"$(LINKPATH)" -Wl,$(RPATH_OPTION)$(SPACE)-Wl,$(RPATH) -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<:T)" $(START-GROUP) "$(>:T)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS))
+ "$(CONFIG_COMMAND)" @($(<[1]:T).rsp:O=FC:<=@":>=":E=-L"$(LINKPATH)" -o "$(<:T)" $(START-GROUP) "$(>:T)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS))
}
actions link.dll bind LIBRARIES
{
- "$(CONFIG_COMMAND)" @($(<[1]:T).rsp:O=FC:<=@":>=":E=-L"$(LINKPATH)" -Wl,$(RPATH_OPTION)$(SPACE)-Wl,$(RPATH) -Wl,$(IMPLIB_OPTION:E=--out-implib),"$(<[2]:T)" -o "$(<[1]:T)" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,"$(SONAME_PREFIX:E=)$(<[1]:D=)" $(SHARED_OPTION:E=-shared) $(START-GROUP) "$(>:T)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS))
+ "$(CONFIG_COMMAND)" @($(<[1]:T).rsp:O=FC:<=@":>=":E=-L"$(LINKPATH)" -Wl,$(IMPLIB_OPTION:E=--out-implib),"$(<[2]:T)" -o "$(<[1]:T)" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,"$(SONAME_PREFIX:E=)$(<[1]:D=)" $(SHARED_OPTION:E=-shared) $(START-GROUP) "$(>:T)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS))
}
###
--
2.43.0

View file

@ -1,22 +0,0 @@
From 9ac89e9936b826c13e90611cb9a81a7aa0508d20 Mon Sep 17 00:00:00 2001
From: Michael Cho <michael@michaelcho.dev>
Date: Sun, 30 Mar 2025 21:45:49 -0400
Subject: [PATCH] Add include for add_const
Signed-off-by: Michael Cho <michael@michaelcho.dev>
---
include/boost/range/detail/any_iterator_interface.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/boost/range/detail/any_iterator_interface.hpp b/include/boost/range/detail/any_iterator_interface.hpp
index 1103be6c..79e71dbd 100644
--- boost_1_90_0/boost/range/detail/any_iterator_interface.hpp
+++ boost_1_90_0/boost/range/detail/any_iterator_interface.hpp
@@ -13,6 +13,7 @@
#include <boost/mpl/if.hpp>
#include <boost/range/detail/any_iterator_buffer.hpp>
#include <boost/iterator/iterator_categories.hpp>
+#include <boost/type_traits/add_const.hpp>
#include <boost/type_traits/is_convertible.hpp>
#include <boost/type_traits/is_reference.hpp>
#include <boost/type_traits/remove_const.hpp>

View file

@ -16,19 +16,15 @@
# All arches have mpich # All arches have mpich
%bcond_without mpich %bcond_without mpich
%if 0%{?fedora} >= 40 || 0%{?rhel} >= 10 %ifarch s390
%ifarch %{ix86} # No OpenMPI support on these arches
# No OpenMPI support on these arches %bcond_with openmpi
%bcond_with openmpi
%else
%bcond_without openmpi
%endif
%else %else
%bcond_without openmpi %bcond_without openmpi
%endif %endif
%endif %endif
%ifnarch %{ix86} x86_64 %{arm} ppc64 ppc64le aarch64 s390x riscv64 %ifnarch %{ix86} x86_64 %{arm} ppc64 ppc64le aarch64 s390x
%bcond_with context %bcond_with context
%else %else
%bcond_without context %bcond_without context
@ -42,18 +38,12 @@
%bcond_without quadmath %bcond_without quadmath
%endif %endif
%ifnarch x86_64
%bcond_with stacktrace_from_exception
%else
%bcond_without stacktrace_from_exception
%endif
Name: boost Name: boost
%global real_name boost %global real_name boost
Summary: The free peer-reviewed portable C++ source libraries Summary: The free peer-reviewed portable C++ source libraries
Version: 1.90.0 Version: 1.78.0
Release: 4%{?dist} Release: 14%{?dist}
License: BSL-1.0 AND MIT AND Python-2.0.1 License: Boost and MIT and Python
# Replace each . with _ in %%{version} # Replace each . with _ in %%{version}
%global version_enc %{lua: %global version_enc %{lua:
@ -64,11 +54,12 @@ License: BSL-1.0 AND MIT AND Python-2.0.1
%global toplev_dirname %{real_name}_%{version_enc} %global toplev_dirname %{real_name}_%{version_enc}
URL: http://www.boost.org URL: http://www.boost.org
# https://archives.boost.io/release/1.90.0/source/boost_1_90_0.tar.bz2 # https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.bz2
Source0: https://archives.boost.io/release/%{version}/source/%{name}_%{version_enc}.tar.bz2 Source0: https://boostorg.jfrog.io/artifactory/main/release/%{version}/source/%{name}_%{version_enc}.tar.bz2
Source1: libboost_thread.so
# Add a manual page for b2, based on the online documentation: # Add a manual page for b2, based on the online documentation:
# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html # http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
Source1: b2.1 Source2: b2.1
# Since Fedora 13, the Boost libraries are delivered with sonames # Since Fedora 13, the Boost libraries are delivered with sonames
# equal to the Boost version (e.g., 1.41.0). # equal to the Boost version (e.g., 1.41.0).
@ -81,9 +72,7 @@ Source1: b2.1
# The subpackages that don't install shared libraries are also not pulled in # The subpackages that don't install shared libraries are also not pulled in
# (b2, build, doc, doctools, examples, static). # (b2, build, doc, doctools, examples, static).
Requires: %{name}-atomic%{?_isa} = %{version}-%{release} Requires: %{name}-atomic%{?_isa} = %{version}-%{release}
Requires: %{name}-charconv%{?_isa} = %{version}-%{release}
Requires: %{name}-chrono%{?_isa} = %{version}-%{release} Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
Requires: %{name}-cobalt%{?_isa} = %{version}-%{release}
Requires: %{name}-container%{?_isa} = %{version}-%{release} Requires: %{name}-container%{?_isa} = %{version}-%{release}
Requires: %{name}-contract%{?_isa} = %{version}-%{release} Requires: %{name}-contract%{?_isa} = %{version}-%{release}
%if %{with context} %if %{with context}
@ -102,7 +91,6 @@ Requires: %{name}-locale%{?_isa} = %{version}-%{release}
Requires: %{name}-log%{?_isa} = %{version}-%{release} Requires: %{name}-log%{?_isa} = %{version}-%{release}
Requires: %{name}-math%{?_isa} = %{version}-%{release} Requires: %{name}-math%{?_isa} = %{version}-%{release}
Requires: %{name}-nowide%{?_isa} = %{version}-%{release} Requires: %{name}-nowide%{?_isa} = %{version}-%{release}
Requires: %{name}-process%{?_isa} = %{version}-%{release}
Requires: %{name}-program-options%{?_isa} = %{version}-%{release} Requires: %{name}-program-options%{?_isa} = %{version}-%{release}
%if %{with python3} %if %{with python3}
Requires: %{name}-python3%{?_isa} = %{version}-%{release} Requires: %{name}-python3%{?_isa} = %{version}-%{release}
@ -111,15 +99,12 @@ Requires: %{name}-random%{?_isa} = %{version}-%{release}
Requires: %{name}-regex%{?_isa} = %{version}-%{release} Requires: %{name}-regex%{?_isa} = %{version}-%{release}
Requires: %{name}-serialization%{?_isa} = %{version}-%{release} Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
Requires: %{name}-stacktrace%{?_isa} = %{version}-%{release} Requires: %{name}-stacktrace%{?_isa} = %{version}-%{release}
Requires: %{name}-system%{?_isa} = %{version}-%{release}
Requires: %{name}-test%{?_isa} = %{version}-%{release} Requires: %{name}-test%{?_isa} = %{version}-%{release}
Requires: %{name}-thread%{?_isa} = %{version}-%{release} Requires: %{name}-thread%{?_isa} = %{version}-%{release}
Requires: %{name}-timer%{?_isa} = %{version}-%{release} Requires: %{name}-timer%{?_isa} = %{version}-%{release}
Requires: %{name}-type_erasure%{?_isa} = %{version}-%{release} Requires: %{name}-type_erasure%{?_isa} = %{version}-%{release}
Requires: %{name}-url%{?_isa} = %{version}-%{release}
Requires: %{name}-wave%{?_isa} = %{version}-%{release} Requires: %{name}-wave%{?_isa} = %{version}-%{release}
# F44 dropped the boost-system subpackage
Obsoletes: boost-system < 1.90.0
Conflicts: boost-system < 1.90.0
%if %{with python3} %if %{with python3}
Recommends: (boost-numpy3 if python3-numpy) Recommends: (boost-numpy3 if python3-numpy)
@ -142,29 +127,54 @@ BuildRequires: libquadmath-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: libzstd-devel BuildRequires: libzstd-devel
# https://bugzilla.redhat.com/show_bug.cgi?id=828856
# https://bugzilla.redhat.com/show_bug.cgi?id=828857
# https://svn.boost.org/trac/boost/ticket/6701
Patch0: boost-1.58.0-pool.patch
# https://svn.boost.org/trac/boost/ticket/9038
Patch1: boost-1.58.0-pool-test_linking.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1541035 # https://bugzilla.redhat.com/show_bug.cgi?id=1541035
Patch0: boost-1.81.0-build-optflags.patch Patch2: boost-1.78.0-build-optflags.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1318383 # https://bugzilla.redhat.com/show_bug.cgi?id=1318383
Patch1: boost-1.90.0-no-rpath.patch Patch3: boost-1.78.0-no-rpath.patch
# https://lists.boost.org/Archives/boost/2020/04/248812.php # https://lists.boost.org/Archives/boost/2020/04/248812.php
Patch2: boost-1.73.0-cmakedir.patch Patch4: boost-1.73.0-cmakedir.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1899888
# https://github.com/boostorg/locale/issues/52
Patch5: boost-1.73-locale-empty-vector.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1541035 # https://bugzilla.redhat.com/show_bug.cgi?id=1541035
Patch3: boost-1.78.0-b2-build-flags.patch Patch6: boost-1.78.0-b2-build-flags.patch
# https://github.com/boostorg/random/issues/82
Patch7: boost-1.76.0-random-test.patch
# PR https://github.com/boostorg/multiprecision/pull/421
# fixes ppc64le issue https://github.com/boostorg/multiprecision/issues/419
Patch8: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch
# PR https://github.com/boostorg/interval/pull/30 # PR https://github.com/boostorg/interval/pull/30
# Fixes narrowing conversions for ppc - # Fixes narrowing conversions for ppc -
# https://github.com/boostorg/interval/issues/29 # https://github.com/boostorg/interval/issues/29
Patch5: boost-1.76.0-fix-narrowing-conversions-for-ppc.patch Patch9: boost-1.76.0-fix-narrowing-conversions-for-ppc.patch
# Install boost_system for the CMake configuration # https://github.com/boostorg/ptr_container/pull/27
# https://github.com/boostorg/system/issues/132 Patch10: boost-1.76.0-ptr_cont-xml.patch
Patch6: boost-1.90-system.patch
# https://github.com/boostorg/range/pull/157 # Fixes missing libboost_fiber.so
Patch7: boost-1.90.0-range.patch # https://github.com/boostorg/boost/issues/632
Patch11: boost-1.78.0-fix-b2-staging.patch
# https://github.com/boostorg/python/pull/385
Patch12: boost-1.76.0-enum_type_object-type-python-3.11.patch
# PR https://github.com/boostorg/accumulators/pull/54
Patch13: boost-1.81.0-always-initialize-member-variable.patch
%bcond_with tests %bcond_with tests
%bcond_with docs_generated %bcond_with docs_generated
@ -189,33 +199,14 @@ types and operations on these data types, as well as memory ordering
constraints required for coordinating multiple threads through atomic constraints required for coordinating multiple threads through atomic
variables. variables.
%package charconv
Summary: Run-time component of boost charconv library
%description charconv
Run-time support for Boost.Charconv, an implementation of <charconv>
in C++11.
%package chrono %package chrono
Summary: Run-time component of boost chrono library Summary: Run-time component of boost chrono library
Obsoletes: boost-system < 1.90.0 Requires: %{name}-system%{?_isa} = %{version}-%{release}
Conflicts: boost-system < 1.90.0
%description chrono %description chrono
Run-time support for Boost.Chrono, a set of useful time utilities. Run-time support for Boost.Chrono, a set of useful time utilities.
%package cobalt
Summary: Run-time component of boost cobalt library
%description cobalt
Boost.Cobalt provides a set of easy to use coroutine primitives & utilities
running on top of boost.asio. These will be of interest for applications that
perform a lot of IO that want to not block unnecessarily, yet still want to
have linear & readable code (i..e. avoid callbacks).
%package container %package container
Summary: Run-time component of boost container library Summary: Run-time component of boost container library
@ -224,8 +215,7 @@ Summary: Run-time component of boost container library
Boost.Container library implements several well-known containers, Boost.Container library implements several well-known containers,
including STL containers. The aim of the library is to offer advanced including STL containers. The aim of the library is to offer advanced
features not present in standard containers or to offer the latest features not present in standard containers or to offer the latest
standard draft features for compilers that don't comply with the standard draft features for compilers that comply with C++03.
latest C++ standard.
%package contract %package contract
Summary: Run-time component of boost contract library Summary: Run-time component of boost contract library
@ -250,7 +240,6 @@ provides a sort of cooperative multitasking on a single thread.
%package coroutine %package coroutine
Summary: Run-time component of boost coroutine library Summary: Run-time component of boost coroutine library
Requires: %{name}-context%{?_isa} = %{version}-%{release}
%description coroutine %description coroutine
Run-time support for Boost.Coroutine, a library that provides Run-time support for Boost.Coroutine, a library that provides
@ -270,8 +259,6 @@ on generic programming concepts.
%if %{with context} %if %{with context}
%package fiber %package fiber
Summary: Run-time component of boost fiber library Summary: Run-time component of boost fiber library
Requires: %{name}-context%{?_isa} = %{version}-%{release}
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
%description fiber %description fiber
@ -281,9 +268,7 @@ micro-/userland-threads (fibers) scheduled cooperatively.
%package filesystem %package filesystem
Summary: Run-time component of boost filesystem library Summary: Run-time component of boost filesystem library
Requires: %{name}-atomic%{?_isa} = %{version}-%{release} Requires: %{name}-system%{?_isa} = %{version}-%{release}
Obsoletes: boost-system < 1.90.0
Conflicts: boost-system < 1.90.0
%description filesystem %description filesystem
@ -311,7 +296,6 @@ stream buffers and i/o filters.
%package json %package json
Summary: Run-time component of boost json library Summary: Run-time component of boost json library
Requires: %{name}-container%{?_isa} = %{version}-%{release}
%description json %description json
@ -322,9 +306,8 @@ simply "JSON"
%package locale %package locale
Summary: Run-time component of boost locale library Summary: Run-time component of boost locale library
Requires: %{name}-chrono%{?_isa} = %{version}-%{release} Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
Requires: %{name}-system%{?_isa} = %{version}-%{release}
Requires: %{name}-thread%{?_isa} = %{version}-%{release} Requires: %{name}-thread%{?_isa} = %{version}-%{release}
Obsoletes: boost-system < 1.90.0
Conflicts: boost-system < 1.90.0
%description locale %description locale
@ -333,25 +316,20 @@ handling tools.
%package log %package log
Summary: Run-time component of boost logging library Summary: Run-time component of boost logging library
Requires: %{name}-atomic%{?_isa} = %{version}-%{release}
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
Requires: %{name}-regex%{?_isa} = %{version}-%{release}
Requires: %{name}-thread%{?_isa} = %{version}-%{release}
%description log %description log
Run-time support for Boost.Log, a modular and extensible logging Boost.Log library aims to make logging significantly easier for the
library that supports both narrow-character and wide-character logging. application developer. It provides a wide range of out-of-the-box
tools along with public interfaces for extending the library.
%package math %package math
Summary: Run-time component of boost math toolkit Summary: Math functions for boost TR1 library
%description math %description math
Run-time support for Boost.Math, including floating-point utilities, Run-time support for C99 and C++ TR1 C-style Functions from the math
specific width floating-point types, mathematical constants, portion of Boost.TR1.
statistical distributions, special functions, and more.
%package nowide %package nowide
Summary: Standard library functions with UTF-8 API on Windows Summary: Standard library functions with UTF-8 API on Windows
@ -377,14 +355,6 @@ support for the NumPy extension of the Boost Python Library for Python 3.
%endif %endif
%package process
Summary: Run-time component of boost process library
%description process
Run-time support of the Boost.Process library, for managing system
processes.
%package program-options %package program-options
Summary: Run-time component of boost program_options library Summary: Run-time component of boost program_options library
@ -436,6 +406,14 @@ Summary: Run-time component of boost stacktrace library
Run-time component of the Boost stacktrace library. Run-time component of the Boost stacktrace library.
%package system
Summary: Run-time component of boost system support library
%description system
Run-time component of Boost operating system support library, including
the diagnostics support that is part of the C++11 standard library.
%package test %package test
Summary: Run-time component of boost test library Summary: Run-time component of boost test library
@ -446,8 +424,7 @@ program execution monitoring.
%package thread %package thread
Summary: Run-time component of boost thread library Summary: Run-time component of boost thread library
Obsoletes: boost-system < 1.90.0 Requires: %{name}-system%{?_isa} = %{version}-%{release}
Conflicts: boost-system < 1.90.0
%description thread %description thread
@ -459,8 +436,7 @@ data specific to individual threads.
%package timer %package timer
Summary: Run-time component of boost timer library Summary: Run-time component of boost timer library
Requires: %{name}-chrono%{?_isa} = %{version}-%{release} Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
Obsoletes: boost-system < 1.90.0 Requires: %{name}-system%{?_isa} = %{version}-%{release}
Conflicts: boost-system < 1.90.0
%description timer %description timer
@ -471,31 +447,20 @@ with as little as one #include and one additional line of code.
%package type_erasure %package type_erasure
Summary: Run-time component of boost type erasure library Summary: Run-time component of boost type erasure library
Requires: %{name}-chrono%{?_isa} = %{version}-%{release} Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
Requires: %{name}-thread%{?_isa} = %{version}-%{release} Requires: %{name}-system%{?_isa} = %{version}-%{release}
Obsoletes: boost-system < 1.90.0
Conflicts: boost-system < 1.90.0
%description type_erasure %description type_erasure
The Boost.TypeErasure library provides runtime polymorphism in C++ The Boost.TypeErasure library provides runtime polymorphism in C++
that is more flexible than that provided by the core language. that is more flexible than that provided by the core language.
%package url
Summary: Runtime component of boost URL library
%description url
Run-time support for the Boost.URL library, a Standards conforming
library for parsing Uniform Resource Locators.
%package wave %package wave
Summary: Run-time component of boost C99/C++ preprocessing library Summary: Run-time component of boost C99/C++ preprocessing library
Requires: %{name}-chrono%{?_isa} = %{version}-%{release} Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
Requires: %{name}-date-time%{?_isa} = %{version}-%{release} Requires: %{name}-date-time%{?_isa} = %{version}-%{release}
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release} Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
Requires: %{name}-system%{?_isa} = %{version}-%{release}
Requires: %{name}-thread%{?_isa} = %{version}-%{release} Requires: %{name}-thread%{?_isa} = %{version}-%{release}
Obsoletes: boost-system < 1.90.0
Conflicts: boost-system < 1.90.0
%description wave %description wave
@ -745,7 +710,7 @@ using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{pyth
EOF EOF
%endif %endif
./bootstrap.sh --with-toolset=%{toolchain} --with-icu --prefix=$RPM_BUILD_ROOT%{_prefix} ./bootstrap.sh --with-toolset=%{toolchain} --with-icu
# N.B. When we build the following with PCH, parts of boost (math # N.B. When we build the following with PCH, parts of boost (math
# library in particular) end up being built second time during # library in particular) end up being built second time during
@ -762,12 +727,20 @@ echo ============================= build serial ==================
variant=release threading=multi debug-symbols=on pch=off \ variant=release threading=multi debug-symbols=on pch=off \
%if %{with python3} %if %{with python3}
python=%{python3_version} \ python=%{python3_version} \
%endif
%if !%{with stacktrace_from_exception}
boost.stacktrace.from_exception=off \
%endif %endif
stage stage
# See libs/thread/build/Jamfile.v2 for where this file comes from.
if [ $(find serial -type f -name has_atomic_flag_lockfree \
-print -quit | wc -l) -ne 0 ]; then
DEF=D
else
DEF=U
fi
m4 -${DEF}HAS_ATOMIC_FLAG_LOCKFREE -DVERSION=%{version} \
%{SOURCE1} > $(basename %{SOURCE1})
# Build MPI parts of Boost with OpenMPI support # Build MPI parts of Boost with OpenMPI support
%if %{with openmpi} || %{with mpich} %if %{with openmpi} || %{with mpich}
@ -809,7 +782,7 @@ export PATH=/bin${PATH:+:}$PATH
echo ============================= build Boost.Build ================== echo ============================= build Boost.Build ==================
(cd tools/build (cd tools/build
./bootstrap.sh --with-toolset=%{toolchain} --prefix=$RPM_BUILD_ROOT%{_prefix}) ./bootstrap.sh --with-toolset=%{toolchain})
%check %check
: :
@ -900,37 +873,18 @@ echo ============================= install serial ==================
variant=release threading=multi debug-symbols=on pch=off \ variant=release threading=multi debug-symbols=on pch=off \
%if %{with python3} %if %{with python3}
python=%{python3_version} \ python=%{python3_version} \
%endif
%if !%{with stacktrace_from_exception}
boost.stacktrace.from_exception=off \
%endif %endif
install install
cat > $RPM_BUILD_ROOT%{_libdir}/libboost_system.so << EOT # Override DSO symlink with a linker script. See the linker script
/* GNU ld script # itself for details of why we need to do this.
[ -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so ] # Must be present
There is no runtime library for Boost.System. rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so
This empty linker script exists to support Fedora packages which use install -p -m 644 $(basename %{SOURCE1}) $RPM_BUILD_ROOT%{_libdir}/
-lboost_system when linking and so require a library with that name.
This linker script will be remove in a future Fedora release.
*/
EOT
chmod 644 $RPM_BUILD_ROOT%{_libdir}/libboost_system.so
echo ============================= install Boost.Build ================== echo ============================= install Boost.Build ==================
(cd tools/build (cd tools/build
./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install ./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install
# Somewhere along the line the boost-build install directory became b2
# which seems not so great for our purposes, fix that up
mv $RPM_BUILD_ROOT%{_datadir}/b2 $RPM_BUILD_ROOT%{_datadir}/boost-build
# but make a symlink so b2 knows where to look
pushd $RPM_BUILD_ROOT%{_datadir}/
ln -s ./boost-build b2
popd
# Fix some permissions # Fix some permissions
chmod +x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py chmod +x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py
# Fix shebang using unversioned python # Fix shebang using unversioned python
@ -939,7 +893,7 @@ echo ============================= install Boost.Build ==================
rm $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp rm $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp
rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp
# Install the manual page # Install the manual page
%{__install} -p -m 644 %{SOURCE1} -D $RPM_BUILD_ROOT%{_mandir}/man1/b2.1 %{__install} -p -m 644 %{SOURCE2} -D $RPM_BUILD_ROOT%{_mandir}/man1/b2.1
) )
echo ============================= install Boost.QuickBook ================== echo ============================= install Boost.QuickBook ==================
@ -1015,11 +969,6 @@ rm -f tmp-doc-files-to-be-installed
rm -f tmp-doc-directories rm -f tmp-doc-directories
%{__install} -p -m 644 -t $EXAMPLESPATH LICENSE_1_0.txt %{__install} -p -m 644 -t $EXAMPLESPATH LICENSE_1_0.txt
# The predef_check utility doesn't seem useful to package.
(cd $RPM_BUILD_ROOT/%{_datadir}
rm boost_predef/tools/check/*
rm boost_predef/build.jam
)
%post doctools %post doctools
CATALOG=%{_sysconfdir}/xml/catalog CATALOG=%{_sysconfdir}/xml/catalog
@ -1054,19 +1003,10 @@ fi
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_atomic.so.%{sonamever} %{_libdir}/libboost_atomic.so.%{sonamever}
%files charconv
%license LICENSE_1_0.txt
%{_libdir}/libboost_charconv.so.%{sonamever}
%files chrono %files chrono
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_chrono.so.%{sonamever} %{_libdir}/libboost_chrono.so.%{sonamever}
%files cobalt
%license LICENSE_1_0.txt
%{_libdir}/libboost_cobalt.so.%{sonamever}
%{_libdir}/libboost_cobalt_io.so.%{sonamever}
%files container %files container
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_container.so.%{sonamever} %{_libdir}/libboost_container.so.%{sonamever}
@ -1137,10 +1077,6 @@ fi
%{_libdir}/libboost_numpy%{python3_version_nodots}.so.%{sonamever} %{_libdir}/libboost_numpy%{python3_version_nodots}.so.%{sonamever}
%endif %endif
%files process
%license LICENSE_1_0.txt
%{_libdir}/libboost_process.so.%{sonamever}
%files test %files test
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_prg_exec_monitor.so.%{sonamever} %{_libdir}/libboost_prg_exec_monitor.so.%{sonamever}
@ -1174,9 +1110,10 @@ fi
%{_libdir}/libboost_stacktrace_addr2line.so.%{sonamever} %{_libdir}/libboost_stacktrace_addr2line.so.%{sonamever}
%{_libdir}/libboost_stacktrace_basic.so.%{sonamever} %{_libdir}/libboost_stacktrace_basic.so.%{sonamever}
%{_libdir}/libboost_stacktrace_noop.so.%{sonamever} %{_libdir}/libboost_stacktrace_noop.so.%{sonamever}
%if %{with stacktrace_from_exception}
%{_libdir}/libboost_stacktrace_from_exception.so.%{sonamever} %files system
%endif %license LICENSE_1_0.txt
%{_libdir}/libboost_system.so.%{sonamever}
%files thread %files thread
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
@ -1190,10 +1127,6 @@ fi
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_type_erasure.so.%{sonamever} %{_libdir}/libboost_type_erasure.so.%{sonamever}
%files url
%license LICENSE_1_0.txt
%{_libdir}/libboost_url.so.%{sonamever}
%files wave %files wave
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_wave.so.%{sonamever} %{_libdir}/libboost_wave.so.%{sonamever}
@ -1213,10 +1146,7 @@ fi
%{_includedir}/%{name} %{_includedir}/%{name}
%{_libdir}/cmake %{_libdir}/cmake
%{_libdir}/libboost_atomic.so %{_libdir}/libboost_atomic.so
%{_libdir}/libboost_charconv.so
%{_libdir}/libboost_chrono.so %{_libdir}/libboost_chrono.so
%{_libdir}/libboost_cobalt.so
%{_libdir}/libboost_cobalt_io.so
%{_libdir}/libboost_container.so %{_libdir}/libboost_container.so
%{_libdir}/libboost_contract.so %{_libdir}/libboost_contract.so
%if %{with context} %if %{with context}
@ -1244,7 +1174,6 @@ fi
%if %{with python3} %if %{with python3}
%{_libdir}/libboost_numpy%{python3_version_nodots}.so %{_libdir}/libboost_numpy%{python3_version_nodots}.so
%endif %endif
%{_libdir}/libboost_process.so
%{_libdir}/libboost_prg_exec_monitor.so %{_libdir}/libboost_prg_exec_monitor.so
%{_libdir}/libboost_unit_test_framework.so %{_libdir}/libboost_unit_test_framework.so
%{_libdir}/libboost_program_options.so %{_libdir}/libboost_program_options.so
@ -1258,14 +1187,10 @@ fi
%{_libdir}/libboost_stacktrace_addr2line.so %{_libdir}/libboost_stacktrace_addr2line.so
%{_libdir}/libboost_stacktrace_basic.so %{_libdir}/libboost_stacktrace_basic.so
%{_libdir}/libboost_stacktrace_noop.so %{_libdir}/libboost_stacktrace_noop.so
%if %{with stacktrace_from_exception}
%{_libdir}/libboost_stacktrace_from_exception.so
%endif
%{_libdir}/libboost_system.so %{_libdir}/libboost_system.so
%{_libdir}/libboost_thread.so %{_libdir}/libboost_thread.so
%{_libdir}/libboost_timer.so %{_libdir}/libboost_timer.so
%{_libdir}/libboost_type_erasure.so %{_libdir}/libboost_type_erasure.so
%{_libdir}/libboost_url.so
%{_libdir}/libboost_wave.so %{_libdir}/libboost_wave.so
%files static %files static
@ -1289,9 +1214,7 @@ fi
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/cmake %{_libdir}/openmpi/lib/cmake
%{_libdir}/openmpi/lib/libboost_mpi.so %{_libdir}/openmpi/lib/libboost_mpi.so
%{_libdir}/openmpi/lib/libboost_graph.so
%{_libdir}/openmpi/lib/libboost_graph_parallel.so %{_libdir}/openmpi/lib/libboost_graph_parallel.so
%{_libdir}/openmpi/lib/libboost_container.so
%if %{with python3} %if %{with python3}
@ -1308,9 +1231,7 @@ fi
%files graph-openmpi %files graph-openmpi
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_graph.so.%{sonamever}
%{_libdir}/openmpi/lib/libboost_graph_parallel.so.%{sonamever} %{_libdir}/openmpi/lib/libboost_graph_parallel.so.%{sonamever}
%{_libdir}/openmpi/lib/libboost_container.so.%{sonamever}
%endif %endif
@ -1325,9 +1246,7 @@ fi
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/mpich/lib/cmake %{_libdir}/mpich/lib/cmake
%{_libdir}/mpich/lib/libboost_mpi.so %{_libdir}/mpich/lib/libboost_mpi.so
%{_libdir}/mpich/lib/libboost_graph.so
%{_libdir}/mpich/lib/libboost_graph_parallel.so %{_libdir}/mpich/lib/libboost_graph_parallel.so
%{_libdir}/mpich/lib/libboost_container.so
%if %{with python3} %if %{with python3}
@ -1339,20 +1258,18 @@ fi
%files mpich-python3-devel %files mpich-python3-devel
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/mpich/lib/libboost_mpi_python%{python3_version_nodots}.so %{_libdir}/mpich/lib/libboost_mpi_python%{python3_version_nodots}.so
%endif %endif
%files graph-mpich %files graph-mpich
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/mpich/lib/libboost_graph.so.%{sonamever}
%{_libdir}/mpich/lib/libboost_graph_parallel.so.%{sonamever} %{_libdir}/mpich/lib/libboost_graph_parallel.so.%{sonamever}
%{_libdir}/mpich/lib/libboost_container.so.%{sonamever}
%endif %endif
%files build %files build
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_datadir}/%{name}-build/ %{_datadir}/%{name}-build/
%{_datadir}/b2
%files doctools %files doctools
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
@ -1365,134 +1282,16 @@ fi
%{_mandir}/man1/b2.1* %{_mandir}/man1/b2.1*
%changelog %changelog
* Thu Jan 15 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1.90.0-4 * Tue Sep 12 2023 Jonathan Wakely <jwakely@fedoraproject.org> - 1.78.0-14
- Add dependencies on new subpackages to metapackage - Change spec file to use autosetup for applying patches
* Tue Jan 13 2026 Jonathan Wakely <jwakely@fedoraproject.org> - 1.90.0-3 * Fri Sep 01 2023 Jonathan Wakely <jwakely@redhat.com> - 1.78.0-13
- Fix libboost_system.so linker script to avoid ldcondig warning - Fix outdated CI configuration
* Mon Jan 12 2026 Jonathan Wakely <jwakely@fedoraproject.org> - 1.90.0-2 * Tue Aug 22 2023 Kefu Chai <tchaikov@fedoraproject.org> - 1.78.0-12
- Add patch for boost/range/detail/any_iterator_interface.hpp
* Sat Jan 10 2026 Jonathan Wakely <jwakely@fedoraproject.org> - 1.90.0-1
- Rebase to 1.90.0
- See https://fedoraproject.org/wiki/Changes/F44Boost189
- Drop boost-system subpackage and libboost_thread.so linker script
- Add new boost-charconv, boost-cobalt, and boost-process subpackages
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 1.83.0-17
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 1.83.0-16
- Rebuilt for Python 3.14.0rc2 bytecode
* Tue Aug 05 2025 František Zatloukal <fzatlouk@redhat.com> - 1.83.0-15
- Rebuilt for icu 77.1
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.83.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 1.83.0-13
- Rebuilt for Python 3.14
* Sun Jan 26 2025 Wolfgang Stöggl <c72578@yahoo.de> - 1.83.0-12
- Add boost-1.83-fix-no-member-named_that_error.patch
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.83.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Dec 24 2024 Sandro <devel@penguinpee.nl> - 1.83.0-10
- Backport patches for NumPy 2.x
* Fri Dec 06 2024 Pete Walter <pwalter@fedoraproject.org> - 1.83.0-9
- Rebuild for ICU 76
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.83.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jun 08 2024 Python Maint <python-maint@redhat.com> - 1.83.0-7
- Rebuilt for Python 3.13
* Thu Jun 06 2024 Jonathan Wakely <jwakely@fedoraproject.org> - 1.83.0-6
- Add missing Requires for rpminspect errors.
* Sun Jun 02 2024 Songsong Zhang <U2FsdGVkX1@gmail.com> - 1.83.0-6
- Backport patch to fix RISC-V functions missing
* Sat May 25 2024 Kefu Chai <tchaikov@fedoraproject.org> - 1.83.0-5
- Add patch to fix Boost.Math bug where float_next(+INF) and float_prior(-INF)
returns NaN, but they should return +INF and -INF respectively.
See https://github.com/boostorg/math/issues/1132 and its fix at
* Sun May 05 2024 Kefu Chai <tchaikov@fedoraproject.org> - 1.83.0-4
- Add patch for Boost.Multiprecision bug
See https://github.com/boostorg/multiprecision/pull/618
* Wed Jan 31 2024 Pete Walter <pwalter@fedoraproject.org> - 1.83.0-3
- Rebuild for ICU 74
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.83.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.83.0-1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Dec 06 2023 Patrick Palka <ppalka@redhat.com> - 1.83.0-0
- Rebase to 1.83.0
- See https://fedoraproject.org/wiki/Changes/F40Boost183
- Drop patch for accumulators library that has since been applied upstream.
- Fix spurious Boost.Regex test failures.
* Sun Oct 29 2023 Orion Poplawski <orion@nwra.com> - 1.81.0-10
- Rebuild for openmpi 5.0.0, drops support for i686
* Tue Aug 29 2023 Tom Callaway <spot@fedoraproject.org> - 1.81.0-9
- apply upstream fixes for failing random tests
* Sun Aug 20 2023 Kefu Chai <tchaikov@fedoraproject.org> - 1.81.0-8
- Add patch for Boost.Accumulators bug - Add patch for Boost.Accumulators bug
See https://github.com/boostorg/accumulators/pull/54 See https://github.com/boostorg/accumulators/pull/54
* Wed Aug 2 2023 Tom Callaway <spot@fedoraproject.org> - 1.81.0-7
- add symlink for b2 files
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.81.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 František Zatloukal <fzatlouk@redhat.com> - 1.81.0-5
- Rebuilt for ICU 73.2
* Thu Jul 06 2023 Jonathan Wakely <jwakely@fedoraproject.org> - 1.81.0-4
- Update License for SPDX migration
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1.81.0-3
- Rebuilt for Python 3.12
* Fri May 05 2023 Nianqing Yao <imbearchild@outlook.com> - 1.81.0-3
- Fix build for riscv64
See https://github.com/fedora-riscv/boost/tree/f38-rv64
* Wed Mar 15 2023 Jonathan Wakely <jwakely@fedoraproject.org> - 1.81.0-2
- Change spec file to use autospec for applying patches
* Wed Mar 15 2023 Jonathan Wakely <jwakely@fedoraproject.org> - 1.81.0-1
- Add patch for Boost.Phoenix bugs (#2178210)
* Mon Feb 20 2023 Thomas Rodgers <trodgers@redhat.com> - 1.81.0-0
- Rebase to 1.81.0
See https://fedoraproject.org/wiki/Changes/F38Boost181
- Drop patches:
deleted: boost-1.58.0-pool.patch
deleted: boost-1.58.0-pool-test_linking.patch
deleted: boost-1.78.0-build-optflags.patch
deleted: boost-1.73-locale-empty-vector.patch
deleted: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch
deleted: boost-1.76.0-ptr_cont-xml.patch
deleted: boost-1.78.0-fix-b2-staging.patch
deleted: boost-1.76.0-enum_type_object-type-python-3.11.patch
- New Boost.URL runtime component
- boost_build directory is now b2 in upstream, rename to boost_build on install
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.78.0-11 * Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.78.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
@ -1530,7 +1329,7 @@ fi
- Rebase to 1.78.0 - Rebase to 1.78.0
See https://fedoraproject.org/wiki/Changes/F37Boost178 See https://fedoraproject.org/wiki/Changes/F37Boost178
- Drop patches: - Drop patches:
deleted: boost-1.75.0-build-optflags.patch deleted: boost-1.75.0-build-optflags.patch
deleted: boost-1.75.0-no-rpath.patch deleted: boost-1.75.0-no-rpath.patch
deleted: boost-1.76.0-b2-build-flags.patch deleted: boost-1.76.0-b2-build-flags.patch
deleted: boost-1.76.0-fix-include-inside-boost-namespace.patch deleted: boost-1.76.0-fix-include-inside-boost-namespace.patch
@ -2576,7 +2375,7 @@ fi
- Drop obsolete Obsoletes: boost-python and boost-doc <= 1.30.2 - Drop obsolete Obsoletes: boost-python and boost-doc <= 1.30.2
* Tue Jan 12 2010 Benjamin Kosnik <bkoz@redhat.com> - 1.41.0-1 * Tue Jan 12 2010 Benjamin Kosnik <bkoz@redhat.com> - 1.41.0-1
- Don't package generated debug libs, even with - Don't package generated debug libs, even with
(-DCMAKE_BUILD_TYPE=RelWithDebInfo | Release). (-DCMAKE_BUILD_TYPE=RelWithDebInfo | Release).
- Update and include boost-cmake-soname.patch. - Update and include boost-cmake-soname.patch.
- Uncomment ctest. - Uncomment ctest.

21
libboost_thread.so Normal file
View file

@ -0,0 +1,21 @@
changequote(`[', `]')dnl
/* GNU ld script
Boost.Thread header files pull in enough of Boost.System that
symbols from the latter library are referenced by a compiled object
that includes Boost.Thread headers. libboost_system-mt.so is among
libboost_thread-mt.so's DT_NEEDED, but program linker requires that
missing symbols are satisfied by direct dependency, not by a
transitive one. Hence this linker script, which brings in the
Boost.System DSO. */
INPUT(libboost_thread.so.VERSION)
INPUT(libboost_system.so.VERSION)
ifdef([HAS_ATOMIC_FLAG_LOCKFREE],[],
[
/* If the given architecture doesn't have lock-free implementation of
boost::atomic_flag, the dependency on Boost.Atomic may leak from
the header files to client binaries. */
INPUT(libboost_atomic.so.VERSION)
])dnl

View file

@ -1 +1 @@
SHA512 (boost_1_90_0.tar.bz2) = 1c81b60f63367d7249f277f0a569c181926dcf5a725e30433dd336205f1782880489dd00df6a1a74fd107765d3ca2cd49f806788cabb7d5700a8a55927a9a199 SHA512 (boost_1_78_0.tar.bz2) = 9c34a387a203b99aa773eb0c59f5abac7a99ba10e4623653e793c1d5b29b99b88e0e4e0d4e2e4ca5d497c42f2e46e23bab66417722433a457dc818d7670bcbbf

View file

@ -54,26 +54,17 @@ rlJournalStart
rlPhaseStartSetup "build boost" rlPhaseStartSetup "build boost"
rlRun "rpm -D \"_topdir $TmpDir\" -U *.src.rpm" rlRun "rpm -D \"_topdir $TmpDir\" -U *.src.rpm"
rlRun "dnf builddep -y $TmpDir/SPECS/*.spec" rlRun "dnf builddep -y $TmpDir/SPECS/*.spec"
rlRun "sed -i -e 's/^%prep/%prep\n%dump/' $TmpDir/SPECS/*.spec"
rlRun "su -c 'rpmbuild -D \"_topdir $TmpDir\" -bp $TmpDir/SPECS/*.spec &>$TmpDir/rpmbuild.log' $BUILD_USER" rlRun "su -c 'rpmbuild -D \"_topdir $TmpDir\" -bp $TmpDir/SPECS/*.spec &>$TmpDir/rpmbuild.log' $BUILD_USER"
rlRun "rlFileSubmit $TmpDir/rpmbuild.log" rlRun "rlFileSubmit $TmpDir/rpmbuild.log"
rlRun "toplev_dirname=`awk '/toplev_dirname/{print $3; exit}' $TmpDir/rpmbuild.log`" rlRun "cd $TmpDir/BUILD/boost*"
cd $TmpDir/BUILD/$toplev_dirname
if [ $? -ne 0 ]; then
# handle rpm 4.20 build directory difference
# https://github.com/rpm-software-management/rpm/issues/3147
rlRun "cd $TmpDir/BUILD/*-build/$toplev_dirname"
fi
# now we know the top-level build dir, keep it for later
rlRun "BuildDir=$(pwd)"
rlRun "su -c './bootstrap.sh &>$TmpDir/bootstrap.log' $BUILD_USER" rlRun "su -c './bootstrap.sh &>$TmpDir/bootstrap.log' $BUILD_USER"
rlRun "rlFileSubmit $TmpDir/bootstrap.log" rlRun "rlFileSubmit $TmpDir/bootstrap.log"
rlPhaseEnd rlPhaseEnd
rlPhaseStartTest "run testsuite" rlPhaseStartTest "run testsuite"
while read test_path; do while read test_path; do
if [ -f $BuildDir/libs/$test_path/test/Jamfile* ]; then if [ -f $TmpDir/BUILD/boost*/libs/$test_path/test/Jamfile* ]; then
rlRun "cd $BuildDir/libs/$test_path/test" rlRun "cd $TmpDir/BUILD/boost*/libs/$test_path/test"
rlRun "su -c '/usr/bin/b2 -d1 --build-dir=$TmpDir/test-build &>>$TmpDir/testsuite.log' $BUILD_USER" rlRun "su -c '/usr/bin/b2 -d1 --build-dir=$TmpDir/test-build &>>$TmpDir/testsuite.log' $BUILD_USER"
rm -fr $TmpDir/test-build rm -fr $TmpDir/test-build
else else