mirror of
https://abf.rosa.ru/djam/boost.git
synced 2025-04-18 12:14:14 +00:00
Compare commits
15 commits
rosa2019.0
...
rosa2016.1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
209fb9d233 | ||
![]() |
5ce3824045 | ||
![]() |
802f8cae88 | ||
![]() |
16873a9547 | ||
![]() |
1307105ba6 | ||
8616849294 | |||
e2f9a74fd5 | |||
fbfe1e41b7 | |||
85c82a5856 | |||
aaf4c4c52f | |||
508a8abd81 | |||
13ff2e0bfe | |||
0a9d3f6ce6 | |||
33e6b1942c | |||
48034c0c0f |
12 changed files with 431 additions and 107 deletions
3
.abf.yml
3
.abf.yml
|
@ -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
17
.gitea/workflows/ci.yml
Normal 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
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
.*~
|
||||
*~
|
||||
.env
|
|
@ -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()
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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[]) {
|
||||
|
|
|
@ -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
122
boost-1.50.0-pool.patch
Normal 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;
|
||||
+}
|
42
boost-1.57.0-build-optflags.patch
Normal file
42
boost-1.57.0-build-optflags.patch
Normal 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 ;
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
# For examples in boost-build
|
||||
addFilter("E: devel-file-in-non-devel-package")
|
||||
addFilter("E: zero-length")
|
||||
|
||||
|
||||
|
|
297
boost.spec
297
boost.spec
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue