Accepting request 449886 from home:adamm:branches:devel:libraries:c_c++
- update to version 1.63.0 * updated libraries: atomic, container, context, fiber, fusion, geometry, hash, interprocess, intrusive, lexical cast, log, metaparse, move, optional, phoenix, python, test, typeindex, units, unordered * see http://www.boost.org/users/history/version_1_63_0.html for complete list of changes - refresh patches * boost-1.55.0-python-test-PyImport_AppendInittab.patch * boost-strict_aliasing.patch, and enable -fno-strict-aliasing for python module - baselibs.conf: * add libboost_locale * rename python to include new soname - remove python-2059618.patch, not needed - make build condition --without buil_mpi work - allow building without python3 bindings, for SLE11SP4 - remove versioned build dependency on libicu-devel, apparently not needed. - split out the boost-devel package into individudal compiled libraries and their -devel subpackages and libboost_headers-devel package for header-only libraries. - remove all the -mt.so symlinks, probably not needed anymore. - ship MPI python bindings for both Python 2.7 and 3.x OBS-URL: https://build.opensuse.org/request/show/449886 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=182
This commit is contained in:
parent
ba09852d23
commit
9d48e24b64
4
README.boost-devel
Normal file
4
README.boost-devel
Normal file
@ -0,0 +1,4 @@
|
||||
boost-devel has been split up into individual packages for simpler
|
||||
product management. Please stop depending explicitly on boost-devel
|
||||
and depend on individual boost -devel packages
|
||||
|
1
__init__.py
Normal file
1
__init__.py
Normal file
@ -0,0 +1 @@
|
||||
# placeholder
|
@ -1,25 +1,25 @@
|
||||
boost_1_62-devel
|
||||
boost_1_63-devel
|
||||
requires -boost-<targettype>
|
||||
libboost_atomic1_62_0
|
||||
libboost_container1_62_0
|
||||
libboost_context1_62_0
|
||||
libboost_coroutine1_62_0
|
||||
libboost_date_time1_62_0
|
||||
libboost_fiber1_62_0
|
||||
libboost_filesystem1_62_0
|
||||
libboost_graph1_62_0
|
||||
libboost_graph_parallel1_62_0
|
||||
libboost_iostreams1_62_0
|
||||
libboost_math1_62_0
|
||||
libboost_mpi1_62_0
|
||||
libboost_test1_62_0
|
||||
libboost_program_options1_62_0
|
||||
libboost_python1_62_0
|
||||
libboost_random1_62_0
|
||||
libboost_serialization1_62_0
|
||||
libboost_signals1_62_0
|
||||
libboost_system1_62_0
|
||||
libboost_thread1_62_0
|
||||
libboost_type_erasure1_62_0
|
||||
libboost_wave1_62_0
|
||||
libboost_regex1_62_0
|
||||
libboost_atomic1_63_0
|
||||
libboost_container1_63_0
|
||||
libboost_context1_63_0
|
||||
libboost_coroutine1_63_0
|
||||
libboost_date_time1_63_0
|
||||
libboost_fiber1_63_0
|
||||
libboost_filesystem1_63_0
|
||||
libboost_graph1_63_0
|
||||
libboost_graph_parallel1_63_0
|
||||
libboost_iostreams1_63_0
|
||||
libboost_locale1_63_0
|
||||
libboost_math1_63_0
|
||||
libboost_mpi1_63_0
|
||||
libboost_test1_63_0
|
||||
libboost_program_options1_63_0
|
||||
libboost_random1_63_0
|
||||
libboost_serialization1_63_0
|
||||
libboost_signals1_63_0
|
||||
libboost_system1_63_0
|
||||
libboost_thread1_63_0
|
||||
libboost_type_erasure1_63_0
|
||||
libboost_wave1_63_0
|
||||
libboost_regex1_63_0
|
||||
|
@ -1,7 +1,8 @@
|
||||
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()
|
||||
Index: boost_1_63_0/libs/python/test/exec.cpp
|
||||
===================================================================
|
||||
--- boost_1_63_0.orig/libs/python/test/exec.cpp
|
||||
+++ boost_1_63_0/libs/python/test/exec.cpp
|
||||
@@ -56,8 +56,24 @@ void eval_test()
|
||||
BOOST_TEST(value == "ABCDEFG");
|
||||
}
|
||||
|
||||
@ -21,17 +22,12 @@ diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/
|
||||
+
|
||||
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
|
||||
@@ -138,6 +154,19 @@ void check_pyerr(bool pyerr_expected=fal
|
||||
}
|
||||
}
|
||||
|
||||
@ -51,22 +47,25 @@ diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
BOOST_TEST(argc == 2 || argc == 3);
|
||||
std::string script = argv[1];
|
||||
@@ -156,29 +185,19 @@ int main(int argc, char **argv)
|
||||
"builtin modules");
|
||||
}
|
||||
|
||||
- // Initialize the interpreter
|
||||
- Py_Initialize();
|
||||
|
||||
-
|
||||
- if (python::handle_exception(eval_test)) {
|
||||
- check_pyerr();
|
||||
+ // 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();
|
||||
- }
|
||||
- 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();
|
||||
- check_pyerr();
|
||||
- }
|
||||
-
|
||||
- if (python::handle_exception(exec_test_error))
|
||||
@ -86,13 +85,3 @@ diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/
|
||||
// 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
|
||||
|
@ -1,12 +1,12 @@
|
||||
Index: libs/python/build/Jamfile.v2
|
||||
Index: libs/python/build/Jamfile
|
||||
===================================================================
|
||||
--- libs/python/build/Jamfile.v2.orig 2010-07-13 00:29:41.000000000 +0200
|
||||
+++ libs/python/build/Jamfile.v2 2010-08-24 12:51:20.939878260 +0200
|
||||
@@ -51,6 +51,7 @@ project boost/python
|
||||
: requirements
|
||||
-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
|
||||
<tag>@$(__name__).tag
|
||||
+ <cxxflags>-fno-strict-aliasing
|
||||
;
|
||||
--- libs/python/build/Jamfile.orig
|
||||
+++ libs/python/build/Jamfile
|
||||
@@ -116,6 +116,7 @@ rule lib_boost_python ( is-py3 ? )
|
||||
|
||||
rule tag ( name : type ? : property-set )
|
||||
-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
|
||||
<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
|
||||
+ <cxxflags>-fno-strict-aliasing
|
||||
|
||||
: # default build
|
||||
<link>shared
|
||||
|
@ -1,3 +1,31 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 4 12:31:56 UTC 2017 - adam.majer@suse.de
|
||||
|
||||
- update to version 1.63.0
|
||||
* updated libraries: atomic, container, context, fiber,
|
||||
fusion, geometry, hash, interprocess, intrusive, lexical cast,
|
||||
log, metaparse, move, optional, phoenix, python, test,
|
||||
typeindex, units, unordered
|
||||
* see http://www.boost.org/users/history/version_1_63_0.html
|
||||
for complete list of changes
|
||||
- refresh patches
|
||||
* boost-1.55.0-python-test-PyImport_AppendInittab.patch
|
||||
* boost-strict_aliasing.patch, and enable -fno-strict-aliasing
|
||||
for python module
|
||||
- baselibs.conf:
|
||||
* add libboost_locale
|
||||
* rename python to include new soname
|
||||
- remove python-2059618.patch, not needed
|
||||
- make build condition --without buil_mpi work
|
||||
- allow building without python3 bindings, for SLE11SP4
|
||||
- remove versioned build dependency on libicu-devel, apparently
|
||||
not needed.
|
||||
- split out the boost-devel package into individudal compiled
|
||||
libraries and their -devel subpackages and libboost_headers-devel
|
||||
package for header-only libraries.
|
||||
- remove all the -mt.so symlinks, probably not needed anymore.
|
||||
- ship MPI python bindings for both Python 2.7 and 3.x
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 8 13:32:31 UTC 2016 - adam.majer@suse.de
|
||||
|
||||
|
1712
boost.spec
1712
boost.spec
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0
|
||||
size 84513338
|
3
boost_1_63_0.tar.bz2
Normal file
3
boost_1_63_0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0
|
||||
size 81984414
|
115
dynamic_linking.patch
Normal file
115
dynamic_linking.patch
Normal file
@ -0,0 +1,115 @@
|
||||
Index: boost_1_63_0/libs/test/build/Jamfile.v2
|
||||
===================================================================
|
||||
--- boost_1_63_0.orig/libs/test/build/Jamfile.v2
|
||||
+++ boost_1_63_0/libs/test/build/Jamfile.v2
|
||||
@@ -93,7 +93,7 @@ lib boost_test_exec_monitor
|
||||
: # sources
|
||||
$(TEST_EXEC_MON_SOURCES).cpp
|
||||
: # requirements
|
||||
- <link>static
|
||||
+ # <link>static
|
||||
: # default build
|
||||
: # usage-requirements
|
||||
<link>shared:<define>BOOST_TEST_DYN_LINK=1
|
||||
Index: boost_1_63_0/libs/exception/build/Jamfile.v2
|
||||
===================================================================
|
||||
--- boost_1_63_0.orig/libs/exception/build/Jamfile.v2
|
||||
+++ boost_1_63_0/libs/exception/build/Jamfile.v2
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
project boost/exception
|
||||
: source-location ../src
|
||||
- : requirements <link>static
|
||||
+ : # requirements <link>static
|
||||
;
|
||||
|
||||
lib boost_exception : clone_current_exception_non_intrusive.cpp ;
|
||||
Index: boost_1_63_0/libs/chrono/build/Jamfile.v2
|
||||
===================================================================
|
||||
--- boost_1_63_0.orig/libs/chrono/build/Jamfile.v2
|
||||
+++ boost_1_63_0/libs/chrono/build/Jamfile.v2
|
||||
@@ -99,7 +99,7 @@ project boost/chrono
|
||||
|
||||
<define>BOOST_SYSTEM_NO_DEPRECATED
|
||||
<link>shared:<define>BOOST_CHRONO_DYN_LINK=1
|
||||
- <link>static:<define>BOOST_CHRONO_STATIC_LINK=1
|
||||
+ # <link>static:<define>BOOST_CHRONO_STATIC_LINK=1
|
||||
<toolset>gcc-3.4.4:<linkflags>--enable-auto-import
|
||||
<toolset>gcc-4.3.4:<linkflags>--enable-auto-import
|
||||
<toolset>gcc-4.4.0,<target-os>windows:<linkflags>--enable-auto-import
|
||||
@@ -113,6 +113,6 @@ lib boost_chrono
|
||||
: $(SOURCES).cpp
|
||||
:
|
||||
<link>shared:<define>BOOST_ALL_DYN_LINK=1 # tell source we're building dll's
|
||||
- <link>static:<define>BOOST_All_STATIC_LINK=1 # tell source we're building static lib's
|
||||
+ # <link>static:<define>BOOST_All_STATIC_LINK=1 # tell source we're building static lib's
|
||||
;
|
||||
|
||||
Index: boost_1_63_0/libs/system/build/Jamfile.v2
|
||||
===================================================================
|
||||
--- boost_1_63_0.orig/libs/system/build/Jamfile.v2
|
||||
+++ boost_1_63_0/libs/system/build/Jamfile.v2
|
||||
@@ -11,7 +11,7 @@ project boost/system
|
||||
: source-location ../src
|
||||
: usage-requirements # pass these requirement to dependents (i.e. users)
|
||||
<link>shared:<define>BOOST_SYSTEM_DYN_LINK=1
|
||||
- <link>static:<define>BOOST_SYSTEM_STATIC_LINK=1
|
||||
+# <link>static:<define>BOOST_SYSTEM_STATIC_LINK=1
|
||||
;
|
||||
|
||||
SOURCES = error_code ;
|
||||
@@ -19,7 +19,7 @@ SOURCES = error_code ;
|
||||
lib boost_system
|
||||
: $(SOURCES).cpp
|
||||
: <link>shared:<define>BOOST_SYSTEM_DYN_LINK=1
|
||||
- <link>static:<define>BOOST_SYSTEM_STATIC_LINK=1
|
||||
+# <link>static:<define>BOOST_SYSTEM_STATIC_LINK=1
|
||||
;
|
||||
|
||||
-boost-install boost_system ;
|
||||
\ No newline at end of file
|
||||
+boost-install boost_system ;
|
||||
Index: boost_1_63_0/libs/timer/build/Jamfile.v2
|
||||
===================================================================
|
||||
--- boost_1_63_0.orig/libs/timer/build/Jamfile.v2
|
||||
+++ boost_1_63_0/libs/timer/build/Jamfile.v2
|
||||
@@ -14,7 +14,7 @@ project boost/timer
|
||||
<library>/boost/system//boost_system
|
||||
: usage-requirements # pass these requirement to dependants (i.e. users)
|
||||
<link>shared:<define>BOOST_TIMER_DYN_LINK=1
|
||||
- <link>static:<define>BOOST_TIMER_STATIC_LINK=1
|
||||
+# <link>static:<define>BOOST_TIMER_STATIC_LINK=1
|
||||
;
|
||||
|
||||
SOURCES = auto_timers_construction cpu_timer ;
|
||||
@@ -22,7 +22,7 @@ SOURCES = auto_timers_construction cpu_t
|
||||
lib boost_timer
|
||||
: $(SOURCES).cpp
|
||||
: <link>shared:<define>BOOST_TIMER_DYN_LINK=1
|
||||
- <link>static:<define>BOOST_TIMER_STATIC_LINK=1
|
||||
+# <link>static:<define>BOOST_TIMER_STATIC_LINK=1
|
||||
;
|
||||
|
||||
boost-install boost_timer ;
|
||||
Index: boost_1_63_0/libs/filesystem/build/Jamfile.v2
|
||||
===================================================================
|
||||
--- boost_1_63_0.orig/libs/filesystem/build/Jamfile.v2
|
||||
+++ boost_1_63_0/libs/filesystem/build/Jamfile.v2
|
||||
@@ -11,7 +11,7 @@ project boost/filesystem
|
||||
: source-location ../src
|
||||
: usage-requirements # pass these requirement to dependents (i.e. users)
|
||||
<link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1
|
||||
- <link>static:<define>BOOST_FILESYSTEM_STATIC_LINK=1
|
||||
+# <link>static:<define>BOOST_FILESYSTEM_STATIC_LINK=1
|
||||
;
|
||||
|
||||
SOURCES =
|
||||
@@ -28,7 +28,7 @@ SOURCES =
|
||||
lib boost_filesystem
|
||||
: $(SOURCES).cpp ../../system/build//boost_system
|
||||
: <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1
|
||||
- <link>static:<define>BOOST_FILESYSTEM_STATIC_LINK=1
|
||||
+# <link>static:<define>BOOST_FILESYSTEM_STATIC_LINK=1
|
||||
:
|
||||
: # Boost.Filesystem uses some of Boost.System functions in inlined/templated
|
||||
# functions, so clients that use Boost.Filesystem will have direct references
|
1
exception.objdump
Normal file
1
exception.objdump
Normal file
@ -0,0 +1 @@
|
||||
boost::exception_detail::clone_current_exception_non_intrusive(boost::exception_detail::clone_base const*&)
|
@ -1,28 +0,0 @@
|
||||
Reverse: 2059618861eb25ae2ed3f1b6ebee8609365cbed9
|
||||
Bug: bnc#1006584
|
||||
https://svn.boost.org/trac/boost/ticket/12515
|
||||
|
||||
Index: boost_1_62_0/tools/build/src/tools/python.jam
|
||||
===================================================================
|
||||
--- boost_1_62_0.orig/tools/build/src/tools/python.jam
|
||||
+++ boost_1_62_0/tools/build/src/tools/python.jam
|
||||
@@ -903,19 +903,6 @@ local rule configure ( version ? : cmd-o
|
||||
toolset.add-requirements
|
||||
$(target-requirements:J=,):<python.interpreter>$(interpreter-cmd) ;
|
||||
|
||||
- # We also set a default requirement that assigns the first python configured
|
||||
- # for a particular target OS as the default. This makes it so that we can
|
||||
- # select a python interpreter with only knowledge of the target OS. And hence
|
||||
- # can configure different Pythons based on the target OS only.
|
||||
- local toolset-requirements = [ toolset.requirements ] ;
|
||||
- local toolset-target-os-requirements
|
||||
- = [ property.evaluate-conditionals-in-context
|
||||
- [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
|
||||
- if ! <python> in $(toolset-target-os-requirements:G)
|
||||
- {
|
||||
- toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
|
||||
- }
|
||||
-
|
||||
# Register the right suffix for extensions.
|
||||
register-extension-suffix $(extension-suffix) : $(target-requirements) ;
|
||||
|
27
python_mpi.patch
Normal file
27
python_mpi.patch
Normal file
@ -0,0 +1,27 @@
|
||||
Author: Adam Majer <adam.majer@suse.de>
|
||||
Summary: Fix MPI module loading
|
||||
|
||||
MPI requires dl.RTLD_NOW|dl.RTLD_GLOBAL flags to load
|
||||
properly.
|
||||
|
||||
|
||||
Index: boost_1_63_0/libs/mpi/build/__init__.py
|
||||
===================================================================
|
||||
--- boost_1_63_0.orig/libs/mpi/build/__init__.py
|
||||
+++ boost_1_63_0/libs/mpi/build/__init__.py
|
||||
@@ -1,10 +1,7 @@
|
||||
import sys
|
||||
-if sys.platform == 'linux2':
|
||||
- import DLFCN as dl
|
||||
- flags = sys.getdlopenflags()
|
||||
- sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)
|
||||
- import mpi
|
||||
- sys.setdlopenflags(flags)
|
||||
-else:
|
||||
- import mpi
|
||||
+import DLFCN as dl
|
||||
+flags = sys.getdlopenflags()
|
||||
+sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)
|
||||
+import boost.parallel.mpi.mpi
|
||||
+sys.setdlopenflags(flags)
|
||||
|
21
symbol_diff.sh
Normal file
21
symbol_diff.sh
Normal file
@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
# compares symbols of $1 vs. $2
|
||||
# returns diff of the two global function tables
|
||||
#
|
||||
|
||||
if test $# -ne 2; then
|
||||
echo "$0 library1 library2"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
PARAMS='[0-9a-f]\+[[:space:]]\+g[[:space:]]\+F[[:space:]]\+\.text[[:space:]]\+[0-9a-f]\+[[:space:]]\+'
|
||||
|
||||
objdump -t $1 | grep $PARAMS | sed -e 's#'$PARAMS'##' | sort > temp.$$
|
||||
objdump -t $2 | grep $PARAMS | sed -e 's#'$PARAMS'##' | sort | diff temp.$$ -
|
||||
|
||||
RET=$?
|
||||
|
||||
rm temp.$$
|
||||
|
||||
exit $RET
|
Loading…
Reference in New Issue
Block a user