mirror of
https://abf.rosa.ru/djam/boost.git
synced 2025-04-26 09:36:34 +00:00
Compare commits
17 commits
rosa2019.1
...
rosa2016.1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
209fb9d233 | ||
![]() |
5ce3824045 | ||
![]() |
802f8cae88 | ||
![]() |
16873a9547 | ||
![]() |
1307105ba6 | ||
8616849294 | |||
e2f9a74fd5 | |||
fbfe1e41b7 | |||
85c82a5856 | |||
aaf4c4c52f | |||
508a8abd81 | |||
13ff2e0bfe | |||
0a9d3f6ce6 | |||
33e6b1942c | |||
48034c0c0f | |||
![]() |
f904b334e1 | ||
![]() |
d81fb70536 |
14 changed files with 798 additions and 99 deletions
3
.abf.yml
3
.abf.yml
|
@ -1,2 +1,3 @@
|
||||||
sources:
|
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
|
134
0001-Minimal-compatibility-with-C-17.patch
Normal file
134
0001-Minimal-compatibility-with-C-17.patch
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
From dc96dcab3f4c414e87384daed329ff726d669ab0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
|
||||||
|
Date: Wed, 1 Apr 2020 08:01:56 +0300
|
||||||
|
Subject: [PATCH 1/2] Minimal compatibility with C++17
|
||||||
|
|
||||||
|
C++17 removed std::bind*nd and LLVM libc++ removed them without a way to force backwards compatibility.
|
||||||
|
|
||||||
|
Based on patch from Daniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
|
||||||
|
https://github.com/dealii/dealii/pull/6126/commits/01fba74717d2b8c896317f1a6ad1894fb03d67a0
|
||||||
|
|
||||||
|
Note: std:auto_ptr currently can be reenabled in libc++:
|
||||||
|
https://libcxx.llvm.org/docs/UsingLibcxx.html#c-17-specific-configuration-macros
|
||||||
|
|
||||||
|
Signed-off-by: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
|
||||||
|
---
|
||||||
|
boost/container/string.hpp | 22 +++++++++++++++++++
|
||||||
|
.../distributed/detail/mpi_process_group.ipp | 4 ++++
|
||||||
|
boost/random/uniform_on_sphere.hpp | 2 +-
|
||||||
|
.../core/non_terminal/impl/grammar.ipp | 2 +-
|
||||||
|
4 files changed, 28 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/boost/container/string.hpp b/boost/container/string.hpp
|
||||||
|
index 33f5f661..22d59e4d 100644
|
||||||
|
--- a/boost/container/string.hpp
|
||||||
|
+++ b/boost/container/string.hpp
|
||||||
|
@@ -528,7 +528,11 @@ class basic_string
|
||||||
|
bool operator()(const typename Tr::char_type& x) const
|
||||||
|
{
|
||||||
|
return std::find_if(m_first, m_last,
|
||||||
|
+ #if __cplusplus < 201703L
|
||||||
|
std::bind1st(Eq_traits<Tr>(), x)) == m_last;
|
||||||
|
+ #else
|
||||||
|
+ [](const argument_type &ch) {return Eq_traits<Tr>(x, ch)}) == m_last;
|
||||||
|
+ #endif
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
||||||
|
@@ -2109,7 +2113,11 @@ class basic_string
|
||||||
|
pointer finish = addr + sz;
|
||||||
|
const const_iterator result =
|
||||||
|
std::find_if(addr + pos, finish,
|
||||||
|
+ #if __cplusplus < 201703L
|
||||||
|
std::bind2nd(Eq_traits<Traits>(), c));
|
||||||
|
+ #else
|
||||||
|
+ [](const argument_type &ch) {return Eq_traits<Tr>(ch, c)});
|
||||||
|
+ #endif
|
||||||
|
return result != finish ? result - begin() : npos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -2169,7 +2177,11 @@ class basic_string
|
||||||
|
const const_iterator last = begin() + container_detail::min_value(len - 1, pos) + 1;
|
||||||
|
const_reverse_iterator rresult =
|
||||||
|
std::find_if(const_reverse_iterator(last), rend(),
|
||||||
|
+ #if __cplusplus < 201703L
|
||||||
|
std::bind2nd(Eq_traits<Traits>(), c));
|
||||||
|
+ #else
|
||||||
|
+ [](const argument_type &ch) {return Eq_traits<Tr>(ch, c)});
|
||||||
|
+ #endif
|
||||||
|
return rresult != rend() ? (rresult.base() - 1) - begin() : npos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -2312,8 +2324,13 @@ class basic_string
|
||||||
|
const pointer addr = this->priv_addr();
|
||||||
|
const pointer finish = addr + this->priv_size();
|
||||||
|
const const_iterator result
|
||||||
|
+ #if __cplusplus < 201703L
|
||||||
|
= std::find_if(addr + pos, finish,
|
||||||
|
std::not1(std::bind2nd(Eq_traits<Traits>(), c)));
|
||||||
|
+ #else
|
||||||
|
+ = std::find_if_not(addr + pos, finish,
|
||||||
|
+ [](const argument_type &ch) {return Eq_traits<Tr>(ch, c)});
|
||||||
|
+ #endif
|
||||||
|
return result != finish ? result - begin() : npos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -2368,8 +2385,13 @@ class basic_string
|
||||||
|
else {
|
||||||
|
const const_iterator last = begin() + container_detail::min_value(len - 1, pos) + 1;
|
||||||
|
const const_reverse_iterator rresult =
|
||||||
|
+ #if __cplusplus < 201703L
|
||||||
|
std::find_if(const_reverse_iterator(last), rend(),
|
||||||
|
std::not1(std::bind2nd(Eq_traits<Traits>(), c)));
|
||||||
|
+ #else
|
||||||
|
+ std::find_if_not(const_reverse_iterator(last), rend(),
|
||||||
|
+ [](const argument_type &ch) {return Eq_traits<Tr>(ch, c)});
|
||||||
|
+ #endif
|
||||||
|
return rresult != rend() ? (rresult.base() - 1) - begin() : npos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff --git a/boost/graph/distributed/detail/mpi_process_group.ipp b/boost/graph/distributed/detail/mpi_process_group.ipp
|
||||||
|
index a4d35462..02058b00 100644
|
||||||
|
--- a/boost/graph/distributed/detail/mpi_process_group.ipp
|
||||||
|
+++ b/boost/graph/distributed/detail/mpi_process_group.ipp
|
||||||
|
@@ -841,7 +841,11 @@ all_gather(const mpi_process_group& pg, InputIterator first,
|
||||||
|
|
||||||
|
// Adjust sizes based on the number of bytes
|
||||||
|
std::transform(sizes.begin(), sizes.end(), sizes.begin(),
|
||||||
|
+ #if __cplusplus < 201703L
|
||||||
|
std::bind2nd(std::multiplies<int>(), sizeof(T)));
|
||||||
|
+ #else
|
||||||
|
+ [](const int& size){return std::multiplies<int>(size, sizeof(T))});
|
||||||
|
+ #endif
|
||||||
|
|
||||||
|
// Compute displacements
|
||||||
|
std::vector<int> displacements;
|
||||||
|
diff --git a/boost/random/uniform_on_sphere.hpp b/boost/random/uniform_on_sphere.hpp
|
||||||
|
index 72c25ef7..d5037352 100644
|
||||||
|
--- a/boost/random/uniform_on_sphere.hpp
|
||||||
|
+++ b/boost/random/uniform_on_sphere.hpp
|
||||||
|
@@ -19,7 +19,7 @@
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <algorithm> // std::transform
|
||||||
|
-#include <functional> // std::bind2nd, std::divides
|
||||||
|
+#include <functional> // std::divides
|
||||||
|
#include <boost/assert.hpp>
|
||||||
|
#include <boost/random/detail/config.hpp>
|
||||||
|
#include <boost/random/detail/operators.hpp>
|
||||||
|
diff --git a/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp b/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
|
||||||
|
index 002d221e..cdb01862 100644
|
||||||
|
--- a/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
|
||||||
|
+++ b/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
|
||||||
|
@@ -286,7 +286,7 @@ struct grammar_definition
|
||||||
|
helper_list_t& helpers =
|
||||||
|
grammartract_helper_list::do_(self);
|
||||||
|
|
||||||
|
-# if defined(BOOST_INTEL_CXX_VERSION)
|
||||||
|
+# if (defined(BOOST_INTEL_CXX_VERSION) || (__cplusplus >= 201703L))
|
||||||
|
typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
|
||||||
|
|
||||||
|
for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i)
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
233
0002-Avoid-auto_ptr-in-bundled-boost.patch
Normal file
233
0002-Avoid-auto_ptr-in-bundled-boost.patch
Normal file
|
@ -0,0 +1,233 @@
|
||||||
|
From f41f9f61150eea670aa9a0351a310ff41e94c0a6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
|
||||||
|
Date: Fri, 30 Mar 2018 12:54:48 +0200
|
||||||
|
Subject: [PATCH 2/2] Avoid auto_ptr in bundled boost
|
||||||
|
|
||||||
|
[ mikhailnov@ROSA:
|
||||||
|
changed "#if defined(BOOST_NO_CXX11_SMART_PTR)" to "#if __cplusplus < 201703L"
|
||||||
|
]
|
||||||
|
Source: https://github.com/dealii/dealii/pull/6126/commits/92b86577ed847ce8dd3eaf7820bda86bdd925e73
|
||||||
|
|
||||||
|
This patch is not mandantory as GNU libstdc++ is backwards compatible by default,
|
||||||
|
and LLVM libc++ can be forced to be compatible with std::auto_ptr:
|
||||||
|
https://libcxx.llvm.org/docs/UsingLibcxx.html#c-17-specific-configuration-macros
|
||||||
|
|
||||||
|
Signed-off-by: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
|
||||||
|
---
|
||||||
|
boost/date_time/gregorian/greg_facet.hpp | 8 ++++++++
|
||||||
|
boost/detail/lightweight_thread.hpp | 12 ++++++++++++
|
||||||
|
boost/graph/detail/adjacency_list.hpp | 4 ++++
|
||||||
|
boost/iostreams/chain.hpp | 5 +++++
|
||||||
|
boost/random/uniform_on_sphere.hpp | 8 ++++++--
|
||||||
|
.../home/classic/core/non_terminal/impl/grammar.ipp | 5 +++++
|
||||||
|
boost/spirit/home/classic/symbols/impl/tst.ipp | 8 ++++++++
|
||||||
|
.../spirit/home/support/detail/lexer/generator.hpp | 13 +++++++++++++
|
||||||
|
8 files changed, 61 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/boost/date_time/gregorian/greg_facet.hpp b/boost/date_time/gregorian/greg_facet.hpp
|
||||||
|
index b8c6d57f..2343cb95 100644
|
||||||
|
--- a/boost/date_time/gregorian/greg_facet.hpp
|
||||||
|
+++ b/boost/date_time/gregorian/greg_facet.hpp
|
||||||
|
@@ -290,7 +290,11 @@ namespace gregorian {
|
||||||
|
* names as a default. */
|
||||||
|
catch(std::bad_cast&){
|
||||||
|
charT a = '\0';
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
std::auto_ptr< const facet_def > f(create_facet_def(a));
|
||||||
|
+#else
|
||||||
|
+ std::unique_ptr< const facet_def > f(create_facet_def(a));
|
||||||
|
+#endif
|
||||||
|
num = date_time::find_match(f->get_short_month_names(),
|
||||||
|
f->get_long_month_names(),
|
||||||
|
(greg_month::max)(), s); // greg_month spans 1..12, so max returns the array size,
|
||||||
|
@@ -332,7 +336,11 @@ namespace gregorian {
|
||||||
|
* names as a default. */
|
||||||
|
catch(std::bad_cast&){
|
||||||
|
charT a = '\0';
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
std::auto_ptr< const facet_def > f(create_facet_def(a));
|
||||||
|
+#else
|
||||||
|
+ std::unique_ptr< const facet_def > f(create_facet_def(a));
|
||||||
|
+#endif
|
||||||
|
num = date_time::find_match(f->get_short_weekday_names(),
|
||||||
|
f->get_long_weekday_names(),
|
||||||
|
(greg_weekday::max)() + 1, s); // greg_weekday spans 0..6, so increment is needed
|
||||||
|
diff --git a/boost/detail/lightweight_thread.hpp b/boost/detail/lightweight_thread.hpp
|
||||||
|
index 6fe70a61..f46568c1 100644
|
||||||
|
--- a/boost/detail/lightweight_thread.hpp
|
||||||
|
+++ b/boost/detail/lightweight_thread.hpp
|
||||||
|
@@ -77,7 +77,11 @@ public:
|
||||||
|
|
||||||
|
extern "C" void * lw_thread_routine( void * pv )
|
||||||
|
{
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
|
||||||
|
+#else
|
||||||
|
+ std::unique_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
pt->run();
|
||||||
|
|
||||||
|
@@ -88,7 +92,11 @@ extern "C" void * lw_thread_routine( void * pv )
|
||||||
|
|
||||||
|
unsigned __stdcall lw_thread_routine( void * pv )
|
||||||
|
{
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
|
||||||
|
+#else
|
||||||
|
+ std::unique_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
pt->run();
|
||||||
|
|
||||||
|
@@ -117,7 +125,11 @@ private:
|
||||||
|
|
||||||
|
template<class F> int lw_thread_create( pthread_t & pt, F f )
|
||||||
|
{
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
std::auto_ptr<lw_abstract_thread> p( new lw_thread_impl<F>( f ) );
|
||||||
|
+#else
|
||||||
|
+ std::unique_ptr<lw_abstract_thread> p( new lw_thread_impl<F>( f ) );
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
int r = pthread_create( &pt, 0, lw_thread_routine, p.get() );
|
||||||
|
|
||||||
|
diff --git a/boost/graph/detail/adjacency_list.hpp b/boost/graph/detail/adjacency_list.hpp
|
||||||
|
index 1145d88d..8a33c411 100644
|
||||||
|
--- a/boost/graph/detail/adjacency_list.hpp
|
||||||
|
+++ b/boost/graph/detail/adjacency_list.hpp
|
||||||
|
@@ -283,7 +283,11 @@ namespace boost {
|
||||||
|
// invalidation for add_edge() with EdgeList=vecS. Instead we
|
||||||
|
// hold a pointer to the property. std::auto_ptr is not
|
||||||
|
// a perfect fit for the job, but it is darn close.
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
std::auto_ptr<Property> m_property;
|
||||||
|
+#else
|
||||||
|
+ std::unique_ptr<Property> m_property;
|
||||||
|
+#endif
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
template <class Vertex, class Property>
|
||||||
|
diff --git a/boost/iostreams/chain.hpp b/boost/iostreams/chain.hpp
|
||||||
|
index 4af8cc98..8d9edeea 100644
|
||||||
|
--- a/boost/iostreams/chain.hpp
|
||||||
|
+++ b/boost/iostreams/chain.hpp
|
||||||
|
@@ -253,8 +253,13 @@ private:
|
||||||
|
pback_size != -1 ?
|
||||||
|
pback_size :
|
||||||
|
pimpl_->pback_size_;
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
std::auto_ptr<streambuf_t>
|
||||||
|
buf(new streambuf_t(t, buffer_size, pback_size));
|
||||||
|
+#else
|
||||||
|
+ std::unique_ptr<streambuf_t>
|
||||||
|
+ buf(new streambuf_t(t, buffer_size, pback_size));
|
||||||
|
+#endif
|
||||||
|
list().push_back(buf.get());
|
||||||
|
buf.release();
|
||||||
|
if (is_device<component_type>::value) {
|
||||||
|
diff --git a/boost/random/uniform_on_sphere.hpp b/boost/random/uniform_on_sphere.hpp
|
||||||
|
index d5037352..cad1a777 100644
|
||||||
|
--- a/boost/random/uniform_on_sphere.hpp
|
||||||
|
+++ b/boost/random/uniform_on_sphere.hpp
|
||||||
|
@@ -225,8 +225,12 @@ public:
|
||||||
|
}
|
||||||
|
} while(sqsum == 0);
|
||||||
|
// for all i: result[i] /= sqrt(sqsum)
|
||||||
|
- std::transform(_container.begin(), _container.end(), _container.begin(),
|
||||||
|
- std::bind2nd(std::multiplies<RealType>(), 1/sqrt(sqsum)));
|
||||||
|
+ RealType inverse_distance = 1 / sqrt(sqsum);
|
||||||
|
+ for(typename Cont::iterator it = _container.begin();
|
||||||
|
+ it != _container.end();
|
||||||
|
+ ++it) {
|
||||||
|
+ *it *= inverse_distance;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return _container;
|
||||||
|
diff --git a/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp b/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
|
||||||
|
index cdb01862..33991c57 100644
|
||||||
|
--- a/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
|
||||||
|
+++ b/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
|
||||||
|
@@ -156,8 +156,13 @@ struct grammar_definition
|
||||||
|
if (definitions[id]!=0)
|
||||||
|
return *definitions[id];
|
||||||
|
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
std::auto_ptr<definition_t>
|
||||||
|
result(new definition_t(target_grammar->derived()));
|
||||||
|
+#else
|
||||||
|
+ std::unique_ptr<definition_t>
|
||||||
|
+ result(new definition_t(target_grammar->derived()));
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#ifdef BOOST_SPIRIT_THREADSAFE
|
||||||
|
boost::unique_lock<boost::mutex> lock(helpers.mutex());
|
||||||
|
diff --git a/boost/spirit/home/classic/symbols/impl/tst.ipp b/boost/spirit/home/classic/symbols/impl/tst.ipp
|
||||||
|
index 1a4a0c10..6e68e4b9 100644
|
||||||
|
--- a/boost/spirit/home/classic/symbols/impl/tst.ipp
|
||||||
|
+++ b/boost/spirit/home/classic/symbols/impl/tst.ipp
|
||||||
|
@@ -62,7 +62,11 @@ BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
|
||||||
|
tst_node*
|
||||||
|
clone() const
|
||||||
|
{
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
std::auto_ptr<tst_node> copy(new tst_node(value));
|
||||||
|
+#else
|
||||||
|
+ std::unique_ptr<tst_node> copy(new tst_node(value));
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
if (left)
|
||||||
|
copy->left = left->clone();
|
||||||
|
@@ -75,7 +79,11 @@ BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
std::auto_ptr<T> mid_data(new T(*middle.data));
|
||||||
|
+#else
|
||||||
|
+ std::unique_ptr<T> mid_data(new T(*middle.data));
|
||||||
|
+#endif
|
||||||
|
copy->middle.data = mid_data.release();
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/boost/spirit/home/support/detail/lexer/generator.hpp b/boost/spirit/home/support/detail/lexer/generator.hpp
|
||||||
|
index daa06e79..347aa203 100644
|
||||||
|
--- a/boost/spirit/home/support/detail/lexer/generator.hpp
|
||||||
|
+++ b/boost/spirit/home/support/detail/lexer/generator.hpp
|
||||||
|
@@ -116,10 +116,18 @@ public:
|
||||||
|
protected:
|
||||||
|
typedef detail::basic_charset<CharT> charset;
|
||||||
|
typedef detail::ptr_list<charset> charset_list;
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
typedef std::auto_ptr<charset> charset_ptr;
|
||||||
|
+#else
|
||||||
|
+ typedef std::unique_ptr<charset> charset_ptr;
|
||||||
|
+#endif
|
||||||
|
typedef detail::equivset equivset;
|
||||||
|
typedef detail::ptr_list<equivset> equivset_list;
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
typedef std::auto_ptr<equivset> equivset_ptr;
|
||||||
|
+#else
|
||||||
|
+ typedef std::unique_ptr<equivset> equivset_ptr;
|
||||||
|
+#endif
|
||||||
|
typedef typename charset::index_set index_set;
|
||||||
|
typedef std::vector<index_set> index_set_vector;
|
||||||
|
typedef detail::basic_parser<CharT> parser;
|
||||||
|
@@ -377,8 +385,13 @@ protected:
|
||||||
|
if (followpos_->empty ()) return npos;
|
||||||
|
|
||||||
|
std::size_t index_ = 0;
|
||||||
|
+#if __cplusplus < 201703L
|
||||||
|
std::auto_ptr<node_set> set_ptr_ (new node_set);
|
||||||
|
std::auto_ptr<node_vector> vector_ptr_ (new node_vector);
|
||||||
|
+#else
|
||||||
|
+ std::unique_ptr<node_set> set_ptr_ (new node_set);
|
||||||
|
+ std::unique_ptr<node_vector> vector_ptr_ (new node_vector);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
for (typename detail::node::node_vector::const_iterator iter_ =
|
||||||
|
followpos_->begin (), end_ = followpos_->end ();
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
|
@ -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::
|
@@ -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>
|
struct euro_base_unit : boost::units::base_unit<euro_base_unit, boost::units::dimensionless_type, 5>
|
||||||
{
|
{
|
||||||
static const char* name() { return("EUR"); }
|
static constexpr const char* name() { return("EUR"); }
|
||||||
- static const char* symbol() { return("€"); }
|
- static constexpr const char* symbol() { return("€"); }
|
||||||
+ static const char* symbol() { return("€"); }
|
+ static constexpr const char* symbol() { return("€"); }
|
||||||
};
|
};
|
||||||
|
|
||||||
int main()
|
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)
|
--- boost/boost/foreach_fwd.hpp (revision 62661)
|
||||||
+++ /trunk/boost/foreach_fwd.hpp (revision 75540)
|
+++ boost/boost/foreach_fwd.hpp (revision 75540)
|
||||||
@@ -15,4 +15,6 @@
|
@@ -15,4 +15,6 @@
|
||||||
#define BOOST_FOREACH_FWD_HPP
|
#define BOOST_FOREACH_FWD_HPP
|
||||||
|
|
||||||
|
@ -40,10 +40,10 @@ Index: /trunk/boost/foreach_fwd.hpp
|
||||||
+
|
+
|
||||||
} // namespace boost
|
} // namespace boost
|
||||||
|
|
||||||
Index: /trunk/boost/foreach.hpp
|
Index: boost/boost/foreach.hpp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /trunk/boost/foreach.hpp (revision 75077)
|
--- boost/boost/foreach.hpp (revision 75077)
|
||||||
+++ /trunk/boost/foreach.hpp (revision 75540)
|
+++ boost/boost/foreach.hpp (revision 75540)
|
||||||
@@ -166,5 +166,5 @@
|
@@ -166,5 +166,5 @@
|
||||||
// at the global namespace for your type.
|
// at the global namespace for your type.
|
||||||
template<typename T>
|
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
|
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
|
||||||
index d314cf3..9022408 100644
|
--- boost_1_73_0/libs/math/config/has_long_double_support.cpp.5~ 2020-04-29 03:27:52.608400056 +0200
|
||||||
--- a/libs/math/config/has_long_double_support.cpp
|
+++ boost_1_73_0/libs/math/config/has_long_double_support.cpp 2020-04-29 14:29:15.063698315 +0200
|
||||||
+++ b/libs/math/config/has_long_double_support.cpp
|
|
||||||
@@ -8,3 +8,7 @@
|
@@ -8,3 +8,7 @@
|
||||||
#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
#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
|
#endif
|
||||||
+
|
+
|
||||||
+int main(int argc, char *argv[]) {
|
+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
|
--- boost/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 2012-01-26 01:13:10.547000000 +0800
|
||||||
@@ -24,6 +24,8 @@
|
@@ -24,6 +24,8 @@
|
||||||
|
|
||||||
#include "transform.hpp"
|
#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_65_0/tools/build/src/tools/python.jam.p18~ 2017-08-21 23:51:31.876299004 +0200
|
||||||
+++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200
|
+++ boost_1_65_0/tools/build/src/tools/python.jam 2017-08-21 23:52:08.595223722 +0200
|
||||||
@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti
|
@@ -99,7 +99,7 @@ py3-version = ;
|
||||||
# using python : 2.3 : /usr/local/bin/python ;
|
# using python : 2.3 : /usr/local/bin/python ;
|
||||||
#
|
#
|
||||||
rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
|
rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
{
|
{
|
||||||
project.push-current $(.project) ;
|
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 ;
|
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.
|
# Declare a target to represent Python's library.
|
||||||
#
|
#
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
{
|
{
|
||||||
# Compute the representation of Python version in the name of Python's
|
# Compute the representation of Python version in the name of Python's
|
||||||
# library file.
|
# library file.
|
||||||
@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve
|
@@ -683,13 +683,13 @@ local rule declare-libpython-target ( ve
|
||||||
}
|
}
|
||||||
|
|
||||||
# Declare it.
|
# Declare it.
|
||||||
|
@ -43,15 +43,15 @@
|
||||||
{
|
{
|
||||||
local prefix ;
|
local prefix ;
|
||||||
local exec-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 ?= _d ;
|
||||||
}
|
}
|
||||||
extension-suffix ?= "" ;
|
extension-suffix ?= "" ;
|
||||||
+ abi-letters ?= "" ;
|
+ abi-letters ?= "" ;
|
||||||
|
|
||||||
# Normalize and dissect any version number.
|
local cmds-to-try ;
|
||||||
local major-minor ;
|
|
||||||
@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
|
@@ -968,7 +969,7 @@ local rule configure ( version ? : cmd-o
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,2 +1,5 @@
|
||||||
# For examples in boost-build
|
# For examples in boost-build
|
||||||
addFilter("E: devel-file-in-non-devel-package")
|
addFilter("E: devel-file-in-non-devel-package")
|
||||||
|
addFilter("E: zero-length")
|
||||||
|
|
||||||
|
|
||||||
|
|
279
boost.spec
279
boost.spec
|
@ -1,42 +1,49 @@
|
||||||
|
%define debug %nil
|
||||||
|
%define debug_package %nil
|
||||||
|
|
||||||
%define packver %(echo "%{version}" | sed -e "s/\\\./_/g")
|
%define packver %(echo "%{version}" | sed -e "s/\\\./_/g")
|
||||||
|
|
||||||
%define libatomic %mklibname boost_atomic %{version}
|
%define libatomic %mklibname boost_atomic_ %{version}
|
||||||
%define libchrono %mklibname boost_chrono %{version}
|
%define libchrono %mklibname boost_chrono_ %{version}
|
||||||
%define libcontainer %mklibname boost_container %{version}
|
%define libcontainer %mklibname boost_container_ %{version}
|
||||||
%define libcontext %mklibname boost_context %{version}
|
%define libcontext %mklibname boost_context_ %{version}
|
||||||
%define libcoroutine %mklibname boost_coroutine %{version}
|
%define libcontract %mklibname boost_contract_ %{version}
|
||||||
%define libdatetime %mklibname boost_date_time %{version}
|
%define libcoroutine %mklibname boost_coroutine_ %{version}
|
||||||
%define libfilesystem %mklibname boost_filesystem %{version}
|
%define libdatetime %mklibname boost_date_time_ %{version}
|
||||||
%define libgraph %mklibname boost_graph %{version}
|
%define libfilesystem %mklibname boost_filesystem_ %{version}
|
||||||
%define libiostreams %mklibname boost_iostreams %{version}
|
%define libgraph %mklibname boost_graph_ %{version}
|
||||||
%define liblocale %mklibname boost_locale %{version}
|
%define libiostreams %mklibname boost_iostreams_ %{version}
|
||||||
%define liblog %mklibname boost_log %{version}
|
%define liblocale %mklibname boost_locale_ %{version}
|
||||||
%define liblogsetup %mklibname boost_log_setup %{version}
|
%define liblog %mklibname boost_log_ %{version}
|
||||||
%define libmathc99 %mklibname boost_math_c99_ %{version}
|
%define liblogsetup %mklibname boost_log_setup_ %{version}
|
||||||
%define libmathc99f %mklibname boost_math_c99f %{version}
|
%define libmathc99 %mklibname boost_math_c99__ %{version}
|
||||||
%define libmathc99l %mklibname boost_math_c99l %{version}
|
%define libmathc99f %mklibname boost_math_c99f_ %{version}
|
||||||
|
%define libmathc99l %mklibname boost_math_c99l_ %{version}
|
||||||
%define libmathtr1 %mklibname boost_math_tr1_ %{version}
|
%define libmathtr1 %mklibname boost_math_tr1_ %{version}
|
||||||
%define libmathtr1f %mklibname boost_math_tr1f %{version}
|
%define libmathtr1f %mklibname boost_math_tr1f_ %{version}
|
||||||
%define libmathtr1l %mklibname boost_math_tr1l %{version}
|
%define libmathtr1l %mklibname boost_math_tr1l_ %{version}
|
||||||
%define libprgexecmonitor %mklibname boost_prg_exec_monitor %{version}
|
%define libprgexecmonitor %mklibname boost_prg_exec_monitor_ %{version}
|
||||||
%define libprogramoptions %mklibname boost_program_options %{version}
|
%define libprogramoptions %mklibname boost_program_options_ %{version}
|
||||||
%define libpython %mklibname boost_python %{version}
|
%define libpython %mklibname boost_python_ %{version}
|
||||||
%define libpython3 %mklibname boost_python3_ %{version}
|
%define libpython3 %mklibname boost_python35_ %{version}
|
||||||
%define librandom %mklibname boost_random %{version}
|
%define libpython38 %mklibname boost_python38_ %{version}
|
||||||
%define libregex %mklibname boost_regex %{version}
|
%define librandom %mklibname boost_random_ %{version}
|
||||||
%define libserialization %mklibname boost_serialization %{version}
|
%define libregex %mklibname boost_regex_ %{version}
|
||||||
%define libsignals %mklibname boost_signals %{version}
|
%define libserialization %mklibname boost_serialization_ %{version}
|
||||||
%define libsystem %mklibname boost_system %{version}
|
%define libsignals %mklibname boost_signals_ %{version}
|
||||||
%define libthread %mklibname boost_thread %{version}
|
%define libstacktrace %mklibname boost_stacktrace_ %{version}
|
||||||
%define libtimer %mklibname boost_timer %{version}
|
%define libsystem %mklibname boost_system_ %{version}
|
||||||
%define libtypeerasure %mklibname boost_type_erasure %{version}
|
%define libthread %mklibname boost_thread_ %{version}
|
||||||
%define libunittestframework %mklibname boost_unit_test_framework %{version}
|
%define libtimer %mklibname boost_timer_ %{version}
|
||||||
%define libwave %mklibname boost_wave %{version}
|
%define libtypeerasure %mklibname boost_type_erasure_ %{version}
|
||||||
%define libwserialization %mklibname boost_wserialization %{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 devname %mklibname boost -d
|
||||||
%define sdevname %mklibname boost -d -s
|
%define sdevname %mklibname boost -d -s
|
||||||
%define devpython3 %mklibname boost_python3 -d
|
%define devpython3 %mklibname boost_python3 -d
|
||||||
|
%define devpython38 %mklibname boost_python38 -d
|
||||||
|
|
||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
%bcond_with context
|
%bcond_with context
|
||||||
|
@ -48,45 +55,81 @@
|
||||||
# Without --no-undefined, corresponding libraries lose their dependency on Boost.System.
|
# Without --no-undefined, corresponding libraries lose their dependency on Boost.System.
|
||||||
# This is totally wrong, but it's rather a CMake'ification bug.
|
# This is totally wrong, but it's rather a CMake'ification bug.
|
||||||
%define _disable_ld_no_undefined 1
|
%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
|
Summary: Portable C++ libraries
|
||||||
Name: boost
|
Name: boost
|
||||||
Version: 1.61.0
|
Version: 1.79.0
|
||||||
Release: 5
|
Release: 1
|
||||||
License: Boost
|
License: Boost
|
||||||
Group: Development/C++
|
Group: Development/C++
|
||||||
Url: http://boost.org/
|
URL: https://www.boost.org
|
||||||
Source0: http://download.sourceforge.net/boost/boost_%{packver}.tar.bz2
|
#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
|
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
|
# 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
|
# Add a manual page for the sole executable, namely bjam, based on the
|
||||||
# on-line documentation:
|
# on-line documentation:
|
||||||
# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
|
# 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://bugzilla.redhat.com/show_bug.cgi?id=756005
|
||||||
# https://svn.boost.org/trac/boost/ticket/6131
|
# 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://bugzilla.redhat.com/show_bug.cgi?id=783660
|
||||||
# https://svn.boost.org/trac/boost/ticket/6459 fixed
|
# 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
|
# 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=828856
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=828857
|
# https://bugzilla.redhat.com/show_bug.cgi?id=828857
|
||||||
Patch15: boost-1.61.0-pool.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: doxygen
|
||||||
BuildRequires: xsltproc
|
BuildRequires: xsltproc
|
||||||
BuildRequires: bzip2-devel
|
BuildRequires: bzip2-devel
|
||||||
BuildRequires: pkgconfig(expat)
|
BuildRequires: pkgconfig(expat)
|
||||||
BuildRequires: pkgconfig(icu-uc)
|
BuildRequires: pkgconfig(icu-uc) >= 60.1
|
||||||
BuildRequires: pkgconfig(python)
|
BuildRequires: pkgconfig(python)
|
||||||
BuildRequires: pkgconfig(python3)
|
BuildRequires: pkgconfig(python3)
|
||||||
|
BuildRequires: python38-devel
|
||||||
|
%if %{with numpy}
|
||||||
|
BuildRequires: python3-numpy-devel
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig(zlib)
|
BuildRequires: pkgconfig(zlib)
|
||||||
|
BuildRequires: bzip2
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Boost is a collection of free peer-reviewed portable C++ source
|
Boost is a collection of free peer-reviewed portable C++ source
|
||||||
|
@ -363,7 +406,7 @@ running programs dynamically linked against Boost math_c99.
|
||||||
|
|
||||||
%files -n %{libmathc99}
|
%files -n %{libmathc99}
|
||||||
%doc LICENSE_1_0.txt
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_math_c99.so.%{version}
|
#{_libdir}/libboost_math_c99.so.%{version}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -381,7 +424,7 @@ running programs dynamically linked against Boost math_c99f.
|
||||||
|
|
||||||
%files -n %{libmathc99f}
|
%files -n %{libmathc99f}
|
||||||
%doc LICENSE_1_0.txt
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_math_c99f.so.%{version}
|
#{_libdir}/libboost_math_c99f.so.%{version}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -399,7 +442,7 @@ running programs dynamically linked against Boost math_c99l.
|
||||||
|
|
||||||
%files -n %{libmathc99l}
|
%files -n %{libmathc99l}
|
||||||
%doc LICENSE_1_0.txt
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_math_c99l.so.%{version}
|
#{_libdir}/libboost_math_c99l.so.%{version}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -417,7 +460,7 @@ running programs dynamically linked against Boost math_tr1.
|
||||||
|
|
||||||
%files -n %{libmathtr1}
|
%files -n %{libmathtr1}
|
||||||
%doc LICENSE_1_0.txt
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_math_tr1.so.%{version}
|
#{_libdir}/libboost_math_tr1.so.%{version}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -435,7 +478,7 @@ running programs dynamically linked against Boost math_tr1f.
|
||||||
|
|
||||||
%files -n %{libmathtr1f}
|
%files -n %{libmathtr1f}
|
||||||
%doc LICENSE_1_0.txt
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_math_tr1f.so.%{version}
|
#{_libdir}/libboost_math_tr1f.so.%{version}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -453,7 +496,7 @@ running programs dynamically linked against Boost math_tr1l.
|
||||||
|
|
||||||
%files -n %{libmathtr1l}
|
%files -n %{libmathtr1l}
|
||||||
%doc LICENSE_1_0.txt
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_math_tr1l.so.%{version}
|
#{_libdir}/libboost_math_tr1l.so.%{version}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -493,6 +536,8 @@ running programs dynamically linked against Boost program_options.
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
%if %{with python2}
|
||||||
|
|
||||||
%package -n %{libpython}
|
%package -n %{libpython}
|
||||||
Summary: Boost python shared library
|
Summary: Boost python shared library
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
@ -507,8 +552,9 @@ running programs dynamically linked against Boost python.
|
||||||
|
|
||||||
%files -n %{libpython}
|
%files -n %{libpython}
|
||||||
%doc LICENSE_1_0.txt
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_python.so.%{version}
|
%{_libdir}/libboost_python27.so.%{version}
|
||||||
|
|
||||||
|
%endif
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
%package -n %{libpython3}
|
%package -n %{libpython3}
|
||||||
|
@ -525,7 +571,29 @@ running programs dynamically linked against Boost python.
|
||||||
|
|
||||||
%files -n %{libpython3}
|
%files -n %{libpython3}
|
||||||
%doc LICENSE_1_0.txt
|
%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
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -583,6 +651,7 @@ running programs dynamically linked against Boost serialization.
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
%if %{with signals}
|
||||||
%package -n %{libsignals}
|
%package -n %{libsignals}
|
||||||
Summary: Boost signals shared library
|
Summary: Boost signals shared library
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
@ -599,6 +668,8 @@ running programs dynamically linked against Boost signals.
|
||||||
%doc LICENSE_1_0.txt
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_signals.so.%{version}
|
%{_libdir}/libboost_signals.so.%{version}
|
||||||
|
|
||||||
|
%endif
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
%package -n %{libsystem}
|
%package -n %{libsystem}
|
||||||
|
@ -705,7 +776,7 @@ running programs dynamically linked against Boost wave.
|
||||||
|
|
||||||
%files -n %{libwave}
|
%files -n %{libwave}
|
||||||
%doc LICENSE_1_0.txt
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_wave.so.%{version}
|
#{_libdir}/libboost_wave.so.%{version}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -727,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}
|
%package -n %{devname}
|
||||||
Summary: The libraries and headers needed for Boost development
|
Summary: The libraries and headers needed for Boost development
|
||||||
Group: Development/C++
|
Group: Development/C++
|
||||||
|
@ -750,11 +859,17 @@ Requires: %{libmathtr1f} = %{EVRD}
|
||||||
Requires: %{libmathtr1l} = %{EVRD}
|
Requires: %{libmathtr1l} = %{EVRD}
|
||||||
Requires: %{libprgexecmonitor} = %{EVRD}
|
Requires: %{libprgexecmonitor} = %{EVRD}
|
||||||
Requires: %{libprogramoptions} = %{EVRD}
|
Requires: %{libprogramoptions} = %{EVRD}
|
||||||
|
%if %{with python2}
|
||||||
Requires: %{libpython} = %{EVRD}
|
Requires: %{libpython} = %{EVRD}
|
||||||
|
%endif
|
||||||
|
Requires: %{libpython3} = %{EVRD}
|
||||||
|
Requires: %{libpython38} = %{EVRD}
|
||||||
Requires: %{librandom} = %{EVRD}
|
Requires: %{librandom} = %{EVRD}
|
||||||
Requires: %{libregex} = %{EVRD}
|
Requires: %{libregex} = %{EVRD}
|
||||||
Requires: %{libserialization} = %{EVRD}
|
Requires: %{libserialization} = %{EVRD}
|
||||||
|
%if %{with signals}
|
||||||
Requires: %{libsignals} = %{EVRD}
|
Requires: %{libsignals} = %{EVRD}
|
||||||
|
%endif
|
||||||
Requires: %{libsystem} = %{EVRD}
|
Requires: %{libsystem} = %{EVRD}
|
||||||
Requires: %{libthread} = %{EVRD}
|
Requires: %{libthread} = %{EVRD}
|
||||||
Requires: %{libtimer} = %{EVRD}
|
Requires: %{libtimer} = %{EVRD}
|
||||||
|
@ -774,7 +889,8 @@ symlinks needed for Boost development.
|
||||||
%files -n %{devname}
|
%files -n %{devname}
|
||||||
%{_includedir}/boost
|
%{_includedir}/boost
|
||||||
%{_libdir}/libboost_*.so
|
%{_libdir}/libboost_*.so
|
||||||
%exclude %{_libdir}/libboost_python3.so
|
%exclude %{_libdir}/libboost_python35.so
|
||||||
|
%{_libdir}/cmake/*
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -825,21 +941,41 @@ Standard Library. This package contains headers and shared library
|
||||||
symlinks needed for Boost development.
|
symlinks needed for Boost development.
|
||||||
|
|
||||||
%files -n %{devpython3}
|
%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
|
%prep
|
||||||
%setup -qn boost_%{packver}
|
%setup -qn boost_%{packver}
|
||||||
%patch0 -p1
|
#patch0 -p1
|
||||||
%patch1 -p1
|
#patch1 -p1
|
||||||
%patch2 -p1
|
#patch2 -p1
|
||||||
%patch4 -p1
|
#patch4 -p1
|
||||||
%patch5 -p1
|
#patch5 -p1
|
||||||
%patch7 -p2
|
#patch7 -p1
|
||||||
%patch10 -p1
|
#patch10 -p1
|
||||||
%patch12 -p3
|
#patch12 -p1
|
||||||
%patch15 -p0
|
#patch15 -p1
|
||||||
|
#patch16 -p1
|
||||||
|
#patch17 -p1
|
||||||
|
#patch18 -p1
|
||||||
|
#patch19 -p1
|
||||||
|
|
||||||
# Preparing the docs
|
# Preparing the docs
|
||||||
mkdir packagedoc
|
mkdir packagedoc
|
||||||
|
@ -857,17 +993,26 @@ cat > ./tools/build/src/user-config.jam << EOF
|
||||||
using gcc : %{gcc_ver} : gcc : <cflags>"%{optflags}" <cxxflags>"%{optflags}" <linkflags>"%{ldflags}" ;
|
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 : %{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 : %{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
|
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 \
|
./b2 -d+2 -q %{?_smp_mflags} --without-mpi \
|
||||||
--prefix=%{_prefix} --libdir=%{_libdir} \
|
--prefix=%{_prefix} --libdir=%{_libdir} \
|
||||||
|
%ifarch %ix86
|
||||||
|
instruction-set=i686 \
|
||||||
|
%endif
|
||||||
%if !%{with context}
|
%if !%{with context}
|
||||||
--without-context --without-coroutine \
|
--without-context --without-coroutine \
|
||||||
|
%endif
|
||||||
|
%ifarch znver1
|
||||||
|
instruction-set=znver1 \
|
||||||
%endif
|
%endif
|
||||||
linkflags="%{ldflags} -lstdc++ -lm" \
|
linkflags="%{ldflags} -lstdc++ -lm" \
|
||||||
-sHAVE_ICU=1 \
|
-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.
|
# Taken from the Fedora .src.rpm.
|
||||||
echo ============================= build Boost.Build ==================
|
echo ============================= build Boost.Build ==================
|
||||||
|
@ -881,14 +1026,14 @@ echo ============================= build Boost.Build ==================
|
||||||
--without-context --without-coroutine \
|
--without-context --without-coroutine \
|
||||||
%endif
|
%endif
|
||||||
link=shared \
|
link=shared \
|
||||||
python=%{py_ver} \
|
python=%{py3_ver} \
|
||||||
install
|
install
|
||||||
|
|
||||||
echo ============================= install Boost.Build ==================
|
echo ============================= install Boost.Build ==================
|
||||||
(cd tools/build
|
(cd tools/build
|
||||||
./b2 --prefix=%{buildroot}%{_prefix} install
|
./b2 --prefix=%{buildroot}%{_prefix} install
|
||||||
# Fix some permissions
|
# 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
|
chmod +x %{buildroot}%{_datadir}/boost-build/src/tools/doxproc.py
|
||||||
# We don't want to distribute this
|
# We don't want to distribute this
|
||||||
rm -f %{buildroot}%{_bindir}/b2
|
rm -f %{buildroot}%{_bindir}/b2
|
||||||
|
|
Loading…
Add table
Reference in a new issue