%bcond_with tests %define sonamever 4 %define version 1.37.0 %define taglevel 6 Name: boost Summary: The Boost C++ Libraries Version: %{version} Release: %{taglevel} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries Source: boost_1_37_0.tar.bz2 Obsoletes: boost-doc <= 1.30.2 Obsoletes: boost-python <= 1.30.2 Provides: boost-python = %{version}-%{release} Provides: boost-doc = %{version}-%{release} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libstdc++-devel BuildRequires: bzip2-libs BuildRequires: bzip2-devel BuildRequires: zlib-devel BuildRequires: python-devel BuildRequires: libicu-devel BuildRequires: chrpath Patch0: boost-configure.patch Patch1: boost-use-rpm-optflags.patch Patch2: boost-run-tests.patch Patch3: boost-gcc43.patch Patch4: boost-gcc-soname.patch Patch5: boost-function_template.patch Patch6: boost-unneccessary_iostreams.patch Patch7: boost-1_37_0-smp.patch Patch8: boost-bitset.patch %description Boost provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ Standard Library, in the hopes of establishing "existing practice" for extensions and providing reference implementations so that the Boost libraries are suitable for eventual standardization. (Some of the libraries have already been proposed for inclusion in the C++ Standards Committee upcoming C++ Standard Library Technical Report.) %package devel Summary: The Boost C++ headers and shared development libraries Group: Development/Libraries Requires: boost = %{version}-%{release} Provides: boost-python-devel = %{version}-%{release} %description devel Headers and shared object symlinks for the Boost C++ libraries. %package static Summary: The Boost C++ static development libraries Group: Development/Libraries Requires: boost-devel = %{version}-%{release} Obsoletes: boost-devel-static < 1.34.1-14 Provides: boost-devel-static = %{version}-%{release} %description static Static Boost C++ libraries. %package doc Summary: The Boost C++ html docs Group: Documentation Provides: boost-python-docs = %{version}-%{release} %description doc HTML documentation files for Boost C++ libraries. %prep %setup -q -n %{name}_1_37_0 %patch0 -p0 %patch1 -p0 %patch2 -p0 %patch3 -p1 sed 's/!!!SONAME!!!/%{sonamever}/' %{PATCH4} | %{__patch} -p1 --fuzz=0 %patch5 -p0 %patch6 -p0 sed 's/!!!SMP_FLAGS!!!/%{?_smp_mflags}/' %{PATCH7} | %{__patch} -p1 --fuzz=0 %patch8 -p1 %build export TMPDIR=/tmp BOOST_ROOT=`pwd` staged_dir=stage export BOOST_ROOT # build make tools, ie bjam, necessary for building libs, docs, and testing (cd tools/jam/src && ./build.sh) BJAM=`find tools/jam/src/ -name bjam -a -type f` BUILD_FLAGS="--with-toolset=gcc" PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION" REGEX_FLAGS="--with-icu" ./configure $BUILD_FLAGS $PYTHON_FLAGS $REGEX_FLAGS make all # build docs, requires a network connection for docbook XSLT stylesheets #cd ./doc #chmod +x ../tools/boostbook/setup_boostbook.sh #../tools/boostbook/setup_boostbook.sh #$BOOST_ROOT/$BJAM --v2 -sICU_PATH=/usr --user-config=../user-config.jam html #cd .. %check %if %{with tests} echo "

" `uname -a` "

" > status/regression_comment.html echo "" >> status/regression_comment.html echo "

" `g++ --version` "

" >> status/regression_comment.html echo "" >> status/regression_comment.html chmod +x tools/regression/run_tests.sh ./tools/regression/run_tests.sh results1=status/cs-`uname`.html results2=status/cs-`uname`-links.html email=benjamin.kosnik@gmail.com if [ -f $results1 ] && [ -f $results2 ]; then echo "sending results starting" testdate=`date +%Y%m%d` testarch=`uname -m` results=boost-results-$testdate-$testarch.tar.bz2 tar -cvf boost-results-$testdate-$testarch.tar $results1 $results2 bzip2 -f boost-results-$testdate-$testarch.tar echo | mutt -s "$testdate boost regression $testarch" -a $results $email echo "sending results finished" else echo "error sending results" fi %endif %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_libdir} mkdir -p $RPM_BUILD_ROOT%{_includedir} mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} # install lib for i in `find stage -type f -name \*.a`; do NAME=`basename $i`; install -p -m 0644 $i $RPM_BUILD_ROOT%{_libdir}/$NAME; done; for i in `find stage -type f -name \*.so`; do NAME=$i; SONAME=$i.%{sonamever}; VNAME=$i.%{version}; base=`basename $i`; NAMEbase=$base; SONAMEbase=$base.%{sonamever}; VNAMEbase=$base.%{version}; mv $i $VNAME; # remove rpath chrpath --delete $VNAME; ln -s $VNAMEbase $SONAME; ln -s $VNAMEbase $NAME; install -p -m 755 $VNAME $RPM_BUILD_ROOT%{_libdir}/$VNAMEbase; mv $SONAME $RPM_BUILD_ROOT%{_libdir}/$SONAMEbase; mv $NAME $RPM_BUILD_ROOT%{_libdir}/$NAMEbase; done; # install include files find %{name} -type d | while read a; do mkdir -p $RPM_BUILD_ROOT%{_includedir}/$a find $a -mindepth 1 -maxdepth 1 -type f \ | xargs -r install -m 644 -p -t $RPM_BUILD_ROOT%{_includedir}/$a done # install doc files DOCPATH=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/ find libs doc more -type f \( -name \*.htm -o -name \*.html \) \ | sed -n '/\//{s,/[^/]*$,,;p}' \ | sort -u > tmp-doc-directories sed "s:^:$DOCPATH:" tmp-doc-directories | xargs -r mkdir -p cat tmp-doc-directories | while read a; do find $a -mindepth 1 -maxdepth 1 -name \*.htm\* \ | xargs install -m 644 -p -t $DOCPATH$a done rm tmp-doc-directories install -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm # remove scripts used to generate include files find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm {} \; %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-, root, root, -) %{_libdir}/*.so.%{version} %{_libdir}/*.so.%{sonamever} %files devel %defattr(-, root, root, -) %{_includedir}/boost %{_libdir}/*.so %files static %defattr(-, root, root, -) %{_libdir}/*.a %files doc %defattr(-, root, root, -) %doc %{_docdir}/%{name}-%{version} %changelog * Mon Mar 23 2009 Petr Machata - 1.37.0-6 - Apply a SMP patch from Stefan Ring - Apply a workaround for "cannot appear in a constant-expression" in dynamic_bitset library. - Resolves: #491537 * Mon Feb 23 2009 Fedora Release Engineering - 1.37.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Mon Jan 12 2009 Petr Machata - 1.37.0-3 - Apply a unneccessary_iostreams patch from Caolan McNamara - Fix soname patch so that it applies with fuzz=0. Use fuzz=0 option in spec file just like ordinary patches do. - Resolves: #479409 * Fri Dec 19 2008 Petr Machata - 1.37.0-2 - Apply a function_template patch from Caolan McNamara - Resolves: #477131 * Tue Dec 16 2008 Benjamin Kosnik - 1.37.0-1 - Fix rpmlint rpath errors. - Fix rpmlint warnings on tabs and spaces. - Bump SONAME to 4 * Tue Nov 17 2008 Benjamin Kosnik - 1.37.0-0.1 - Rebase to 1.37.0. * Tue Oct 21 2008 Benjamin Kosnik - 1.36.0-1 - Rebase to 1.36.0. * Mon Oct 6 2008 Petr Machata - 1.34.1-17 - Fix gcc43 patch to apply cleanly under --fuzz=0 - Resolves: #465003 * Mon Aug 11 2008 Petr Machata - 1.36.0-0.1.beta1 - Rebase to 1.36.0.beta1 - Drop boost-regex.patch and portions of boost-gcc43.patch, port the rest - Automate SONAME tracking and bump SONAME to 4 - Adjust boost-configure.patch to include threading=single,multi explicitly * Thu Jun 12 2008 Petr Machata - 1.34.1-16 - Fix "changes meaning of keywords" in boost date_time - Related: #450718 * Thu May 29 2008 Tom "spot" Callaway - 1.34.1-15 - fix license tag * Thu Mar 27 2008 Petr Machata - 1.34.1-14 - Change devel-static back to static. - Related: #225622 * Wed Mar 26 2008 Petr Machata - 1.34.1-13 - Install library doc files - Revamp %%install phase to speed up overall build time - Some cleanups per merge review - Resolves: #437032 * Thu Feb 14 2008 Petr Machata - 1.34.1-12 - Fix "changes meaning of keywords" in boost python - Resolves: #432694 * Wed Feb 13 2008 Petr Machata - 1.34.1-11 - Fix "changes meaning of special_values_parser" in boost date_time - Resolves: #432433 * Wed Feb 6 2008 Petr Machata - 1.34.1-10 - Fixes for GCC 4.3 - Resolves: #431609 * Mon Jan 14 2008 Benjamin Kosnik 1.34.1-7 - Fixes for boost.regex (rev 42674). * Wed Sep 19 2007 Benjamin Kosnik 1.34.1-5 - (#283771: Linking against boost libraries fails). * Tue Aug 21 2007 Benjamin Kosnik 1.34.1-4 - Rebuild. * Wed Aug 08 2007 Benjamin Kosnik 1.34.1-3 - Rebuild for icu 3.8 bump. * Thu Aug 02 2007 Benjamin Kosnik 1.34.1-2 - SONAME to 3. * Tue Jul 31 2007 Benjamin Kosnik 1.34.1-1 - Update to boost_1_34_1. - Source via http. - Philipp Thomas fix for RPM_OPT_FLAGS - Philipp Thomas fix for .so sym links. - (#225622) Patrice Dumas review comments. * Tue Jun 26 2007 Benjamin Kosnik 1.34.1.rc1-0.1 - Update to boost_1_34_1_RC1. * Mon Apr 02 2007 Benjamin Kosnik 1.33.1-13 - (#225622: Merge Review: boost) Change static to devel-static. * Mon Mar 26 2007 Benjamin Kosnik 1.33.1-12 - (#233523: libboost_python needs rebuild against python 2.5) Use patch. * Mon Mar 26 2007 Benjamin Kosnik 1.33.1-11 - (#225622: Merge Review: boost) Source to http. BuildRoot to preferred value. PreReq to post/postun -p Clarified BSL as GPL-Compatible, Free Software License. Remove Obsoletes. Add Provides boost-python. Remove mkdir -p $RPM_BUILD_ROOT%%{_docdir} Added periods for decription text. Fix Group field. Remove doc Requires boost. Preserve timestamps on install. Use %%defattr(-, root, root, -) Added static package for .a libs. Install static libs with 0644 permissions. Use %%doc for doc files. * Mon Jan 22 2007 Benjamin Kosnik 1.34.0-0.5 - Update to boost.RC_1_34_0 snapshot as of 2007-01-19. - Modify build procedures for boost build v2. - Add *-mt variants for libraries, or at least variants that use threads (regex and thread). * Thu Nov 23 2006 Benjamin Kosnik 1.33.1-10 - (#182414: boost: put tests in %%check section) via Rex Dieter - Fix EVR with %%{?dist} tag via Gianluca Sforna * Wed Nov 15 2006 Benjamin Kosnik 1.33.1-9 - (#154784: boost-debuginfo package is empty) * Tue Nov 14 2006 Benjamin Kosnik 1.33.1-8 - (#205866: Revert scanner.hpp change.) * Mon Nov 13 2006 Benjamin Kosnik 1.33.1-7 - (#205866: boost::spirit generates warnings with -Wshadow) - (#205863: serialization lib generates warnings) - (#204326: boost RPM missing dependencies) - (#193465: [SIGNAL/BIND] Regressions with GCC 4.1) - BUILD_FLAGS, add, to see actual compile line. - REGEX_FLAGS, add, to compile regex with ICU support. * Wed Jul 12 2006 Jesse Keating - 1.33.1-6.1 - rebuild * Tue May 16 2006 Karsten Hopp 1.33.1-6 - buildrequire python-devel for Python.h * Thu Feb 16 2006 Florian La Roche - 1.33.1-5 - use the real version number to point to the shared libs * Fri Feb 10 2006 Jesse Keating - 1.33.1-4.2 - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating - 1.33.1-4.1 - rebuilt for new gcc4.1 snapshot and glibc changes * Thu Jan 05 2006 Benjamin Kosnik 1.33.1-4 - Fix symbolic links. * Wed Jan 04 2006 Benjamin Kosnik 1.33.1-3 - Update to boost-1.33.1. - (#176485: Missing BuildRequires) - (#169271: /usr/lib/libboost*.so.? links missing in package) * Thu Dec 22 2005 Jesse Keating 1.33.1-2 - rebuilt * Mon Nov 14 2005 Benjamin Kosnik 1.33.1-1 - Update to boost-1.33.1 beta. - Run testsuite, gather results. * Tue Oct 11 2005 Nils Philippsen 1.33.0-4 - build require bzip2-devel and zlib-devel * Tue Aug 23 2005 Benjamin Kosnik 1.33.0-3 - Create doc package again. - Parts of the above by Neal Becker . * Fri Aug 12 2005 Benjamin Kosnik 1.33.0-1 - Update to boost-1.33.0, update SONAME to 2 due to ABI changes. - Simplified PYTHON_VERSION by Philipp Thomas * Tue May 24 2005 Benjamin Kosnik 1.32.0-6 - (#153093: boost warns that gcc 4.0.0 is an unknown compiler) - (#152205: development .so symlinks should be in -devel subpackage) - (#154783: linker .so symlinks missing from boost-devel package) * Fri Mar 18 2005 Benjamin Kosnik 1.32.0-5 - Revert boost-base.patch to old behavior. - Use SONAMEVERSION instead of dllversion. * Wed Mar 16 2005 Benjamin Kosnik 1.32.0-4 - (#142612: Compiling Boost 1.32.0 Failed in RHEL 3.0 on Itanium2) - (#150069: libboost_python.so is missing) - (#141617: bad patch boost-base.patch) - (#122817: libboost_*.so symlinks missing) - Re-add boost-thread.patch. - Change boost-base.patch to show thread tags. - Change boost-gcc-tools.patch to use SOTAG, compile with dllversion. - Add symbolic links to files. - Sanity check can compile with gcc-3.3.x, gcc-3.4.2, gcc-4.0.x., gcc-4.1.x. * Thu Dec 02 2004 Benjamin Kosnik 1.32.0-3 - (#122817: libboost_*.so symlinks missing) - (#141574: half of the package is missing) - (#141617: bad patch boost-base.patch) * Wed Dec 01 2004 Benjamin Kosnik 1.32.0-2 - Remove bogus Obsoletes. * Mon Nov 29 2004 Benjamin Kosnik 1.32.0-1 - Update to 1.32.0 * Wed Sep 22 2004 Than Ngo 1.31.0-9 - cleanup specfile - fix multiarch problem * Tue Jun 15 2004 Elliot Lee - rebuilt * Wed May 05 2004 Warren Togami 1.31.0-7 - missing Obsoletes boost-python * Mon May 03 2004 Benjamin Kosnik - (#121630: gcc34 patch needed) * Wed Apr 21 2004 Warren Togami - #121415 FC2 BLOCKER: Obsoletes boost-python-devel, boost-doc - other cleanups * Tue Mar 30 2004 Benjamin Kosnik - Remove bjam dependency. (via Graydon). - Fix installed library names. - Fix SONAMEs in shared libraries. - Fix installed header location. - Fix installed permissions. * Fri Feb 13 2004 Elliot Lee - rebuilt * Mon Feb 09 2004 Benjamin Kosnik 1.31.0-2 - Update to boost-1.31.0 * Thu Jan 22 2004 Benjamin Kosnik 1.31.0-1 - Update to boost-1.31.0.rc2 - (#109307: Compile Failure with boost libraries) - (#104831: Compile errors in apps using Boost.Python...) - Unify into boost, boost-devel rpms. - Simplify installation using bjam and prefix install. * Tue Sep 09 2003 Nalin Dahyabhai 1.30.2-2 - require boost-devel instead of devel in subpackages which require boost-devel - remove stray Prefix: tag * Mon Sep 08 2003 Benjamin Kosnik 1.30.2-1 - change license to Freely distributable - verify installation of libboost_thread - more boost-devel removals - deal with lack of _REENTRANT on ia64/s390 - (#99458) rpm -e fixed via explict dir additions - (#103293) update to 1.30.2 * Wed Jun 04 2003 Elliot Lee - rebuilt * Tue May 13 2003 Florian La Roche - remove packager, change to new Group: * Tue May 06 2003 Tim Powers 1.30.0-3 - add deffattr's so we don't have unknown users owning files