Accepting request 351914 from devel:libraries:c_c++
- 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 - 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 * New library: python3 OBS-URL: https://build.opensuse.org/request/show/351914 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/boost?expand=0&rev=104
This commit is contained in:
commit
11d01a41f0
@ -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
|
||||
|
98
boost-1.55.0-python-test-PyImport_AppendInittab.patch
Normal file
98
boost-1.55.0-python-test-PyImport_AppendInittab.patch
Normal file
@ -0,0 +1,98 @@
|
||||
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
|
62
boost-1.57.0-python-abi_letters.patch
Normal file
62
boost-1.57.0-python-abi_letters.patch
Normal file
@ -0,0 +1,62 @@
|
||||
--- 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
|
13
boost-1.57.0-python-libpython_dep.patch
Normal file
13
boost-1.57.0-python-libpython_dep.patch
Normal file
@ -0,0 +1,13 @@
|
||||
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)
|
@ -1,25 +0,0 @@
|
||||
From f410fbd64d887e2a8824f968b0533588489b5430 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Wakely <jwakely@redhat.com>
|
||||
Date: Wed, 2 Sep 2015 13:02:12 +0100
|
||||
Subject: [PATCH] Python: Fix condition for make_setter overload.
|
||||
|
||||
This fixes the regression caused by 42e7d7b.
|
||||
|
||||
Fixes #39
|
||||
---
|
||||
include/boost/python/data_members.hpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/boost/python/data_members.hpp b/include/boost/python/data_members.hpp
|
||||
index 139bde3..5d3309c 100644
|
||||
--- a/boost/python/data_members.hpp
|
||||
+++ b/boost/python/data_members.hpp
|
||||
@@ -305,7 +305,7 @@ inline object make_setter(D& x)
|
||||
return detail::make_setter(x, default_call_policies(), is_member_pointer<D>(), 0);
|
||||
}
|
||||
|
||||
-# if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
|
||||
+# if !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
|
||||
template <class D>
|
||||
inline object make_setter(D const& x)
|
||||
{
|
@ -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 @@ Index: boost_1_58_0/libs/math/build/Jamfile.v2
|
||||
- <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 @@ Index: boost_1_58_0/libs/math/build/Jamfile.v2
|
||||
|
||||
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 @@ Index: boost_1_58_0/libs/math/build/Jamfile.v2
|
||||
:
|
||||
<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 @@ Index: boost_1_58_0/libs/math/build/Jamfile.v2
|
||||
:
|
||||
<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
|
||||
|
@ -1,3 +1,31 @@
|
||||
-------------------------------------------------------------------
|
||||
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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 13 15:31:10 UTC 2015 - egeorget@openmailbox.org
|
||||
|
||||
|
49
boost.spec
49
boost.spec
@ -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 @@ Patch6: boost-use_std_xml_catalog.patch
|
||||
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 @@ Requires: boost-license%{lib_appendix}
|
||||
%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 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {}
|
||||
%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 @@ export LONG_DOUBLE_FLAGS="--disable-long-double"
|
||||
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
|
||||
@ -500,13 +511,25 @@ local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ;
|
||||
|
||||
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 @@ install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook
|
||||
%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
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca
|
||||
size 70389425
|
3
boost_1_60_0.tar.bz2
Normal file
3
boost_1_60_0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b
|
||||
size 76553944
|
Loading…
Reference in New Issue
Block a user