diff --git a/boost.spec b/boost.spec index e07e165..9a5512a 100644 --- a/boost.spec +++ b/boost.spec @@ -1,38 +1,40 @@ %define packver %(echo "%{version}" | sed -e "s/\\\./_/g") -%define libatomic %mklibname boost_atomic %{version} -%define libchrono %mklibname boost_chrono %{version} -%define libcontainer %mklibname boost_container %{version} -%define libcontext %mklibname boost_context %{version} -%define libcoroutine %mklibname boost_coroutine %{version} -%define libdatetime %mklibname boost_date_time %{version} -%define libfilesystem %mklibname boost_filesystem %{version} -%define libgraph %mklibname boost_graph %{version} -%define libiostreams %mklibname boost_iostreams %{version} -%define liblocale %mklibname boost_locale %{version} -%define liblog %mklibname boost_log %{version} -%define liblogsetup %mklibname boost_log_setup %{version} -%define libmathc99 %mklibname boost_math_c99_ %{version} -%define libmathc99f %mklibname boost_math_c99f %{version} -%define libmathc99l %mklibname boost_math_c99l %{version} +%define libatomic %mklibname boost_atomic_ %{version} +%define libchrono %mklibname boost_chrono_ %{version} +%define libcontainer %mklibname boost_container_ %{version} +%define libcontext %mklibname boost_context_ %{version} +%define libcontract %mklibname boost_contract_ %{version} +%define libcoroutine %mklibname boost_coroutine_ %{version} +%define libdatetime %mklibname boost_date_time_ %{version} +%define libfilesystem %mklibname boost_filesystem_ %{version} +%define libgraph %mklibname boost_graph_ %{version} +%define libiostreams %mklibname boost_iostreams_ %{version} +%define liblocale %mklibname boost_locale_ %{version} +%define liblog %mklibname boost_log_ %{version} +%define liblogsetup %mklibname boost_log_setup_ %{version} +%define libmathc99 %mklibname boost_math_c99__ %{version} +%define libmathc99f %mklibname boost_math_c99f_ %{version} +%define libmathc99l %mklibname boost_math_c99l_ %{version} %define libmathtr1 %mklibname boost_math_tr1_ %{version} -%define libmathtr1f %mklibname boost_math_tr1f %{version} -%define libmathtr1l %mklibname boost_math_tr1l %{version} -%define libprgexecmonitor %mklibname boost_prg_exec_monitor %{version} -%define libprogramoptions %mklibname boost_program_options %{version} -%define libpython %mklibname boost_python %{version} +%define libmathtr1f %mklibname boost_math_tr1f_ %{version} +%define libmathtr1l %mklibname boost_math_tr1l_ %{version} +%define libprgexecmonitor %mklibname boost_prg_exec_monitor_ %{version} +%define libprogramoptions %mklibname boost_program_options_ %{version} +%define libpython %mklibname boost_python_ %{version} %define libpython3 %mklibname boost_python3_ %{version} -%define librandom %mklibname boost_random %{version} -%define libregex %mklibname boost_regex %{version} -%define libserialization %mklibname boost_serialization %{version} -%define libsignals %mklibname boost_signals %{version} -%define libsystem %mklibname boost_system %{version} -%define libthread %mklibname boost_thread %{version} -%define libtimer %mklibname boost_timer %{version} -%define libtypeerasure %mklibname boost_type_erasure %{version} -%define libunittestframework %mklibname boost_unit_test_framework %{version} -%define libwave %mklibname boost_wave %{version} -%define libwserialization %mklibname boost_wserialization %{version} +%define librandom %mklibname boost_random_ %{version} +%define libregex %mklibname boost_regex_ %{version} +%define libserialization %mklibname boost_serialization_ %{version} +%define libsignals %mklibname boost_signals_ %{version} +%define libstacktrace %mklibname boost_stacktrace_ %{version} +%define libsystem %mklibname boost_system_ %{version} +%define libthread %mklibname boost_thread_ %{version} +%define libtimer %mklibname boost_timer_ %{version} +%define libtypeerasure %mklibname boost_type_erasure_ %{version} +%define libunittestframework %mklibname boost_unit_test_framework_ %{version} +%define libwave %mklibname boost_wave_ %{version} +%define libwserialization %mklibname boost_wserialization_ %{version} %define devname %mklibname boost -d %define sdevname %mklibname boost -d -s @@ -64,6 +66,11 @@ # (tpg) save 50 MiB %bcond_with docs +# python2 +%bcond_without python2 + +# signals +%bcond_without signals Summary: Portable C++ libraries Name: boost @@ -520,6 +527,8 @@ running programs dynamically linked against Boost program_options. #---------------------------------------------------------------------------- +%if %{with python2} + %package -n %{libpython} Summary: Boost python shared library Group: System/Libraries @@ -536,6 +545,7 @@ running programs dynamically linked against Boost python. %doc LICENSE_1_0.txt %{_libdir}/libboost_python27.so.%{version} +%endif #---------------------------------------------------------------------------- %package -n %{libpython3} @@ -552,7 +562,9 @@ running programs dynamically linked against Boost python. %files -n %{libpython3} %doc LICENSE_1_0.txt -%{_libdir}/libboost_python3.so.%{version} +%{_libdir}/libboost_python35.so.%{version} +%{_libdir}/libboost_numpy35.so.%{version} + #---------------------------------------------------------------------------- @@ -610,6 +622,7 @@ running programs dynamically linked against Boost serialization. #---------------------------------------------------------------------------- +%if %{with signals} %package -n %{libsignals} Summary: Boost signals shared library Group: System/Libraries @@ -626,6 +639,8 @@ running programs dynamically linked against Boost signals. %doc LICENSE_1_0.txt %{_libdir}/libboost_signals.so.%{version} +%endif + #---------------------------------------------------------------------------- %package -n %{libsystem} @@ -754,6 +769,44 @@ running programs dynamically linked against Boost wserialization. #---------------------------------------------------------------------------- +%package -n %{libstacktrace} +Summary: Boost stacktrace shared library +Group: System/Libraries +# no one should require this, but provided anyway for maximum compatibility: +Provides: boost = %{EVRD} + +%description -n %{libstacktrace} +Boost is a collection of free peer-reviewed portable C++ source +libraries. The emphasis is on libraries which work well with the C++ +Standard Library. This package contains the shared library needed for +running programs dynamically linked against Boost stacktrace. + +%files -n %{libstacktrace} +%doc LICENSE_1_0.txt +%{_libdir}/libboost_stacktrace_addr2line.so.%{version} +%{_libdir}/libboost_stacktrace_basic.so.%{version} +%{_libdir}/libboost_stacktrace_noop.so.%{version} + +#---------------------------------------------------------------------------- + +%package -n %{libcontract} +Summary: Boost contract shared library +Group: System/Libraries +# no one should require this, but provided anyway for maximum compatibility: +Provides: boost = %{EVRD} + +%description -n %{libcontract} +Boost is a collection of free peer-reviewed portable C++ source +libraries. The emphasis is on libraries which work well with the C++ +Standard Library. This package contains the shared library needed for +running programs dynamically linked against Boost contract. + +%files -n %{libcontract} +%doc LICENSE_1_0.txt +%{_libdir}/libboost_contract.so.%{version} + +#---------------------------------------------------------------------------- + %package -n %{devname} Summary: The libraries and headers needed for Boost development Group: Development/C++ @@ -801,7 +854,7 @@ symlinks needed for Boost development. %files -n %{devname} %{_includedir}/boost %{_libdir}/libboost_*.so -%exclude %{_libdir}/libboost_python3.so +%exclude %{_libdir}/libboost_python35.so %{_libdir}/cmake/* #---------------------------------------------------------------------------- @@ -853,7 +906,7 @@ Standard Library. This package contains headers and shared library symlinks needed for Boost development. %files -n %{devpython3} -%{_libdir}/libboost_python3.so +%{_libdir}/libboost_python35.so #---------------------------------------------------------------------------- @@ -888,9 +941,11 @@ find libs -type f \( -name "*.?pp" ! -path "*test*" ! -path "*src*" ! -path "*to cat > ./tools/build/src/user-config.jam << EOF using gcc : %{gcc_ver} : gcc : "%{optflags}" "%{optflags}" "%{ldflags}" ; using python : %{py3_ver} : %{_bindir}/python%{py3_ver} : %{_includedir}/python%{py3_ver}m : %{_libdir} : : : ; -#using python : %{py_ver} : %{_bindir}/python%{py_ver} : %{_includedir}/python%{py_ver} : %{_libdir} : : : ; +using python : %{py_ver} : %{_bindir}/python%{py_ver} : %{_includedir}/python%{py_ver} : %{_libdir} : : : ; EOF + ./bootstrap.sh --with-toolset=gcc --with-icu --prefix=%{_prefix} --libdir=%{_libdir} --with-python=%{py3_ver} + ./b2 -d+2 -q %{?_smp_mflags} --without-mpi \ --prefix=%{_prefix} --libdir=%{_libdir} \ %ifarch %ix86 @@ -904,7 +959,6 @@ EOF %endif linkflags="%{ldflags} -lstdc++ -lm" \ -sHAVE_ICU=1 \ - python=%{py_ver} \ link=shared threading=multi debug-symbols=off --layout=system \ python=%{py3_ver} @@ -920,7 +974,7 @@ echo ============================= build Boost.Build ================== --without-context --without-coroutine \ %endif link=shared \ - python=%{py_ver} \ + python=%{py3_ver} \ install echo ============================= install Boost.Build ==================