]> git.pld-linux.org Git - packages/boost.git/blobdiff - boost.spec
- updated to 1.63.0
[packages/boost.git] / boost.spec
index 091f277bfd18386e4ca97a2c14abb52cdfd83f78..11b90594885a96c67ed705dedb0d9b957057a6f5 100644 (file)
@@ -2,46 +2,48 @@
 # TODO:
 #      - think about building MPI.
 #      - split shared libs from core package into -iostreams/-serialization.
-#      - fix building context and corouting on x32 (patch1)
 #
 # 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.57.0
-Release:       2
+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: 1be49befbdd9a5ce9def2983ba3e7b76
+# 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/8870
-Patch211:      %{name}-1.54.0-spirit-unused_typedef.patch
-Patch212:      %{name}-1.54.0-spirit-unused_typedef-2.patch
-# https://svn.boost.org/trac/boost/ticket/8878
-Patch218:      %{name}-1.54.0-locale-unused_typedef.patch
 # https://svn.boost.org/trac/boost/ticket/8881
 Patch221:      %{name}-1.54.0-mpi-unused_typedef.patch
-# https://svn.boost.org/trac/boost/ticket/8888
-Patch222:      %{name}-1.54.0-python-unused_typedef.patch
-# https://svn.boost.org/trac/boost/ticket/9038
-Patch224:      %{name}-1.54.0-pool-test_linking.patch
 URL:           http://www.boost.org/
 BuildRequires: bzip2-devel
 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
@@ -49,6 +51,9 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                specflags       -DBOOST_IOSTREAMS_USE_DEPRECATED=1
 
+# __once_call, __once_callable non-function symbols from libstdc++
+%define                skip_post_check_so      libboost_context.so.*
+
 %description
 The Boost web site provides free peer-reviewed portable C++ source
 libraries. The emphasis is on libraries which work well with the C++
@@ -73,9 +78,7 @@ Summary(pl.UTF-8):    Pliki nagłówkowe bibliotek C++ Boost
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 Requires:      %{name}-chrono = %{version}-%{release}
-%ifnarch x32
 Requires:      %{name}-context = %{version}-%{release}
-%endif
 Requires:      %{name}-date_time = %{version}-%{release}
 Requires:      %{name}-filesystem = %{version}-%{release}
 Requires:      %{name}-graph = %{version}-%{release}
@@ -145,7 +148,7 @@ Statyczne wersje podstawowych bibliotek C++ Boost.
 
 %package python-devel-common
 Summary:       Boost.Python development headers
-Summary(pl.UTF-8):     Pliki nagłówkowe dla Boost.Python
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki Boost.Python
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 
@@ -153,62 +156,63 @@ Requires: %{name}-devel = %{version}-%{release}
 Headers for the Boost.Python library.
 
 %description python-devel-common -l pl.UTF-8
-Pliki nagłówkowe dla biblioteki Boost.Python.
+Pliki nagłówkowe biblioteki Boost.Python.
 
 %package python
-Summary:       Boost.Python library
-Summary(pl.UTF-8):     biblioteka Boost.Python
+Summary:       Boost.Python library for Python 2
+Summary(pl.UTF-8):     Biblioteka Boost.Python dla Pythona 2
 Group:         Libraries
-Requires:      python
+Requires:      python-libs
 
 %description python
 Use the Boost Python Library to quickly and easily export a C++
-library to Python such that the Python interface is very similar to
-the C++ interface. It is designed to be minimally intrusive on your
+library to Python 2 such that the Python 2 interface is very similar
+to the C++ interface. It is designed to be minimally intrusive on your
 C++ design. In most cases, you should not have to alter your C++
 classes in any way in order to use them with Boost.Python. The system
-should simply ``reflect'' your C++ classes and functions into Python.
+should simply ``reflect'' your C++ classes and functions into Python
+3.
 
 %description python -l pl.UTF-8
 Biblioteka Boost Python służy do szybkiego i prostego eksportu
-biblioteki C++ do Pythona, tak że interfejs Pythona jest bardzo
+biblioteki C++ do Pythona 2, tak że interfejs Pythona 2 jest bardzo
 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
 narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
 większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
 żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
-klasy C++ i funkcje do Pythona.
+klasy C++ i funkcje do Pythona 3.
 
 %package python-devel
-Summary:       Boost.Python development library
-Summary(pl.UTF-8):     Biblioteka developerska Boost.Python
+Summary:       Boost.Python development files for Python 2
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Boost.Python dla Pythona 2
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 Requires:      %{name}-python = %{version}-%{release}
 Requires:      %{name}-python-devel-common = %{version}-%{release}
 
 %description python-devel
-Boost.Python development library.
+Boost.Python development files for Python 2.
 
 %description python-devel -l pl.UTF-8
-Biblioteka developerska Boost.Python.
+Pliki programistyczne biblioteki Boost.Python dla Pythona 2.
 
 %package python-static
-Summary:       Static version of Boost.Python library
-Summary(pl.UTF-8):     Statyczna wersja biblioteki Boost.Python
+Summary:       Static version of Boost.Python library for Python 2
+Summary(pl.UTF-8):     Statyczna wersja biblioteki Boost.Python dla Pythona 2
 Group:         Development/Libraries
 Requires:      %{name}-python-devel = %{version}-%{release}
 
 %description python-static
-Static version of Boost.Python library.
+Static version of Boost.Python library for Python 2.
 
 %description python-static -l pl.UTF-8
-Statyczna wersja biblioteki Boost.Python.
+Statyczna wersja biblioteki Boost.Python dla Pythona 2.
 
 %package python3
-Summary:       Boost.Python library
-Summary(pl.UTF-8):     biblioteka Boost.Python
+Summary:       Boost.Python library for Python 3
+Summary(pl.UTF-8):     biblioteka Boost.Python dla Pythona 3
 Group:         Libraries
-Requires:      python3
+Requires:      python3-libs
 
 %description python3
 Use the Boost Python Library to quickly and easily export a C++
@@ -216,7 +220,8 @@ library to Python 3 such that the Python 3 interface is very similar
 to the C++ interface. It is designed to be minimally intrusive on your
 C++ design. In most cases, you should not have to alter your C++
 classes in any way in order to use them with Boost.Python. The system
-should simply ``reflect'' your C++ classes and functions into Python 3.
+should simply ``reflect'' your C++ classes and functions into Python
+3.
 
 %description python3 -l pl.UTF-8
 Biblioteka Boost Python służy do szybkiego i prostego eksportu
@@ -228,30 +233,30 @@ większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
 klasy C++ i funkcje do Pythona 3.
 
 %package python3-devel
-Summary:       Boost.Python development library
-Summary(pl.UTF-8):     Biblioteka developerska Boost.Python
+Summary:       Boost.Python development files for Python 3
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Boost.Python dla Pythona 3
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
-Requires:      %{name}-python3 = %{version}-%{release}
 Requires:      %{name}-python-devel-common = %{version}-%{release}
+Requires:      %{name}-python3 = %{version}-%{release}
 
 %description python3-devel
-Boost.Python development library.
+Boost.Python development files for Python 3.
 
 %description python3-devel -l pl.UTF-8
-Biblioteka developerska Boost.Python.
+Pliki programistyczne biblioteki Boost.Python dla Pythona 3.
 
 %package python3-static
-Summary:       Static version of Boost.Python library
-Summary(pl.UTF-8):     Statyczna wersja biblioteki Boost.Python
+Summary:       Static version of Boost.Python library for Python 3
+Summary(pl.UTF-8):     Statyczna wersja biblioteki Boost.Python dla Pythona 3
 Group:         Development/Libraries
 Requires:      %{name}-python3-devel = %{version}-%{release}
 
 %description python3-static
-Static version of Boost.Python library.
+Static version of Boost.Python library for Python 3.
 
 %description python3-static -l pl.UTF-8
-Statyczna wersja biblioteki Boost.Python.
+Statyczna wersja biblioteki Boost.Python dla Pythona 3.
 
 %package chrono
 Summary:       Useful time utilities
@@ -450,7 +455,9 @@ Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
 Summary:       Boost C++ Library documentation
 Summary(pl.UTF-8):     Dokumentacja dla biblioteki Boost C++
 Group:         Documentation
-Requires:      %{name}-devel = %{version}-%{release}
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description doc
 Documentation for the Boost C++ Library.
@@ -461,28 +468,17 @@ Dokumentacja dla biblioteki Boost C++.
 %prep
 %setup -q -n %{name}_%{fver}
 %patch0 -p1
-#patch1 -p0
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
+%patch201 -p1
+%patch202 -p1
 %patch203 -p0
-%patch211 -p1
-%patch212 -p1
-%patch218 -p1
 %patch221 -p1
-%patch222 -p1
-%patch224 -p1
-
-# - don't know how to pass it through (b)jam -s (no way?)
-#   due to oversophisticated build flags system.
-# - pass -fPIC due to <shared-linkable> removal.
-%{__sed} -i "s/<optimization>speed : -O3/<optimization>speed : ${CXXFLAGS:-%rpmcxxflags} -fPIC/" tools/build/src/tools/gcc.jam
-
-# cleanup -g switch to avoid override debuginfocflags.
-%{__sed} -i 's/<debug-symbols>on : -g/<debug-symbols>on :/' tools/build/src/tools/gcc.jam
-# link against shared expat library.
-#%{__sed} -i 's:find-static:find-shared:' libs/graph/build/Jamfile.v2
 
 cat << EOF > tools/build/src/user-config.jam
-using gcc : %{cxx_version} : %{__cxx} ;
+using gcc : %{cxx_version} : %{__cxx} : <cflags>"%{rpmcflags} -fPIC" <cxxflags>"%{rpmcxxflags} -fPIC" <linkflags>"%{rpmldflags}" ;
 EOF
 
 # cleanup backups after patching
@@ -497,10 +493,6 @@ ICU_PATH=%{_prefix} \
        -without-libraries=python
 
 ./b2 \
-%ifarch x32
-       --without-context \
-       --without-coroutine \
-%endif
        -d2 --toolset=gcc \
        variant=release \
        debug-symbols=on \
@@ -508,12 +500,11 @@ ICU_PATH=%{_prefix} \
        link=static,shared \
        threading=multi
 
-
-%if %{with python2}
-echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-config.jam
+%if %{with python3}
+echo "using python : %{py3_ver} : %{py3_prefix} : %{py3_incdir} : : : : m ;" >> project-config.jam
 ./b2 \
-       --with-python python=%{py_ver} \
-       -d2 --toolset=gcc \
+       --with-python python=%{py3_ver} \
+       -a -d2 --toolset=gcc \
        variant=release \
        debug-symbols=on \
        inlining=on \
@@ -521,11 +512,12 @@ echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-confi
        threading=multi
 %endif
 
-%if %{with python3}
-echo "using python : %{py3_ver}m : %{py3_prefix} : %{py3_incdir} ;" >> project-config.jam
+%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=%{py3_ver}m \
-       -d2 --toolset=gcc \
+       --with-python python=%{py_ver} \
+       -a -d2 --toolset=gcc \
        variant=release \
        debug-symbols=on \
        inlining=on \
@@ -648,13 +640,12 @@ 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.*.*.*
-%ifnarch x32
 %attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.*
-%endif
 %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_type_erasure.so.*.*.*
 %attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.*
 
 %files devel
@@ -662,10 +653,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libboost_atomic.so
 %attr(755,root,root) %{_libdir}/libboost_chrono.so
 %attr(755,root,root) %{_libdir}/libboost_container.so
-%ifnarch x32
 %attr(755,root,root) %{_libdir}/libboost_context.so
 %attr(755,root,root) %{_libdir}/libboost_coroutine.so
-%endif
 %attr(755,root,root) %{_libdir}/libboost_date_time.so
 %attr(755,root,root) %{_libdir}/libboost_filesystem.so
 %attr(755,root,root) %{_libdir}/libboost_graph.so
@@ -683,6 +672,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libboost_system.so
 %attr(755,root,root) %{_libdir}/libboost_thread.so
 %attr(755,root,root) %{_libdir}/libboost_timer.so
+%attr(755,root,root) %{_libdir}/libboost_type_erasure.so
 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so
 %attr(755,root,root) %{_libdir}/libboost_wave.so
 %attr(755,root,root) %{_libdir}/libboost_wserialization.so
@@ -695,10 +685,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libboost_atomic.a
 %{_libdir}/libboost_chrono.a
 %{_libdir}/libboost_container.a
-%ifnarch x32
 %{_libdir}/libboost_context.a
 %{_libdir}/libboost_coroutine.a
-%endif
 %{_libdir}/libboost_date_time.a
 %{_libdir}/libboost_exception.a
 %{_libdir}/libboost_filesystem.a
@@ -718,6 +706,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libboost_test_exec_monitor.a
 %{_libdir}/libboost_timer.a
 %{_libdir}/libboost_thread.a
+%{_libdir}/libboost_type_erasure.a
 %{_libdir}/libboost_unit_test_framework.a
 %{_libdir}/libboost_wave.a
 %{_libdir}/libboost_wserialization.a
@@ -732,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
 
@@ -761,11 +768,9 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.*
 
-%ifnarch x32
 %files context
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libboost_context.so.*.*.*
-%endif
 
 %files date_time
 %defattr(644,root,root,755)
This page took 0.062916 seconds and 4 git commands to generate.