diff --git a/.abf.yml b/.abf.yml index 58ac0a7..fa7dc7c 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,2 +1,2 @@ sources: - boost_1_61_0.tar.bz2: f84b1a1ce764108ec3c2b7bd7704cf8dfd3c9d01 + boost_1_74_0.tar.bz2: f82c0d8685b4d0e3971e8e2a8f9ef1551412c125 diff --git a/boost-1.50.0-fix-non-utf8-files.patch b/boost-1.50.0-fix-non-utf8-files.patch index b60a3ac..469b35d 100644 --- a/boost-1.50.0-fix-non-utf8-files.patch +++ b/boost-1.50.0-fix-non-utf8-files.patch @@ -5,9 +5,9 @@ index 8b2bc43..d04f2fe 100644 @@ -67,7 +67,7 @@ struct thing_base_unit : boost::units::base_unit { - static const char* name() { return("EUR"); } -- static const char* symbol() { return("€"); } -+ static const char* symbol() { return("€"); } + static constexpr const char* name() { return("EUR"); } +- static constexpr const char* symbol() { return("€"); } ++ static constexpr const char* symbol() { return("€"); } }; int main() diff --git a/boost-1.50.0-foreach.patch b/boost-1.50.0-foreach.patch index dc8cd71..950dbe5 100644 --- a/boost-1.50.0-foreach.patch +++ b/boost-1.50.0-foreach.patch @@ -1,7 +1,7 @@ -Index: /trunk/boost/foreach_fwd.hpp +Index: boost/boost/foreach_fwd.hpp =================================================================== ---- /trunk/boost/foreach_fwd.hpp (revision 62661) -+++ /trunk/boost/foreach_fwd.hpp (revision 75540) +--- boost/boost/foreach_fwd.hpp (revision 62661) ++++ boost/boost/foreach_fwd.hpp (revision 75540) @@ -15,4 +15,6 @@ #define BOOST_FOREACH_FWD_HPP @@ -40,10 +40,10 @@ Index: /trunk/boost/foreach_fwd.hpp + } // namespace boost -Index: /trunk/boost/foreach.hpp +Index: boost/boost/foreach.hpp =================================================================== ---- /trunk/boost/foreach.hpp (revision 75077) -+++ /trunk/boost/foreach.hpp (revision 75540) +--- boost/boost/foreach.hpp (revision 75077) ++++ boost/boost/foreach.hpp (revision 75540) @@ -166,5 +166,5 @@ // at the global namespace for your type. template diff --git a/boost-1.50.0-long-double-1.patch b/boost-1.50.0-long-double-1.patch index 2574539..f79de92 100644 --- a/boost-1.50.0-long-double-1.patch +++ b/boost-1.50.0-long-double-1.patch @@ -1,10 +1,9 @@ -diff --git a/libs/math/config/has_long_double_support.cpp b/libs/math/config/has_long_double_support.cpp -index d314cf3..9022408 100644 ---- a/libs/math/config/has_long_double_support.cpp -+++ b/libs/math/config/has_long_double_support.cpp +diff -up boost_1_73_0/libs/math/config/has_long_double_support.cpp.5~ boost_1_73_0/libs/math/config/has_long_double_support.cpp +--- boost_1_73_0/libs/math/config/has_long_double_support.cpp.5~ 2020-04-29 03:27:52.608400056 +0200 ++++ boost_1_73_0/libs/math/config/has_long_double_support.cpp 2020-04-29 14:29:15.063698315 +0200 @@ -8,3 +8,7 @@ #ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS - #error "long double support is not supported by Boost.Math on this Plaform: the long double version of the TR1 library will not be built." + #error "long double support is not supported by Boost.Math on this Platform: the long double version of the TR1 library will not be built." #endif + +int main(int argc, char *argv[]) { diff --git a/boost-1.50.0-polygon.patch b/boost-1.50.0-polygon.patch index 61efb46..0de9baa 100644 --- a/boost-1.50.0-polygon.patch +++ b/boost-1.50.0-polygon.patch @@ -1,5 +1,5 @@ ---- /usr/include/boost/polygon/polygon.hpp.orig 2012-01-26 01:05:15.934998805 +0800 -+++ /usr/include/boost/polygon/polygon.hpp 2012-01-26 01:13:10.547000000 +0800 +--- boost/boost/polygon/polygon.hpp.orig 2012-01-26 01:05:15.934998805 +0800 ++++ boost/boost/polygon/polygon.hpp 2012-01-26 01:13:10.547000000 +0800 @@ -24,6 +24,8 @@ #include "transform.hpp" diff --git a/boost-1.50.0-pool.patch b/boost-1.50.0-pool.patch new file mode 100644 index 0000000..bf9119d --- /dev/null +++ b/boost-1.50.0-pool.patch @@ -0,0 +1,122 @@ +Index: boost/boost/pool/pool.hpp +=================================================================== +--- boost/boost/pool/pool.hpp (revision 78317) ++++ boost/boost/pool/pool.hpp (revision 78326) +@@ -27,4 +27,6 @@ + #include + ++// std::numeric_limits ++#include + // boost::integer::static_lcm + #include +@@ -358,4 +360,13 @@ + } + ++ 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::value + sizeof(size_type); ++ size_type max_chunks = (std::numeric_limits::max() - POD_size) / alloc_size(); ++ ++ return max_chunks; ++ } ++ + 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 ++#include ++ ++int main() ++{ ++ boost::pool<> p(1024, std::numeric_limits::max() / 768); ++ ++ void *x = p.malloc(); ++ BOOST_ASSERT(!x); ++ ++ BOOST_ASSERT(std::numeric_limits::max() / 1024 >= p.get_next_size()); ++ BOOST_ASSERT(std::numeric_limits::max() / 1024 >= p.get_max_size()); ++ ++ void *y = p.ordered_malloc(std::numeric_limits::max() / 768); ++ BOOST_ASSERT(!y); ++ ++ return 0; ++} diff --git a/boost-1.57.0-build-optflags.patch b/boost-1.57.0-build-optflags.patch new file mode 100644 index 0000000..f4e62df --- /dev/null +++ b/boost-1.57.0-build-optflags.patch @@ -0,0 +1,42 @@ +diff -up boost_1_74_0/tools/build/src/tools/gcc.jam.9~ boost_1_74_0/tools/build/src/tools/gcc.jam +--- boost_1_74_0/tools/build/src/tools/gcc.jam.9~ 2020-08-11 16:57:21.000000000 +0200 ++++ boost_1_74_0/tools/build/src/tools/gcc.jam 2020-08-14 17:43:55.676937535 +0200 +@@ -577,7 +577,7 @@ rule compile.fortran ( targets * : sourc + + 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,13 +704,13 @@ actions compile.c.pch + ### + + # Declare flags and action for compilation. +-toolset.flags gcc.compile OPTIONS off : -O0 ; +-toolset.flags gcc.compile OPTIONS speed : -O3 ; +-toolset.flags gcc.compile OPTIONS space : -Os ; +- +-toolset.flags gcc.compile OPTIONS off : -fno-inline ; +-toolset.flags gcc.compile OPTIONS on : -Wno-inline ; +-toolset.flags gcc.compile OPTIONS full : -finline-functions -Wno-inline ; ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS speed : ; ++toolset.flags gcc.compile OPTIONS space : ; ++ ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS on : ; ++toolset.flags gcc.compile OPTIONS full : ; + + toolset.flags gcc.compile OPTIONS off : -w ; + toolset.flags gcc.compile OPTIONS on : -Wall ; diff --git a/boost-1.57.0-python-abi_letters.patch b/boost-1.57.0-python-abi_letters.patch index 7df3ee7..f7041ec 100644 --- a/boost-1.57.0-python-abi_letters.patch +++ b/boost-1.57.0-python-abi_letters.patch @@ -1,6 +1,6 @@ ---- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200 -+++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200 -@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti +--- boost_1_65_0/tools/build/src/tools/python.jam.p18~ 2017-08-21 23:51:31.876299004 +0200 ++++ boost_1_65_0/tools/build/src/tools/python.jam 2017-08-21 23:52:08.595223722 +0200 +@@ -99,7 +99,7 @@ py3-version = ; # using python : 2.3 : /usr/local/bin/python ; # rule init ( version ? : cmd-or-prefix ? : includes * : libraries ? @@ -9,7 +9,7 @@ { project.push-current $(.project) ; -@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ? +@@ -112,7 +112,7 @@ rule init ( version ? : cmd-or-prefix ? } } @@ -18,7 +18,7 @@ project.pop-current ; } -@@ -653,7 +653,7 @@ local rule system-library-dependencies ( +@@ -659,7 +659,7 @@ local rule system-library-dependencies ( # Declare a target to represent Python's library. # @@ -27,7 +27,7 @@ { # Compute the representation of Python version in the name of Python's # library file. -@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve +@@ -683,13 +683,13 @@ local rule declare-libpython-target ( ve } # Declare it. @@ -43,15 +43,15 @@ { local prefix ; local exec-prefix ; -@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o +@@ -705,6 +705,7 @@ local rule configure ( version ? : cmd-o extension-suffix ?= _d ; } extension-suffix ?= "" ; + abi-letters ?= "" ; - # Normalize and dissect any version number. - local major-minor ; -@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o + local cmds-to-try ; + +@@ -968,7 +969,7 @@ local rule configure ( version ? : cmd-o } else { diff --git a/boost.rpmlintrc b/boost.rpmlintrc index bad1971..df76075 100644 --- a/boost.rpmlintrc +++ b/boost.rpmlintrc @@ -1,2 +1,3 @@ # For examples in boost-build addFilter("E: devel-file-in-non-devel-package") + diff --git a/boost.spec b/boost.spec index cc5baf5..aac4b17 100644 --- a/boost.spec +++ b/boost.spec @@ -51,11 +51,11 @@ Summary: Portable C++ libraries Name: boost -Version: 1.61.0 -Release: 7 +Version: 1.74.0 +Release: 1 License: Boost Group: Development/C++ -Url: http://boost.org/ +URL: http://boost.org Source0: http://download.sourceforge.net/boost/boost_%{packver}.tar.bz2 Source100: %{name}.rpmlintrc # https://bugzilla.redhat.com/show_bug.cgi?id=1102667 @@ -89,10 +89,11 @@ BuildRequires: doxygen BuildRequires: xsltproc BuildRequires: bzip2-devel BuildRequires: pkgconfig(expat) -BuildRequires: pkgconfig(icu-uc) +BuildRequires: pkgconfig(icu-uc) >= 60.1 BuildRequires: pkgconfig(python) BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(zlib) +BuildRequires: bzip2 %description Boost is a collection of free peer-reviewed portable C++ source @@ -839,15 +840,15 @@ symlinks needed for Boost development. %setup -qn boost_%{packver} %patch0 -p1 %patch1 -p1 -%patch2 -p1 +#patch2 -p1 %patch4 -p1 %patch5 -p1 -%patch7 -p2 +#patch7 -p2 %patch10 -p1 -%patch12 -p3 +#patch12 -p3 %patch15 -p0 -%patch16 -p1 -%patch17 -p1 +#patch16 -p1 +#patch17 -p1 # Preparing the docs mkdir packagedoc