Compare commits

...
Sign in to create a new pull request.

87 commits

Author SHA1 Message Date
Yaakov Selkowitz
50fc2b0fda Add dependencies on new subpackages to metapackage
boost-devel Requires: boost, which itself needs to Requires all
library subpackages so that the libboost_*.so symlinks are resolved,
and packages can safely link to them.
2026-01-14 20:16:20 -05:00
Jonathan Wakely
4a0779ec8c Fix libboost_system.so linker script to avoid ldcondig warning 2026-01-13 15:59:13 +00:00
Jonathan Wakely
5379719078 Add patch for boost/range/detail/any_iterator_interface.hpp 2026-01-12 12:22:41 +00:00
Jonathan Wakely
ec7383f6bd Rebase to 1.90.0
See https://fedoraproject.org/wiki/Changes/F44_Boost_1_90
Drop boost-system subpackage and libboost_thread.so linker script
Add new boost-charconv, boost-cobalt, and boost-process subpackages
2026-01-10 22:49:17 +00:00
Python Maint
403199971d Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 12:09:30 +02:00
Python Maint
4a984a6238 Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 12:40:18 +02:00
František Zatloukal
2f2bd5aba3 Rebuilt for icu 77.1 2025-08-05 19:09:43 +02:00
Fedora Release Engineering
bb27bd2d27 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 17:49:38 +00:00
Python Maint
9784bfcbb7 Rebuilt for Python 3.14 2025-06-03 12:29:48 +02:00
Wolfgang Stöggl
bd0476d632 Fix no member named ‘that’ error
- Add boost-1.83-fix-no-member-named_that_error.patch
- Fixes FTBS of Poedit (#2341086)
2025-01-26 07:44:25 +01:00
Fedora Release Engineering
7e04e7d896 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 12:45:41 +00:00
Sandro
3cc264041a
Backport patches for NumPy 2.x
Fix build error since upgrade to NumPy 2.x.
2024-12-25 09:40:28 +01:00
Pete Walter
0d18786666 Rebuild for ICU 76 2024-12-06 12:34:24 +00:00
Adam Williamson
a893d9ada9 Handle RPM 4.20 build directory change
RPM 4.20 adds another level to the build directory path, see
https://github.com/rpm-software-management/rpm/issues/3147 .
This tries to handle it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-08-01 09:36:55 -07:00
Fedora Release Engineering
750fb0618c Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 18:30:44 +00:00
Python Maint
8a9a6c5073 Rebuilt for Python 3.13 2024-06-08 08:07:49 +02:00
Jonathan Wakely
74cf822853 Add missing Requires for rpminspect errors 2024-06-06 17:03:33 +01:00
U2FsdGVkX1
531b5cfda3 Backport patch to fix RISC-V functions missing 2024-06-06 19:04:31 +08:00
Kefu Chai
e13a584ab7 Add patch for addressing a Boost.Math bug
This change addresses the issue of
https://github.com/boostorg/math/issues/1132

the patch addresses the issue where float_next() and float_prior() return
a domain error instead +INF or -INF. this issue is a regression in
Boost 1.79.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2024-05-25 12:58:19 +08:00
Kefu Chai
dce3f3406f Add patch for addressing a Boost.Multiprecision bug
This change addresses the issue of
https://github.com/boostorg/multiprecision/issues/553,
the fix prevents an application from crash due to an exception
thrown in a function marked `noexcept`, when converting a `cpp_int`
to a float, if the value of this `cpp_int` cannot be represented with
a float. this issue is a regression in Boost 1.79, see more details
at https://github.com/boostorg/multiprecision/pull/618

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2024-05-05 10:30:54 +08:00
Pete Walter
932a39a687 Rebuild for ICU 74 2024-01-31 19:14:40 +00:00
Fedora Release Engineering
fe1d35be50 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-23 00:41:49 +00:00
Fedora Release Engineering
73e87aacff Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 14:36:38 +00:00
Patrick Palka
177b2b775d Rebase to 1.83.0
See https://fedoraproject.org/wiki/Changes/F40Boost183

Follow-up build fixes to dependent packages include:

  https://src.fedoraproject.org/fork/ppalka/rpms/aqsis/commits/rawhide
  https://src.fedoraproject.org/fork/ppalka/rpms/auryn/commits/rawhide
  https://src.fedoraproject.org/fork/ppalka/rpms/Field3D/commits/rawhide
  https://src.fedoraproject.org/fork/ppalka/rpms/python-graph-tool/commits/rawhide
  https://src.fedoraproject.org/fork/ppalka/rpms/scantailor/commits/rawhide
2023-12-06 14:24:37 -05:00
Yaakov Selkowitz
2dfe9ef974 Disable openmpi on RHEL 10+
RHEL 10 follows Fedora 40 and therefore also dropped the i686 build of
openmpi.
2023-12-05 17:54:28 -05:00
Orion Poplawski
56ec04471d Rework conditional 2023-10-29 12:44:09 -06:00
Orion Poplawski
d121d46377 Rebuild for openmpi 5.0.0, drops support for i686 2023-10-29 12:09:30 -06:00
Jonathan Wakely
bab1cef729 Remove dropped patches
These were dropped from the spec file but not removed from git.
2023-09-12 13:07:32 +01:00
Michal Kolar
a9ff19d2d3 tests/boost-testsuite-sanity: adapt to rpm package > 4.18.91, use the proper rpm macro value to determine the required path 2023-09-07 11:54:15 +00:00
Michal Kolar
bffabb9a28 Revert "tests/boost-testsuite-sanity: adapt to rpm package > 4.18.91"
This reverts commit 10a5ee96ff.
2023-09-07 11:44:26 +00:00
Michal Kolar
10a5ee96ff tests/boost-testsuite-sanity: adapt to rpm package > 4.18.91 2023-09-04 21:36:31 +00:00
Tom Callaway
39785c3bbd apply upstream fixes for failing random tests 2023-08-29 16:21:15 -04:00
Kefu Chai
33b1e83abc 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-20 01:12:37 +08:00
Tom Callaway
74826991aa add symlink for b2 files 2023-08-02 12:53:55 -04:00
Fedora Release Engineering
fd721ad7d3 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 14:50:10 +00:00
František Zatloukal
61dda027eb Rebuilt for ICU 73.2 2023-07-11 16:21:59 +02:00
Jonathan Wakely
a4fcef0016 Update License for SPDX migration 2023-07-06 00:05:50 +01:00
Python Maint
7d7a237052 Rebuilt for Python 3.12 2023-06-13 22:13:55 +02:00
Nianqing Yao
393e648a01 Fix build for riscv64
See https://github.com/fedora-riscv/boost/tree/f38-rv64.
2023-05-05 21:07:19 +08:00
Jonathan Wakely
6b80e21fd9 Change spec file to use autospec for applying patches
Also renumber the patches from 0-7 since any historical significance of
the numbers is already gone from the spec file.
2023-03-15 18:22:28 +00:00
Jonathan Wakely
131ff2b1a6 Fix test plan by removing obsolete beakerlib setting 2023-03-15 12:02:09 +00:00
Jonathan Wakely
1116a4d288 Add patch for Boost.Phoenix bugs (#2178210) 2023-03-15 09:38:57 +00:00
Jonathan Wakely
a496150aec Fix typo in %changelog 2023-03-15 09:36:13 +00:00
Thomas W Rodgers
3420df7244 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, renamte to boost_build on install
2023-02-20 09:27:47 -08:00
Fedora Release Engineering
571ebc8df1 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 23:05:04 +00:00
Pete Walter
8576ab076f Rebuild for ICU 72 2022-12-31 02:19:50 +00:00
Jonathan Wakely
1c4335a6e0 Use xargs --no-run-if-empty to avoid error
Recent Boost releases seem to have no executable headers,
so the find command returns no results.
2022-12-14 17:47:59 +00:00
František Zatloukal
e938c8d9b3 Rebuilt for ICU 71.1 2022-08-01 15:02:21 +02:00
Fedora Release Engineering
bea3cff9ae Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 22:11:12 +00:00
Jonathan Wakely
af99b52501 Add boost-json to umbrella package 2022-07-14 13:35:31 +01:00
Jonathan Wakely
6585f3fb6e Restore Provides for boost-python3-devel (#2100748)
This doesn't restore the Provides: boost-nowide-devel as that is only
used in one package, which is already changing. The Provides: boost-jam
isn't needed either.
2022-06-24 10:41:42 +01:00
Laurent Rineau
2888982c28 Fix the CMake config file for openmpi and mpich 2022-06-23 11:42:32 +01:00
Jonathan Wakely
b96dcf38c8 Remove old Obsoletes tags 2022-06-21 21:20:41 +01:00
Python Maint
12bd4872ac Rebuilt for Python 3.11 2022-06-14 17:28:28 +02:00
Laurent Rineau
19a004c283 Re-add CMake file
Fixes rhbz#1898979
2022-06-14 14:32:18 +01:00
Python Maint
36115b3780 Rebuilt for Python 3.11 2022-06-13 18:55:42 +02:00
Thomas Rodgers
5827653083 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
2022-05-03 07:42:29 -07:00
Jonathan Wakely
9c645e2838 Tidy up %changelog 2022-04-27 18:13:43 +01:00
Thomas W Rodgers
efa25cfd81 And this time with the boost-1.76.0-enum_type_object-type-python-3.11.patch 2022-04-27 07:45:37 -07:00
Thomas W Rodgers
83163cb5f7 Merged https://src.fedoraproject.org/rpms/boost/pull-request/13 (#204336)
Miro Hrončok <mhroncok@redhat.com> Fix enum_type_object type on Python 3.11
  See https://github.com/boostorg/python/pull/385#event-6498973175
Fix previous changelog copy-pasta
2022-04-27 07:39:23 -07:00
Thomas W Rodgers
3bd0a83d52 Add BuildRequires: libstd-devel to fix (#2042336) 2022-04-26 20:53:21 -07:00
Jonathan Wakely
3c2829edfe Add patch to fix XML validation errors in ptr_container docs 2022-03-31 13:12:21 +01:00
Thomas Rodgers
9eaf760933 Add patch to fix narrowing conversions on ppc64le
https://github.com/boostorg/interval/issues/29
2022-02-02 18:36:49 -08:00
Thomas Rodgers
5eaac698fe Merge #11 Fix FTBFS and the Boost Multiprecision compilation error on pcc64le 2022-02-03 01:37:36 +00:00
Jonathan Wakely
bc37ceb79d Add rpmlintrc file to suppress errors in Zuul checks 2022-02-03 00:17:30 +00:00
Laurent Rineau
0e92f1aa2e Restore math_c99l and math_tr1l on ppc64le 2022-02-01 16:44:57 +01:00
Laurent Rineau
6502666126 Fix https://github.com/boostorg/multiprecision/issues/419
The PR https://github.com/boostorg/multiprecision/pull/421 fixes the
issue, and is planned for Boost version 1.79.0.
2022-02-01 16:03:04 +01:00
Fedora Release Engineering
6edfd32617 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 22:31:40 +00:00
Jonathan Wakely
bba3a6c2a0 Add patch to fix CI failure 2021-09-01 17:59:26 +01:00
Jonathan Wakely
214bbadaf6 Make boost-python3 depend on specific 3.X version (#1896713) 2021-09-01 14:13:43 +01:00
Jonathan Wakely
3824fb1903 Remove double % in Source0 tag 2021-09-01 13:38:22 +01:00
Jonathan Wakely
0fc8825319 Add whitespace between changelog entries 2021-09-01 13:23:48 +01:00
Michal Kolar
6a7ecd767d drop unwanted scratch build rule for gating 2021-08-17 16:31:18 +00:00
Thomas Rodgers
65b36067d5 Third attempt at making the long double c99 and tr1 math libs conditional
on ppc64le
2021-08-05 18:41:56 -07:00
Thomas Rodgers
03817f73cb Second attempt at making the long double c99 and tr1 math libs conditional
on ppc64le
2021-08-05 14:48:33 -07:00
Thomas Rodgers
ee1a4870ab Boost.Math does not support 'long double' of ppc64le
See https://github.com/boostorg/math/pull/524
2021-08-05 13:49:56 -07:00
Thomas Rodgers
dd07b4b21f 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
2021-08-04 13:35:00 -07:00
Fedora Release Engineering
7fd53e5641 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 18:48:13 +00:00
Fedora Release Engineering
237974a0ce - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 13:51:03 +00:00
Python Maint
582a02c7ab Rebuilt for Python 3.10 2021-06-04 12:11:52 +02:00
Pete Walter
b796f2d0eb Rebuild for ICU 69 2021-05-20 00:53:58 +01:00
Pete Walter
5f7b377f41 Rebuild for ICU 69 2021-05-19 16:44:05 +01:00
Thomas Rodgers
3eea468474 Patch for https://bugzilla.redhat.com/show_bug.cgi\?id\=1958382 2021-05-10 10:40:07 -07:00
Michal Kolar
67e502ea95 init FMF CI gating 2021-04-12 12:12:48 +00:00
Jonathan Wakely
8bed92113e Rebuilt for removed libstdc++ symbol (#1937698) 2021-03-31 14:38:15 +01:00
Jonathan Wakely
aa5af673c5 Revert previous commit and un-bump %release
The original patch to use nullptr was fine, because it's in a .cpp file
which is built using a recent standard dialect, so nullptr is defined.
2021-03-03 12:14:40 +00:00
Jonathan Wakely
394a768911 Adjust Boost.Locale patch to use NULL instead of nullptr 2021-03-03 12:06:46 +00:00
26 changed files with 904 additions and 552 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

View file

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

View file

@ -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;
+}

View file

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

View file

@ -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();

View file

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

View file

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

View file

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

View file

@ -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)
}
###

View file

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

View file

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

View file

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

42
boost-1.90-system.patch Normal file
View file

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

@ -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)$(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

22
boost-1.90.0-range.patch Normal file
View file

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

24
boost.rpmlintrc Normal file
View file

@ -0,0 +1,24 @@
# The meta-package doesn't contain any files, this is intended.
addFilter("boost.x86_64: E: no-binary")
# All docs are in a separate boost-doc package
addFilter("boost.*: W: no-documentation")
addFilter("boost.*: W: description-shorter-than-summary")
# Upstream don't provide one
addFilter("boost-doctools.x86_64: W: no-manual-page-for-binary quickbook")
# Ignore these
addFilter("boost.*: W: spelling-error %description -l en_US foundational ")
addFilter("boost.*: W: spelling-error %description -l en_US invariants ")
addFilter("boost.*: W: spelling-error %description -l en_US postconditions ")
addFilter("boost.*: W: spelling-error %description -l en_US userland ")
addFilter("boost.*: W: spelling-error Summary(en_US) numpy ")
# The example code is useless without the headers
addFilter("boost-examples.x86_64: E: devel-dependency boost-devel")
# These libs are statically linked
addFilter("boost-date-time.x86_64: E: shared-lib-without-dependency-information /usr/lib64/libboost_date_time.so.*")
addFilter("boost-system.x86_64: E: shared-lib-without-dependency-information /usr/lib64/libboost_system.so.*")
addFilter("boost-stacktrace.x86_64: E: shared-lib-without-dependency-information /usr/lib64/libboost_stacktrace_noop.so.*")

View file

@ -16,15 +16,19 @@
# All arches have mpich # All arches have mpich
%bcond_without mpich %bcond_without mpich
%ifarch s390 %if 0%{?fedora} >= 40 || 0%{?rhel} >= 10
# No OpenMPI support on these arches %ifarch %{ix86}
%bcond_with openmpi # No OpenMPI support on these arches
%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 %ifnarch %{ix86} x86_64 %{arm} ppc64 ppc64le aarch64 s390x riscv64
%bcond_with context %bcond_with context
%else %else
%bcond_without context %bcond_without context
@ -38,12 +42,18 @@
%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.75.0 Version: 1.90.0
Release: 3%{?dist} Release: 4%{?dist}
License: Boost and MIT and Python License: BSL-1.0 AND MIT AND Python-2.0.1
# Replace each . with _ in %%{version} # Replace each . with _ in %%{version}
%global version_enc %{lua: %global version_enc %{lua:
@ -54,11 +64,11 @@ License: Boost and MIT and Python
%global toplev_dirname %{real_name}_%{version_enc} %global toplev_dirname %{real_name}_%{version_enc}
URL: http://www.boost.org URL: http://www.boost.org
Source0: https://dl.bintray.com/boostorg/release/%{version}/source/%{name}_%%{version_enc}.tar.bz2 # https://archives.boost.io/release/1.90.0/source/boost_1_90_0.tar.bz2
Source1: libboost_thread.so Source0: https://archives.boost.io/release/%{version}/source/%{name}_%{version_enc}.tar.bz2
# 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
Source2: b2.1 Source1: 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).
@ -71,7 +81,9 @@ Source2: 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}
@ -85,10 +97,12 @@ Requires: %{name}-fiber%{?_isa} = %{version}-%{release}
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release} Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
Requires: %{name}-graph%{?_isa} = %{version}-%{release} Requires: %{name}-graph%{?_isa} = %{version}-%{release}
Requires: %{name}-iostreams%{?_isa} = %{version}-%{release} Requires: %{name}-iostreams%{?_isa} = %{version}-%{release}
Requires: %{name}-json%{?_isa} = %{version}-%{release}
Requires: %{name}-locale%{?_isa} = %{version}-%{release} 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}
@ -97,12 +111,15 @@ 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)
@ -123,38 +140,31 @@ BuildRequires: libicu-devel
BuildRequires: libquadmath-devel BuildRequires: libquadmath-devel
%endif %endif
BuildRequires: bison BuildRequires: bison
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
Patch15: boost-1.58.0-pool.patch
# https://svn.boost.org/trac/boost/ticket/9038
Patch51: 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
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 # https://bugzilla.redhat.com/show_bug.cgi?id=1318383
Patch97: boost-1.75.0-no-rpath.patch Patch1: boost-1.90.0-no-rpath.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1541035
Patch83: boost-1.73.0-b2-build-flags.patch
# https://lists.boost.org/Archives/boost/2020/04/248812.php # https://lists.boost.org/Archives/boost/2020/04/248812.php
Patch88: boost-1.73.0-cmakedir.patch Patch2: boost-1.73.0-cmakedir.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1896382 # https://bugzilla.redhat.com/show_bug.cgi?id=1541035
# https://github.com/boostorg/python/issues/325 Patch3: boost-1.78.0-b2-build-flags.patch
Patch93: boost-1.73-python3.10.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1899888 # PR https://github.com/boostorg/interval/pull/30
# https://github.com/boostorg/locale/issues/52 # Fixes narrowing conversions for ppc -
Patch94: boost-1.73-locale-empty-vector.patch # 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=1923740 # Install boost_system for the CMake configuration
# https://github.com/boostorg/build/issues/696 # https://github.com/boostorg/system/issues/132
Patch95: boost-1.75.0-boost-build-fix.patch Patch6: boost-1.90-system.patch
# https://github.com/boostorg/range/pull/157
Patch7: boost-1.90.0-range.patch
%bcond_with tests %bcond_with tests
%bcond_with docs_generated %bcond_with docs_generated
@ -179,14 +189,33 @@ 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
Requires: %{name}-system%{?_isa} = %{version}-%{release} Obsoletes: boost-system < 1.90.0
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
@ -195,7 +224,8 @@ 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 comply with C++03. standard draft features for compilers that don't comply with the
latest C++ standard.
%package contract %package contract
Summary: Run-time component of boost contract library Summary: Run-time component of boost contract library
@ -220,6 +250,7 @@ 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
@ -239,6 +270,8 @@ 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
@ -248,7 +281,9 @@ 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}-system%{?_isa} = %{version}-%{release} Requires: %{name}-atomic%{?_isa} = %{version}-%{release}
Obsoletes: boost-system < 1.90.0
Conflicts: boost-system < 1.90.0
%description filesystem %description filesystem
@ -276,6 +311,7 @@ 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
@ -286,8 +322,9 @@ 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
@ -296,25 +333,28 @@ 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
Boost.Log library aims to make logging significantly easier for the Run-time support for Boost.Log, a modular and extensible logging
application developer. It provides a wide range of out-of-the-box library that supports both narrow-character and wide-character logging.
tools along with public interfaces for extending the library.
%package math %package math
Summary: Math functions for boost TR1 library Summary: Run-time component of boost math toolkit
%description math %description math
Run-time support for C99 and C++ TR1 C-style Functions from the math Run-time support for Boost.Math, including floating-point utilities,
portion of Boost.TR1. specific width floating-point types, mathematical constants,
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
# Added for F33, remove for F35:
Obsoletes: boost-nowide <= 0.20190814
%description nowide %description nowide
@ -337,6 +377,14 @@ 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
@ -349,6 +397,7 @@ conventional methods such as command-line and configuration file.
%if %{with python3} %if %{with python3}
%package python3 %package python3
Summary: Run-time component of boost python library for Python 3 Summary: Run-time component of boost python library for Python 3
Requires: python(abi) = %{python3_version}
%description python3 %description python3
@ -387,14 +436,6 @@ 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
@ -405,7 +446,8 @@ program execution monitoring.
%package thread %package thread
Summary: Run-time component of boost thread library Summary: Run-time component of boost thread library
Requires: %{name}-system%{?_isa} = %{version}-%{release} Obsoletes: boost-system < 1.90.0
Conflicts: boost-system < 1.90.0
%description thread %description thread
@ -417,7 +459,8 @@ 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}
Requires: %{name}-system%{?_isa} = %{version}-%{release} Obsoletes: boost-system < 1.90.0
Conflicts: boost-system < 1.90.0
%description timer %description timer
@ -428,20 +471,31 @@ 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}-system%{?_isa} = %{version}-%{release} Requires: %{name}-thread%{?_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
@ -459,15 +513,10 @@ Requires: libquadmath-devel%{?_isa}
%if %{with python3} %if %{with python3}
# Require boost-numpy3 here, because main boost metapackage only Recommends: it # Require boost-numpy3 here, because main boost metapackage only Recommends: it
Requires: %{name}-numpy3%{?_isa} = %{version}-%{release} Requires: %{name}-numpy3%{?_isa} = %{version}-%{release}
# Added for F33, remove for F35: # Old Provides: for compatibility with packages that still require it.
Obsoletes: %{name}-python3-devel < 1.69.0-20
Provides: %{name}-python3-devel = %{version}-%{release} Provides: %{name}-python3-devel = %{version}-%{release}
Provides: %{name}-python3-devel%{?_isa} = %{version}-%{release} Provides: %{name}-python3-devel%{?_isa} = %{version}-%{release}
%endif %endif
# Added for F33, remove for F35:
Obsoletes: boost-nowide-devel <= 0.20190814
Provides: boost-nowide-devel = %{version}
Provides: boost-nowide-devel%{?_isa} = %{version}
%description devel %description devel
Headers and shared object symbolic links for the Boost C++ libraries. Headers and shared object symbolic links for the Boost C++ libraries.
@ -654,10 +703,6 @@ Tools for working with Boost documentation in BoostBook or QuickBook format.
%package b2 %package b2
Summary: A low-level build tool Summary: A low-level build tool
# Added for F33, remove for F35:
Obsoletes: boost-jam < 1.73.0
Provides: boost-jam = %{version}
Provides: boost-jam%{?_isa} = %{version}
%description b2 %description b2
B2 (formerly Boost.Jam) is the low-level build engine tool for Boost.Build. B2 (formerly Boost.Jam) is the low-level build engine tool for Boost.Build.
@ -665,18 +710,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. a number of significant features and is now developed independently.
%prep %prep
%setup -q -n %{toplev_dirname} %autosetup -n %{toplev_dirname} -p1
find ./boost -name '*.hpp' -perm /111 | xargs chmod a-x find ./boost -name '*.hpp' -perm /111 | xargs --no-run-if-empty chmod a-x
%patch15 -p0
%patch51 -p1
%patch96 -p1
%patch97 -p1
%patch83 -p1
%patch88 -p1
%patch93 -p1
%patch94 -p1
%patch95 -p1
%build %build
%set_build_flags %set_build_flags
@ -710,7 +745,7 @@ using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{pyth
EOF EOF
%endif %endif
./bootstrap.sh --with-toolset=%{toolchain} --with-icu ./bootstrap.sh --with-toolset=%{toolchain} --with-icu --prefix=$RPM_BUILD_ROOT%{_prefix}
# 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
@ -727,20 +762,12 @@ 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}
@ -782,7 +809,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}) ./bootstrap.sh --with-toolset=%{toolchain} --prefix=$RPM_BUILD_ROOT%{_prefix})
%check %check
: :
@ -817,12 +844,14 @@ mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \
${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/ ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/
%endif %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. # 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_{python,{w,}serialization}*
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy* rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy*
rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_{python,{w,}serialization}*
# Remove cmake files (some of these are duplicates of the generic bits anyway). rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_numpy*
rm -r ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake
%{_openmpi_unload} %{_openmpi_unload}
export PATH=/bin${PATH:+:}$PATH export PATH=/bin${PATH:+:}$PATH
@ -846,12 +875,14 @@ mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \
${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/ ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/
%endif %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. # 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_{python,{w,}serialization}*
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy* rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy*
rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_{python,{w,}serialization}*
# Remove cmake files (some of these are duplicates of the generic bits anyway). rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_numpy*
rm -r ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake
%{_mpich_unload} %{_mpich_unload}
export PATH=/bin${PATH:+:}$PATH export PATH=/bin${PATH:+:}$PATH
@ -869,21 +900,37 @@ 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
# Override DSO symlink with a linker script. See the linker script cat > $RPM_BUILD_ROOT%{_libdir}/libboost_system.so << EOT
# itself for details of why we need to do this. /* GNU ld script
[ -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so ] # Must be present
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. There is no runtime library for Boost.System.
rm -r $RPM_BUILD_ROOT/%{_libdir}/cmake This empty linker script exists to support Fedora packages which use
-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
@ -892,7 +939,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 %{SOURCE2} -D $RPM_BUILD_ROOT%{_mandir}/man1/b2.1 %{__install} -p -m 644 %{SOURCE1} -D $RPM_BUILD_ROOT%{_mandir}/man1/b2.1
) )
echo ============================= install Boost.QuickBook ================== echo ============================= install Boost.QuickBook ==================
@ -968,6 +1015,11 @@ 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
@ -1002,10 +1054,19 @@ 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}
@ -1076,6 +1137,10 @@ 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}
@ -1109,10 +1174,9 @@ 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}
%files system %{_libdir}/libboost_stacktrace_from_exception.so.%{sonamever}
%license LICENSE_1_0.txt %endif
%{_libdir}/libboost_system.so.%{sonamever}
%files thread %files thread
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
@ -1126,6 +1190,10 @@ 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}
@ -1143,8 +1211,12 @@ fi
%files devel %files devel
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_includedir}/%{name} %{_includedir}/%{name}
%{_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}
@ -1172,6 +1244,7 @@ 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
@ -1185,10 +1258,14 @@ 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
@ -1210,8 +1287,11 @@ fi
%files openmpi-devel %files openmpi-devel
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_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}
@ -1228,7 +1308,9 @@ 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
@ -1241,8 +1323,11 @@ fi
%files mpich-devel %files mpich-devel
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_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}
@ -1254,18 +1339,20 @@ 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
@ -1278,8 +1365,253 @@ fi
%{_mandir}/man1/b2.1* %{_mandir}/man1/b2.1*
%changelog %changelog
* Thu Jan 15 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1.90.0-4
- Add dependencies on new subpackages to metapackage
* Tue Jan 13 2026 Jonathan Wakely <jwakely@fedoraproject.org> - 1.90.0-3
- Fix libboost_system.so linker script to avoid ldcondig warning
* Mon Jan 12 2026 Jonathan Wakely <jwakely@fedoraproject.org> - 1.90.0-2
- 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
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
* Wed May 19 2021 Pete Walter <pwalter@fedoraproject.org> - 1.75.0-7
- Rebuild for ICU 69
* Wed May 19 2021 Pete Walter <pwalter@fedoraproject.org> - 1.75.0-6
- Rebuild for ICU 69
* 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 * 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 * Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.75.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
@ -2244,7 +2576,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.

19
gating.yaml Normal file
View file

@ -0,0 +1,19 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-gating.functional}
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-gating.functional}

View file

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

5
plans/ci.fmf Normal file
View file

@ -0,0 +1,5 @@
summary: CI Gating Plan
discover:
how: fmf
execute:
how: tmt

View file

@ -1 +1 @@
SHA512 (boost_1_75_0.tar.bz2) = d86f060245e98dca5c7f3f831c98ea9ccbfa8310f20830dd913d9d4c939fbe7cb94accd35f1128e7c4faf6c27adb6f4bb54e5477a6bde983dfc7aa33c4eed03a SHA512 (boost_1_90_0.tar.bz2) = 1c81b60f63367d7249f277f0a569c181926dcf5a725e30433dd336205f1782880489dd00df6a1a74fd107765d3ca2cd49f806788cabb7d5700a8a55927a9a199

View file

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/boost/Sanity/boost-testsuite-sanity
# Description: boost testing by upstream testsuite
# Author: Michal Kolar <mkolar@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2021 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/boost/Sanity/boost-testsuite-sanity
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE tests
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Michal Kolar <mkolar@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: boost testing by upstream testsuite" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 1h" >> $(METADATA)
@echo "RunFor: boost" >> $(METADATA)
@echo "Requires: boost dnf-utils rpm-build boost-b2" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5 -RHEL6 -RHEL7 -RHEL8" >> $(METADATA)
rhts-lint $(METADATA)

View file

@ -0,0 +1,3 @@
PURPOSE of /tools/boost/Sanity/boost-testsuite-sanity
Description: boost testing by upstream testsuite
Author: Michal Kolar <mkolar@redhat.com>

View file

@ -0,0 +1,16 @@
summary: boost testing by upstream testsuite
description: ''
contact:
- Michal Kolar <mkolar@redhat.com>
component:
- boost
test: ./runtest.sh
framework: beakerlib
recommend:
- boost
- dnf-utils
- rpm-build
- boost-b2
duration: 1h
extra-summary: /tools/boost/Sanity/boost-testsuite-sanity
extra-task: /tools/boost/Sanity/boost-testsuite-sanity

View file

@ -0,0 +1,99 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/boost/Sanity/boost-testsuite-sanity
# Description: boost testing by upstream testsuite
# Author: Michal Kolar <mkolar@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2021 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
BUILD_USER=${BUILD_USER:-bstbld}
TESTS_COUNT_MIN=${TESTS_COUNT_MIN:-100}
PACKAGE="boost"
REQUIRES="$PACKAGE rpm-build boost-b2"
if rlIsFedora; then
REQUIRES="$REQUIRES dnf-utils"
else
REQUIRES="$REQUIRES yum-utils"
fi
rlJournalStart
rlPhaseStartSetup
rlShowRunningKernel
rlAssertRpm --all
rlRun "TmpDir=`mktemp -d /home/boost.XXXXXXXXXX`" # work in /home due to high demands on disk space
rlRun "cp tests $TmpDir"
rlRun "pushd $TmpDir"
rlFetchSrcForInstalled $PACKAGE
rlRun "useradd -M -N $BUILD_USER" 0,9
[ "$?" == "0" ] && rlRun "del=yes"
rlRun "chown -R $BUILD_USER:users $TmpDir"
rlPhaseEnd
rlPhaseStartSetup "build boost"
rlRun "rpm -D \"_topdir $TmpDir\" -U *.src.rpm"
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 "rlFileSubmit $TmpDir/rpmbuild.log"
rlRun "toplev_dirname=`awk '/toplev_dirname/{print $3; exit}' $TmpDir/rpmbuild.log`"
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 "rlFileSubmit $TmpDir/bootstrap.log"
rlPhaseEnd
rlPhaseStartTest "run testsuite"
while read test_path; do
if [ -f $BuildDir/libs/$test_path/test/Jamfile* ]; then
rlRun "cd $BuildDir/libs/$test_path/test"
rlRun "su -c '/usr/bin/b2 -d1 --build-dir=$TmpDir/test-build &>>$TmpDir/testsuite.log' $BUILD_USER"
rm -fr $TmpDir/test-build
else
rlLogInfo "$test_path/Jamfile* not found, skipping"
fi
done <$TmpDir/tests
rlRun "rlFileSubmit $TmpDir/testsuite.log"
rlPhaseEnd
rlPhaseStartTest "evaluate results"
rlRun "cd $TmpDir"
rlRun "grep -E '\.\.\.failed .+$TmpDir/test-build' testsuite.log" 1 "There should be no failure"
rlRun "tests_count=\$(grep -E '\*\*passed\*\*.+$TmpDir/test-build' testsuite.log | wc -l)"
[ "$tests_count" -ge "$TESTS_COUNT_MIN" ] && rlLogInfo "Test counter: $tests_count" || rlFail "Test counter $tests_count should be greater than or equal to $TESTS_COUNT_MIN"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir"
[ "$del" == "yes" ] && rlRun "userdel $BUILD_USER"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View file

@ -0,0 +1,5 @@
integer
random
rational
regex
timer