]> git.pld-linux.org Git - packages/boost.git/commitdiff
- updated to 1.63.0 auto/th/boost-1.63.0-1
authorJakub Bogusz <qboosh@pld-linux.org>
Sun, 9 Apr 2017 06:08:31 +0000 (08:08 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Sun, 9 Apr 2017 06:08:31 +0000 (08:08 +0200)
- merged python-abi_letters,dual-python-build patches from Fedora
- added numpy3 patch to link numpy3 library with python3 instead of python

boost-dual-python-build.patch [new file with mode: 0644]
boost-numpy3.patch [new file with mode: 0644]
boost-python-abi_letters.patch [new file with mode: 0644]
boost.spec

diff --git a/boost-dual-python-build.patch b/boost-dual-python-build.patch
new file mode 100644 (file)
index 0000000..d20b262
--- /dev/null
@@ -0,0 +1,46 @@
+--- boost_1_63_0/tools/build/src/tools/python.jam.orig 2017-02-16 18:51:14.005483084 +0000
++++ boost_1_63_0/tools/build/src/tools/python.jam      2017-02-16 18:51:24.912497496 +0000
+@@ -926,27 +926,27 @@
+     # 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) ;
+-    }
++    #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) ;
++    #}
+     # 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) ;
+-    }
++    #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) ;
diff --git a/boost-numpy3.patch b/boost-numpy3.patch
new file mode 100644 (file)
index 0000000..0deef86
--- /dev/null
@@ -0,0 +1,11 @@
+--- 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 ] : <library>/python//python_for_extensions ]
+             [ unless [ python.numpy ] : <build>no ]
+           <include>$(numpy-include)
+-          <library>boost_python
++          [ cond $(is-py3) : <library>boost_python3 : <library>boost_python ]
+             <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+             [ cond $(is-py3) : <python>$(py3-version) ]
diff --git a/boost-python-abi_letters.patch b/boost-python-abi_letters.patch
new file mode 100644 (file)
index 0000000..7df3ee7
--- /dev/null
@@ -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
index 3a0d6b8ff2847df5df4741b623681c7c2dfb7afa..11b90594885a96c67ed705dedb0d9b957057a6f5 100644 (file)
@@ -4,23 +4,28 @@
 #      - split shared libs from core package into -iostreams/-serialization.
 #
 # Conditional build:
-%bcond_without python2         # without boost-python2 support
-%bcond_without python3         # without boost-python3 support
+%bcond_without python2         # boost-python[2] support
+%bcond_without python3         # boost-python3 support
+%bcond_without numpy           # boost-numpy support
 
 %define                fver    %(echo %{version} | tr . _)
 Summary:       The Boost C++ Libraries
 Summary(pl.UTF-8):     Biblioteki C++ "Boost"
 Name:          boost
-Version:       1.61.0
-Release:       6
+Version:       1.63.0
+Release:       1
 License:       Boost Software License and others
 Group:         Libraries
 Source0:       http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2
-# Source0-md5: 6095876341956f65f9d35939ccea1a9f
+# Source0-md5: 1c837ecd990bb022d07e7aab32b09847
 Patch0:                %{name}-link.patch
 Patch1:                %{name}-x32-context.patch
 Patch2:                %{name}-clean-gcc-flags.patch
+Patch3:                %{name}-numpy3.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
@@ -31,8 +36,14 @@ BuildRequires:       expat-devel
 BuildRequires: libicu-devel
 BuildRequires: libstdc++-devel
 BuildRequires: perl-base
-%{?with_python:BuildRequires:  python-devel >= 2.2}
-%{?with_python3:BuildRequires: python3-devel}
+%if %{with python}
+BuildRequires: python-devel >= 2.2
+%{?with_numpy:BuildRequires:   python-numpy-devel}
+%endif
+%if %{with python3}
+BuildRequires: python3-devel
+%{?with_numpy:BuildRequires:   python3-numpy-devel}
+%endif
 BuildRequires: rpm-pythonprov
 BuildRequires: zlib-devel
 BuildConflicts:        gcc = 5:3.3.1
@@ -459,7 +470,10 @@ Dokumentacja dla biblioteki Boost C++.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
+%patch201 -p1
+%patch202 -p1
 %patch203 -p0
 %patch221 -p1
 
@@ -487,9 +501,9 @@ ICU_PATH=%{_prefix} \
        threading=multi
 
 %if %{with python3}
-echo "using python : %{py3_ver}m : %{py3_prefix} : %{py3_incdir} ;" >> project-config.jam
+echo "using python : %{py3_ver} : %{py3_prefix} : %{py3_incdir} : : : : m ;" >> project-config.jam
 ./b2 \
-       --with-python python=%{py3_ver}m \
+       --with-python python=%{py3_ver} \
        -a -d2 --toolset=gcc \
        variant=release \
        debug-symbols=on \
@@ -499,6 +513,7 @@ echo "using python : %{py3_ver}m : %{py3_prefix} : %{py3_incdir} ;" >> project-c
 %endif
 
 %if %{with python2}
+%{__sed} -i -e '/^using python : 3/d' project-config.jam
 echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-config.jam
 ./b2 \
        --with-python python=%{py_ver} \
@@ -706,28 +721,46 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with python2}
 %files python
 %defattr(644,root,root,755)
+%if %{with numpy}
+%attr(755,root,root) %{_libdir}/libboost_numpy.so.*.*.*
+%endif
 %attr(755,root,root) %{_libdir}/libboost_python.so.*.*.*
 
 %files python-devel
 %defattr(644,root,root,755)
+%if %{with numpy}
+%attr(755,root,root) %{_libdir}/libboost_numpy.so
+%endif
 %attr(755,root,root) %{_libdir}/libboost_python.so
 
 %files python-static
 %defattr(644,root,root,755)
+%if %{with numpy}
+%{_libdir}/libboost_numpy.a
+%endif
 %{_libdir}/libboost_python.a
 %endif
 
 %if %{with python3}
 %files python3
 %defattr(644,root,root,755)
+%if %{with numpy}
+%attr(755,root,root) %{_libdir}/libboost_numpy3.so.*.*.*
+%endif
 %attr(755,root,root) %{_libdir}/libboost_python3.so.*.*.*
 
 %files python3-devel
 %defattr(644,root,root,755)
+%if %{with numpy}
+%attr(755,root,root) %{_libdir}/libboost_numpy3.so
+%endif
 %attr(755,root,root) %{_libdir}/libboost_python3.so
 
 %files python3-static
 %defattr(644,root,root,755)
+%if %{with numpy}
+%{_libdir}/libboost_numpy3.a
+%endif
 %{_libdir}/libboost_python3.a
 %endif
 
This page took 0.148236 seconds and 4 git commands to generate.