From dade1db44526a42eba60862bca60383d5eeb3c6f Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Wed, 1 Aug 2018 19:52:37 +0200 Subject: [PATCH] - updated to 1.67.0 (new sonames) - updated link,clean-gcc-flags patches - removed outdated numpy3,hash-new-char-types,fix-python37 patches - boost_python libraries are now always tagged with python version --- boost-clean-gcc-flags.patch | 48 ++++++++++++++----------------------- boost-link.patch | 14 +++++------ boost-numpy3.patch | 11 --------- boost.spec | 48 ++++++++++++++++++------------------- fix-python37.patch | 18 -------------- hash-new-char-types.patch | 21 ---------------- 6 files changed, 49 insertions(+), 111 deletions(-) delete mode 100644 boost-numpy3.patch delete mode 100644 fix-python37.patch delete mode 100644 hash-new-char-types.patch diff --git a/boost-clean-gcc-flags.patch b/boost-clean-gcc-flags.patch index 592e7d7..3f10843 100644 --- a/boost-clean-gcc-flags.patch +++ b/boost-clean-gcc-flags.patch @@ -1,7 +1,19 @@ ---- boost_1_59_0/tools/build/src/tools/gcc.jam.orig 2015-08-11 15:53:51.000000000 +0200 -+++ boost_1_59_0/tools/build/src/tools/gcc.jam 2015-09-12 17:16:00.647535444 +0200 -@@ -369,9 +369,9 @@ - toolset.flags gcc.compile PCH_FILE on : ; +--- boost_1_67_0/tools/build/src/tools/gcc.jam.orig 2018-04-11 15:49:09.000000000 +0200 ++++ boost_1_67_0/tools/build/src/tools/gcc.jam 2018-07-16 19:40:36.332045183 +0200 +@@ -356,11 +356,6 @@ + + compile-link-flags hpux/32 : -milp32 ; + compile-link-flags hpux/64 : -mlp64 ; +- +- local generic-os = [ set.difference $(all-os) : aix hpux ] ; +- local arch = power sparc x86 ; +- compile-link-flags $(generic-os)/$(arch)/32 : -m32 ; +- compile-link-flags $(generic-os)/$(arch)/64 : -m64 ; + } + + { +@@ -624,9 +619,9 @@ + ### # Declare flags and action for compilation. -toolset.flags gcc.compile OPTIONS off : -O0 ; @@ -13,7 +25,7 @@ toolset.flags gcc.compile OPTIONS off : -fno-inline ; toolset.flags gcc.compile OPTIONS on : -Wno-inline ; -@@ -382,8 +382,8 @@ +@@ -637,8 +632,8 @@ toolset.flags gcc.compile OPTIONS all : -Wall -pedantic ; toolset.flags gcc.compile OPTIONS on : -Werror ; @@ -24,31 +36,7 @@ toolset.flags gcc.compile.c++ OPTIONS off : -fno-rtti ; toolset.flags gcc.compile.c++ OPTIONS off : -fno-exceptions ; -@@ -451,23 +451,6 @@ - option = -mlp64 ; - } - } -- else -- { -- local arch = [ feature.get-values architecture : $(properties) ] ; -- if $(arch) = power || $(arch) = sparc || $(arch) = x86 -- { -- if $(model) = 32 -- { -- option = -m32 ; -- } -- else if $(model) = 64 -- { -- option = -m64 ; -- } -- } -- # For darwin, the model can be 32_64. darwin.jam will handle that -- # on its own. -- } - OPTIONS on $(targets) += $(option) ; - } - } -@@ -1076,7 +1059,7 @@ +@@ -1069,7 +1064,7 @@ # x86 and compatible # The 'native' option appeared in gcc 4.2 so we cannot safely use it as default. # Use i686 instead for 32-bit. diff --git a/boost-link.patch b/boost-link.patch index c2336d6..72f0867 100644 --- a/boost-link.patch +++ b/boost-link.patch @@ -1,15 +1,15 @@ ---- boost_1_57_0/tools/build/src/tools/python.jam~ 2015-02-15 19:23:08.000000000 +0100 -+++ boost_1_57_0/tools/build/src/tools/python.jam 2015-02-15 19:46:59.298672754 +0100 -@@ -375,7 +375,7 @@ +--- boost_1_67_0/tools/build/src/tools/python.jam.orig 2018-04-11 15:49:09.000000000 +0200 ++++ boost_1_67_0/tools/build/src/tools/python.jam 2018-07-16 19:34:14.205382890 +0200 +@@ -380,7 +380,7 @@ # local rule split-version ( version ) { -- local major-minor = [ MATCH ^([0-9]+)\.([0-9]+)(.*)$ : $(version) : 1 2 3 ] ; -+ local major-minor = [ MATCH ^([0-9]+)\.([0-9m]+)(.*)$ : $(version) : 1 2 3 ] ; +- local major-minor = [ MATCH "^([0-9]+)\.([0-9]+)(.*)$" : $(version) : 1 2 3 ] ; ++ local major-minor = [ MATCH "^([0-9]+)\.([0-9m]+)(.*)$" : $(version) : 1 2 3 ] ; if ! $(major-minor[2]) || $(major-minor[3]) { ECHO "Warning: \"using python\" expects a two part (major, minor) version number; got" $(version) instead ; -@@ -992,7 +992,7 @@ +@@ -1033,7 +1033,7 @@ : : $(target-requirements) : @@ -17,4 +17,4 @@ + : $(usage-requirements) python.lib ; } - } + diff --git a/boost-numpy3.patch b/boost-numpy3.patch deleted file mode 100644 index 0deef86..0000000 --- a/boost-numpy3.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- boost_1_63_0/libs/python/build/Jamfile.orig 2016-12-22 13:33:19.000000000 +0100 -+++ boost_1_63_0/libs/python/build/Jamfile 2017-04-08 21:35:49.226719994 +0200 -@@ -140,7 +140,7 @@ - [ cond [ python.numpy ] : /python//python_for_extensions ] - [ unless [ python.numpy ] : no ] - $(numpy-include) -- boost_python -+ [ cond $(is-py3) : boost_python3 : boost_python ] - on:BOOST_DEBUG_PYTHON - [ cond $(is-py3) : $(py3-version) ] - diff --git a/boost.spec b/boost.spec index 2cc9ee5..6c8d363 100644 --- a/boost.spec +++ b/boost.spec @@ -12,22 +12,17 @@ Summary: The Boost C++ Libraries Summary(pl.UTF-8): Biblioteki C++ "Boost" Name: boost -Version: 1.63.0 -Release: 6 +Version: 1.67.0 +Release: 1 License: Boost Software License and others Group: Libraries Source0: http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2 -# Source0-md5: 1c837ecd990bb022d07e7aab32b09847 +# Source0-md5: ced776cb19428ab8488774e1415535ab Patch0: %{name}-link.patch Patch1: %{name}-x32-context.patch Patch2: %{name}-clean-gcc-flags.patch -Patch3: %{name}-numpy3.patch -Patch4: hash-new-char-types.patch -Patch5: fix-python37.patch # FC Patches: Patch201: %{name}-python-abi_letters.patch -# https://github.com/boostorg/build/issues/163 -Patch202: %{name}-dual-python-build.patch # https://svn.boost.org/trac/boost/ticket/5637 Patch203: %{name}-1.54.0-mpl-print.patch # https://svn.boost.org/trac/boost/ticket/8881 @@ -53,6 +48,9 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1 +%define py2v %(echo %{py_ver} | tr -d .) +%define py3v %(echo %{py3_ver} | tr -d .) + %description The Boost web site provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ @@ -485,12 +483,8 @@ Dokumentacja dla biblioteki Boost C++. %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 %patch201 -p1 -%patch202 -p1 %patch203 -p0 %patch221 -p1 @@ -660,11 +654,13 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_container.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_contract.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_random.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_stacktrace_*.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_type_erasure.so.*.*.* %attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.* @@ -674,6 +670,7 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libboost_chrono.so %attr(755,root,root) %{_libdir}/libboost_container.so %attr(755,root,root) %{_libdir}/libboost_context.so +%attr(755,root,root) %{_libdir}/libboost_contract.so %attr(755,root,root) %{_libdir}/libboost_coroutine.so %attr(755,root,root) %{_libdir}/libboost_date_time.so %attr(755,root,root) %{_libdir}/libboost_fiber.so @@ -690,6 +687,7 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libboost_random.so %attr(755,root,root) %{_libdir}/libboost_serialization.so %attr(755,root,root) %{_libdir}/libboost_signals.so +%attr(755,root,root) %{_libdir}/libboost_stacktrace_*.so %attr(755,root,root) %{_libdir}/libboost_system.so %attr(755,root,root) %{_libdir}/libboost_thread.so %attr(755,root,root) %{_libdir}/libboost_timer.so @@ -707,6 +705,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libboost_chrono.a %{_libdir}/libboost_container.a %{_libdir}/libboost_context.a +%{_libdir}/libboost_contract.a %{_libdir}/libboost_coroutine.a %{_libdir}/libboost_date_time.a %{_libdir}/libboost_exception.a @@ -724,6 +723,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libboost_regex.a %{_libdir}/libboost_serialization.a %{_libdir}/libboost_signals.a +%{_libdir}/libboost_stacktrace_*.a %{_libdir}/libboost_system.a %{_libdir}/libboost_test_exec_monitor.a %{_libdir}/libboost_timer.a @@ -744,46 +744,46 @@ rm -rf $RPM_BUILD_ROOT %files python %defattr(644,root,root,755) %if %{with numpy} -%attr(755,root,root) %{_libdir}/libboost_numpy.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so.*.*.* %endif -%attr(755,root,root) %{_libdir}/libboost_python.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so.*.*.* %files python-devel %defattr(644,root,root,755) %if %{with numpy} -%attr(755,root,root) %{_libdir}/libboost_numpy.so +%attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so %endif -%attr(755,root,root) %{_libdir}/libboost_python.so +%attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so %files python-static %defattr(644,root,root,755) %if %{with numpy} -%{_libdir}/libboost_numpy.a +%{_libdir}/libboost_numpy%{py2v}.a %endif -%{_libdir}/libboost_python.a +%{_libdir}/libboost_python%{py2v}.a %endif %if %{with python3} %files python3 %defattr(644,root,root,755) %if %{with numpy} -%attr(755,root,root) %{_libdir}/libboost_numpy3.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so.*.*.* %endif -%attr(755,root,root) %{_libdir}/libboost_python3.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so.*.*.* %files python3-devel %defattr(644,root,root,755) %if %{with numpy} -%attr(755,root,root) %{_libdir}/libboost_numpy3.so +%attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so %endif -%attr(755,root,root) %{_libdir}/libboost_python3.so +%attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so %files python3-static %defattr(644,root,root,755) %if %{with numpy} -%{_libdir}/libboost_numpy3.a +%{_libdir}/libboost_numpy%{py3v}.a %endif -%{_libdir}/libboost_python3.a +%{_libdir}/libboost_python%{py3v}.a %endif %files chrono diff --git a/fix-python37.patch b/fix-python37.patch deleted file mode 100644 index da1c93e..0000000 --- a/fix-python37.patch +++ /dev/null @@ -1,18 +0,0 @@ -From: Giovanni Mascellani -Subject: Fix FTBFS with Python 3.7 - -The patch is backported from later Boost releases. - -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 - diff --git a/hash-new-char-types.patch b/hash-new-char-types.patch deleted file mode 100644 index b767f52..0000000 --- a/hash-new-char-types.patch +++ /dev/null @@ -1,21 +0,0 @@ -https://svn.boost.org/trac/boost/ticket/11145 - ---- boost_1_63_0/boost/functional/hash/hash.hpp~ 2016-12-22 13:33:15.000000000 +0100 -+++ boost_1_63_0/boost/functional/hash/hash.hpp 2017-04-26 19:14:04.588719738 +0200 -@@ -117,6 +117,16 @@ - boost::hash_detail::enable_hash_value {}; - #endif - -+#if !defined(BOOST_NO_CXX11_CHAR16_T) -+ template <> struct basic_numbers : -+ boost::hash_detail::enable_hash_value {}; -+#endif -+ -+#if !defined(BOOST_NO_CXX11_CHAR32_T) -+ template <> struct basic_numbers : -+ boost::hash_detail::enable_hash_value {}; -+#endif -+ - template <> struct float_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct float_numbers : -- 2.44.0