Hello community, here is the log from the commit of package boost for openSUSE:Factory checked in at 2016-01-07 00:19:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/boost (Old) and /work/SRC/openSUSE:Factory/.boost.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "boost" Changes: -------- --- /work/SRC/openSUSE:Factory/boost/boost.changes 2015-12-27 01:59:02.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.boost.new/boost.changes 2016-01-07 00:19:34.000000000 +0100 @@ -1,0 +2,28 @@ +Mon Jan 4 13:28:22 UTC 2016 - idonmez@suse.com + +- Add the following patches from Fedora to fix underlinking in + boost::python code + * boost-1.57.0-python-abi_letters.patch + * boost-1.57.0-python-libpython_dep.patch + * boost-1.55.0-python-test-PyImport_AppendInittab.patch + +------------------------------------------------------------------- +Wed Dec 23 21:37:07 UTC 2015 - fstrba@suse.com + +- Updated to version 1.60.0 + * New library: VMD. + * Updated libraries: Atomic, Chrono, Container, Context, Core, + Filesystem, Flyweight, Fusion, Interprocess, Intrusive, Lexical + Cast, Locale, log, Move, Multi-index Containers, odeint, + Optional, Predef, Test, Thread, UUID + * See http://www.boost.org/users/history/version_1_60_0.html for + complete changelog. +- Modified patch: + * boost-disable-pch-on-aarch64.patch + - rediff to a new context +- Removed patch: + * boost-1.59-python-make_setter.patch + - integrated upstream +- Add libboost_type_erasure subpackage + +------------------------------------------------------------------- Old: ---- boost-1.59-python-make_setter.patch boost_1_59_0.tar.bz2 New: ---- boost-1.55.0-python-test-PyImport_AppendInittab.patch boost-1.57.0-python-abi_letters.patch boost-1.57.0-python-libpython_dep.patch boost_1_60_0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ boost.spec ++++++ --- /var/tmp/diff_new_pack.Hmn75Q/_old 2016-01-07 00:19:43.000000000 +0100 +++ /var/tmp/diff_new_pack.Hmn75Q/_new 2016-01-07 00:19:43.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package boost # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,11 +16,11 @@ # -%define ver 1.59.0 -%define file_version 1_59_0 +%define ver 1.60.0 +%define file_version 1_60_0 %define docs_version 1.56.0 %define short_version 1_56 -%define lib_appendix 1_59_0 +%define lib_appendix 1_60_0 #Only define to 1 to generate the man pages %define build_docs 0 #Define to 0 to not package the pdf documentation @@ -62,7 +62,7 @@ %define all_libs %{most_libs} %endif Name: boost -Version: 1.59.0 +Version: 1.60.0 Release: 0 Summary: Boost C++ Libraries License: BSL-1.0 @@ -83,9 +83,12 @@ Patch7: boost-rpmoptflags-only.patch Patch9: boost-aarch64-flags.patch Patch10: boost-disable-pch-on-aarch64.patch -Patch11: boost-1.59-python-make_setter.patch Patch12: boost-1.59-test-fenv.patch Patch13: boost-visibility.patch +Patch14: boost-1.57.0-python-libpython_dep.patch +Patch15: boost-1.57.0-python-abi_letters.patch +Patch16: boost-1.55.0-python-test-PyImport_AppendInittab.patch + BuildRequires: chrpath BuildRequires: dos2unix BuildRequires: fdupes @@ -400,6 +403,14 @@ %description -n libboost_timer%{lib_appendix} This package contains the Boost::Timer runtime library. +%package -n libboost_type_erasure%{lib_appendix} +Summary: The Boost::TypeErasure runtime library +Group: System/Libraries +Requires: boost-license%{lib_appendix} + +%description -n libboost_type_erasure%{lib_appendix} +This package contains the Boost::TypeErasure runtime library. + %if %{build_quickbook} %package -n quickbook Summary: Documentation tool geared towards C++ @@ -426,9 +437,11 @@ %patch7 %patch9 -p1 %patch10 -p1 -%patch11 -p1 %patch12 -p1 %patch13 +%patch14 -p1 +%patch15 -p1 +%patch16 -p1 #stupid build machinery copies .orig files find . -name \*.orig -exec rm {} + @@ -468,11 +481,9 @@ BJAM_CONFIG="-d2 -j$JOBS -sICU_PATH=%{_prefix}" PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') PYTHON3_VERSION=$(python3 -c 'import sys; print (sys.version[:3])') -PYTHON3_INCLUDE=m -PYTHON_FLAGS="--with-python-root=%{_prefix} --with-python-version=$PYTHON_VERSION" +PYTHON3_ABIFLAGS=m export REGEX_FLAGS="--with-icu" export EXPAT_INCLUDE=%{_includedir} EXPAT_LIBPATH=%{_libdir} -export PYTHON_FLAGS LIBRARIES_FLAGS=--with-libraries=all %if !%{build_context} # coroutine/coroutine2 depend on context @@ -501,12 +512,24 @@ using gcc : : : <compileflags>\$(RPM_OPT_FLAGS) ; using python + : $PYTHON_VERSION + : /usr/bin/python2 + : /usr/include/python$PYTHON_VERSION + : + : + : + : + ; + +using python : $PYTHON3_VERSION : /usr/bin/python$PYTHON3_VERSION - : /usr/include/python$PYTHON3_VERSION$PYTHON3_INCLUDE + : /usr/include/python$PYTHON3_VERSION$PYTHON3_ABIFLAGS : /usr/lib/python$PYTHON3_VERSION : : + : + $PYTHON3_ABIFLAGS ; EOF @@ -830,6 +853,10 @@ %defattr(-, root, root, -) %{_libdir}/libboost_timer*.so.* +%files -n libboost_type_erasure%{lib_appendix} +%defattr(-, root, root, -) +%{_libdir}/libboost_type_erasure*.so.* + %files devel %defattr(-, root, root, -) %{_includedir}/boost ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.Hmn75Q/_old 2016-01-07 00:19:44.000000000 +0100 +++ /var/tmp/diff_new_pack.Hmn75Q/_new 2016-01-07 00:19:44.000000000 +0100 @@ -1,23 +1,24 @@ boost-devel requires -boost-<targettype> -libboost_atomic1_59_0 -libboost_container1_59_0 -libboost_context1_59_0 -libboost_coroutine1_59_0 -libboost_date_time1_59_0 -libboost_filesystem1_59_0 -libboost_graph1_59_0 -libboost_graph_parallel1_59_0 -libboost_iostreams1_59_0 -libboost_math1_59_0 -libboost_mpi1_59_0 -libboost_test1_59_0 -libboost_program_options1_59_0 -libboost_python1_59_0 -libboost_random1_59_0 -libboost_serialization1_59_0 -libboost_signals1_59_0 -libboost_system1_59_0 -libboost_thread1_59_0 -libboost_wave1_59_0 -libboost_regex1_59_0 +libboost_atomic1_60_0 +libboost_container1_60_0 +libboost_context1_60_0 +libboost_coroutine1_60_0 +libboost_date_time1_60_0 +libboost_filesystem1_60_0 +libboost_graph1_60_0 +libboost_graph_parallel1_60_0 +libboost_iostreams1_60_0 +libboost_math1_60_0 +libboost_mpi1_60_0 +libboost_test1_60_0 +libboost_program_options1_60_0 +libboost_python1_60_0 +libboost_random1_60_0 +libboost_serialization1_60_0 +libboost_signals1_60_0 +libboost_system1_60_0 +libboost_thread1_60_0 +libboost_type_erasure1_60_0 +libboost_wave1_60_0 +libboost_regex1_60_0 ++++++ boost-1.55.0-python-test-PyImport_AppendInittab.patch ++++++ 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 <class Cb> +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 ++++++ boost-1.57.0-python-abi_letters.patch ++++++ --- 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 # using python : 2.3 : /usr/local/bin/python ; # rule init ( version ? : cmd-or-prefix ? : includes * : libraries ? - : condition * : extension-suffix ? ) + : condition * : extension-suffix ? : abi-letters ? ) { project.push-current $(.project) ; @@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ? } } - configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ; + configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ; project.pop-current ; } @@ -653,7 +653,7 @@ local rule system-library-dependencies ( # Declare a target to represent Python's library. # -local rule declare-libpython-target ( version ? : requirements * ) +local rule declare-libpython-target ( version ? : requirements * : abi-letters ? ) { # Compute the representation of Python version in the name of Python's # library file. @@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve } # Declare it. - lib python.lib : : <name>python$(lib-version) $(requirements) ; + lib python.lib : : <name>python$(lib-version)$(abi-letters) $(requirements) ; } # Implementation of init. local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? : - condition * : extension-suffix ? ) + condition * : extension-suffix ? : abi-letters ? ) { local prefix ; local exec-prefix ; @@ -699,6 +699,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 } else { - declare-libpython-target $(version) : $(target-requirements) ; + declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ; # This is an evil hack. On, Windows, when Python is embedded, nothing # seems to set up sys.path to include Python's standard library ++++++ boost-1.57.0-python-libpython_dep.patch ++++++ Index: boost_1_57_0/tools/build/src/tools/python.jam =================================================================== --- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406) +++ boost_1_57_0/tools/build/src/tools/python.jam (working copy) @@ -994,7 +994,7 @@ else { alias python_for_extensions - : + : python : $(target-requirements) : : $(usage-requirements) ++++++ boost-disable-pch-on-aarch64.patch ++++++ --- /var/tmp/diff_new_pack.Hmn75Q/_old 2016-01-07 00:19:44.000000000 +0100 +++ /var/tmp/diff_new_pack.Hmn75Q/_new 2016-01-07 00:19:44.000000000 +0100 @@ -1,7 +1,6 @@ -Index: boost_1_58_0/libs/math/build/Jamfile.v2 -=================================================================== ---- boost_1_58_0.orig/libs/math/build/Jamfile.v2 -+++ boost_1_58_0/libs/math/build/Jamfile.v2 +diff -urEbwB boost_1_60_0.orig/libs/math/build/Jamfile.v2 boost_1_60_0/libs/math/build/Jamfile.v2 +--- boost_1_60_0.orig/libs/math/build/Jamfile.v2 2015-12-23 17:26:17.352006018 +0100 ++++ boost_1_60_0/libs/math/build/Jamfile.v2 2015-12-23 20:41:51.707246969 +0100 @@ -4,23 +4,17 @@ # http://www.boost.org/LICENSE_1_0.txt. @@ -18,7 +17,7 @@ - <toolset>gcc,<target-os>windows:<pch>off #<toolset>gcc:<cxxflags>-fvisibility=hidden <toolset>intel-linux:<cxxflags>-fvisibility=hidden - <toolset>sun:<cxxflags>-xldscope=hidden + #<toolset>sun:<cxxflags>-xldscope=hidden [ check-target-builds ../config//has_gcc_visibility "gcc visibility" : <toolset>gcc:<cxxflags>-fvisibility=hidden : ] ; @@ -26,7 +25,7 @@ C99_SOURCES = acosh asinh -@@ -80,19 +74,19 @@ obj long_double_check : ../config/has_lo +@@ -80,19 +74,19 @@ explicit long_double_check ; # Library targets @@ -49,7 +48,7 @@ : <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1 <dependency>../config//has_long_double_support -@@ -100,19 +94,19 @@ lib boost_math_tr1l : ../src/tr1/$(TR1_S +@@ -100,19 +94,19 @@ [ check-target-builds ../config//has_long_double_support "long double support" : : <build>no ] ; @@ -72,3 +71,5 @@ : <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1 <dependency>../config//has_long_double_support +Only in boost_1_60_0/libs/math/build: Jamfile.v2.orig +Only in boost_1_60_0/libs/math/build: Jamfile.v2.rej ++++++ boost_1_59_0.tar.bz2 -> boost_1_60_0.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/boost/boost_1_59_0.tar.bz2 /work/SRC/openSUSE:Factory/.boost.new/boost_1_60_0.tar.bz2 differ: char 11, line 1