Compare commits

...

No commits in common. 'c9' and 'i10c-beta' have entirely different histories.

@ -1 +1 @@
6109efd3bdd8b9220d7d85b5e125f7f28721b9a9 SOURCES/boost_1_75_0.tar.bz2
75b1f569134401d178ad2aaf97a2993898dd7ee3 SOURCES/boost_1_83_0.tar.bz2

2
.gitignore vendored

@ -1 +1 @@
SOURCES/boost_1_75_0.tar.bz2
SOURCES/boost_1_83_0.tar.bz2

@ -1,30 +0,0 @@
--- 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 ]
;

@ -1,120 +0,0 @@
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;
+}

@ -1,37 +0,0 @@
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

@ -1,108 +0,0 @@
--- boost_1_73_0/boost/parameter/python.hpp% 2020-11-13 23:37:19.232520985 +0000
+++ boost_1_73_0/boost/parameter/python.hpp 2020-11-13 23:40:58.808393161 +0000
@@ -66,7 +66,7 @@
if (Py_TYPE(&unspecified) == 0)
{
- Py_TYPE(&unspecified) = &PyType_Type;
+ Py_SET_TYPE(&unspecified, &PyType_Type);
PyType_Ready(&unspecified);
}
--- boost_1_73_0/libs/python/src/object/class.cpp~ 2020-11-13 23:37:19.236520983 +0000
+++ boost_1_73_0/libs/python/src/object/class.cpp 2020-11-13 23:40:40.233403979 +0000
@@ -208,7 +208,7 @@
{
if (static_data_object.tp_dict == 0)
{
- Py_TYPE(&static_data_object) = &PyType_Type;
+ Py_SET_TYPE(&static_data_object, &PyType_Type);
static_data_object.tp_base = &PyProperty_Type;
if (PyType_Ready(&static_data_object))
return 0;
@@ -316,7 +316,7 @@
{
if (class_metatype_object.tp_dict == 0)
{
- Py_TYPE(&class_metatype_object) = &PyType_Type;
+ Py_SET_TYPE(&class_metatype_object, &PyType_Type);
class_metatype_object.tp_base = &PyType_Type;
if (PyType_Ready(&class_metatype_object))
return type_handle();
@@ -375,11 +375,11 @@
// there. A negative number indicates that the extra
// instance memory is not yet allocated to any holders.
#if PY_VERSION_HEX >= 0x02060000
- Py_SIZE(result) =
+ Py_SET_SIZE(result,
#else
- result->ob_size =
+ result->ob_size = (
#endif
- -(static_cast<int>(offsetof(instance<>,storage) + instance_size));
+ -(static_cast<int>(offsetof(instance<>,storage) + instance_size)));
}
return (PyObject*)result;
}
@@ -470,7 +470,7 @@
{
if (class_type_object.tp_dict == 0)
{
- Py_TYPE(&class_type_object) = incref(class_metatype().get());
+ Py_SET_TYPE(&class_type_object, incref(class_metatype().get()));
class_type_object.tp_base = &PyBaseObject_Type;
if (PyType_Ready(&class_type_object))
return type_handle();
@@ -739,7 +739,7 @@
assert(holder_offset >= offsetof(objects::instance<>,storage));
// Record the fact that the storage is occupied, noting where it starts
- Py_SIZE(self) = holder_offset;
+ Py_SET_SIZE(self, holder_offset);
return (char*)self + holder_offset;
}
else
--- boost_1_73_0/libs/python/src/object/life_support.cpp~ 2020-11-13 23:37:19.240520980 +0000
+++ boost_1_73_0/libs/python/src/object/life_support.cpp 2020-11-13 23:39:37.492440504 +0000
@@ -93,7 +93,7 @@
if (Py_TYPE(&life_support_type) == 0)
{
- Py_TYPE(&life_support_type) = &PyType_Type;
+ Py_SET_TYPE(&life_support_type, &PyType_Type);
PyType_Ready(&life_support_type);
}
--- boost_1_73_0/libs/python/src/object/function.cpp~ 2020-11-13 23:37:19.244520978 +0000
+++ boost_1_73_0/libs/python/src/object/function.cpp 2020-11-13 23:39:14.260454029 +0000
@@ -107,7 +107,7 @@
PyObject* p = this;
if (Py_TYPE(&function_type) == 0)
{
- Py_TYPE(&function_type) = &PyType_Type;
+ Py_SET_TYPE(&function_type, &PyType_Type);
::PyType_Ready(&function_type);
}
--- boost_1_73_0/libs/python/src/object/enum.cpp~ 2020-11-13 23:37:19.248520976 +0000
+++ boost_1_73_0/libs/python/src/object/enum.cpp 2020-11-13 23:38:51.943467016 +0000
@@ -153,7 +153,7 @@
{
if (enum_type_object.tp_dict == 0)
{
- Py_TYPE(&enum_type_object) = incref(&PyType_Type);
+ Py_SET_TYPE(&enum_type_object, incref(&PyType_Type));
#if PY_VERSION_HEX >= 0x03000000
enum_type_object.tp_base = &PyLong_Type;
#else
--- boost_1_73_0/boost/python/object/make_instance.hpp~ 2020-11-14 00:26:47.356724835 +0000
+++ boost_1_73_0/boost/python/object/make_instance.hpp 2020-11-14 00:26:49.947723159 +0000
@@ -47,7 +47,7 @@
// Note the position of the internally-stored Holder,
// for the sake of destruction
- Py_SIZE(instance) = offsetof(instance_t, storage);
+ Py_SET_SIZE(instance, offsetof(instance_t, storage));
// Release ownership of the python object
protect.cancel();

@ -1,11 +0,0 @@
--- boost_1_73_0/tools/build/src/engine/build.sh~ 2020-04-25 17:09:03.159419899 +0100
+++ boost_1_73_0/tools/build/src/engine/build.sh 2020-04-25 17:11:35.085907844 +0100
@@ -233,7 +233,7 @@
*)
B2_CXX="${CXX} -x c++ -std=c++11"
- B2_CXXFLAGS_RELEASE="-O2 -s"
+ B2_CXXFLAGS_RELEASE="${RPM_OPT_FLAGS} ${RPM_LD_FLAGS}"
B2_CXXFLAGS_DEBUG="-O0 -g"
esac
;;

@ -1,25 +0,0 @@
From 40e5bcd594b01f9b7091de07f9efc4567cc1ac40 Mon Sep 17 00:00:00 2001
From: Thomas Rodgers <rodgert@appliantology.com>
Date: Tue, 2 Feb 2021 18:15:30 -0800
Subject: [PATCH] Apply post 1.75.0 change from upstream
---
tools/build/src/engine/startup.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/build/src/engine/startup.cpp b/tools/build/src/engine/startup.cpp
index f58625408..a7659bb50 100644
--- a/tools/build/src/engine/startup.cpp
+++ b/tools/build/src/engine/startup.cpp
@@ -195,7 +195,7 @@ bool b2::startup::bootstrap(FRAME *frame)
{
const std::string path{
b2::paths::normalize(
- b2_exe_path + "/../../share/boost-build/" + boost_build_jam)};
+ b2_exe_path + "/../../share/boost-build/src/kernel/" + boost_build_jam)};
if (b2::filesys::is_file(path))
b2_file_path = path;
}
--
2.26.2

@ -1,60 +0,0 @@
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
index ff3209f7b..1d8e7cbfe 100644
--- a/tools/build/src/tools/gcc.jam
+++ b/tools/build/src/tools/gcc.jam
@@ -577,7 +577,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) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" -c -o "$(<:W)" "$(>:W)"
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" -c -o "$(<:W)" "$(>:W)"
}
actions compile.c bind PCH_FILE
@@ -587,7 +587,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) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" "$(>:W)" -E >"$(<:W)"
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" "$(>:W)" -E >"$(<:W)"
}
actions compile.c.preprocess bind PCH_FILE
@@ -704,20 +704,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.26.2

@ -1,25 +0,0 @@
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
index 02dc154cf..c076f70f4 100644
--- a/tools/build/src/tools/gcc.jam
+++ b/tools/build/src/tools/gcc.jam
@@ -1132,17 +1132,17 @@ actions link.mingw bind LIBRARIES
actions link.dll.mingw bind LIBRARIES
{
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" -shared @"@($(<[-1]:T).rsp:E=$(START-GROUP) "$(>:T)" "$(LIBRARIES:T)" $(FINDLIBS-ST-PFX:T) -l$(FINDLIBS-ST:T) $(FINDLIBS-SA-PFX:T) -l$(FINDLIBS-SA:T) $(END-GROUP))" $(OPTIONS) $(USER_OPTIONS)
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.IMPLIB-COMMAND)$(<[0])" -o "$(<[-1])" -shared @"@($(<[-1]:T).rsp:E=$(START-GROUP) "$(>:T)" "$(LIBRARIES:T)" $(FINDLIBS-ST-PFX:T) -l$(FINDLIBS-ST:T) $(FINDLIBS-SA-PFX:T) -l$(FINDLIBS-SA:T) $(END-GROUP))" $(OPTIONS) $(USER_OPTIONS)
}
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)
}
###

@ -0,0 +1,32 @@
From 0039878782516ea3313608f99f0d50e846151bc2 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely <jwakely@fedoraproject.org>
Date: Mon, 31 Jan 2022 11:37:29 +0000
Subject: [PATCH] Fix narrowing conversions for ppc
These constants are too large for `long long` so are unsigned,
and then cannot be narrowed to the signed type.
Fixes #29
---
.../numeric/interval/detail/ppc_rounding_control.hpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/boost/numeric/interval/detail/ppc_rounding_control.hpp b/include/boost/numeric/interval/detail/ppc_rounding_control.hpp
index 87fe8ee..99f9986 100644
--- boost_1_76_0/boost/numeric/interval/detail/ppc_rounding_control.hpp
+++ boost_1_76_0/boost/numeric/interval/detail/ppc_rounding_control.hpp
@@ -28,10 +28,10 @@ typedef union {
double dmode;
} rounding_mode_struct;
-static const rounding_mode_struct mode_upward = { 0xFFF8000000000002LL };
-static const rounding_mode_struct mode_downward = { 0xFFF8000000000003LL };
-static const rounding_mode_struct mode_to_nearest = { 0xFFF8000000000000LL };
-static const rounding_mode_struct mode_toward_zero = { 0xFFF8000000000001LL };
+static const rounding_mode_struct mode_upward = { (::boost::long_long_type)0xFFF8000000000002LL };
+static const rounding_mode_struct mode_downward = { (::boost::long_long_type)0xFFF8000000000003LL };
+static const rounding_mode_struct mode_to_nearest = { (::boost::long_long_type)0xFFF8000000000000LL };
+static const rounding_mode_struct mode_toward_zero = { (::boost::long_long_type)0xFFF8000000000001LL };
struct ppc_rounding_control
{

@ -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 <

@ -0,0 +1,25 @@
From 1ded9b9c219542442b3c10af815e5413a2a89c75 Mon Sep 17 00:00:00 2001
From: Thomas W Rodgers <trodgers@redhat.com>
Date: Tue, 1 Mar 2022 10:03:34 -0800
Subject: [PATCH] Adjust b2 build flags for Fedora Packaging
---
src/engine/build.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh
index f1ad08cb..ab58deba 100755
--- a/tools/build/src/engine/build.sh
+++ b/tools/build/src/engine/build.sh
@@ -323,7 +323,7 @@ case "${B2_TOOLSET}" in
gcc|gcc-*)
CXX_VERSION_OPT=${CXX_VERSION_OPT:---version}
- B2_CXXFLAGS_RELEASE="-O2 -s"
+ B2_CXXFLAGS_RELEASE="${RPM_OPT_FLAGS} ${RPM_LD_FLAGS}"
B2_CXXFLAGS_DEBUG="-O0 -g"
;;
--
2.35.1

@ -0,0 +1,31 @@
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:E=-R)$(SPACE)-Wl,$(RPATH) -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(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 "$(<)" $(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:E=-R)$(SPACE)-Wl,$(RPATH) -Wl,$(IMPLIB_OPTION:E=--out-implib),"$(<[2])" -o "$(<[1])" $(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])" -o "$(<[1])" $(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

@ -0,0 +1,20 @@
--- boost_1_81_0/boost/phoenix/stl/tuple.hpp~ 2023-03-15 09:31:59.327721489 +0000
+++ boost_1_81_0/boost/phoenix/stl/tuple.hpp 2023-03-15 09:32:02.787722445 +0000
@@ -106,14 +106,16 @@
tuple_detail::idx_wrap<N>(), t);
}
+#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
// Make unpacked argument placeholders
namespace placeholders {
#define BOOST_PP_LOCAL_LIMITS (1, BOOST_PHOENIX_ARG_LIMIT)
#define BOOST_PP_LOCAL_MACRO(N) \
- auto uarg##N = \
+ const auto uarg##N = \
boost::phoenix::get_<(N)-1>(boost::phoenix::placeholders::arg1);
#include BOOST_PP_LOCAL_ITERATE()
}
+#endif
}} // namespace boost::phoenix
#endif // C++ 14

@ -0,0 +1,70 @@
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

@ -0,0 +1,28 @@
diff -up boost_1_81_0/libs/random/test/multiprecision_float_test.cpp.testfix boost_1_81_0/libs/random/test/multiprecision_float_test.cpp
--- boost_1_81_0/libs/random/test/multiprecision_float_test.cpp.testfix 2023-08-29 16:07:40.127905519 -0400
+++ boost_1_81_0/libs/random/test/multiprecision_float_test.cpp 2023-08-29 16:08:44.114856281 -0400
@@ -77,7 +77,7 @@ typedef boost::mpl::list <
boost::random::lognormal_distribution<big_float>,
boost::random::normal_distribution<big_float>,
#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
- boost::random::piecewise_constant_distribution<big_float>,
+ boost::random::piecewise_constant_distribution<big_float, big_float>,
boost::random::piecewise_linear_distribution<big_float>,
#endif
boost::random::student_t_distribution<big_float>,
diff -up boost_1_81_0/libs/random/test/multiprecision_int_test.cpp.testfix boost_1_81_0/libs/random/test/multiprecision_int_test.cpp
--- boost_1_81_0/libs/random/test/multiprecision_int_test.cpp.testfix 2023-08-29 16:06:58.543287627 -0400
+++ boost_1_81_0/libs/random/test/multiprecision_int_test.cpp 2023-08-29 16:07:26.788707316 -0400
@@ -216,7 +216,11 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(discrete_d
ss >> d2;
BOOST_CHECK(d == d2);
- boost::random::independent_bits_engine<boost::random::mt19937, std::numeric_limits<boost::multiprecision::uint1024_t>::digits, boost::multiprecision::uint1024_t > big_random;
+ //
+ // The number of digits in the independent_bits_engine must be low enough that we don't overflow
+ // when converting to a double (see other_distributions declared above).
+ //
+ boost::random::independent_bits_engine<boost::random::mt19937, std::numeric_limits<boost::multiprecision::uint1024_t>::digits - 2, boost::multiprecision::uint1024_t > big_random;
for(unsigned i = 0; i < 200; ++i)
{
result_type r = d(big_random);

@ -0,0 +1,37 @@
From 9c974cf22c53315d90a7c1bef7cea9b4f552d088 Mon Sep 17 00:00:00 2001
From: Patrick Palka <ppalka@redhat.com>
Date: Wed, 6 Dec 2023 14:21:13 -0500
Subject: [PATCH] Work around spurious Boost.Regex test failures
---
libs/regex/example/timer/regex_timer.cpp | 1 +
libs/regex/test/static_mutex/static_mutex_test.cpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/libs/regex/example/timer/regex_timer.cpp b/libs/regex/example/timer/regex_timer.cpp
index d121b70f1..bee544908 100644
--- a/libs/regex/example/timer/regex_timer.cpp
+++ b/libs/regex/example/timer/regex_timer.cpp
@@ -13,6 +13,7 @@
#pragma warning(disable: 4996 4127)
#endif
+#define BOOST_TIMER_ENABLE_DEPRECATED
#include <boost/config.hpp>
#include <boost/regex.hpp>
#include <boost/cregex.hpp>
diff --git a/libs/regex/test/static_mutex/static_mutex_test.cpp b/libs/regex/test/static_mutex/static_mutex_test.cpp
index be7500bd3..935e74525 100644
--- a/libs/regex/test/static_mutex/static_mutex_test.cpp
+++ b/libs/regex/test/static_mutex/static_mutex_test.cpp
@@ -16,6 +16,7 @@
* DESCRIPTION: test program for boost::static_mutex.
*/
+#define BOOST_TIMER_ENABLE_DEPRECATED
#include <boost/regex/pending/static_mutex.hpp>
#include <boost/thread/thread.hpp>
#include <boost/timer.hpp>
--
2.43.0

@ -16,15 +16,19 @@
# All arches have mpich
%bcond_without mpich
%ifarch s390
# No OpenMPI support on these arches
%bcond_with openmpi
%if 0%{?fedora} >= 40 || 0%{?rhel} >= 10
%ifarch %{ix86}
# No OpenMPI support on these arches
%bcond_with openmpi
%else
%bcond_without openmpi
%endif
%else
%bcond_without openmpi
%endif
%endif
%ifnarch %{ix86} x86_64 %{arm} ppc64 ppc64le aarch64 s390x
%ifnarch %{ix86} x86_64 %{arm} ppc64 ppc64le aarch64 s390x riscv64
%bcond_with context
%else
%bcond_without context
@ -41,9 +45,9 @@
Name: boost
%global real_name boost
Summary: The free peer-reviewed portable C++ source libraries
Version: 1.75.0
Release: 8%{?dist}
License: Boost and MIT and Python
Version: 1.83.0
Release: 4%{?dist}
License: BSL-1.0 AND MIT AND Python-2.0.1
# Replace each . with _ in %%{version}
%global version_enc %{lua:
@ -54,7 +58,8 @@ License: Boost and MIT and Python
%global toplev_dirname %{real_name}_%{version_enc}
URL: http://www.boost.org
Source0: https://dl.bintray.com/boostorg/release/%{version}/source/%{name}_%{version_enc}.tar.bz2
# https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_83_0.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:
# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
@ -85,6 +90,7 @@ Requires: %{name}-fiber%{?_isa} = %{version}-%{release}
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
Requires: %{name}-graph%{?_isa} = %{version}-%{release}
Requires: %{name}-iostreams%{?_isa} = %{version}-%{release}
Requires: %{name}-json%{?_isa} = %{version}-%{release}
Requires: %{name}-locale%{?_isa} = %{version}-%{release}
Requires: %{name}-log%{?_isa} = %{version}-%{release}
Requires: %{name}-math%{?_isa} = %{version}-%{release}
@ -114,7 +120,6 @@ BuildRequires: libstdc++-devel
BuildRequires: bzip2-devel
BuildRequires: zlib-devel
BuildRequires: xz-devel
BuildRequires: libzstd-devel
%if %{with python3}
BuildRequires: python3-devel
BuildRequires: python3-numpy
@ -124,38 +129,38 @@ BuildRequires: libicu-devel
BuildRequires: libquadmath-devel
%endif
BuildRequires: bison
# 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
Patch15: boost-1.58.0-pool.patch
# https://svn.boost.org/trac/boost/ticket/9038
Patch51: boost-1.58.0-pool-test_linking.patch
BuildRequires: libzstd-devel
# https://bugzilla.redhat.com/show_bug.cgi?id=1541035
Patch96: boost-1.75.0-build-optflags.patch
Patch0: boost-1.81.0-build-optflags.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1318383
Patch97: boost-1.75.0-no-rpath.patch
Patch1: boost-1.78.0-no-rpath.patch
# https://lists.boost.org/Archives/boost/2020/04/248812.php
Patch2: boost-1.73.0-cmakedir.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1541035
Patch83: boost-1.73.0-b2-build-flags.patch
Patch3: boost-1.78.0-b2-build-flags.patch
# https://lists.boost.org/Archives/boost/2020/04/248812.php
Patch88: boost-1.73.0-cmakedir.patch
# https://github.com/boostorg/random/issues/82
Patch4: boost-1.76.0-random-test.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1896382
# https://github.com/boostorg/python/issues/325
Patch93: boost-1.73-python3.10.patch
# PR https://github.com/boostorg/interval/pull/30
# Fixes narrowing conversions for ppc -
# https://github.com/boostorg/interval/issues/29
Patch5: boost-1.76.0-fix-narrowing-conversions-for-ppc.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1899888
# https://github.com/boostorg/locale/issues/52
Patch94: boost-1.73-locale-empty-vector.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2178210
# https://github.com/boostorg/phoenix/issues/111
# https://github.com/boostorg/phoenix/issues/115
Patch6: boost-1.81-phoenix-multiple-defn.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1923740
# https://github.com/boostorg/build/issues/696
Patch95: boost-1.75.0-boost-build-fix.patch
# https://github.com/boostorg/random/commit/7561690135c67ecf88c2133bad7680ebd2665c36
# https://github.com/boostorg/random/commit/4239d93dad32a11e4c3829050f8070d456266133
Patch7: boost-1.81.0-random-test-fixes.patch
Patch8: boost-1.83-regex-test-fixes.patch
%bcond_with tests
%bcond_with docs_generated
@ -221,9 +226,6 @@ provides a sort of cooperative multitasking on a single thread.
%package coroutine
Summary: Run-time component of boost coroutine library
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
Requires: %{name}-context%{?_isa} = %{version}-%{release}
Requires: %{name}-thread%{?_isa} = %{version}-%{release}
%description coroutine
Run-time support for Boost.Coroutine, a library that provides
@ -243,8 +245,6 @@ on generic programming concepts.
%if %{with context}
%package fiber
Summary: Run-time component of boost fiber library
Requires: %{name}-context%{?_isa} = %{version}-%{release}
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
%description fiber
@ -282,7 +282,6 @@ stream buffers and i/o filters.
%package json
Summary: Run-time component of boost json library
Requires: %{name}-container%{?_isa} = %{version}-%{release}
%description json
@ -303,11 +302,6 @@ handling tools.
%package log
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
@ -325,8 +319,6 @@ portion of Boost.TR1.
%package nowide
Summary: Standard library functions with UTF-8 API on Windows
# Added for F33, remove for F35:
Obsoletes: boost-nowide <= 0.20190814
%description nowide
@ -361,6 +353,7 @@ conventional methods such as command-line and configuration file.
%if %{with python3}
%package python3
Summary: Run-time component of boost python library for Python 3
Requires: python(abi) = %{python3_version}
%description python3
@ -441,13 +434,20 @@ with as little as one #include and one additional line of code.
Summary: Run-time component of boost type erasure library
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
Requires: %{name}-system%{?_isa} = %{version}-%{release}
Requires: %{name}-thread%{?_isa} = %{version}-%{release}
%description type_erasure
The Boost.TypeErasure library provides runtime polymorphism in C++
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
Summary: Run-time component of boost C99/C++ preprocessing library
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
@ -472,7 +472,7 @@ Requires: libquadmath-devel%{?_isa}
%if %{with python3}
# Require boost-numpy3 here, because main boost metapackage only Recommends: it
Requires: %{name}-numpy3%{?_isa} = %{version}-%{release}
# Old Provides: for compatibility with RHEL <= 8 and packages that require it.
# Old Provides: for compatibility with packages that still require it.
Provides: %{name}-python3-devel = %{version}-%{release}
Provides: %{name}-python3-devel%{?_isa} = %{version}-%{release}
%endif
@ -669,18 +669,8 @@ Historically, B2 was based on on FTJam and on Perforce Jam but has grown
a number of significant features and is now developed independently.
%prep
%setup -q -n %{toplev_dirname}
find ./boost -name '*.hpp' -perm /111 | xargs chmod a-x
%patch15 -p0
%patch51 -p1
%patch96 -p1
%patch97 -p1
%patch83 -p1
%patch88 -p1
%patch93 -p1
%patch94 -p1
%patch95 -p1
%autosetup -n %{toplev_dirname} -p1
find ./boost -name '*.hpp' -perm /111 | xargs --no-run-if-empty chmod a-x
%build
%set_build_flags
@ -821,12 +811,14 @@ mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \
${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/
%endif
# Using 'b2 stage' does not fix the paths in these files, so do it manually
sed -i -e 's|get_filename_component(_BOOST_INCLUDEDIR "${_BOOST_CMAKEDIR}/.*"|get_filename_component(_BOOST_INCLUDEDIR "${_BOOST_CMAKEDIR}/../../../../include"|' ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/*/*-config.cmake
# Remove generic parts of boost that were built for dependencies.
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy*
# Remove cmake files (some of these are duplicates of the generic bits anyway).
rm -r ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake
rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_{python,{w,}serialization}*
rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_numpy*
%{_openmpi_unload}
export PATH=/bin${PATH:+:}$PATH
@ -850,12 +842,14 @@ mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \
${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/
%endif
# Using 'b2 stage' does not fix the paths in these files, so do it manually
sed -i -e 's|get_filename_component(_BOOST_INCLUDEDIR "${_BOOST_CMAKEDIR}/.*"|get_filename_component(_BOOST_INCLUDEDIR "${_BOOST_CMAKEDIR}/../../../../include"|' ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/*/*-config.cmake
# Remove generic parts of boost that were built for dependencies.
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy*
# Remove cmake files (some of these are duplicates of the generic bits anyway).
rm -r ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake
rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_{python,{w,}serialization}*
rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_numpy*
%{_mpich_unload}
export PATH=/bin${PATH:+:}$PATH
@ -882,12 +876,19 @@ echo ============================= install serial ==================
rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so
install -p -m 644 $(basename %{SOURCE1}) $RPM_BUILD_ROOT%{_libdir}/
# Remove cmake files until we know somebody wants them.
rm -r $RPM_BUILD_ROOT/%{_libdir}/cmake
echo ============================= install Boost.Build ==================
(cd tools/build
./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
chmod +x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py
# Fix shebang using unversioned python
@ -1130,6 +1131,10 @@ fi
%license LICENSE_1_0.txt
%{_libdir}/libboost_type_erasure.so.%{sonamever}
%files url
%license LICENSE_1_0.txt
%{_libdir}/libboost_url.so.%{sonamever}
%files wave
%license LICENSE_1_0.txt
%{_libdir}/libboost_wave.so.%{sonamever}
@ -1147,6 +1152,7 @@ fi
%files devel
%license LICENSE_1_0.txt
%{_includedir}/%{name}
%{_libdir}/cmake
%{_libdir}/libboost_atomic.so
%{_libdir}/libboost_chrono.so
%{_libdir}/libboost_container.so
@ -1193,6 +1199,7 @@ fi
%{_libdir}/libboost_thread.so
%{_libdir}/libboost_timer.so
%{_libdir}/libboost_type_erasure.so
%{_libdir}/libboost_url.so
%{_libdir}/libboost_wave.so
%files static
@ -1214,6 +1221,7 @@ fi
%files openmpi-devel
%license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/cmake
%{_libdir}/openmpi/lib/libboost_mpi.so
%{_libdir}/openmpi/lib/libboost_graph_parallel.so
@ -1245,6 +1253,7 @@ fi
%files mpich-devel
%license LICENSE_1_0.txt
%{_libdir}/mpich/lib/cmake
%{_libdir}/mpich/lib/libboost_mpi.so
%{_libdir}/mpich/lib/libboost_graph_parallel.so
@ -1258,7 +1267,6 @@ fi
%files mpich-python3-devel
%license LICENSE_1_0.txt
%{_libdir}/mpich/lib/libboost_mpi_python%{python3_version_nodots}.so
%endif
%files graph-mpich
@ -1270,6 +1278,7 @@ fi
%files build
%license LICENSE_1_0.txt
%{_datadir}/%{name}-build/
%{_datadir}/b2
%files doctools
%license LICENSE_1_0.txt
@ -1282,25 +1291,196 @@ fi
%{_mandir}/man1/b2.1*
%changelog
* Fri Jun 24 2022 Jonathan Wakely <jwakely@redhat.com> - 1.75.0-8
- Restore Provides for boost-python3-devel
* Tue Nov 26 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1.83.0-4
- Rebuilt for MSVSphere 10
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.83.0-4
- Bump release for June 2024 mass rebuild
* 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
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
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 31 2022 Pete Walter <pwalter@fedoraproject.org> - 1.78.0-10
- Rebuild for ICU 72
* Mon Aug 01 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 1.78.0-9
- Rebuilt for ICU 71.1
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.78.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jul 14 2022 Jonathan Wakely <jwakely@redhat.com> - 1.78.0-7
- Add boost-json to umbrella package
* Fri Jun 24 2022 Jonathan Wakely <jwakely@redhat.com> - 1.78.0-6
- Restore Provides for boost-python3-devel (#2100748)
* Wed Jun 22 2022 Laurent Rineau <laurent.rineau@cgal.org> - 1.78.0-5
- Fix the CMake config file for openmpi and mpich
* Tue Jun 21 2022 Jonathan Wakely <jwakely@redhat.com> - 1.78.0-4
- Remove old Obsoletes tags
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 1.78.0-3
- Rebuilt for Python 3.11
* Tue Jun 14 2022 Laurent Rineau <laurent.rineau@cgal.org> - 1.78.0-2
- Re-add the CMake config file provided by Boost
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.78.0-1
- Rebuilt for Python 3.11
* Fri Apr 29 2022 Thomas Rodgers <trodgers@redhat.com> - 1.78.0-0
- Rebase to 1.78.0
See https://fedoraproject.org/wiki/Changes/F37Boost178
- Drop patches:
deleted: boost-1.75.0-build-optflags.patch
deleted: boost-1.75.0-no-rpath.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-duplicate-typedef-in-mp.patch
- Fix silent dropping of some libraries
See https://github.com/bfgroup/b2/pull/113
* Wed Apr 27 2022 Thomas Rodgers <trodgers@redhat.com> - 1.76.0-13
- Add missing boost-1.76.0-enum_type_object-type-python-3.11.patch file
* Tue Apr 26 2022 Thomas Rodgers <trodgers@redhat.com> - 1.76.0-12
- Merged https://src.fedoraproject.org/rpms/boost/pull-request/13 (#204336)
* Tue Apr 26 2022 Thomas Rodgers <trodgers@redhat.com> - 1.76.0-11
- Add BuildRequires: libzstd-devel to fix (#2042336)
* Thu Mar 31 2022 Jonathan Wakely <jwakely@redhat.com> - 1.76.0-10
- Add patch to fix XML validation errors in ptr_container docs
* Wed Feb 2 2022 Thomas Rodgers <trodgers@redhat.com> - 1.76.0-9
- Add patch to fix narrowing conversions on ppc64le
https://github.com/boostorg/interval/issues/29
* Tue Feb 1 2022 Laurent Rineau <laurent.rineau@cgal.org> - 1.76.0-8
- Add patch to fix Boost Multiprecision on ppc64le
https://github.com/boostorg/multiprecision/issues/419
- Acknowledge the change of the ABI of ppc64le with long double.
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.76.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Sep 01 2021 Jonathan Wakely <jwakely@redhat.com> - 1.76.0-6
- Add patch to fix CI failure
* Wed Sep 01 2021 Jonathan Wakely <jwakely@redhat.com> - 1.76.0-5
- Make boost-python3 depend on specific 3.X version (#1896713)
* Thu Aug 05 2021 Thomas Rodgers <trodgers@redhat.com> - 1.76.0-4
- Third attempt at making the long double c99 and tr1 math libs conditional
on ppc64le
* Thu Aug 05 2021 Thomas Rodgers <trodgers@redhat.com> - 1.76.0-3
- Second attempt at making the long double c99 and tr1 math libs conditional
on ppc64le
* Thu Aug 05 2021 Thomas Rodgers <trodgers@redhat.com> - 1.76.0-2
- Boost.Math does not support 'long double' of ppc64le
See https://github.com/boostorg/math/pull/524
* Wed Aug 04 2021 Thomas Rodgers <trodgers@redhat.com> - 1.76.0-1
- Rebase to 1.75.0
See https://fedoraproject.org/wiki/Changes/F35Boost176
- Drop patches:
deleted: boost-1.73-python3.10.patch
deleted: boost-1.73.0-b2-build-flags.patch
deleted: boost-1.75.0-boost-build-fix.patch
- Fix include inside boost namespace in boost/math/tools/mp.hpp
See https://github.com/boostorg/math/pull/670
- Fix duplicate typedef in boost/math/tools/mp.hpp
See https://github.com/boostorg/math/pull/671
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.75.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.75.0-8
- Rebuilt for Python 3.10
* Tue Jun 21 2022 Jonathan Wakely <jwakely@redhat.com> - 1.75.0-7
- Build with zstd support (#2091041)
- Fix rpminspect CI warnings about missing versioned dependencies
* Wed May 19 2021 Pete Walter <pwalter@fedoraproject.org> - 1.75.0-7
- Rebuild for ICU 69
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.75.0-6
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed May 19 2021 Pete Walter <pwalter@fedoraproject.org> - 1.75.0-6
- Rebuild for ICU 69
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.75.0-5
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Fri May 07 2021 Thomas Rodgers <trodgers@redhat.com> - 1.75.0-5
- Patch to fix deprecated iterator warnings (#1958382)
* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 1.75.0-4
- Rebuilt for removed libstdc++ symbol (#1937698)
* Tue Feb 02 2021 Thomas Rodgers <trodgers@redhat.com> - 1.75.0-3
- Patch for https://bugzilla.redhat.com/show_bug.cgi?id=1923740
- Patch Boost.Build to find boost-build.jam (#1923740)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.75.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

Loading…
Cancel
Save