Compare commits

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

3 commits

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

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

View file

@ -1,7 +1,7 @@
Index: boost/pool/pool.hpp
===================================================================
--- boost/pool/pool.hpp (revision 78317)
+++ boost/pool/pool.hpp (revision 78326)
--- ./boost/pool/pool.hpp (revision 78317)
+++ ./boost/pool/pool.hpp (revision 78326)
@@ -27,4 +27,6 @@
#include <boost/pool/poolfwd.hpp>

View file

@ -13,8 +13,8 @@ Fixes #29
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
--- a/include/boost/numeric/interval/detail/ppc_rounding_control.hpp
+++ b/include/boost/numeric/interval/detail/ppc_rounding_control.hpp
--- 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;

View file

@ -10,8 +10,8 @@ Subject: [PATCH] Update gcc Intel intrinsic usage config. Fixes
diff --git a/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp b/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp
index eb4624bb4..37717cd51 100644
--- a/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp
+++ b/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp
--- include/boost/multiprecision/cpp_int/intel_intrinsics.hpp
+++ include/boost/multiprecision/cpp_int/intel_intrinsics.hpp
@@ -19,7 +19,11 @@
// If this is GCC/clang, then check that the actual intrinsic exists:
//

View file

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

View file

@ -42,7 +42,7 @@ Name: boost
%global real_name boost
Summary: The free peer-reviewed portable C++ source libraries
Version: 1.78.0
Release: 11%{?dist}
Release: 14%{?dist}
License: Boost and MIT and Python
# Replace each . with _ in %%{version}
@ -130,48 +130,51 @@ 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
Patch0: boost-1.58.0-pool.patch
# https://svn.boost.org/trac/boost/ticket/9038
Patch51: boost-1.58.0-pool-test_linking.patch
Patch1: boost-1.58.0-pool-test_linking.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1541035
Patch105: boost-1.78.0-build-optflags.patch
Patch2: boost-1.78.0-build-optflags.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1318383
Patch106: boost-1.78.0-no-rpath.patch
Patch3: boost-1.78.0-no-rpath.patch
# https://lists.boost.org/Archives/boost/2020/04/248812.php
Patch88: boost-1.73.0-cmakedir.patch
Patch4: boost-1.73.0-cmakedir.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1899888
# https://github.com/boostorg/locale/issues/52
Patch94: boost-1.73-locale-empty-vector.patch
Patch5: boost-1.73-locale-empty-vector.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1541035
Patch107: boost-1.78.0-b2-build-flags.patch
Patch6: boost-1.78.0-b2-build-flags.patch
# https://github.com/boostorg/random/issues/82
Patch102: boost-1.76.0-random-test.patch
Patch7: boost-1.76.0-random-test.patch
# PR https://github.com/boostorg/multiprecision/pull/421
# fixes ppc64le issue https://github.com/boostorg/multiprecision/issues/419
Patch103: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch
Patch8: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch
# PR https://github.com/boostorg/interval/pull/30
# Fixes narrowing conversions for ppc -
# https://github.com/boostorg/interval/issues/29
Patch104: boost-1.76.0-fix-narrowing-conversions-for-ppc.patch
Patch9: boost-1.76.0-fix-narrowing-conversions-for-ppc.patch
# https://github.com/boostorg/ptr_container/pull/27
Patch108: boost-1.76.0-ptr_cont-xml.patch
Patch10: boost-1.76.0-ptr_cont-xml.patch
# Fixes missing libboost_fiber.so
# https://github.com/boostorg/boost/issues/632
Patch109: boost-1.78.0-fix-b2-staging.patch
Patch11: boost-1.78.0-fix-b2-staging.patch
# https://github.com/boostorg/python/pull/385
Patch110: boost-1.76.0-enum_type_object-type-python-3.11.patch
Patch12: boost-1.76.0-enum_type_object-type-python-3.11.patch
# PR https://github.com/boostorg/accumulators/pull/54
Patch13: boost-1.81.0-always-initialize-member-variable.patch
%bcond_with tests
%bcond_with docs_generated
@ -672,23 +675,9 @@ Historically, B2 was based on on FTJam and on Perforce Jam but has grown
a number of significant features and is now developed independently.
%prep
%setup -q -n %{toplev_dirname}
%autosetup -n %{toplev_dirname} -p1
find ./boost -name '*.hpp' -perm /111 | xargs --no-run-if-empty chmod a-x
%patch15 -p0
%patch51 -p1
%patch105 -p1
%patch106 -p1
%patch107 -p1
%patch88 -p1
%patch94 -p1
%patch102 -p1
%patch103 -p2
%patch104 -p2
%patch108 -p1
%patch109 -p1
%patch110 -p1
%build
%set_build_flags
# Dump the versions being used into the build logs.
@ -1293,6 +1282,16 @@ fi
%{_mandir}/man1/b2.1*
%changelog
* Tue Sep 12 2023 Jonathan Wakely <jwakely@fedoraproject.org> - 1.78.0-14
- Change spec file to use autosetup for applying patches
* Fri Sep 01 2023 Jonathan Wakely <jwakely@redhat.com> - 1.78.0-13
- Fix outdated CI configuration
* Tue Aug 22 2023 Kefu Chai <tchaikov@fedoraproject.org> - 1.78.0-12
- Add patch for Boost.Accumulators bug
See https://github.com/boostorg/accumulators/pull/54
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.78.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

View file

@ -1,6 +1,5 @@
summary: CI Gating Plan
discover:
how: fmf
directory: tests
execute:
how: beakerlib
how: tmt