+# TODO: fix serialization
#
# Conditional build:
-%bcond_with context # enable Boost Context [gas+PE combination not supported]
+%bcond_without context # Boost Context and dependent modules [gas+PE not supported by upstream]
+%bcond_with serialization # Boost Serialization [broken for MinGW in 1.61: https://svn.boost.org/trac/boost/ticket/12205]
#
%define realname boost
Summary: The Boost C++ Libraries - MinGW32 cross version
Summary(pl.UTF-8): Biblioteki C++ "Boost" - wersja skrośna dla MinGW32
Name: crossmingw32-%{realname}
-Version: 1.55.0
+Version: 1.61.0
%define fver %(echo %{version} | tr . _)
Release: 1
License: Boost Software License and others
Group: Development/Libraries
Source0: http://downloads.sourceforge.net/boost/%{realname}_%{fver}.tar.bz2
-# Source0-md5: d6eef4b4cacb2183f2bf265a5a03a354
+# Source0-md5: 6095876341956f65f9d35939ccea1a9f
+Patch0: boost-windows-decl.patch
URL: http://www.boost.org/
BuildRequires: crossmingw32-bzip2
BuildRequires: crossmingw32-gcc-c++
%define filterout_c -f[-a-z0-9=]*
%define filterout_cxx -f[-a-z0-9=]*
-%define abi_tag 1_55
+%define abi_tag 1_61
%description
The Boost web site provides free peer-reviewed portable C++ source
%prep
%setup -q -n %{realname}_%{fver}
+%patch0 -p1
-echo 'using gcc : : %{target}-g++ : <cxxflags>"%{rpmcxxflags}"' \
- '<archiver>%{target}-ar ;' >tools/build/v2/user-config.jam
+echo 'using gcc : : %{target}-g++ : ' \
+ '<cxxflags>"%{rpmcxxflags}"' \
+ '<archiver>%{target}-ar' \
+ '<rc>%{target}-windres ;' >tools/build/src/user-config.jam
# use Windows Message Compiler, not Midnight Commander
-%{__sed} -i -e 's,mc $(MCFLAGS),%{target}-windmc $(MCFLAGS),' tools/build/v2/tools/mc.jam
+%{__sed} -i -e 's,mc $(MCFLAGS),%{target}-windmc $(MCFLAGS),' tools/build/src/tools/mc.jam
%build
./bootstrap.sh --prefix=%{_prefix}
%{_smp_mflags} \
-sBZIP2_BINARY=bzip2 \
--layout=versioned \
- %{!?with_context:--without-context --without-coroutine} \
+ %{!?with_context:--without-context --without-coroutine --without-coroutine2} \
--without-python \
+ %{!?with_serialization:--without-serialization} \
--without-test \
+ abi=ms \
+ binary-format=pe \
debug-symbols=on \
inlining=on \
link=static,shared \
%defattr(644,root,root,755)
%{_libdir}/libboost_atomic-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_chrono-mgw*-mt-%{abi_tag}.dll.a
+%{_libdir}/libboost_container-mgw*-mt-%{abi_tag}.dll.a
%{?with_context:%{_libdir}/libboost_context-mgw*-mt-%{abi_tag}.dll.a}
%{?with_context:%{_libdir}/libboost_coroutine-mgw*-mt-%{abi_tag}.dll.a}
%{_libdir}/libboost_date_time-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_program_options-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_random-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_regex-mgw*-mt-%{abi_tag}.dll.a
-%{_libdir}/libboost_serialization-mgw*-mt-%{abi_tag}.dll.a
+%{?with_serialization:%{_libdir}/libboost_serialization-mgw*-mt-%{abi_tag}.dll.a}
%{_libdir}/libboost_signals-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_system-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_thread_win32-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_timer-mgw*-mt-%{abi_tag}.dll.a
+%{_libdir}/libboost_type_erasure-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_wave-mgw*-mt-%{abi_tag}.dll.a
-%{_libdir}/libboost_wserialization-mgw*-mt-%{abi_tag}.dll.a
+%{?with_serialization:%{_libdir}/libboost_wserialization-mgw*-mt-%{abi_tag}.dll.a}
# static-only
%{_libdir}/libboost_exception-mgw*-mt-%{abi_tag}.a
+%{_libdir}/libboost_unit_test_framework-mgw*-mt-%{abi_tag}.a
%{_includedir}/boost
%files static
%defattr(644,root,root,755)
%{_libdir}/libboost_atomic-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_chrono-mgw*-mt-%{abi_tag}.a
+%{_libdir}/libboost_container-mgw*-mt-%{abi_tag}.a
%{?with_context:%{_libdir}/libboost_context-mgw*-mt-%{abi_tag}.a}
%{?with_context:%{_libdir}/libboost_coroutine-mgw*-mt-%{abi_tag}.a}
%{_libdir}/libboost_date_time-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_program_options-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_random-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_regex-mgw*-mt-%{abi_tag}.a
-%{_libdir}/libboost_serialization-mgw*-mt-%{abi_tag}.a
+%{?with_serialization:%{_libdir}/libboost_serialization-mgw*-mt-%{abi_tag}.a}
%{_libdir}/libboost_signals-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_system-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_thread_win32-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_timer-mgw*-mt-%{abi_tag}.a
+%{_libdir}/libboost_type_erasure-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_wave-mgw*-mt-%{abi_tag}.a
-%{_libdir}/libboost_wserialization-mgw*-mt-%{abi_tag}.a
+%{?with_serialization:%{_libdir}/libboost_wserialization-mgw*-mt-%{abi_tag}.a}
%files dll
%defattr(644,root,root,755)
%{_dlldir}/libboost_atomic-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_chrono-mgw*-mt-%{abi_tag}.dll
-%{?with_context:%{_libdir}/libboost_context-mgw*-mt-%{abi_tag}.dll}
-%{?with_context:%{_libdir}/libboost_coroutine-mgw*-mt-%{abi_tag}.dll}
+%{_dlldir}/libboost_container-mgw*-mt-%{abi_tag}.dll
+%{?with_context:%{_dlldir}/libboost_context-mgw*-mt-%{abi_tag}.dll}
+%{?with_context:%{_dlldir}/libboost_coroutine-mgw*-mt-%{abi_tag}.dll}
%{_dlldir}/libboost_date_time-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_filesystem-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_graph-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_program_options-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_random-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_regex-mgw*-mt-%{abi_tag}.dll
-%{_dlldir}/libboost_serialization-mgw*-mt-%{abi_tag}.dll
+%{?with_serialization:%{_dlldir}/libboost_serialization-mgw*-mt-%{abi_tag}.dll}
%{_dlldir}/libboost_signals-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_system-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_thread_win32-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_timer-mgw*-mt-%{abi_tag}.dll
+%{_dlldir}/libboost_type_erasure-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_wave-mgw*-mt-%{abi_tag}.dll
-%{_dlldir}/libboost_wserialization-mgw*-mt-%{abi_tag}.dll
+%{?with_serialization:%{_dlldir}/libboost_wserialization-mgw*-mt-%{abi_tag}.dll}