Compare commits

...

15 commits

Author SHA1 Message Date
Your Name
209fb9d233 1.79.0
All checks were successful
Run CI/CD... / main (push) Successful in 40m25s
2025-04-01 20:18:44 +00:00
Your Name
5ce3824045 1.79.0
Some checks failed
Run CI/CD... / main (push) Failing after 8m36s
2025-04-01 19:58:45 +00:00
Your Name
802f8cae88 1.79.0
Some checks failed
Run CI/CD... / main (push) Failing after 9m25s
2025-04-01 07:49:21 +00:00
Your Name
16873a9547 1.79.0
Some checks failed
Run CI/CD... / main (push) Failing after 33m48s
2025-03-19 20:52:35 +00:00
Your Name
1307105ba6 Add .gitignore and .gitea/workflows/ci.yml
Some checks failed
Run CI/CD... / main (push) Failing after 19m12s
2025-01-31 18:59:54 +00:00
8616849294 Добавление .gitignore и .gitea/workflows/ci.yml 2025-01-07 03:37:54 +03:00
e2f9a74fd5 1.74.0 2023-09-09 20:05:24 +00:00
fbfe1e41b7 1.74.0 2023-09-09 19:13:44 +00:00
85c82a5856 1.74.0 2023-09-09 18:40:40 +00:00
aaf4c4c52f 1.74.0 2023-09-09 15:19:08 +00:00
508a8abd81 1.74.0 2023-09-08 22:49:28 +00:00
13ff2e0bfe 1.74.0 2023-09-08 11:46:30 +00:00
0a9d3f6ce6 1.74.0 2023-09-08 10:02:40 +00:00
33e6b1942c 1.74.0 2023-09-08 08:18:22 +00:00
48034c0c0f 1.74.0 2023-09-08 07:33:32 +00:00
12 changed files with 431 additions and 107 deletions

View file

@ -1,2 +1,3 @@
sources:
boost_1_61_0.tar.bz2: f84b1a1ce764108ec3c2b7bd7704cf8dfd3c9d01
boost_1_74_0.tar.bz2: f82c0d8685b4d0e3971e8e2a8f9ef1551412c125
boost_1_79_0.tar.bz2: 31209dcff292bd6a64e5e08ceb3ce44a33615dc0

17
.gitea/workflows/ci.yml Normal file
View file

@ -0,0 +1,17 @@
version: '1'
name: Run CI/CD...
on: [push]
jobs:
main:
runs-on: r11_builder
steps:
- name: Jobs
uses: ${{ github.server_url }}/Djam/r11_workflows@main
with:
CI_DEPLOY: ${{ secrets.CI_DEPLOY }}
PUBLICATOR: ${{ secrets.PUBLICATOR }}
REPO_DEPLOY: ${{ secrets.REPO_DEPLOY }}

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
.*~
*~
.env

View file

@ -5,9 +5,9 @@ index 8b2bc43..d04f2fe 100644
@@ -67,7 +67,7 @@ struct thing_base_unit : boost::units::base_unit<thing_base_unit, boost::units::
struct euro_base_unit : boost::units::base_unit<euro_base_unit, boost::units::dimensionless_type, 5>
{
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()

View file

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

View file

@ -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[]) {

View file

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

122
boost-1.50.0-pool.patch Normal file
View file

@ -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 <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,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<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type);
+ size_type max_chunks = (std::numeric_limits<size_type>::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 <boost/pool/object_pool.hpp>
+#include <boost/limits.hpp>
+
+int main()
+{
+ boost::pool<> p(1024, std::numeric_limits<size_t>::max() / 768);
+
+ void *x = p.malloc();
+ BOOST_ASSERT(!x);
+
+ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_next_size());
+ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_max_size());
+
+ void *y = p.ordered_malloc(std::numeric_limits<size_t>::max() / 768);
+ BOOST_ASSERT(!y);
+
+ return 0;
+}

View file

@ -0,0 +1,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 <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 <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 : -w ;
toolset.flags gcc.compile OPTIONS <warnings>on : -Wall ;

View file

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

View file

@ -1,2 +1,5 @@
# For examples in boost-build
addFilter("E: devel-file-in-non-devel-package")
addFilter("E: zero-length")

View file

@ -1,42 +1,49 @@
%define debug %nil
%define debug_package %nil
%define packver %(echo "%{version}" | sed -e "s/\\\./_/g")
%define libatomic %mklibname boost_atomic %{version}
%define libchrono %mklibname boost_chrono %{version}
%define libcontainer %mklibname boost_container %{version}
%define libcontext %mklibname boost_context %{version}
%define libcoroutine %mklibname boost_coroutine %{version}
%define libdatetime %mklibname boost_date_time %{version}
%define libfilesystem %mklibname boost_filesystem %{version}
%define libgraph %mklibname boost_graph %{version}
%define libiostreams %mklibname boost_iostreams %{version}
%define liblocale %mklibname boost_locale %{version}
%define liblog %mklibname boost_log %{version}
%define liblogsetup %mklibname boost_log_setup %{version}
%define libmathc99 %mklibname boost_math_c99_ %{version}
%define libmathc99f %mklibname boost_math_c99f %{version}
%define libmathc99l %mklibname boost_math_c99l %{version}
%define libatomic %mklibname boost_atomic_ %{version}
%define libchrono %mklibname boost_chrono_ %{version}
%define libcontainer %mklibname boost_container_ %{version}
%define libcontext %mklibname boost_context_ %{version}
%define libcontract %mklibname boost_contract_ %{version}
%define libcoroutine %mklibname boost_coroutine_ %{version}
%define libdatetime %mklibname boost_date_time_ %{version}
%define libfilesystem %mklibname boost_filesystem_ %{version}
%define libgraph %mklibname boost_graph_ %{version}
%define libiostreams %mklibname boost_iostreams_ %{version}
%define liblocale %mklibname boost_locale_ %{version}
%define liblog %mklibname boost_log_ %{version}
%define liblogsetup %mklibname boost_log_setup_ %{version}
%define libmathc99 %mklibname boost_math_c99__ %{version}
%define libmathc99f %mklibname boost_math_c99f_ %{version}
%define libmathc99l %mklibname boost_math_c99l_ %{version}
%define libmathtr1 %mklibname boost_math_tr1_ %{version}
%define libmathtr1f %mklibname boost_math_tr1f %{version}
%define libmathtr1l %mklibname boost_math_tr1l %{version}
%define libprgexecmonitor %mklibname boost_prg_exec_monitor %{version}
%define libprogramoptions %mklibname boost_program_options %{version}
%define libpython %mklibname boost_python %{version}
%define libpython3 %mklibname boost_python3_ %{version}
%define librandom %mklibname boost_random %{version}
%define libregex %mklibname boost_regex %{version}
%define libserialization %mklibname boost_serialization %{version}
%define libsignals %mklibname boost_signals %{version}
%define libsystem %mklibname boost_system %{version}
%define libthread %mklibname boost_thread %{version}
%define libtimer %mklibname boost_timer %{version}
%define libtypeerasure %mklibname boost_type_erasure %{version}
%define libunittestframework %mklibname boost_unit_test_framework %{version}
%define libwave %mklibname boost_wave %{version}
%define libwserialization %mklibname boost_wserialization %{version}
%define libmathtr1f %mklibname boost_math_tr1f_ %{version}
%define libmathtr1l %mklibname boost_math_tr1l_ %{version}
%define libprgexecmonitor %mklibname boost_prg_exec_monitor_ %{version}
%define libprogramoptions %mklibname boost_program_options_ %{version}
%define libpython %mklibname boost_python_ %{version}
%define libpython3 %mklibname boost_python35_ %{version}
%define libpython38 %mklibname boost_python38_ %{version}
%define librandom %mklibname boost_random_ %{version}
%define libregex %mklibname boost_regex_ %{version}
%define libserialization %mklibname boost_serialization_ %{version}
%define libsignals %mklibname boost_signals_ %{version}
%define libstacktrace %mklibname boost_stacktrace_ %{version}
%define libsystem %mklibname boost_system_ %{version}
%define libthread %mklibname boost_thread_ %{version}
%define libtimer %mklibname boost_timer_ %{version}
%define libtypeerasure %mklibname boost_type_erasure_ %{version}
%define libunittestframework %mklibname boost_unit_test_framework_ %{version}
%define libwave %mklibname boost_wave_ %{version}
%define libwserialization %mklibname boost_wserialization_ %{version}
%define devname %mklibname boost -d
%define sdevname %mklibname boost -d -s
%define devpython3 %mklibname boost_python3 -d
%define devpython38 %mklibname boost_python38 -d
%ifarch aarch64
%bcond_with context
@ -48,51 +55,81 @@
# Without --no-undefined, corresponding libraries lose their dependency on Boost.System.
# This is totally wrong, but it's rather a CMake'ification bug.
%define _disable_ld_no_undefined 1
#define _disable_lto 1
%define beta %{nil}
%define _libexecdir /usr/libexec
%ifarch %{ix86} %{arm}
%bcond_with numpy
%else
%bcond_without numpy
%endif
# Doesn't work with dual python2/python3 bits
%define _python_bytecompile_build 0
# (tpg) save 50 MiB
%bcond_with docs
# python2
%bcond_with python2
# signals
%bcond_with signals
Summary: Portable C++ libraries
Name: boost
Version: 1.61.0
Release: 7
Version: 1.79.0
Release: 1
License: Boost
Group: Development/C++
Url: http://boost.org/
Source0: http://download.sourceforge.net/boost/boost_%{packver}.tar.bz2
URL: https://www.boost.org
#Source0: http://download.sourceforge.net/boost/boost_%{packver}.tar.bz2
Source0: https://sourceforge.net/projects/boost/files/boost/%{version}/boost_%{packver}.tar.bz2
Source100: %{name}.rpmlintrc
# https://bugzilla.redhat.com/show_bug.cgi?id=1102667
Patch0: boost-1.57.0-python-abi_letters.patch
Patch1: boost-1.57.0-python-libpython_dep.patch
Patch2: boost-1.55.0-python-test-PyImport_AppendInittab.patch
# https://svn.boost.org/trac/boost/ticket/6150
Patch4: boost-1.50.0-fix-non-utf8-files.patch
Patch4: boost-1.50.0-fix-non-utf8-files.patch
# Add a manual page for the sole executable, namely bjam, based on the
# on-line documentation:
# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
Patch5: boost-1.48.0-add-bjam-man-page.patch
Patch5: boost-1.48.0-add-bjam-man-page.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=756005
# https://svn.boost.org/trac/boost/ticket/6131
Patch7: boost-1.50.0-foreach.patch
Patch7: boost-1.50.0-foreach.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=783660
# https://svn.boost.org/trac/boost/ticket/6459 fixed
Patch10: boost-1.50.0-long-double-1.patch
Patch10: boost-1.50.0-long-double-1.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=784654
Patch12: boost-1.50.0-polygon.patch
Patch12: boost-1.50.0-polygon.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=828856
# https://bugzilla.redhat.com/show_bug.cgi?id=828857
Patch15: boost-1.61.0-pool.patch
# From https://github.com/dealii/dealii/pull/6126
# To use this old boost with libc++ from LLVM
# (e.g. to build LibreOffice 6.x in rosa2016.1 where libstdc++
# is too old and does not support C++17)
Patch16: 0001-Minimal-compatibility-with-C-17.patch
Patch17: 0002-Avoid-auto_ptr-in-bundled-boost.patch
Patch15: boost-1.50.0-pool.patch
Patch17: boost-1.57.0-python-libpython_dep.patch
Patch18: boost-1.57.0-python-abi_letters.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1190039
Patch19: boost-1.57.0-build-optflags.patch
#Patch21: boost-unrecognized-option.patch
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: python38-devel
%if %{with numpy}
BuildRequires: python3-numpy-devel
%endif
BuildRequires: pkgconfig(zlib)
BuildRequires: bzip2
%description
Boost is a collection of free peer-reviewed portable C++ source
@ -369,7 +406,7 @@ running programs dynamically linked against Boost math_c99.
%files -n %{libmathc99}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_c99.so.%{version}
#{_libdir}/libboost_math_c99.so.%{version}
#----------------------------------------------------------------------------
@ -387,7 +424,7 @@ running programs dynamically linked against Boost math_c99f.
%files -n %{libmathc99f}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_c99f.so.%{version}
#{_libdir}/libboost_math_c99f.so.%{version}
#----------------------------------------------------------------------------
@ -405,7 +442,7 @@ running programs dynamically linked against Boost math_c99l.
%files -n %{libmathc99l}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_c99l.so.%{version}
#{_libdir}/libboost_math_c99l.so.%{version}
#----------------------------------------------------------------------------
@ -423,7 +460,7 @@ running programs dynamically linked against Boost math_tr1.
%files -n %{libmathtr1}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_tr1.so.%{version}
#{_libdir}/libboost_math_tr1.so.%{version}
#----------------------------------------------------------------------------
@ -441,7 +478,7 @@ running programs dynamically linked against Boost math_tr1f.
%files -n %{libmathtr1f}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_tr1f.so.%{version}
#{_libdir}/libboost_math_tr1f.so.%{version}
#----------------------------------------------------------------------------
@ -459,7 +496,7 @@ running programs dynamically linked against Boost math_tr1l.
%files -n %{libmathtr1l}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_tr1l.so.%{version}
#{_libdir}/libboost_math_tr1l.so.%{version}
#----------------------------------------------------------------------------
@ -499,6 +536,8 @@ running programs dynamically linked against Boost program_options.
#----------------------------------------------------------------------------
%if %{with python2}
%package -n %{libpython}
Summary: Boost python shared library
Group: System/Libraries
@ -513,8 +552,9 @@ running programs dynamically linked against Boost python.
%files -n %{libpython}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_python.so.%{version}
%{_libdir}/libboost_python27.so.%{version}
%endif
#----------------------------------------------------------------------------
%package -n %{libpython3}
@ -531,7 +571,29 @@ running programs dynamically linked against Boost python.
%files -n %{libpython3}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_python3.so.%{version}
%{_libdir}/libboost_python35.so.%{version}
%ifarch x86_64
%{_libdir}/libboost_numpy35.so.%{version}
%endif
%package -n %{libpython38}
Summary: Boost python3 shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libpython38}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost python.
%files -n %{libpython38}
%doc LICENSE_1_0.txt
#{_libdir}/libboost_python38.so.%{version}
#ifarch x86_64
#{_libdir}/libboost_numpy38.so.%{version}
#endif
#----------------------------------------------------------------------------
@ -589,6 +651,7 @@ running programs dynamically linked against Boost serialization.
#----------------------------------------------------------------------------
%if %{with signals}
%package -n %{libsignals}
Summary: Boost signals shared library
Group: System/Libraries
@ -605,6 +668,8 @@ running programs dynamically linked against Boost signals.
%doc LICENSE_1_0.txt
%{_libdir}/libboost_signals.so.%{version}
%endif
#----------------------------------------------------------------------------
%package -n %{libsystem}
@ -711,7 +776,7 @@ running programs dynamically linked against Boost wave.
%files -n %{libwave}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_wave.so.%{version}
#{_libdir}/libboost_wave.so.%{version}
#----------------------------------------------------------------------------
@ -733,6 +798,44 @@ running programs dynamically linked against Boost wserialization.
#----------------------------------------------------------------------------
%package -n %{libstacktrace}
Summary: Boost stacktrace shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libstacktrace}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost stacktrace.
%files -n %{libstacktrace}
%doc LICENSE_1_0.txt
#{_libdir}/libboost_stacktrace_addr2line.so.%{version}
%{_libdir}/libboost_stacktrace_basic.so.%{version}
%{_libdir}/libboost_stacktrace_noop.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libcontract}
Summary: Boost contract shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libcontract}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost contract.
%files -n %{libcontract}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_contract.so.%{version}
#----------------------------------------------------------------------------
%package -n %{devname}
Summary: The libraries and headers needed for Boost development
Group: Development/C++
@ -756,11 +859,17 @@ Requires: %{libmathtr1f} = %{EVRD}
Requires: %{libmathtr1l} = %{EVRD}
Requires: %{libprgexecmonitor} = %{EVRD}
Requires: %{libprogramoptions} = %{EVRD}
%if %{with python2}
Requires: %{libpython} = %{EVRD}
%endif
Requires: %{libpython3} = %{EVRD}
Requires: %{libpython38} = %{EVRD}
Requires: %{librandom} = %{EVRD}
Requires: %{libregex} = %{EVRD}
Requires: %{libserialization} = %{EVRD}
%if %{with signals}
Requires: %{libsignals} = %{EVRD}
%endif
Requires: %{libsystem} = %{EVRD}
Requires: %{libthread} = %{EVRD}
Requires: %{libtimer} = %{EVRD}
@ -780,7 +889,8 @@ symlinks needed for Boost development.
%files -n %{devname}
%{_includedir}/boost
%{_libdir}/libboost_*.so
%exclude %{_libdir}/libboost_python3.so
%exclude %{_libdir}/libboost_python35.so
%{_libdir}/cmake/*
#----------------------------------------------------------------------------
@ -831,23 +941,41 @@ Standard Library. This package contains headers and shared library
symlinks needed for Boost development.
%files -n %{devpython3}
%{_libdir}/libboost_python3.so
%{_libdir}/libboost_python35.so
%package -n %{devpython38}
Summary: The libraries and headers needed for Boost Python 3 development
Group: Development/C++
Requires: %{libpython38} = %{EVRD}
Requires: %{devname} = %{EVRD}
Provides: %{name}-python38-devel = %{EVRD}
%description -n %{devpython38}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains headers and shared library
symlinks needed for Boost development.
%files -n %{devpython38}
#{_libdir}/libboost_python38.so
#----------------------------------------------------------------------------
%prep
%setup -qn boost_%{packver}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch4 -p1
%patch5 -p1
%patch7 -p2
%patch10 -p1
%patch12 -p3
%patch15 -p0
%patch16 -p1
%patch17 -p1
#patch0 -p1
#patch1 -p1
#patch2 -p1
#patch4 -p1
#patch5 -p1
#patch7 -p1
#patch10 -p1
#patch12 -p1
#patch15 -p1
#patch16 -p1
#patch17 -p1
#patch18 -p1
#patch19 -p1
# Preparing the docs
mkdir packagedoc
@ -865,17 +993,26 @@ cat > ./tools/build/src/user-config.jam << EOF
using gcc : %{gcc_ver} : gcc : <cflags>"%{optflags}" <cxxflags>"%{optflags}" <linkflags>"%{ldflags}" ;
using python : %{py3_ver} : %{_bindir}/python%{py3_ver} : %{_includedir}/python%{py3_ver}m : %{_libdir} : : : ;
using python : %{py_ver} : %{_bindir}/python%{py_ver} : %{_includedir}/python%{py_ver} : %{_libdir} : : : ;
using python : %{py38_ver} : %{_libexecdir}/python%{py38_ver} : %{_includedir}/python%{py38_ver} : %{_libdir} : : : ;
EOF
./bootstrap.sh --with-toolset=gcc --with-icu --prefix=%{_prefix} --libdir=%{_libdir} --with-python=%{py_ver}
./bootstrap.sh --with-toolset=gcc --with-icu --prefix=%{_prefix} --libdir=%{_libdir} --with-python=%{py3_ver}
./b2 -d+2 -q %{?_smp_mflags} --without-mpi \
--prefix=%{_prefix} --libdir=%{_libdir} \
%ifarch %ix86
instruction-set=i686 \
%endif
%if !%{with context}
--without-context --without-coroutine \
%endif
%ifarch znver1
instruction-set=znver1 \
%endif
linkflags="%{ldflags} -lstdc++ -lm" \
-sHAVE_ICU=1 \
python=%{py_ver} \
link=shared threading=multi debug-symbols=off --layout=system
link=shared threading=multi debug-symbols=off --layout=system \
python=%{py38_ver}
# Taken from the Fedora .src.rpm.
echo ============================= build Boost.Build ==================
@ -889,14 +1026,14 @@ echo ============================= build Boost.Build ==================
--without-context --without-coroutine \
%endif
link=shared \
python=%{py_ver} \
python=%{py3_ver} \
install
echo ============================= install Boost.Build ==================
(cd tools/build
./b2 --prefix=%{buildroot}%{_prefix} install
# Fix some permissions
chmod -x %{buildroot}%{_datadir}/boost-build/src/build/alias.py
# chmod -x %{buildroot}%{_datadir}/boost-build/src/build/alias.py
chmod +x %{buildroot}%{_datadir}/boost-build/src/tools/doxproc.py
# We don't want to distribute this
rm -f %{buildroot}%{_bindir}/b2