]> git.pld-linux.org Git - packages/boost.git/blobdiff - boost.spec
- package boost-fiber
[packages/boost.git] / boost.spec
index c086132fda1a2a3493f4a595aec7d7c6a0e603b1..e8db6d4d1d1404587538de0d672616e3b46ef679 100644 (file)
@@ -4,29 +4,30 @@
 #      - 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.59.0
-Release:       1
+Version:       1.63.0
+Release:       3
 License:       Boost Software License and others
 Group:         Libraries
 Source0:       http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2
-# Source0-md5: 6aa9a5c6a4ca1016edd0ed1178e3cb87
+# 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
-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
 URL:           http://www.boost.org/
@@ -35,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
@@ -44,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.* libboost_fiber.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++
@@ -70,6 +80,7 @@ Requires:     %{name} = %{version}-%{release}
 Requires:      %{name}-chrono = %{version}-%{release}
 Requires:      %{name}-context = %{version}-%{release}
 Requires:      %{name}-date_time = %{version}-%{release}
+Requires:      %{name}-fiber = %{version}-%{release}
 Requires:      %{name}-filesystem = %{version}-%{release}
 Requires:      %{name}-graph = %{version}-%{release}
 Requires:      %{name}-locale = %{version}-%{release}
@@ -227,8 +238,8 @@ 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 files for Python 3.
@@ -285,6 +296,15 @@ A set of date-time libraries.
 %description date_time -l pl.UTF-8
 Zbiór bibliotek daty-czasu.
 
+%package fiber
+Summary:       A framework for micro-/userland-threads (fibers) scheduled cooperatively
+Group:         Libraries
+
+%description fiber
+boost::fiber provides a framework for micro-/userland-threads (fibers)
+scheduled cooperatively. The API contains classes and functions
+to manage and synchronize fibers similiar to boost.thread.
+
 %package filesystem
 Summary:       Portable paths, iteration over directories, and other useful filesystem operations
 Summary(pl.UTF-8):     Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików
@@ -460,10 +480,11 @@ Dokumentacja dla biblioteki Boost C++.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
+%patch201 -p1
+%patch202 -p1
 %patch203 -p0
-%patch212 -p1
-%patch218 -p1
 %patch221 -p1
 
 cat << EOF > tools/build/src/user-config.jam
@@ -490,9 +511,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 \
@@ -502,6 +523,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} \
@@ -585,6 +607,9 @@ rm -rf $RPM_BUILD_ROOT
 %post  date_time -p /sbin/ldconfig
 %postun        date_time -p /sbin/ldconfig
 
+%post  fiber -p /sbin/ldconfig
+%postun        fiber -p /sbin/ldconfig
+
 %post  filesystem -p /sbin/ldconfig
 %postun        filesystem -p /sbin/ldconfig
 
@@ -633,6 +658,7 @@ rm -rf $RPM_BUILD_ROOT
 %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
@@ -643,6 +669,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libboost_context.so
 %attr(755,root,root) %{_libdir}/libboost_coroutine.so
 %attr(755,root,root) %{_libdir}/libboost_date_time.so
+%attr(755,root,root) %{_libdir}/libboost_fiber.so
 %attr(755,root,root) %{_libdir}/libboost_filesystem.so
 %attr(755,root,root) %{_libdir}/libboost_graph.so
 %attr(755,root,root) %{_libdir}/libboost_iostreams.so
@@ -659,6 +686,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
@@ -675,6 +703,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libboost_coroutine.a
 %{_libdir}/libboost_date_time.a
 %{_libdir}/libboost_exception.a
+%{_libdir}/libboost_fiber.a
 %{_libdir}/libboost_filesystem.a
 %{_libdir}/libboost_graph.a
 %{_libdir}/libboost_iostreams.a
@@ -692,6 +721,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
@@ -706,28 +736,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
 
@@ -743,6 +791,10 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
 
+%files fiber
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_fiber.so.*.*.*
+
 %files filesystem
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.*
This page took 0.058364 seconds and 4 git commands to generate.