%define major 1 %define minor 54 %define teeny 0 %define tarname boost %define lnkver %{major}_%{minor} %define pkgver %{major}_%{minor}_%{teeny} %ifnarch %{ix86} x86_64 # Avoid using Boost.Context on non-x86 arches. s390 is not # supported at all and there were _syntax errors_ in PPC code. This # should be enabled on a case-by-case basis as the arches are tested # and fixed. %bcond_with context %else %bcond_without context %endif Summary: Portable C++ source libraries Summary(ja): ポータブルな C++ ソースライブラリ Name: libboost Version: %{major}.%{minor}.%{teeny} Release: 1%{?_dist_release} Source0: http://downloads.sourceforge.net/%{tarname}/%{tarname}_%{pkgver}.tar.bz2 Source1: user-config.jam License: distributable Group: System Environment/Libraries URL: http://www.boost.org/ BuildRequires: python-devel apache2-devel bzip2-devel zlib-devel libicu-devel BuildRequires: libaio-devel lam BuildRoot: %{_tmppath}/%{name}-%{version}-root # https://svn.boost.org/trac/boost/ticket/6150 Patch4: boost-1.50.0-fix-non-utf8-files.patch # Add a manual page for 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 # https://bugzilla.redhat.com/show_bug.cgi?id=781859 # The following tickets have yet to be fixed by upstream. # https://svn.boost.org/trac/boost/ticket/6413 # https://svn.boost.org/trac/boost/ticket/8849 Patch9: boost-1.53.0-attribute.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 # https://bugzilla.redhat.com/show_bug.cgi?id=977098 # https://svn.boost.org/trac/boost/ticket/8731 Patch18: boost-1.54.0-__GLIBC_HAVE_LONG_LONG.patch # Upstream patches posted as release notes: # http://www.boost.org/users/history/version_1_54_0.html Patch19: 001-coroutine.patch Patch20: 002-date-time.patch Patch21: 003-log.patch # https://svn.boost.org/trac/boost/ticket/8826 Patch22: boost-1.54.0-context-execstack.patch # https://svn.boost.org/trac/boost/ticket/8844 Patch23: boost-1.54.0-bind-static_assert.patch # https://svn.boost.org/trac/boost/ticket/8847 Patch24: boost-1.54.0-concept-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/5637 Patch25: boost-1.54.0-mpl-print.patch # https://svn.boost.org/trac/boost/ticket/8859 Patch26: boost-1.54.0-static_warning-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8855 Patch27: boost-1.54.0-math-unused_typedef.patch Patch28: boost-1.54.0-math-unused_typedef-2.patch # https://svn.boost.org/trac/boost/ticket/8853 Patch31: boost-1.54.0-tuple-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8854 Patch32: boost-1.54.0-random-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8856 Patch33: boost-1.54.0-date_time-unused_typedef.patch Patch34: boost-1.54.0-date_time-unused_typedef-2.patch # https://svn.boost.org/trac/boost/ticket/8870 Patch35: boost-1.54.0-spirit-unused_typedef.patch Patch36: boost-1.54.0-spirit-unused_typedef-2.patch # https://svn.boost.org/trac/boost/ticket/8871 Patch37: boost-1.54.0-numeric-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8872 Patch38: boost-1.54.0-multiprecision-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8874 Patch42: boost-1.54.0-unordered-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8876 Patch43: boost-1.54.0-algorithm-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8877 Patch44: boost-1.54.0-graph-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8878 Patch45: boost-1.54.0-locale-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8879 Patch46: boost-1.54.0-property_tree-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8880 Patch47: boost-1.54.0-xpressive-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8881 Patch48: boost-1.54.0-mpi-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8888 Patch49: boost-1.54.0-python-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8941 Patch50: boost-1.54.0-lexical_cast-int128.patch # https://svn.boost.org/trac/boost/ticket/9038 Patch51: boost-1.54.0-pool-test_linking.patch # https://svn.boost.org/trac/boost/ticket/9037 Patch52: boost-1.54.0-thread-cond_variable_shadow.patch # This was already fixed upstream, so no tracking bug. Patch53: boost-1.54.0-pool-max_chunks_shadow.patch # https://svn.boost.org/trac/boost/ticket/9041 Patch54: boost-1.54.0-thread-link_atomic.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1002578 # https://svn.boost.org/trac/boost/ticket/9065 Patch55: boost-1.54.0-interprocess-atomic_cas32-ppc.patch Vendor: Project Vine Distribution: Vine Linux Obsoletes: %{name}-date-time-devel %{name}-filesystem-devel %{name}-graph-devel Obsoletes: %{name}-iostreams-devel %{name}-program-options-devel Obsoletes: %{name}-python-devel %{name}-regex-devel Obsoletes: %{name}-serialization-devel %{name}-signals-devel %{name}-test-devel Obsoletes: %{name}-thread-devel %{name}-wave-devel %description Boost provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ Standard Library. The libraries are intended to be widely useful, and are in regular use by thousands of programmers across a broad spectrum of applications. A further goal is to establish "existing practice" and provide reference implementations so that Boost libraries are suitable for eventual standardization. Ten Boost libraries will be included in the C++ Standards Committee's upcoming C++ Standard Library Technical Report as a step toward becoming part of a future C++ Standard. %description -l ja Boost は公開レビューされたフリーのC++ライブラリ群です。 C++ の標準ライブラリに 準拠することに重点を置いて開発されています。使いやすく、広い分野のアプリ ケーションにおいて日常的に多くの開発者に用いられることを目指しています。 さらなる目標は、最終的な標準化に適合した「存在する実例」としてリファレンス実装 を提供することです。10 の Boost ライブラリが、将来の C++ 標準になるための一歩 として、C++ 標準化委員会が策定中の C++ 標準ライブラリテクニカルレポートに 含まれる予定です。 %package atomic Summary: Run-Time component of boost atomic library Group: System Environment/Libraries %description atomic Run-Time support for Boost.Atomic, a library that provides atomic data types and operations on these data types, as well as memory ordering constraints required for coordinating multiple threads through atomic variables. %package chrono Summary: Run-Time component of boost chrono library Group: System Environment/Libraries Requires: %{name}-system = %{version}-%{release} %description chrono Run-Time support for Boost.Chrono, a set of useful time utilities. %if %{with context} %package context Summary: Run-Time component of boost context switching library Group: System Environment/Libraries %description context Run-Time support for Boost.Context, a foundational library that provides a sort of cooperative multitasking on a single thread. %endif %package devel Summary: Header files and libraries for developing apps which will use %{name} Summary(ja): %{name}の開発に必要なヘッダファイル及びライブラリ Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel The %{name}-devel package contains the header files and libraries needed to develop programs that use the Boost library. %description devel -l ja %{name}-devel パッケージは Boost ライブラリを使うプログラムの開発に必要な ヘッダファイルやライブラリを含んでいます。 %package doc Summary: Documents of %{name} Summary(ja): %{name}のドキュメント Group: Applications/Documentation Requires: %{name} = %{version}-%{release} %description doc The %{name}-doc package contains the documents about the boost library. %description doc -l ja %{name}-doc パッケージは Boost ライブラリについてのドキュメントを含んでいます。 %package date-time Summary: Set of data-time libralies in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description date-time Set of data-time libralies in %{name} %package filesystem Summary: Set of filesystem operation libralies in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description filesystem Set of filesystem operation libralies in %{name} %package graph Summary: Set of Graphviz libralies in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description graph Set of Graphviz libralies in %{name} %package iostreams Summary: Set of streams and i/o filters libralies in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description iostreams Set of streams and i/o filters libralies in %{name} %package locale Summary: Run-Time component of boost locale library Group: System Environment/Libraries Requires: %{name}-chrono = %{version}-%{release} Requires: %{name}-system = %{version}-%{release} Requires: %{name}-thread = %{version}-%{release} %description locale Run-Time support for Boost.Locale, a set of localization and Unicode handling tools. %package log Summary: Run-Time component of boost logging library Group: System Environment/Libraries %description log Boost.Log library aims to make logging significantly easier for the application developer. It provides a wide range of out-of-the-box tools along with public interfaces for extending the library. %package math Summary: Set of math libralies in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description math Set of math libralies in %{name} %package program-options Summary: Set of program options libralies in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description program-options Set of program options libralies in %{name} %package python Summary: Set of Python libralies in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description python Set of Python libralies in %{name} %package random Summary: Set of random number generation libralies in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description random Set of random number generation libralies in %{name} %package regex Summary: Set of regular expression libralies in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description regex Set of regular expression libralies in %{name} %package serialization Summary: Set of serialization libralies in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description serialization Set of serialization libralies in %{name} %package signals Summary: Set of signals and slots libralies in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description signals Set of signals and slots libralies in %{name} %package system Summary: Operating system support Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description system Operating system support, including the diagnostics support that will be part of the C++0x standard library %package test Summary: Set of libraries for writing and executing tests in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description test Set of libraries for writing and executing tests in %{name} %package thread Summary: Set of multi-thread libraries in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description thread Set of multi-thread libraries in %{name} %package timer Summary: Run-Time component of boost timer library Group: System Environment/Libraries Requires: %{name}-chrono = %{version}-%{release} Requires: %{name}-system = %{version}-%{release} %description timer "How long does my C++ code take to run?" The Boost Timer library answers that question and does so portably, with as little as one #include and one additional line of code. %package wave Summary: Set of wave libraries in %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description wave Set of wave libraries in %{name} %prep %setup -q -n %{tarname}_%{pkgver} cp %SOURCE1 user-config.jam %patch4 -p1 %patch5 -p1 %patch9 -p1 %patch15 -p0 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %patch25 -p0 %patch26 -p1 %patch27 -p1 %patch28 -p0 %patch31 -p0 %patch32 -p0 %patch33 -p0 %patch34 -p1 %patch35 -p1 %patch36 -p1 %patch37 -p1 %patch38 -p1 %patch42 -p1 %patch43 -p1 %patch44 -p1 %patch45 -p1 %patch46 -p1 %patch47 -p1 %patch48 -p1 %patch49 -p1 %patch50 -p0 %patch51 -p1 %patch52 -p1 %patch53 -p1 %patch54 -p1 %patch55 -p1 %build ## ./configure --prefix=/usr --libdir=%{_libdir} --with-icu ## make EXPAT_INCLUDE=/usr/include EXPAT_LIBPATH=/usr/lib ./bootstrap.sh \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --includedir=%{_includedir} \ --with-icu=%{_prefix} \ --with-python-version=%{pyver} ./bjam -sICU_LINK="-L%{_libdir} -licui18n" --user-config=./user-config.jam link=shared %install rm -rf $RPM_BUILD_ROOT ## ./tools/jam/src/bin.linux*/bjam -sICU_PATH=/usr -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/lib --user-config=user-config.jam --prefix=${RPM_BUILD_ROOT}/usr --libdir=${RPM_BUILD_ROOT}%{_libdir} install ./bjam \ --prefix=${RPM_BUILD_ROOT}%{_prefix} \ --libdir=${RPM_BUILD_ROOT}%{_libdir} \ --user-config=./user-config.jam \ link=shared \ install ln -s ./%{tarname} ${RPM_BUILD_ROOT}/%{_includedir}/%{tarname}-%{lnkver} # remove unuse files rm -f ${RPM_BUILD_ROOT}/%{_libdir}/%{name}_*.a # unnead for libboost-1.42 ## pushd $RPM_BUILD_ROOT/%{_libdir} ## for i in libboost_*-mt.so ## do ## ln -sf $i $(echo $i | cut -f1 -d-).so ## done ## popd ## %post devel ## if [ $1 = 2 ]; then ## rm -rf %{_includedir}/%{tarname} ## fi ## ln -s %{_includedir}/%{tarname}-%{lnkver}/%{tarname} %{_includedir}/%{tarname} ## ## %postun devel ## if [ $1 = 0 ]; then ## rm -rf %{_includedir}/%{tarname} ## fi %post atomic -p /sbin/ldconfig %post chrono -p /sbin/ldconfig %if %{with context} %post context -p /sbin/ldconfig %endif %post date-time -p /sbin/ldconfig %post filesystem -p /sbin/ldconfig %post graph -p /sbin/ldconfig %post iostreams -p /sbin/ldconfig %post locale -p /sbin/ldconfig %post log -p /sbin/ldconfig %post math -p /sbin/ldconfig %post program-options -p /sbin/ldconfig %post python -p /sbin/ldconfig %post regex -p /sbin/ldconfig %post serialization -p /sbin/ldconfig %post signals -p /sbin/ldconfig %post system -p /sbin/ldconfig %post test -p /sbin/ldconfig %post thread -p /sbin/ldconfig %post timer -p /sbin/ldconfig %post wave -p /sbin/ldconfig %postun atomic -p /sbin/ldconfig %postun chrono -p /sbin/ldconfig %if %{with context} %postun context -p /sbin/ldconfig %endif %postun date-time -p /sbin/ldconfig %postun filesystem -p /sbin/ldconfig %postun graph -p /sbin/ldconfig %postun iostreams -p /sbin/ldconfig %postun locale -p /sbin/ldconfig %postun log -p /sbin/ldconfig %postun math -p /sbin/ldconfig %postun program-options -p /sbin/ldconfig %postun python -p /sbin/ldconfig %postun regex -p /sbin/ldconfig %postun serialization -p /sbin/ldconfig %postun signals -p /sbin/ldconfig %postun system -p /sbin/ldconfig %postun test -p /sbin/ldconfig %postun thread -p /sbin/ldconfig %postun timer -p /sbin/ldconfig %postun wave -p /sbin/ldconfig %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc LICENSE_1_0.txt %files atomic %defattr(-, root, root, -) %doc LICENSE_1_0.txt %{_libdir}/libboost_atomic.so* %files chrono %defattr(-, root, root, -) %doc LICENSE_1_0.txt %{_libdir}/libboost_chrono.so* %if %{with context} %files context %defattr(-, root, root, -) %doc LICENSE_1_0.txt %{_libdir}/libboost_context.so* %endif %files devel %defattr(-,root,root) %{_includedir}/boost/ %{_includedir}/boost-%{lnkver} %files doc %doc index.htm index.html boost.css boost.png rst.css doc libs more %files date-time %doc LICENSE_1_0.txt %{_libdir}/%{name}_date_time*.so* %files filesystem %doc LICENSE_1_0.txt %{_libdir}/%{name}_filesystem*.so* %files graph %doc LICENSE_1_0.txt %{_libdir}/%{name}_graph*.so* %{_libdir}/%{name}_mpi*.so* %{_libdir}/mpi*.so* %files iostreams %doc LICENSE_1_0.txt %{_libdir}/%{name}_iostreams*.so* %files locale %defattr(-, root, root, -) %doc LICENSE_1_0.txt %{_libdir}/libboost_locale.so* %files log %defattr(-, root, root, -) %doc LICENSE_1_0.txt %{_libdir}/libboost_log.so* %{_libdir}/libboost_log_setup.so* %files math %doc LICENSE_1_0.txt %{_libdir}/%{name}_math_*.so* %files program-options %doc LICENSE_1_0.txt %{_libdir}/%{name}_program_options*.so* %files python %doc LICENSE_1_0.txt %{_libdir}/%{name}_python*.so* %files random %doc LICENSE_1_0.txt %{_libdir}/%{name}_random*.so* %files regex %doc LICENSE_1_0.txt %{_libdir}/%{name}_regex*.so* %files serialization %doc LICENSE_1_0.txt %{_libdir}/%{name}_serialization*.so* %{_libdir}/%{name}_wserialization*.so* %files signals %doc LICENSE_1_0.txt %{_libdir}/%{name}_signals*.so* %files system %doc LICENSE_1_0.txt %{_libdir}/%{name}_system*.so* %files test %doc LICENSE_1_0.txt %{_libdir}/%{name}_prg_exec_monitor*.so* %{_libdir}/%{name}_unit_test_framework*.so* %files thread %doc LICENSE_1_0.txt %{_libdir}/%{name}_thread*.so* %files timer %defattr(-, root, root, -) %doc LICENSE_1_0.txt %{_libdir}/libboost_timer.so* %files wave %doc LICENSE_1_0.txt %{_libdir}/%{name}_wave*.so* %changelog * Mon Nov 25 2013 IWAI, Masaharu 1.54.0-1 - update tp boost_1_54_0 - all package: including license file - drop boost_filesystem patch (Patch0) - sync Fedora boost-1.54.0-5.fc21 - new packages: atomic, chrono, context, locale, log, timer - add patches - Patch4, 5, 9, 15, 18..28, 31..38, 42..55 * Sun Feb 20 2011 Munehiro Yamamoto 1.45.0-2 - fixed crashing throwing exception "std::runtime_error: locale::facet::_S_create_c_locale name not valid" on some systems (FreeBSD and some linuxes) when current locale (LANG,LC_ALL) is not "C" * Tue Jan 18 2011 Shu KONNO 1.45.0-1 - updated to boost_1_45_0 - added random sub-package * Wed Apr 14 2010 MATSUBAYASHI Kohji - 1.42.0-4 - rebuilt again on ppc * Sat Apr 10 2010 Ryoichi INAGAKI 1.42.0-3 - rebuilt with libicu-4.4 * Mon Feb 08 2010 Shu KONNO 1.42.0-2 - added "-licui18n" to bjam - added BR: lam * Sun Feb 07 2010 Shu KONNO 1.42.0-1 - updated to boost_1_42_0 - rebuilt with new toolchain and python-2.6 - added user-config.jam to make libboost_mpi - added BR: libaio-devel - added %%{post,postun} -p /sbin/ldconfig - dropt no use parameter EXPAT_INCLUDE and EXPAT_LIBPATH - dropt %{_libdir}/%{name}_test_exec_monitor-*.a in %%files %{name}-test - dropt %%{post,postun} devel section * Sun Mar 22 2009 Ryoichi INAGAKI 1.36.0-2vl5 - rebuilt with libicu-4.0.1 - changed Group to System Environment/Libraries (except devel package) * Sat Aug 16 2008 Daisuke SUZUKI 1.36.0-1vl5 - new upstream release - add -math subpackage * Fri Aug 15 2008 Daisuke SUZUKI 1.35.0-2vl5 - build with python-2.5 - add libboost_XXXX.so symlinks * Thu May 8 2008 KANEKO Seiji 1.35.0-1vl5 - upstream release - applied new versioning policy - add EXPAT_INCLUDE and EXPAT_LIBPATH to enable GraphML support - add new package libboost-system - Obsolete: *-devel packages * Sat Sep 8 2007 Ryoichi INAGAKI 1.34.1-0vl3 - rebuilt with libicu-3.6 - changed doc Group to Applications/Documentation * Sat Aug 18 2007 KANEKO Seiji 1.34.1-0vl2 - upstream release * Thu Jun 14 2007 KANEKO Seiji 1.34.0-0vl3 - add --libdir=%%{_libdir} to cope with x86_64 environment * Sun Jun 10 2007 KANEKO Seiji 1.34.0-0vl2 - upstream release - use Easy Build and Install process with ./configure - add BuildRequires: libicu-devel - remove %%{_libdir}/libboost_test_exec_monitor-*.so* from %%files -n libboost-test - add new packages: libboost-graph, libboost-graph-devel, libboost-wave - add files to doc package * Sun May 13 2007 MATSUBAYASHI Kohji 1.33.1-0vl2 - rebuilt with new toolchain * Sat Feb 4 2006 KANEKO Seiji 1.33.1-0vl1 - upstream release * Mon Dec 12 2005 Ryoichi INAGAKI 1.33.0-0vl3 - fixed typo in Groups: - devel packages also moved to Development/Libraries group * Mon Sep 19 2005 MATSUBAYASHI Kohji 1.33.0-0vl2 - spec modified to avoid errors on non-ix86 archtecture (previously the path linuxx86 was explicitly used) * Sun Sep 11 2005 KANEKO Seiji 1.33.0-0vl1 - initial release for Vine Linux * Sat Sep 10 2005 KANEKO Seiji 1.33.0-0vl0.3 - link /usr/include/boost_%{lnkver}/boost to /usr/include/boost * Sat Sep 10 2005 KANEKO Seiji 1.33.0-0vl0.2 - change package name from boost to libboost - separated into sub-packages * Fri Jun 17 2005 KANEKO Seiji 1.33.0-0vl0.1 - upstream release - add BuildRequires: bzip2-devel zlib-devel * Fri Jun 17 2005 KANEKO Seiji 1.32.0-0vl0.7 - added so.* file * Mon Apr 25 2005 KANEKO Seiji 1.32.0-0vl0.6 - moved %post, %postun script to -devel package * Mon Apr 25 2005 KANEKO Seiji 1.32.0-0vl0.5 - moved doc/html to -devel package - make a symbolic link on %{_includedir}/boost * Mon Apr 25 2005 KANEKO Seiji 1.32.0-0vl0.4 - fixed character code to euc-jp * Mon Apr 25 2005 KANEKO Seiji 1.32.0-0vl0.3 - add %doc files * Fri Apr 22 2005 KANEKO Seiji 1.32.0-0vl0.2 - remove Requires - split -devel package * Fri Apr 22 2005 KANEKO Seiji 1.32.0-0vl0.1 - initial build for Vine Linux