From 6471ea6f4b18030afdf7f85aa50b41c3bc3ebb72 Mon Sep 17 00:00:00 2001 From: Alexander Stefanov Date: Sat, 29 Feb 2020 15:31:49 +0000 Subject: [PATCH] 1.72 --- .abf.yml | 2 +- ...df632c4a6be88f3e84f037bd65399bfcd1b4.patch | 70 + ...2ff72114ef47c7afaf92e1042aca3dfa41b0.patch | 48 + ...addcc5d0fbb7ea9ed62e902095bc781baa2e.patch | 40 + boost-1.50.0-fix-non-utf8-files.patch | 6 +- boost-1.50.0-foreach.patch | 12 +- boost-1.50.0-polygon.patch | 4 +- ...61.0-pool.patch => boost-1.50.0-pool.patch | 6 +- ...0-python-test-PyImport_AppendInittab.patch | 98 -- boost-1.57.0-build-optflags.patch | 42 + boost-1.57.0-python-abi_letters.patch | 20 +- boost-1.68.0-atomics-buildfix.patch | 21 + boost.spec | 1425 +++++++---------- fix-python37.patch | 13 - 14 files changed, 864 insertions(+), 943 deletions(-) create mode 100644 1ca8df632c4a6be88f3e84f037bd65399bfcd1b4.patch create mode 100644 6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0.patch create mode 100644 aab7addcc5d0fbb7ea9ed62e902095bc781baa2e.patch rename boost-1.61.0-pool.patch => boost-1.50.0-pool.patch (97%) delete mode 100644 boost-1.55.0-python-test-PyImport_AppendInittab.patch create mode 100644 boost-1.57.0-build-optflags.patch create mode 100644 boost-1.68.0-atomics-buildfix.patch delete mode 100644 fix-python37.patch diff --git a/.abf.yml b/.abf.yml index 58ac0a7..4503d46 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,2 +1,2 @@ sources: - boost_1_61_0.tar.bz2: f84b1a1ce764108ec3c2b7bd7704cf8dfd3c9d01 + boost_1_72_0.tar.bz2: 88866e4075e12255e7a7189d0b8a686e0b1ee9c1 diff --git a/1ca8df632c4a6be88f3e84f037bd65399bfcd1b4.patch b/1ca8df632c4a6be88f3e84f037bd65399bfcd1b4.patch new file mode 100644 index 0000000..900f26b --- /dev/null +++ b/1ca8df632c4a6be88f3e84f037bd65399bfcd1b4.patch @@ -0,0 +1,70 @@ +From 1ca8df632c4a6be88f3e84f037bd65399bfcd1b4 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Mon, 8 Apr 2019 14:53:54 +0200 +Subject: [PATCH] Add detection of RISC-V from __riscv + +--- + include/boost/predef/architecture.h | 1 + + include/boost/predef/architecture/riscv.h | 41 +++++++++++++++++++++++ + 2 files changed, 42 insertions(+) + create mode 100644 include/boost/predef/architecture/riscv.h + +diff --git a/boost/predef/architecture.h b/boost/predef/architecture.h +index 120d557..732d6f0 100644 +--- a/boost/predef/architecture.h ++++ b/boost/predef/architecture.h +@@ -21,6 +21,7 @@ Distributed under the Boost Software License, Version 1.0. + #include + #include + #include ++#include + #include + #include + #include +diff --git a/boost/predef/architecture/riscv.h b/boost/predef/architecture/riscv.h +new file mode 100644 +index 0000000..5ff2c3b +--- /dev/null ++++ b/boost/predef/architecture/riscv.h +@@ -0,0 +1,41 @@ ++/* ++Distributed under the Boost Software License, Version 1.0. ++(See accompanying file LICENSE_1_0.txt or copy at ++http://www.boost.org/LICENSE_1_0.txt) ++*/ ++ ++#ifndef BOOST_PREDEF_ARCHITECTURE_RISCV_H ++#define BOOST_PREDEF_ARCHITECTURE_RISCV_H ++ ++#include ++#include ++ ++/*` ++[heading `BOOST_ARCH_RISCV`] ++ ++[@http://en.wikipedia.org/wiki/RISC-V] architecture. ++ ++[table ++ [[__predef_symbol__] [__predef_version__]] ++ ++ [[`__riscv`] [__predef_detection__]] ++ ] ++ */ ++ ++#define BOOST_ARCH_RISCV BOOST_VERSION_NUMBER_NOT_AVAILABLE ++ ++#if defined(__riscv) ++# undef BOOST_ARCH_RISCV ++# define BOOST_ARCH_RISCV BOOST_VERSION_NUMBER_AVAILABLE ++#endif ++ ++#if BOOST_ARCH_RISCV ++# define BOOST_ARCH_RISCV_AVAILABLE ++#endif ++ ++#define BOOST_ARCH_RISCV_NAME "RISC-V" ++ ++#endif ++ ++#include ++BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_RISCV,BOOST_ARCH_RISCV_NAME) diff --git a/6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0.patch b/6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0.patch new file mode 100644 index 0000000..5909d73 --- /dev/null +++ b/6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0.patch @@ -0,0 +1,48 @@ +From 6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0 Mon Sep 17 00:00:00 2001 +From: Klemens David Morgenstern +Date: Fri, 22 Nov 2019 14:03:22 +0800 +Subject: [PATCH] added typedef executor_type; + +--- + include/boost/process/async_pipe.hpp | 2 ++ + include/boost/process/detail/posix/async_pipe.hpp | 1 + + include/boost/process/detail/windows/async_pipe.hpp | 1 + + 3 files changed, 4 insertions(+) + +diff --git a/boost/process/async_pipe.hpp b/boost/process/async_pipe.hpp +index 101fe1d59..a562432c0 100644 +--- a/boost/process/async_pipe.hpp ++++ b/boost/process/async_pipe.hpp +@@ -47,6 +47,8 @@ class async_pipe + */ + typedef platform_specific handle_type; + ++ typedef typename handle_type::executor_type executor_type; ++ + /** Construct a new async_pipe, does automatically open the pipe. + * Initializes source and sink with the same io_context. + * @note Windows creates a named pipe here, where the name is automatically generated. +diff --git a/boost/process/detail/posix/async_pipe.hpp b/boost/process/detail/posix/async_pipe.hpp +index 725a07890..a82c057b9 100644 +--- a/boost/process/detail/posix/async_pipe.hpp ++++ b/boost/process/detail/posix/async_pipe.hpp +@@ -23,6 +23,7 @@ class async_pipe + public: + typedef int native_handle_type; + typedef ::boost::asio::posix::stream_descriptor handle_type; ++ typedef typename handle_type::executor_type executor_type; + + inline async_pipe(boost::asio::io_context & ios) : async_pipe(ios, ios) {} + +diff --git a/boost/process/detail/windows/async_pipe.hpp b/boost/process/detail/windows/async_pipe.hpp +index 06d5f2d85..0b447f9b8 100644 +--- a/boost/process/detail/windows/async_pipe.hpp ++++ b/boost/process/detail/windows/async_pipe.hpp +@@ -48,6 +48,7 @@ class async_pipe + public: + typedef ::boost::winapi::HANDLE_ native_handle_type; + typedef ::boost::asio::windows::stream_handle handle_type; ++ typedef typename handle_type::executor_type executor_type; + + async_pipe(boost::asio::io_context & ios) : async_pipe(ios, ios, make_pipe_name(), true) {} + async_pipe(boost::asio::io_context & ios_source, boost::asio::io_context & ios_sink) diff --git a/aab7addcc5d0fbb7ea9ed62e902095bc781baa2e.patch b/aab7addcc5d0fbb7ea9ed62e902095bc781baa2e.patch new file mode 100644 index 0000000..bcc24df --- /dev/null +++ b/aab7addcc5d0fbb7ea9ed62e902095bc781baa2e.patch @@ -0,0 +1,40 @@ +From aab7addcc5d0fbb7ea9ed62e902095bc781baa2e Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Mon, 8 Apr 2019 14:54:20 +0200 +Subject: [PATCH] Add support for the RISC-V architecture + +--- + boostcpp.jam | 5 +++-- + libs/config | 2 +- + libs/context | 2 +- + libs/predef | 2 +- + tools/build | 2 +- + 5 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/boostcpp.jam b/boostcpp.jam +index efc41c1ed8b..10250a5b693 100644 +--- a/boostcpp.jam ++++ b/boostcpp.jam +@@ -607,7 +607,7 @@ rule address-model ( ) + return @boostcpp.deduce-address-model ; + } + +-local deducable-architectures = arm mips1 power sparc x86 combined ; ++local deducable-architectures = arm mips1 power riscv sparc x86 combined ; + feature.feature deduced-architecture : $(deducable-architectures) : propagated optional composite hidden ; + for a in $(deducable-architectures) + { +@@ -618,11 +618,12 @@ rule deduce-architecture ( properties * ) + { + local result ; + local filtered = [ toolset-properties $(properties) ] ; +- local names = arm mips1 power sparc x86 combined ; ++ local names = arm mips1 power riscv sparc x86 combined ; + local idx = [ configure.find-builds "default architecture" : $(filtered) + : /boost/architecture//arm + : /boost/architecture//mips1 + : /boost/architecture//power ++ : /boost/architecture//riscv + : /boost/architecture//sparc + : /boost/architecture//x86 + : /boost/architecture//combined ] ; diff --git a/boost-1.50.0-fix-non-utf8-files.patch b/boost-1.50.0-fix-non-utf8-files.patch index b60a3ac..469b35d 100644 --- a/boost-1.50.0-fix-non-utf8-files.patch +++ b/boost-1.50.0-fix-non-utf8-files.patch @@ -5,9 +5,9 @@ index 8b2bc43..d04f2fe 100644 @@ -67,7 +67,7 @@ struct thing_base_unit : boost::units::base_unit { - static const char* name() { return("EUR"); } -- static const char* symbol() { return("€"); } -+ static const char* symbol() { return("€"); } + static constexpr const char* name() { return("EUR"); } +- static constexpr const char* symbol() { return("€"); } ++ static constexpr const char* symbol() { return("€"); } }; int main() diff --git a/boost-1.50.0-foreach.patch b/boost-1.50.0-foreach.patch index dc8cd71..950dbe5 100644 --- a/boost-1.50.0-foreach.patch +++ b/boost-1.50.0-foreach.patch @@ -1,7 +1,7 @@ -Index: /trunk/boost/foreach_fwd.hpp +Index: boost/boost/foreach_fwd.hpp =================================================================== ---- /trunk/boost/foreach_fwd.hpp (revision 62661) -+++ /trunk/boost/foreach_fwd.hpp (revision 75540) +--- boost/boost/foreach_fwd.hpp (revision 62661) ++++ boost/boost/foreach_fwd.hpp (revision 75540) @@ -15,4 +15,6 @@ #define BOOST_FOREACH_FWD_HPP @@ -40,10 +40,10 @@ Index: /trunk/boost/foreach_fwd.hpp + } // namespace boost -Index: /trunk/boost/foreach.hpp +Index: boost/boost/foreach.hpp =================================================================== ---- /trunk/boost/foreach.hpp (revision 75077) -+++ /trunk/boost/foreach.hpp (revision 75540) +--- boost/boost/foreach.hpp (revision 75077) ++++ boost/boost/foreach.hpp (revision 75540) @@ -166,5 +166,5 @@ // at the global namespace for your type. template diff --git a/boost-1.50.0-polygon.patch b/boost-1.50.0-polygon.patch index 61efb46..0de9baa 100644 --- a/boost-1.50.0-polygon.patch +++ b/boost-1.50.0-polygon.patch @@ -1,5 +1,5 @@ ---- /usr/include/boost/polygon/polygon.hpp.orig 2012-01-26 01:05:15.934998805 +0800 -+++ /usr/include/boost/polygon/polygon.hpp 2012-01-26 01:13:10.547000000 +0800 +--- boost/boost/polygon/polygon.hpp.orig 2012-01-26 01:05:15.934998805 +0800 ++++ boost/boost/polygon/polygon.hpp 2012-01-26 01:13:10.547000000 +0800 @@ -24,6 +24,8 @@ #include "transform.hpp" diff --git a/boost-1.61.0-pool.patch b/boost-1.50.0-pool.patch similarity index 97% rename from boost-1.61.0-pool.patch rename to boost-1.50.0-pool.patch index cec6bf3..bf9119d 100644 --- a/boost-1.61.0-pool.patch +++ b/boost-1.50.0-pool.patch @@ -1,7 +1,7 @@ -Index: boost/pool/pool.hpp +Index: boost/boost/pool/pool.hpp =================================================================== ---- boost/pool/pool.hpp (revision 78317) -+++ boost/pool/pool.hpp (revision 78326) +--- boost/boost/pool/pool.hpp (revision 78317) ++++ boost/boost/pool/pool.hpp (revision 78326) @@ -27,4 +27,6 @@ #include diff --git a/boost-1.55.0-python-test-PyImport_AppendInittab.patch b/boost-1.55.0-python-test-PyImport_AppendInittab.patch deleted file mode 100644 index 1d2ee5c..0000000 --- a/boost-1.55.0-python-test-PyImport_AppendInittab.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/exec.cpp ---- boost_1_55_0/libs/python/test/exec.cpp~ 2010-07-05 00:38:38.000000000 +0200 -+++ boost_1_55_0/libs/python/test/exec.cpp 2015-01-09 21:31:12.903218280 +0100 -@@ -56,6 +56,20 @@ void eval_test() - BOOST_TEST(value == "ABCDEFG"); - } - -+struct PyCtx -+{ -+ PyCtx() { -+ Py_Initialize(); -+ } -+ -+ ~PyCtx() { -+ // N.B. certain problems may arise when Py_Finalize is called when -+ // using Boost.Python. However in this test suite it all seems to -+ // work fine. -+ Py_Finalize(); -+ } -+}; -+ - void exec_test() - { - // Register the module with the interpreter -@@ -68,6 +82,8 @@ void exec_test() - ) == -1) - throw std::runtime_error("Failed to add embedded_hello to the interpreter's " - "builtin modules"); -+ -+ PyCtx ctx; - // Retrieve the main module - python::object main = python::import("__main__"); - -@@ -148,41 +164,43 @@ void check_pyerr(bool pyerr_expected=fal - } - } - -+template -+bool -+run_and_handle_exception(Cb cb, bool pyerr_expected = false) -+{ -+ PyCtx ctx; -+ if (python::handle_exception(cb)) { -+ check_pyerr(pyerr_expected); -+ return true; -+ } else { -+ return false; -+ } -+} -+ - int main(int argc, char **argv) - { - BOOST_TEST(argc == 2 || argc == 3); - std::string script = argv[1]; -- // Initialize the interpreter -- Py_Initialize(); - -- if (python::handle_exception(eval_test)) { -- check_pyerr(); -- } -- else if(python::handle_exception(exec_test)) { -- check_pyerr(); -- } -- else if (python::handle_exception(boost::bind(exec_file_test, script))) { -+ // N.B. exec_test mustn't be called through run_and_handle_exception -+ // as it needs to handles the python context by itself. -+ if (run_and_handle_exception(eval_test) -+ || python::handle_exception(exec_test)) - check_pyerr(); -- } -- -- if (python::handle_exception(exec_test_error)) -- { -- check_pyerr(/*pyerr_expected*/ true); -- } - else -- { -+ run_and_handle_exception(boost::bind(exec_file_test, script)); -+ -+ if (!run_and_handle_exception(exec_test_error, true)) - BOOST_ERROR("Python exception expected, but not seen."); -- } - - if (argc > 2) { -+ PyCtx ctx; - // The main purpose is to test compilation. Since this test generates - // a file and I (rwgk) am uncertain about the side-effects, run it only - // if explicitly requested. - exercise_embedding_html(); - } - -- // Boost.Python doesn't support Py_Finalize yet. -- // Py_Finalize(); - return boost::report_errors(); - } - - -Diff finished. Fri Jan 9 21:31:13 2015 diff --git a/boost-1.57.0-build-optflags.patch b/boost-1.57.0-build-optflags.patch new file mode 100644 index 0000000..c6d6ec2 --- /dev/null +++ b/boost-1.57.0-build-optflags.patch @@ -0,0 +1,42 @@ +diff -up boost_1_70_0/tools/build/src/tools/gcc.jam.0019~ boost_1_70_0/tools/build/src/tools/gcc.jam +--- boost_1_70_0/tools/build/src/tools/gcc.jam.0019~ 2019-04-09 21:36:57.000000000 +0200 ++++ boost_1_70_0/tools/build/src/tools/gcc.jam 2019-04-12 14:23:10.519125908 +0200 +@@ -569,7 +569,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)" -c -o "$(<:W)" "$(>:W)" ++ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)" + } + + actions compile.c bind PCH_FILE +@@ -579,7 +579,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)" "$(>:W)" -E >"$(<:W)" ++ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)" + } + + actions compile.c.preprocess bind PCH_FILE +@@ -702,13 +702,13 @@ actions compile.c.pch + ### + + # Declare flags and action for compilation. +-toolset.flags gcc.compile OPTIONS off : -O0 ; +-toolset.flags gcc.compile OPTIONS speed : -O3 ; +-toolset.flags gcc.compile OPTIONS space : -Os ; +- +-toolset.flags gcc.compile OPTIONS off : -fno-inline ; +-toolset.flags gcc.compile OPTIONS on : -Wno-inline ; +-toolset.flags gcc.compile OPTIONS full : -finline-functions -Wno-inline ; ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS speed : ; ++toolset.flags gcc.compile OPTIONS space : ; ++ ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS on : ; ++toolset.flags gcc.compile OPTIONS full : ; + + toolset.flags gcc.compile OPTIONS off : -w ; + toolset.flags gcc.compile OPTIONS on : -Wall ; diff --git a/boost-1.57.0-python-abi_letters.patch b/boost-1.57.0-python-abi_letters.patch index 7df3ee7..f7041ec 100644 --- a/boost-1.57.0-python-abi_letters.patch +++ b/boost-1.57.0-python-abi_letters.patch @@ -1,6 +1,6 @@ ---- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200 -+++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200 -@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti +--- boost_1_65_0/tools/build/src/tools/python.jam.p18~ 2017-08-21 23:51:31.876299004 +0200 ++++ boost_1_65_0/tools/build/src/tools/python.jam 2017-08-21 23:52:08.595223722 +0200 +@@ -99,7 +99,7 @@ py3-version = ; # using python : 2.3 : /usr/local/bin/python ; # rule init ( version ? : cmd-or-prefix ? : includes * : libraries ? @@ -9,7 +9,7 @@ { project.push-current $(.project) ; -@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ? +@@ -112,7 +112,7 @@ rule init ( version ? : cmd-or-prefix ? } } @@ -18,7 +18,7 @@ project.pop-current ; } -@@ -653,7 +653,7 @@ local rule system-library-dependencies ( +@@ -659,7 +659,7 @@ local rule system-library-dependencies ( # Declare a target to represent Python's library. # @@ -27,7 +27,7 @@ { # Compute the representation of Python version in the name of Python's # library file. -@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve +@@ -683,13 +683,13 @@ local rule declare-libpython-target ( ve } # Declare it. @@ -43,15 +43,15 @@ { local prefix ; local exec-prefix ; -@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o +@@ -705,6 +705,7 @@ local rule configure ( version ? : cmd-o extension-suffix ?= _d ; } extension-suffix ?= "" ; + abi-letters ?= "" ; - # Normalize and dissect any version number. - local major-minor ; -@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o + local cmds-to-try ; + +@@ -968,7 +969,7 @@ local rule configure ( version ? : cmd-o } else { diff --git a/boost-1.68.0-atomics-buildfix.patch b/boost-1.68.0-atomics-buildfix.patch new file mode 100644 index 0000000..e712d2a --- /dev/null +++ b/boost-1.68.0-atomics-buildfix.patch @@ -0,0 +1,21 @@ +diff -up boost_1_68_0/boost/atomic/detail/ops_gcc_x86_dcas.hpp.0006~ boost_1_68_0/boost/atomic/detail/ops_gcc_x86_dcas.hpp +--- boost_1_68_0/boost/atomic/detail/ops_gcc_x86_dcas.hpp.0006~ 2018-08-01 22:50:46.000000000 +0200 ++++ boost_1_68_0/boost/atomic/detail/ops_gcc_x86_dcas.hpp 2018-08-10 01:08:54.617706383 +0200 +@@ -119,7 +119,7 @@ struct gcc_dcas_x86 + } + } + +- static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order) BOOST_NOEXCEPT ++ static BOOST_FORCEINLINE storage_type load(storage_type volatile& storage, memory_order) BOOST_NOEXCEPT + { + storage_type value; + +@@ -404,7 +404,7 @@ struct gcc_dcas_x86_64 + ); + } + +- static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order) BOOST_NOEXCEPT ++ static BOOST_FORCEINLINE storage_type load(storage_type volatile& storage, memory_order) BOOST_NOEXCEPT + { + // Note that despite const qualification cmpxchg16b below may issue a store to the storage. The storage value + // will not change, but this prevents the storage to reside in read-only memory. diff --git a/boost.spec b/boost.spec index 67549d1..c236761 100644 --- a/boost.spec +++ b/boost.spec @@ -1,94 +1,101 @@ -%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 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 libpython2 %mklibname boost_python2 %{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 devname %mklibname boost -d -%define sdevname %mklibname boost -d -s -%define devpython3 %mklibname boost_python3 -d - -%ifarch aarch64 -%bcond_with context -%else -%bcond_without context -%endif +%define libname %mklibname boost %{version} +%define libnamedevel %mklibname boost -d +%define libnamestaticdevel %mklibname boost -d -s +%define coredevel %mklibname boost-core -d # --no-undefined breaks build of CMakeified Boost.{Chrono,Locale,Timer}. # 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 +# Doesn't work with dual python2/python3 bits +%define _python_bytecompile_build 0 + +# (tpg) save 50 MiB +%bcond_with docs + +%define beta %{nil} +%define packver %(echo "%{version}" | sed -e "s/\\\./_/g") +%ifarch %{ix86} %{arm} +%bcond_with numpy +%else +%bcond_without numpy +%endif Summary: Portable C++ libraries Name: boost -Version: 1.61.0 -Release: 6 +Version: 1.72.0 +%if "%{beta}" != "" +Release: 0.%{beta}.1 +Source0: https://dl.bintray.com/boostorg/beta/%{version}.%(echo %{beta} |sed -e 's,^b,beta.,')/source/boost_%{packver}_%{beta}.tar.bz2 +%else +Release: 4 +Source0: https://dl.bintray.com/boostorg/release/%{version}/source/boost_%{packver}.tar.bz2 +%endif License: Boost Group: Development/C++ Url: http://boost.org/ -Source0: http://download.sourceforge.net/boost/boost_%{packver}.tar.bz2 Source100: %{name}.rpmlintrc -# https://bugzilla.redhat.com/show_bug.cgi?id=1102667 -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://github.com/boostorg/process/issues/116 +Patch0: https://github.com/boostorg/process/commit/6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0.patch + # https://svn.boost.org/trac/boost/ticket/6150 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 + +Patch6: boost-1.68.0-atomics-buildfix.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 + # 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 + # https://bugzilla.redhat.com/show_bug.cgi?id=784654 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 -# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902702 -Patch16: fix-python37.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 + +# RISC-V support from upstream +# https://github.com/boostorg/boost/pull/273 +Patch30: https://github.com/boostorg/boost/commit/aab7addcc5d0fbb7ea9ed62e902095bc781baa2e.patch +# https://github.com/boostorg/predef/pull/97 +Patch33: https://github.com/boostorg/predef/commit/1ca8df632c4a6be88f3e84f037bd65399bfcd1b4.patch + BuildRequires: doxygen BuildRequires: xsltproc BuildRequires: bzip2-devel BuildRequires: pkgconfig(expat) -BuildRequires: pkgconfig(icu-uc) +BuildRequires: pkgconfig(icu-uc) >= 60.1 BuildRequires: pkgconfig(python2) BuildRequires: pkgconfig(python3) +%if %{with numpy} +BuildRequires: python2-numpy-devel +BuildRequires: python3-numpy-devel +%endif BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(bzip2) +#BuildRequires: openmpi-devel +%if !%{with docs} +Obsoletes: %{libnamedevel}-doc <= %{EVRD} +%endif %description Boost is a collection of free peer-reviewed portable C++ source @@ -96,14 +103,14 @@ libraries. The emphasis is on libraries which work well with the C++ Standard Library. This package contains only the shared libraries needed for running programs using Boost. -#---------------------------------------------------------------------------- - # build section Taken from the Fedora .src.rpm. %package build -Summary: Cross platform build system for C++ projects -Group: Development/C++ -Requires: boost-jam -BuildArch: noarch +Summary: Cross platform build system for C++ projects +Group: Development/C++ +# boost-jam used to be maintained separately. It's now part of boost-build. +# Last separately maintained (and versioned) boost-jam was 3.1.18-11 +# (which outnumbers boost versioning, so let's kill any boost-jam without Epoch) +Obsoletes: boost-jam < 1:0.0.0-0 %description build Boost.Build is an easy way to build C++ projects, everywhere. You name @@ -113,16 +120,348 @@ creating static and shared libraries, making pieces of executable, and other chores -- whether you're using GCC, MSVC, or a dozen more supported C++ compilers -- on Windows, OSX, Linux and commercial UNIX systems. -%files build -%doc LICENSE_1_0.txt -%{_datadir}/boost-build/ +%define boostbinlibs chrono context contract coroutine date_time fiber filesystem graph iostreams locale log math prg_exec_monitor program_options random regex serialization system thread timer type_erasure unit_test_framework wave wserialization atomic container stacktrace_addr2line stacktrace_basic stacktrace_noop -#---------------------------------------------------------------------------- +# (Anssi 01/2010) dashes are converted to underscores for macros ($lib2); +# The sed script adds _ when library name ends in number. +%{expand:%(for lib in %boostbinlibs; do lib2=${lib/-/_}; cat <= 3.0 +Provides: boost-python38-devel = %{EVRD} +Provides: boost-python3-devel = %{EVRD} +Provides: boost-python-devel = %{EVRD} +Obsoletes: %{olddevnamepython3} < %{EVRD} +Requires: %{coredevel} = %{EVRD} +Requires: %{libnamepython3} = %{EVRD} + +%description -n %{devnamepython3} +Development files for the Boost Python 3 library + +%files -n %{devnamepython3} +%{_includedir}/boost/python +%{_includedir}/boost/python.hpp +%{_libdir}/libboost_python3*.so +%{_libdir}/cmake/boost_python-%{version} + +%if %{with numpy} +%global libnamenumpy2 %mklibname boost_numpy27 %{version} +%global devnamenumpy2 %mklibname -d boost_numpy27 +%global libnamenumpy3 %mklibname boost_numpy38 %{version} +%global devnamenumpy3 %mklibname -d boost_numpy38 +%global oldlibnamenumpy3 %mklibname boost_numpy37 1.71.0 +%global olddevnamenumpy3 %mklibname -d boost_numpy37 + +%package -n %{libnamenumpy2} +Summary: Boost NumPy 2 shared library +Group: System/Libraries +Provides: boost-numpy2 = %{EVRD} + +%description -n %{libnamenumpy2} +Boost NumPy 2 shared library + +%files -n %{libnamenumpy2} +%{_libdir}/libboost_numpy27.so.%(echo %{version} |cut -d. -f1)* + +%package -n %{devnamenumpy2} +Summary: Development files for the Boost NumPy 2 library +Group: Development/C++ +# Headers are the same for python2 and python3, so we package +# them with what people SHOULD use +Requires: %{devnamenumpy3} = %{EVRD} +Requires: python2 +Provides: boost-numpy27-devel = %{EVRD} +Provides: boost-numpy2-devel = %{EVRD} +Requires: %{coredevel} = %{EVRD} + +%description -n %{devnamenumpy2} +Development files for the Boost NumPy 2 library + +%files -n %{devnamenumpy2} +%{_libdir}/libboost_numpy27.so + +%package -n %{libnamenumpy3} +Summary: Boost NumPy 3 shared library +Group: System/Libraries +Provides: boost-numpy = %{EVRD} +Provides: boost-numpy3 = %{EVRD} +Obsoletes: %{oldlibnamenumpy3} < %{EVRD} + +%description -n %{libnamenumpy3} +Boost NumPy 3 shared library + +%files -n %{libnamenumpy3} +%{_libdir}/libboost_numpy38.so.%(echo %{version} |cut -d. -f1)* + +%package -n %{devnamenumpy3} +Summary: Development files for the Boost NumPy 3 library +Group: Development/C++ +Requires: python >= 3.0 +Provides: boost-numpy38-devel = %{EVRD} +Provides: boost-numpy3-devel = %{EVRD} +Provides: boost-numpy-devel = %{EVRD} +Obsoletes: %{olddevnamenumpy3} < %{EVRD} +Requires: %{coredevel} = %{EVRD} + +%description -n %{devnamenumpy3} +Development files for the Boost NumPy 3 library + +%files -n %{devnamenumpy3} +%{_libdir}/libboost_numpy3*.so +%{_libdir}/cmake/boost_numpy-%{version} +%endif + +%package -n %{coredevel} +Summary: Core development files needed by all or most Boost components +Group: Development/C++ + +%description -n %{coredevel} +Core development files needed by all or most Boost components + +%package -n %{libnamedevel} +Summary: The libraries and headers needed for Boost development +Group: Development/C++ +Requires: %{expand:%(for lib in %boostbinlibs %develonly %develonly2; do echo -n "%%{devname${lib/-/_}} = %{version}-%{release} "; done)} +Requires: %{devnamepython3} = %{EVRD} +# We could also require %{devnamepython2} = %{EVRD}, but let's not force +# people to install prehistoric crap that should have died a decade or two +# ago. If something really wants to use it, use a manual requirement on +# boost-python2-devel. +Conflicts: %{devnamepython2} < %{EVRD} +Requires: %{coredevel} = %{EVRD} +Obsoletes: %{mklibname boost 1}-devel < %{EVRD} +Provides: %{name}-devel = %{EVRD} +Provides: lib%{name}-devel = %{EVRD} + +%description -n %{libnamedevel} +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. + +%if %{with docs} +%package -n %{libnamedevel}-doc +Summary: The libraries and headers needed for Boost development +Group: Development/C++ +Conflicts: libboost-devel < 1.41.0 +Conflicts: lib64boost-devel < 1.41.0 +Obsoletes: libboost-devel-doc < 1.48.0-2 +Obsoletes: lib64boost-devel-doc < 1.48.0-2 +BuildArch: noarch + +%description -n %{libnamedevel}-doc +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 documentation needed for Boost +development. +%endif + +%package -n %{libnamestaticdevel} +Summary: Static libraries for Boost development +Group: Development/C++ +Requires: %{libnamedevel} = %{EVRD} +Obsoletes: %{mklibname boost 1}-static-devel < %{EVRD} +Provides: %{name}-static-devel = %{EVRD} + +%description -n %{libnamestaticdevel} +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 only the static libraries +needed for Boost development. + +%package examples Summary: The examples for the Boost libraries Group: Development/C++ -BuildArch: noarch +#BuildArch: noarch %description examples Boost is a collection of free peer-reviewed portable C++ source @@ -130,775 +469,247 @@ libraries. The emphasis is on libraries which work well with the C++ Standard Library. This package contains examples, installed in the same place as the documentation. -%files examples -%doc examples/* - -#---------------------------------------------------------------------------- - -%package -n %{libatomic} -Summary: Boost atomic shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libatomic} -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 atomic. - -%files -n %{libatomic} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_atomic.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libchrono} -Summary: Boost chrono shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libchrono} -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 chrono. - -%files -n %{libchrono} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_chrono.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libcontainer} -Summary: Boost container shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libcontainer} -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 context. - -%files -n %{libcontainer} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_container.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libcontext} -Summary: Boost context shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libcontext} -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 context. - -%files -n %{libcontext} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_context.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libcoroutine} -Summary: Boost coroutine shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libcoroutine} -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 coroutine. - -%files -n %{libcoroutine} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_coroutine.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libdatetime} -Summary: Boost date_time shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libdatetime} -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 datetime. - -%files -n %{libdatetime} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_date_time.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libfilesystem} -Summary: Boost filesystem shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libfilesystem} -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 filesystem. - -%files -n %{libfilesystem} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_filesystem.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libgraph} -Summary: Boost graph shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libgraph} -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 graph. - -%files -n %{libgraph} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_graph.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libiostreams} -Summary: Boost iostreams shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libiostreams} -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 iostreams. - -%files -n %{libiostreams} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_iostreams.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{liblocale} -Summary: Boost locale shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{liblocale} -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 locale. - -%files -n %{liblocale} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_locale.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{liblog} -Summary: Boost log shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{liblog} -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 log. - -%files -n %{liblog} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_log.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{liblogsetup} -Summary: Boost log_setup shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{liblogsetup} -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 log_setup. - -%files -n %{liblogsetup} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_log_setup.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libmathc99} -Summary: Boost math_c99 shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libmathc99} -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 math_c99. - -%files -n %{libmathc99} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_math_c99.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libmathc99f} -Summary: Boost math_c99f shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libmathc99f} -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 math_c99f. - -%files -n %{libmathc99f} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_math_c99f.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libmathc99l} -Summary: Boost math_c99l shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libmathc99l} -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 math_c99l. - -%files -n %{libmathc99l} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_math_c99l.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libmathtr1} -Summary: Boost math_tr1 shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libmathtr1} -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 math_tr1. - -%files -n %{libmathtr1} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_math_tr1.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libmathtr1f} -Summary: Boost math_tr1f shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libmathtr1f} -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 math_tr1f. - -%files -n %{libmathtr1f} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_math_tr1f.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libmathtr1l} -Summary: Boost math_tr1l shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libmathtr1l} -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 math_tr1l. - -%files -n %{libmathtr1l} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_math_tr1l.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libprgexecmonitor} -Summary: Boost prg_exec_monitor shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libprgexecmonitor} -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 prg_exec_monitor. - -%files -n %{libprgexecmonitor} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_prg_exec_monitor.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libprogramoptions} -Summary: Boost program_options shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libprogramoptions} -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 program_options. - -%files -n %{libprogramoptions} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_program_options.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libpython2} -Summary: Boost python2 shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libpython2} -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 %{libpython2} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_python.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libpython3} -Summary: Boost python3 shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libpython3} -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 %{libpython3} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_python3.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{librandom} -Summary: Boost random shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{librandom} -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 random. - -%files -n %{librandom} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_random.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libregex} -Summary: Boost regex shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libregex} -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 regex. - -%files -n %{libregex} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_regex.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libserialization} -Summary: Boost serialization shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libserialization} -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 serialization. - -%files -n %{libserialization} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_serialization.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libsignals} -Summary: Boost signals shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libsignals} -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 signals. - -%files -n %{libsignals} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_signals.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libsystem} -Summary: Boost system shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libsystem} -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 system. - -%files -n %{libsystem} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_system.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libthread} -Summary: Boost thread shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libthread} -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 thread. - -%files -n %{libthread} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_thread.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libtimer} -Summary: Boost timer shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libtimer} -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 timer. - -%files -n %{libtimer} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_timer.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libtypeerasure} -Summary: Boost type erasure shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libtypeerasure} -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 timer. - -%files -n %{libtypeerasure} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_type_erasure.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libunittestframework} -Summary: Boost unit_test_framework shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libunittestframework} -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 unit_test_framework. - -%files -n %{libunittestframework} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_unit_test_framework.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libwave} -Summary: Boost wave shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libwave} -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 wave. - -%files -n %{libwave} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_wave.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{libwserialization} -Summary: Boost wserialization shared library -Group: System/Libraries -# no one should require this, but provided anyway for maximum compatibility: -Provides: boost = %{EVRD} - -%description -n %{libwserialization} -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 wserialization. - -%files -n %{libwserialization} -%doc LICENSE_1_0.txt -%{_libdir}/libboost_wserialization.so.%{version} - -#---------------------------------------------------------------------------- - -%package -n %{devname} -Summary: The libraries and headers needed for Boost development -Group: Development/C++ -Requires: %{libatomic} = %{EVRD} -Requires: %{libchrono} = %{EVRD} -Requires: %{libcontainer} = %{EVRD} -Requires: %{libcontext} = %{EVRD} -Requires: %{libcoroutine} = %{EVRD} -Requires: %{libdatetime} = %{EVRD} -Requires: %{libfilesystem} = %{EVRD} -Requires: %{libgraph} = %{EVRD} -Requires: %{libiostreams} = %{EVRD} -Requires: %{liblocale} = %{EVRD} -Requires: %{liblog} = %{EVRD} -Requires: %{liblogsetup} = %{EVRD} -Requires: %{libmathc99} = %{EVRD} -Requires: %{libmathc99f} = %{EVRD} -Requires: %{libmathc99l} = %{EVRD} -Requires: %{libmathtr1} = %{EVRD} -Requires: %{libmathtr1f} = %{EVRD} -Requires: %{libmathtr1l} = %{EVRD} -Requires: %{libprgexecmonitor} = %{EVRD} -Requires: %{libprogramoptions} = %{EVRD} -Requires: %{libpython2} = %{EVRD} -Requires: %{librandom} = %{EVRD} -Requires: %{libregex} = %{EVRD} -Requires: %{libserialization} = %{EVRD} -Requires: %{libsignals} = %{EVRD} -Requires: %{libsystem} = %{EVRD} -Requires: %{libthread} = %{EVRD} -Requires: %{libtimer} = %{EVRD} -Requires: %{libtypeerasure} = %{EVRD} -Requires: %{libunittestframework} = %{EVRD} -Requires: %{libwave} = %{EVRD} -Requires: %{libwserialization} = %{EVRD} -Provides: %{name}-devel = %{EVRD} -Provides: lib%{name}-devel = %{EVRD} - -%description -n %{devname} -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 %{devname} -%{_includedir}/boost -%{_libdir}/libboost_*.so -%exclude %{_libdir}/libboost_python3.so - -#---------------------------------------------------------------------------- - -%package -n %{devname}-doc -Summary: Documentation for Boost -Group: Documentation -BuildArch: noarch - -%description -n %{devname}-doc -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 documentation needed for Boost -development. - -%files -n %{devname}-doc -%doc packagedoc/* - -#---------------------------------------------------------------------------- - -%package -n %{sdevname} -Summary: Static libraries for Boost development -Group: Development/C++ -Requires: %{devname} = %{EVRD} -Provides: %{name}-static-devel = %{EVRD} - -%description -n %{sdevname} -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 only the static libraries -needed for Boost development. - -%files -n %{sdevname} -%{_libdir}/libboost_*.a - -#---------------------------------------------------------------------------- - -%package -n %{devpython3} -Summary: The libraries and headers needed for Boost Python 3 development -Group: Development/C++ -Requires: %{libpython3} = %{EVRD} -Requires: %{devname} = %{EVRD} -Provides: %{name}-python3-devel = %{EVRD} - -%description -n %{devpython3} -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 %{devpython3} -%{_libdir}/libboost_python3.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 +%setup -q -n boost_%{packver} +%autopatch -p1 +%if !%{with numpy} +# Boost.Build does not allow for disabling of numpy +# extensions, thereby leading to automagic numpy +# https://github.com/boostorg/python/issues/111#issuecomment-280447482 +sed -e 's/\[ unless \[ python\.numpy \] : no \]/no/g' -i libs/python/build/Jamfile +%endif # Preparing the docs mkdir packagedoc find -type f -not -path '*packagedoc*' \( -name '*.html' -o -name '*.htm' -o -name '*.css' -o -name '*.gif' -o -name '*.jpg' -o -name '*.png' -o -name '*README*' \) -exec cp --parents {} packagedoc/ \; +find packagedoc -type d -exec chmod +rx {} \; # Preparing the examples: All .hpp or .cpp files that are not in # directories called test, src, or tools, as well as all files of any # type in directories called example or examples. mkdir examples find libs -type f \( -name "*.?pp" ! -path "*test*" ! -path "*src*" ! -path "*tools*" -o -path "*example*" \) -exec cp --parents {} examples/ \; +find examples -type d -exec chmod +rx {} \; +# http://www.linuxfromscratch.org/blfs/view/svn/general/boost.html +# http://osdir.com/ml/blfs-dev/2014-11/msg00142.html +# this fixed needed for kdepim4 and qt-gstreamer +sed -e '1 i#ifndef Q_MOC_RUN' -e '$ a#endif' -i boost/type_traits/detail/has_binary_operator.hpp +#sed -i 's!-m64!!g' tools/build/src/tools/gcc.jam %build -%define gcc_ver %(rpm -q --queryformat="%%{VERSION}" gcc) +#using clang : : : "%{optflags} -O3 -fno-strict-aliasing" "-std=c++14 -stdlib=libc++" "%{ldflags} -stdlib=libc++ -lm" ; +# interactive toolset detection +# in 2015 and cooker we fall in love with clang +# for 2014 still use gcc +toolset=`echo %{__cc} | sed 's!/usr/bin/!!'` + cat > ./tools/build/src/user-config.jam << EOF -using gcc : %{gcc_ver} : gcc : "%{optflags}" "%{optflags}" "%{ldflags}" ; -using python : %{py3_ver} : %{_bindir}/python%{py3_ver} : %{_includedir}/python%{py3_ver} : %{_libdir} : : : ; -using python : %{py2_ver} : %{_bindir}/python%{py2_ver} : %{_includedir}/python%{py2_ver} : %{_libdir} : : : ; +using $toolset : : : "%{optflags} -O3 -fno-strict-aliasing" "-std=c++14 -fPIC" "%{ldflags}" ; +using python : %{py3_ver} : %{__python3} : %{py3_incdir} : %{_libdir} : : : ; EOF -./bootstrap.sh --with-toolset=gcc --with-icu --prefix=%{_prefix} --libdir=%{_libdir} --with-python=%{py2_ver} + +cat >python2-config.jam << EOF +using $toolset : : : "%{optflags} -O3 -fno-strict-aliasing" "-std=c++14 -fPIC" "%{ldflags}" ; +using python : %{py2_ver} : %{__python2} : %{py2_incdir} : %{_libdir} : : : ; +EOF + +./bootstrap.sh --with-toolset=$toolset --with-icu --prefix=%{_prefix} --libdir=%{_libdir} --with-python=%{__python3} + +# Build python2 bits first, so if there's any conflicts +# python3 will overwrite... ./b2 -d+2 -q %{?_smp_mflags} --without-mpi \ - --prefix=%{_prefix} --libdir=%{_libdir} \ -%if !%{with context} - --without-context --without-coroutine \ -%endif - linkflags="%{ldflags} -lstdc++ -lm" \ + --user-config=./python2-config.jam --build-dir=py2 \ + --prefix=%{_prefix} --libdir=%{_libdir} --layout=system \ -sHAVE_ICU=1 \ - python=%{py2_ver} \ - link=shared threading=multi debug-symbols=off --layout=system + linkflags="%{ldflags} -lstdc++ -lm" \ +%ifarch %ix86 + instruction-set=i686 \ +%endif +%ifarch znver1 + instruction-set=znver1 \ +%endif + threading=multi debug-symbols=on pch=off variant=release python=%{py2_ver} + +# And python 3... +./b2 -d+2 -q %{?_smp_mflags} --without-mpi \ + --prefix=%{_prefix} --libdir=%{_libdir} --layout=system \ + -sHAVE_ICU=1 \ + linkflags="%{ldflags} -lstdc++ -lm" \ +%ifarch %ix86 + instruction-set=i686 \ +%endif +%ifarch znver1 + instruction-set=znver1 \ +%endif + threading=multi debug-symbols=on pch=off variant=release python=%{py3_ver} + # Taken from the Fedora .src.rpm. echo ============================= build Boost.Build ================== -(cd tools/build - ./bootstrap.sh --with-toolset=gcc) +(cd tools/build/ + ./bootstrap.sh --with-toolset=$toolset) %install +# Install python2 bits first, so if there's any conflicts +# python3 will overwrite... +./b2 -d+2 -q %{?_smp_mflags} --without-mpi \ + --user-config=./python2-config.jam --build-dir=py2 \ + --prefix=%{buildroot}%{_prefix} --libdir=%{buildroot}%{_libdir} \ + debug-symbols=on pch=off python=%{py2_ver} \ + install + +# And python 3... ./b2 -d+2 -q %{?_smp_mflags} --without-mpi \ --prefix=%{buildroot}%{_prefix} --libdir=%{buildroot}%{_libdir} \ -%if !%{with context} - --without-context --without-coroutine \ -%endif - link=shared \ - python=%{py2_ver} \ + debug-symbols=on pch=off python=%{py3_ver} \ install echo ============================= install Boost.Build ================== -(cd tools/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/tools/doxproc.py - # We don't want to distribute this - rm -f %{buildroot}%{_bindir}/b2 + mkdir -p %{buildroot}%{_mandir}/man1 + cp -a v2/doc/bjam.1 %{buildroot}%{_mandir}/man1/ # Not a real file - rm -f %{buildroot}%{_datadir}/boost-build/src/build/project.ann.py + rm -f %{buildroot}%{_datadir}/boost-build/build/project.ann.py # Empty file - rm -f %{buildroot}%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp + rm -f %{buildroot}%{_datadir}/boost-build/tools/doxygen/windows-paths-check.hpp + # Let's symlink instead of shipping 2 copies of the same file + ln -sf b2 %{buildroot}%{_bindir}/bjam ) -rm -f %{buildroot}/%{_bindir}/bjam -rm -f %{buildroot}/%{_mandir}/man1/bjam.1* + +%if !%{with numpy} +rm -rf %{buildroot}/%{_libdir}/cmake/boost_numpy-%{version}/ +%endif + +%files -n %{coredevel} +%dir %{_includedir}/boost +%{_includedir}/boost/aligned_storage.hpp +%{_includedir}/boost/make_default.hpp +%{_includedir}/boost/any.hpp +%{_includedir}/boost/array.hpp +%{_includedir}/boost/assert.hpp +%{_includedir}/boost/blank.hpp +%{_includedir}/boost/cstdfloat.hpp +%{_includedir}/boost/make_unique.hpp +%{_includedir}/boost/polymorphic_cast.hpp +%{_includedir}/boost/polymorphic_pointer_cast.hpp +%{_includedir}/boost/blank_fwd.hpp +%{_includedir}/boost/call_traits.hpp +%{_includedir}/boost/cast.hpp +%{_includedir}/boost/cerrno.hpp +%{_includedir}/boost/checked_delete.hpp +%{_includedir}/boost/compatibility +%{_includedir}/boost/compressed_pair.hpp +%{_includedir}/boost/concept +%{_includedir}/boost/concept_archetype.hpp +%{_includedir}/boost/concept_check.hpp +%{_includedir}/boost/concept_check +%{_includedir}/boost/config.hpp +%{_includedir}/boost/config +%{_includedir}/boost/crc.hpp +%{_includedir}/boost/cregex.hpp +%{_includedir}/boost/cstdint.hpp +%{_includedir}/boost/cstdlib.hpp +%{_includedir}/boost/current_function.hpp +%{_includedir}/boost/cxx11_char_types.hpp +%{_includedir}/boost/detail +%{_includedir}/boost/enable_shared_from_this.hpp +%{_includedir}/boost/exception_ptr.hpp +%{_includedir}/boost/foreach.hpp +%{_includedir}/boost/foreach_fwd.hpp +%{_includedir}/boost/function_equal.hpp +%{_includedir}/boost/function_output_iterator.hpp +%{_includedir}/boost/function_types +%{_includedir}/boost/generator_iterator.hpp +%{_includedir}/boost/get_pointer.hpp +%{_includedir}/boost/heap +%{_includedir}/boost/icl +%{_includedir}/boost/implicit_cast.hpp +%{_includedir}/boost/indirect_reference.hpp +%{_includedir}/boost/integer_traits.hpp +%{_includedir}/boost/interprocess +%{_includedir}/boost/intrusive +%{_includedir}/boost/intrusive_ptr.hpp +%{_includedir}/boost/io +%{_includedir}/boost/io_fwd.hpp +%{_includedir}/boost/is_placeholder.hpp +%{_includedir}/boost/iterator.hpp +%{_includedir}/boost/iterator +%{_includedir}/boost/iterator_adaptors.hpp +%{_includedir}/boost/lambda +%{_includedir}/boost/limits.hpp +%{_includedir}/boost/local_function.hpp +%{_includedir}/boost/local_function +%{_includedir}/boost/lockfree +%{_includedir}/boost/logic +%{_includedir}/boost/make_shared.hpp +%{_includedir}/boost/mem_fn.hpp +%{_includedir}/boost/memory_order.hpp +%{_includedir}/boost/move +%{_includedir}/boost/multi_index_container.hpp +%{_includedir}/boost/multi_index_container_fwd.hpp +%{_includedir}/boost/next_prior.hpp +%{_includedir}/boost/non_type.hpp +%{_includedir}/boost/noncopyable.hpp +%{_includedir}/boost/nondet_random.hpp +%{_includedir}/boost/none.hpp +%{_includedir}/boost/none_t.hpp +%{_includedir}/boost/numeric +%{_includedir}/boost/operators.hpp +%{_includedir}/boost/operators_v1.hpp +%{_includedir}/boost/pending +%{_includedir}/boost/pointee.hpp +%{_includedir}/boost/pointer_cast.hpp +%{_includedir}/boost/pointer_to_other.hpp +%{_includedir}/boost/polygon +%{_includedir}/boost/pool +%{_includedir}/boost/progress.hpp +%{_includedir}/boost/property_map +%{_includedir}/boost/property_tree +%{_includedir}/boost/proto +%{_includedir}/boost/ptr_container +%{_includedir}/boost/rational.hpp +%{_includedir}/boost/ref.hpp +%{_includedir}/boost/scope_exit.hpp +%{_includedir}/boost/scoped_array.hpp +%{_includedir}/boost/scoped_ptr.hpp +%{_includedir}/boost/shared_array.hpp +%{_includedir}/boost/shared_container_iterator.hpp +%{_includedir}/boost/shared_ptr.hpp +%{_includedir}/boost/statechart +%{_includedir}/boost/static_assert.hpp +%{_includedir}/boost/swap.hpp +%{_includedir}/boost/throw_exception.hpp +%{_includedir}/boost/token_functions.hpp +%{_includedir}/boost/token_iterator.hpp +%{_includedir}/boost/tokenizer.hpp +%{_includedir}/boost/type.hpp +%{_includedir}/boost/typeof +%{_includedir}/boost/version.hpp +%{_includedir}/boost/visit_each.hpp +%{_includedir}/boost/weak_ptr.hpp +%{_libdir}/cmake/Boost-%{version} +%{_libdir}/cmake/BoostDetectToolset-%{version}.cmake +%{_libdir}/cmake/boost_headers-%{version} + +%files -n %{libnamedevel} + +%if %{with docs} +%files -n %{libnamedevel}-doc +%doc packagedoc/* +%endif + +%files -n %{libnamestaticdevel} +%{_libdir}/libboost_*.a + +%files examples +%doc examples/* + +%files build +%doc LICENSE_1_0.txt +%{_bindir}/bjam +%{_bindir}/b2 +%{_datadir}/boost-build/ +%{_mandir}/man1/bjam.1* diff --git a/fix-python37.patch b/fix-python37.patch deleted file mode 100644 index bdc9f16..0000000 --- a/fix-python37.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: boost1.62-1.62.0+dfsg/libs/python/src/converter/builtin_converters.cpp -=================================================================== ---- boost1.62-1.62.0+dfsg.orig/libs/python/src/converter/builtin_converters.cpp -+++ boost1.62-1.62.0+dfsg/libs/python/src/converter/builtin_converters.cpp -@@ -48,7 +48,7 @@ namespace - #else - void* convert_to_cstring(PyObject* obj) - { -- return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0; -+ return PyUnicode_Check(obj) ? const_cast(reinterpret_cast(_PyUnicode_AsString(obj))) : 0; - } - #endif -