]> git.pld-linux.org Git - packages/boost.git/blobdiff - boost.spec
- context and coroutine do not build on x32 (added TODO)
[packages/boost.git] / boost.spec
index 520a550c2b266e085c9ac1c637370ee045f6c64f..b92ee57e4fdc8c6681627df7c8f60e1874dc236b 100644 (file)
@@ -2,21 +2,39 @@
 # 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 python  # without boost-python support
-#
+
 %define                fver    %(echo %{version} | tr . _)
 Summary:       The Boost C++ Libraries
 Summary(pl.UTF-8):     Biblioteki C++ "Boost"
 Name:          boost
-Version:       1.50.0
-Release:       1
+Version:       1.56.0
+Release:       2
 License:       Boost Software License and others
 Group:         Libraries
 Source0:       http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2
-# Source0-md5: 52dd00be775e689f55a987baebccc462
+# Source0-md5: a744cf167b05d72335f27c88115f211d
 Patch0:                %{name}-link.patch
+Patch1:                %{name}-x32-context.patch
+# FC Patches:
+# 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/8871
+Patch213:      %{name}-1.54.0-numeric-unused_typedef.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
@@ -29,6 +47,8 @@ BuildRequires:        zlib-devel
 BuildConflicts:        gcc = 5:3.3.1
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                specflags       -DBOOST_IOSTREAMS_USE_DEPRECATED=1
+
 %description
 The Boost web site provides free peer-reviewed portable C++ source
 libraries. The emphasis is on libraries which work well with the C++
@@ -52,15 +72,20 @@ Summary:    Boost C++ development headers
 Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek C++ Boost
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
+Requires:      %{name}-chrono = %{version}-%{release}
+Requires:      %{name}-context = %{version}-%{release}
 Requires:      %{name}-date_time = %{version}-%{release}
 Requires:      %{name}-filesystem = %{version}-%{release}
 Requires:      %{name}-graph = %{version}-%{release}
+Requires:      %{name}-locale = %{version}-%{release}
+Requires:      %{name}-log = %{version}-%{release}
 Requires:      %{name}-program_options = %{version}-%{release}
 Requires:      %{name}-regex = %{version}-%{release}
 Requires:      %{name}-signals = %{version}-%{release}
 Requires:      %{name}-system = %{version}-%{release}
 Requires:      %{name}-test = %{version}-%{release}
 Requires:      %{name}-thread = %{version}-%{release}
+Requires:      %{name}-timer = %{version}-%{release}
 Requires:      %{name}-wave = %{version}-%{release}
 Requires:      libstdc++-devel
 Obsoletes:     boost-any-devel
@@ -120,7 +145,7 @@ Statyczne wersje podstawowych bibliotek C++ Boost.
 Summary:       Boost.Python library
 Summary(pl.UTF-8):     biblioteka Boost.Python
 Group:         Libraries
-%pyrequires_eq python
+Requires:      python
 
 %description python
 Use the Boost Python Library to quickly and easily export a C++
@@ -176,6 +201,19 @@ Useful time utilities.
 %description chrono -l pl.UTF-8
 Przydatne funkcje związane z czasem.
 
+%package context
+Summary:       Boost.Context - context switching library
+Summary(pl.UTF-8):     Boost.Context - biblioteka do zmiany kontekstu
+Group:         Libraries
+
+%description context
+Boost.Context - context switching library, providing a sort of
+cooperative multitasking on a single thread.
+
+%description context -l pl.UTF-8
+Boost.Context - biblioteka do zmiany kontekstu, zapewniająca pewną
+wielozadaniowość kooperatywnąw ramach pojedynczego wątku.
+
 %package date_time
 Summary:       Date-Time library
 Summary(pl.UTF-8):     Biblioteka daty-czasu
@@ -228,6 +266,17 @@ Provide localization and Unicode handling tools for C++.
 %description locale -l pl.UTF-8
 Narzędzia do obsługi lokalizacji i Unikodu w C++.
 
+%package log
+Summary:       Provide logging tools for C++
+Summary(pl.UTF-8):     Narzędzia do logowania w C++
+Group:         Libraries
+
+%description log
+Provide logging tools for C++.
+
+%description log -l pl.UTF-8
+Narzędzia do logowania w C++.
+
 %package program_options
 Summary:       Access to program options, via conventional methods such as command line and config file
 Summary(pl.UTF-8):     Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny
@@ -298,18 +347,6 @@ execution monitoring.
 Wsparcie dla prostego testowania programu, pełnego testowania i
 monitorowania wykonania programu.
 
-%package timer
-Summary:       Event timer, progress timer, and progress display classes
-Summary(pl.UTF-8):     Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu
-Group:         Libraries
-Obsoletes:     boost < 1.33
-
-%description timer
-Event timer, progress timer, and progress display classes.
-
-%description timer -l pl.UTF-8
-Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu.
-
 %package thread
 Summary:       Portable C++ threads library
 Summary(pl.UTF-8):     Przenośna biblioteka wątków C++
@@ -322,6 +359,18 @@ Portable C++ threads library - shared library.
 %description thread -l pl.UTF-8
 Przenośna biblioteka wątków dla C++ - biblioteka dzielona.
 
+%package timer
+Summary:       Event timer, progress timer, and progress display classes
+Summary(pl.UTF-8):     Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu
+Group:         Libraries
+Obsoletes:     boost < 1.33
+
+%description timer
+Event timer, progress timer, and progress display classes.
+
+%description timer -l pl.UTF-8
+Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu.
+
 %package wave
 Summary:       Boost.Wave - a standard compliant C++ preprocessor library
 Summary(pl.UTF-8):     Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
@@ -348,21 +397,34 @@ Dokumentacja dla biblioteki Boost C++.
 %prep
 %setup -q -n %{name}_%{fver}
 %patch0 -p1
+#patch1 -p0
+
+%patch203 -p0
+%patch211 -p1
+%patch212 -p1
+%patch213 -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/v2/tools/gcc.jam
+%{__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/v2/tools/gcc.jam
+%{__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
+#%{__sed} -i 's:find-static:find-shared:' libs/graph/build/Jamfile.v2
 
-cat << EOF > tools/build/v2/user-config.jam
-using gcc : %(%{__cxx} -dumpversion) : %{__cxx} ;
+cat << EOF > tools/build/src/user-config.jam
+using gcc : %{cxx_version} : %{__cxx} ;
 EOF
 
+# cleanup backups after patching
+find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+
 %build
 %if %{with python}
 PYTHON_VERSION=$(%{__python} -c 'import sys; print sys.version[0:3]')
@@ -374,10 +436,20 @@ PYTHON_VERSION=
 EXPAT_INCLUDE=%{_includedir} \
 EXPAT_LIBPATH=%{_libdir} \
 ICU_PATH=%{_prefix} \
-./bootstrap.sh --prefix=%{_prefix}
+./bootstrap.sh \
+       --prefix=%{_prefix}
+
 ./b2 \
+%ifarch x32
+       --without-context \
+       --without-coroutine \
+%endif
        -d2 --toolset=gcc \
-       variant=release debug-symbols=on inlining=on link=static,shared threading=multi
+       variant=release \
+       debug-symbols=on \
+       inlining=on \
+       link=static,shared \
+       threading=multi
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -445,6 +517,9 @@ rm -rf $RPM_BUILD_ROOT
 %post  chrono -p /sbin/ldconfig
 %postun        chrono -p /sbin/ldconfig
 
+%post  context -p /sbin/ldconfig
+%postun        context -p /sbin/ldconfig
+
 %post  date_time -p /sbin/ldconfig
 %postun        date_time -p /sbin/ldconfig
 
@@ -475,17 +550,22 @@ rm -rf $RPM_BUILD_ROOT
 %post  test -p /sbin/ldconfig
 %postun        test -p /sbin/ldconfig
 
-%post  timer -p /sbin/ldconfig
-%postun        timer -p /sbin/ldconfig
-
 %post  thread -p /sbin/ldconfig
 %postun        thread -p /sbin/ldconfig
 
+%post  timer -p /sbin/ldconfig
+%postun        timer -p /sbin/ldconfig
+
 %post  wave -p /sbin/ldconfig
 %postun        wave -p /sbin/ldconfig
 
 %files
 %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.*.*.*
@@ -494,12 +574,20 @@ rm -rf $RPM_BUILD_ROOT
 
 %files devel
 %defattr(644,root,root,755)
+%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
 %attr(755,root,root) %{_libdir}/libboost_iostreams.so
 %attr(755,root,root) %{_libdir}/libboost_locale.so
+%attr(755,root,root) %{_libdir}/libboost_log.so
+%attr(755,root,root) %{_libdir}/libboost_log_setup.so
 %attr(755,root,root) %{_libdir}/libboost_math_*.so
 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so
 %attr(755,root,root) %{_libdir}/libboost_program_options.so
@@ -519,13 +607,21 @@ rm -rf $RPM_BUILD_ROOT
 
 %files static
 %defattr(644,root,root,755)
+%{_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
 %{_libdir}/libboost_graph.a
 %{_libdir}/libboost_iostreams.a
 %{_libdir}/libboost_locale.a
+%{_libdir}/libboost_log.a
+%{_libdir}/libboost_log_setup.a
 %{_libdir}/libboost_math_*.a
 %{_libdir}/libboost_prg_exec_monitor.a
 %{_libdir}/libboost_program_options.a
@@ -561,6 +657,12 @@ 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)
 %attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
@@ -577,6 +679,11 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.*
 
+%files log
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_log.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.*
+
 %files program_options
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.*
@@ -598,14 +705,14 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.*
 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.*
 
-%files timer
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.*
-
 %files thread
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.*
 
+%files timer
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.*
+
 %files wave
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.*
This page took 0.231591 seconds and 4 git commands to generate.