diff --git a/boost.spec b/boost.spec index 872818e..d8102fe 100644 --- a/boost.spec +++ b/boost.spec @@ -1,8 +1,39 @@ %define packver %(echo "%{version}" | sed -e "s/\\\./_/g") -%define libname %mklibname boost %{version} -%define libnamedevel %mklibname boost -d -%define libnamestaticdevel %mklibname boost -d -s -%define coredevel %mklibname boost-core -d + +%define libatomic %mklibname boost_atomic %{version} +%define libchrono %mklibname boost_chrono %{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 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 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 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 + %ifarch aarch64 %bcond_with context %else @@ -17,36 +48,29 @@ Summary: Portable C++ libraries Name: boost Version: 1.55.0 -Release: 2 +Release: 3 License: Boost Group: Development/C++ Url: http://boost.org/ Source0: http://download.sourceforge.net/boost/boost_%{packver}.tar.bz2 Source100: %{name}.rpmlintrc - # https://svn.boost.org/trac/boost/ticket/6150 -Patch4: boost-1.50.0-fix-non-utf8-files.patch - +Patch4: boost-1.50.0-fix-non-utf8-files.patch # Add a manual page for the sole executable, namely bjam, based on the # on-line documentation: # http://www.boost.org/boost-build2/doc/html/bbv2/overview.html -Patch5: boost-1.48.0-add-bjam-man-page.patch - +Patch5: boost-1.48.0-add-bjam-man-page.patch # https://bugzilla.redhat.com/show_bug.cgi?id=756005 # https://svn.boost.org/trac/boost/ticket/6131 -Patch7: boost-1.50.0-foreach.patch - +Patch7: boost-1.50.0-foreach.patch # https://bugzilla.redhat.com/show_bug.cgi?id=783660 # https://svn.boost.org/trac/boost/ticket/6459 fixed -Patch10: boost-1.50.0-long-double-1.patch - +Patch10: boost-1.50.0-long-double-1.patch # https://bugzilla.redhat.com/show_bug.cgi?id=784654 -Patch12: boost-1.50.0-polygon.patch - +Patch12: boost-1.50.0-polygon.patch # https://bugzilla.redhat.com/show_bug.cgi?id=828856 # https://bugzilla.redhat.com/show_bug.cgi?id=828857 -Patch15: boost-1.50.0-pool.patch - +Patch15: boost-1.50.0-pool.patch BuildRequires: doxygen BuildRequires: xsltproc BuildRequires: bzip2-devel @@ -61,12 +85,14 @@ libraries. The emphasis is on libraries which work well with the C++ Standard Library. This package contains only the shared libraries needed for running programs using Boost. +#---------------------------------------------------------------------------- + # build section Taken from the Fedora .src.rpm. %package build -Summary: Cross platform build system for C++ projects -Group: Development/C++ -Requires: boost-jam -BuildArch: noarch +Summary: Cross platform build system for C++ projects +Group: Development/C++ +Requires: boost-jam +BuildArch: noarch %description build Boost.Build is an easy way to build C++ projects, everywhere. You name @@ -76,153 +102,13 @@ creating static and shared libraries, making pieces of executable, and other chores -- whether you're using GCC, MSVC, or a dozen more supported C++ compilers -- on Windows, OSX, Linux and commercial UNIX systems. -%define boostlibs chrono coroutine date_time filesystem graph iostreams locale log math prg_exec_monitor program_options python random regex serialization signals system thread timer unit_test_framework wave wserialization context atomic +%files build +%doc LICENSE_1_0.txt +%{_datadir}/boost-build/ -# (Anssi 01/2010) dashes are converted to underscores for macros ($lib2); -# The sed script adds _ when library name ends in number. -%{expand:%(for lib in %boostlibs; do lib2=${lib/-/_}; cat < ./tools/build/v2/user-config.jam << EOF -using gcc : %gcc_ver : gcc : "%optflags -I%{_includedir}/python%{py_ver}" "%optflags -I%{_includedir}/python%{py_ver}" "%ldflags" ; -using python : %py_ver : %{_bindir}/python%{py_ver} : %{_includedir}/python%{py_ver} : %{_libdir} ; +using gcc : %{gcc_ver} : gcc : "%{optflags} -I%{_includedir}/python%{py_ver}" "%{optflags} -I%{_includedir}/python%{py_ver}" "%{ldflags}" ; +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} ./b2 -d+2 -q %{?_smp_mflags} --without-mpi \ --prefix=%{_prefix} --libdir=%{_libdir} \ %if !%{with context} - --without-context --without-coroutine \ + --without-context --without-coroutine \ %endif linkflags="%{ldflags} -lpython%{py_ver} -lstdc++ -lm" \ -sHAVE_ICU=1 \ @@ -277,7 +789,7 @@ echo ============================= build Boost.Build ================== ./b2 -d+2 -q %{?_smp_mflags} --without-mpi \ --prefix=%{buildroot}%{_prefix} --libdir=%{buildroot}%{_libdir} \ %if !%{with context} - --without-context --without-coroutine \ + --without-context --without-coroutine \ %endif link=shared \ install @@ -298,123 +810,3 @@ echo ============================= install Boost.Build ================== rm -f %{buildroot}/%{_bindir}/bjam rm -f %{buildroot}/%{_mandir}/man1/bjam.1* -%files -n %{coredevel} -%dir %{_includedir}/boost -%{_includedir}/boost/aligned_storage.hpp -%{_includedir}/boost/any.hpp -%{_includedir}/boost/array.hpp -%{_includedir}/boost/assert.hpp -%{_includedir}/boost/blank.hpp -%{_includedir}/boost/blank_fwd.hpp -%{_includedir}/boost/call_traits.hpp -%{_includedir}/boost/cast.hpp -%{_includedir}/boost/cerrno.hpp -%{_includedir}/boost/checked_delete.hpp -%{_includedir}/boost/compatibility -%{_includedir}/boost/compressed_pair.hpp -%{_includedir}/boost/concept -%{_includedir}/boost/concept_archetype.hpp -%{_includedir}/boost/concept_check.hpp -%{_includedir}/boost/concept_check -%{_includedir}/boost/config.hpp -%{_includedir}/boost/config -%{_includedir}/boost/crc.hpp -%{_includedir}/boost/cregex.hpp -%{_includedir}/boost/cstdint.hpp -%{_includedir}/boost/cstdlib.hpp -%{_includedir}/boost/current_function.hpp -%{_includedir}/boost/detail -%{_includedir}/boost/enable_shared_from_this.hpp -%{_includedir}/boost/exception_ptr.hpp -%{_includedir}/boost/foreach.hpp -%{_includedir}/boost/foreach_fwd.hpp -%{_includedir}/boost/function_equal.hpp -%{_includedir}/boost/function_output_iterator.hpp -%{_includedir}/boost/function_types -%{_includedir}/boost/generator_iterator.hpp -%{_includedir}/boost/get_pointer.hpp -%{_includedir}/boost/gil -%{_includedir}/boost/heap -%{_includedir}/boost/icl -%{_includedir}/boost/implicit_cast.hpp -%{_includedir}/boost/indirect_reference.hpp -%{_includedir}/boost/integer_traits.hpp -%{_includedir}/boost/interprocess -%{_includedir}/boost/intrusive -%{_includedir}/boost/intrusive_ptr.hpp -%{_includedir}/boost/io -%{_includedir}/boost/io_fwd.hpp -%{_includedir}/boost/is_placeholder.hpp -%{_includedir}/boost/iterator.hpp -%{_includedir}/boost/iterator -%{_includedir}/boost/iterator_adaptors.hpp -%{_includedir}/boost/lambda -%{_includedir}/boost/last_value.hpp -%{_includedir}/boost/lexical_cast.hpp -%{_includedir}/boost/limits.hpp -%{_includedir}/boost/local_function.hpp -%{_includedir}/boost/local_function -%{_includedir}/boost/lockfree -%{_includedir}/boost/logic -%{_includedir}/boost/make_shared.hpp -%{_includedir}/boost/mem_fn.hpp -%{_includedir}/boost/memory_order.hpp -%{_includedir}/boost/move -%{_includedir}/boost/multi_index_container.hpp -%{_includedir}/boost/multi_index_container_fwd.hpp -%{_includedir}/boost/next_prior.hpp -%{_includedir}/boost/non_type.hpp -%{_includedir}/boost/noncopyable.hpp -%{_includedir}/boost/nondet_random.hpp -%{_includedir}/boost/none.hpp -%{_includedir}/boost/none_t.hpp -%{_includedir}/boost/numeric -%{_includedir}/boost/operators.hpp -%{_includedir}/boost/pending -%{_includedir}/boost/pointee.hpp -%{_includedir}/boost/pointer_cast.hpp -%{_includedir}/boost/pointer_to_other.hpp -%{_includedir}/boost/polygon -%{_includedir}/boost/pool -%{_includedir}/boost/progress.hpp -%{_includedir}/boost/property_map -%{_includedir}/boost/property_tree -%{_includedir}/boost/proto -%{_includedir}/boost/ptr_container -%{_includedir}/boost/rational.hpp -%{_includedir}/boost/ref.hpp -%{_includedir}/boost/scope_exit.hpp -%{_includedir}/boost/scoped_array.hpp -%{_includedir}/boost/scoped_ptr.hpp -%{_includedir}/boost/shared_array.hpp -%{_includedir}/boost/shared_container_iterator.hpp -%{_includedir}/boost/shared_ptr.hpp -%{_includedir}/boost/signal.hpp -%{_includedir}/boost/statechart -%{_includedir}/boost/static_assert.hpp -%{_includedir}/boost/strong_typedef.hpp -%{_includedir}/boost/swap.hpp -%{_includedir}/boost/throw_exception.hpp -%{_includedir}/boost/token_functions.hpp -%{_includedir}/boost/token_iterator.hpp -%{_includedir}/boost/tokenizer.hpp -%{_includedir}/boost/type.hpp -%{_includedir}/boost/typeof -%{_includedir}/boost/version.hpp -%{_includedir}/boost/visit_each.hpp -%{_includedir}/boost/weak_ptr.hpp - -%files -n %{libnamedevel} - -%files -n %{libnamedevel}-doc -%doc packagedoc/* - -%files -n %{libnamestaticdevel} -%{_libdir}/libboost_*.a - -%files examples -%doc examples/* - -%files build -%doc LICENSE_1_0.txt -%{_datadir}/boost-build/