%define packver %(echo "%{version}" | sed -e "s/\\\./_/g") %define major %{version} %define libname_orig libboost %define libname %mklibname boost %{major} %define libnamedevel %mklibname boost -d %define libnamestaticdevel %mklibname boost -d -s Summary: Portable C++ libraries Name: boost Version: 1.36.0 Release: %mkrel 1 License: BSD-like Group: Development/C++ URL: http://boost.org/ Source0: http://umn.dl.sourceforge.net/sourceforge/boost/boost_%{packver}.tar.bz2 Patch2: boost-use-rpm-optflags.patch Patch3: boost-run-tests.patch # use version in soname with --layout=system as well Patch4: boost-layout-system.patch # Based on: <http://svn.boost.org/trac/boost/attachment/ticket/1615/0001-date_time-gcc-4.3-fix.patch?format=raw> Patch5: boost-date_time-gcc-4.3-fix.patch # Based on: <http://svn.boost.org/trac/boost/attachment/ticket/1715/serialization_gcc43.patch?format=raw> #Patch6: boost-serialization_gcc43.patch BuildRequires: boost-jam >= 3.1 BuildRequires: libbzip2-devel BuildRequires: libpython-devel BuildRequires: libz-devel BuildRequires: icu-devel BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %description 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 only the shared libraries needed for running programs using Boost. %package -n %{libname} Summary: The shared libraries needed for running programs using Boost Group: System/Libraries Provides: %{libname_orig} = %{version}-%{release} Provides: %{name} = %{version}-%{release} %description -n %{libname} 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 only the shared libraries needed for running programs dynamically linked against Boost. %package -n %{libnamedevel} Summary: The libraries and headers needed for Boost development Group: Development/C++ Requires: %{libname} = %{version}-%{release} Obsoletes: %{mklibname boost 1}-devel < %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} Provides: lib%{name}-devel = %{version}-%{release} %description -n %{libnamedevel} 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 documentation, headers and shared library symlinks needed for Boost development. %package -n %{libnamestaticdevel} Summary: Static libraries for Boost development Group: Development/C++ Requires: %{libnamedevel} = %{version}-%{release} Obsoletes: %{mklibname boost 1}-static-devel < %{version}-%{release} Provides: %{name}-static-devel = %{version}-%{release} %description -n %{libnamestaticdevel} 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 only the static libraries needed for Boost development. %package -n %{name}-examples Summary: The examples for the Boost libraries Group: Development/C++ Obsoletes: %{libname}-examples < %{version}-%{release} Provides: %{libname}-examples = %{version}-%{release} %description -n %{name}-examples 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 examples, installed in the same place as the documentation. %prep %setup -q -n boost_%{packver} %patch2 -p0 %patch3 -p0 %patch4 -p0 %patch5 -p0 #%patch6 -p0 find -name '.cvsignore' -type f -print0 | xargs -0 -r rm -f find -type f -print0 | xargs -0 chmod go-w find -type f -print0 | xargs -0 file | grep -v script | cut -d: -f1 | xargs -d"\n" chmod 0644 # Preparing the docs mkdir packagedoc find -type f -not -path '*packagedoc*' \( -name '*.html' -o -name '*.htm' -o -name '*.css' -o -name '*.gif' -o -name '*.jpg' -o -name '*.png' -o -name '*README*' \) -exec cp --parents {} packagedoc/ \; # Preparing the examples: All .hpp or .cpp files that are not in # directories called test, src, or tools, as well as all files of any # type in directories called example or examples. mkdir examples find libs -type f \( -name "*.?pp" ! -path "*test*" ! -path "*src*" ! -path "*tools*" -o -path "*example*" \) -exec cp --parents {} examples/ \; %build export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -O3" # gcc.jam patched to optimization=speed => $RPM_OPT_FLAGS %define boost_bjam bjam %{_smp_mflags} -d2 --layout=system --toolset=gcc variant=release threading=single,multi optimization=speed debug-symbols=on -sHAVE_ICU=1 %{boost_bjam} --prefix=%{_prefix} --libdir=%{_libdir} %install rm -rf %{buildroot} %{boost_bjam} --prefix=%{buildroot}%{_prefix} --libdir=%{buildroot}%{_libdir} install %multiarch_includes %{buildroot}%{_includedir}/boost/python/detail/wrap_python.hpp # (anssi 11/2007) The threading library was previously available, apparently # wrongly, as libboost_thread.so. We create a compatibility symlink (Debian # has one as well) ln -s libboost_thread-mt.so %{buildroot}%{_libdir}/libboost_thread.so %clean rm -rf %{buildroot} %if %mdkversion < 200900 %post -n %{libname} -p /sbin/ldconfig %endif %if %mdkversion < 200900 %postun -n %{libname} -p /sbin/ldconfig %endif %files -n %{libname} %defattr(-,root,root) %doc LICENSE_1_0.txt %{_libdir}/libboost_*.so.%{major} %files -n %{libnamedevel} %defattr(-,root,root) %doc packagedoc/* %{_libdir}/libboost_*.so %{_includedir}/boost %multiarch %{multiarch_includedir}/boost %files -n %{libnamestaticdevel} %defattr(-,root,root) %{_libdir}/libboost_*.a %files -n %{name}-examples %defattr(-,root,root) %doc examples/* %changelog * Mon Aug 18 2008 Per Ãyvind Karlsen <peroyvind@mandriva.org> 1.36.0-1mdv2009.0 + Revision: 273337 - new release - drop P6 (merged upstream) - compile with -O3 * Mon Jul 14 2008 Oden Eriksson <oeriksson@mandriva.com> 1.35.0-3mdv2009.0 + Revision: 234634 - rebuild + Pixel <pixel@mandriva.com> - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers * Thu May 29 2008 David Walluck <walluck@mandriva.org> 1.35.0-2mdv2009.0 + Revision: 212839 - patch for gcc 4.3 serialization fix - patch for gcc 4.3 date_time fix * Tue May 20 2008 Oden Eriksson <oeriksson@mandriva.com> 1.35.0-1mdv2009.0 + Revision: 209510 - 1.35.0 - rediffed the patches - drop upstream implemented patches (CVE-2008-0171+0172 is applied) - fix the find logig (thanks anssi) * Tue May 20 2008 Oden Eriksson <oeriksson@mandriva.com> 1.34.1-5mdv2009.0 + Revision: 209434 - added P5 from fedora (gcc43 patch) * Sat Feb 09 2008 Anssi Hannula <anssi@mandriva.org> 1.34.1-4mdv2008.1 + Revision: 164328 - fix CVE-2008-0171 and CVE-2008-0172 (P0, #37412) + Olivier Blin <oblin@mandriva.com> - restore BuildRoot + Thierry Vignaud <tvignaud@mandriva.com> - kill re-definition of %%buildroot on Pixel's request * Fri Nov 30 2007 Anssi Hannula <anssi@mandriva.org> 1.34.1-3mdv2008.1 + Revision: 114034 - provide libboost_thread.so devel symlink for compatibility + Tomasz Pawel Gajc <tpg@mandriva.org> - add more explicit provides for devel pkg * Thu Nov 01 2007 Anssi Hannula <anssi@mandriva.org> 1.34.1-2mdv2008.1 + Revision: 104690 - use version as major as per upstream and debian - remove boost-configure.patch, modifies irrelevant file - remove boost-gcc-soname.patch, did not work as intended and is now unnecessary - use --layout=system to drop gcc version from soname and remove the need for manual include move hack - add patch from boost ml to include version in library name with --layout=system (boost-layout-system.patch) - build with libicu - drop obsolete hacks and comments - use proper bjam flags (build single- and multi-threaded versions, release variants only, parallel build) - ensure major correctness in filelist * Tue Sep 04 2007 David Walluck <walluck@mandriva.org> 1.34.1-1mdv2008.1 + Revision: 78984 - 1.34.1 - new lib policy - rename examples subpackage - take patches from Fedora * Fri Jul 06 2007 Adam Williamson <awilliamson@mandriva.com> 1.33.1-6mdv2008.0 + Revision: 49245 - add patch6 (atomicity.h has moved in recent GCC) * Sat Jan 13 2007 Anssi Hannula <anssi@mandriva.org> 1.33.1-5mdv2007.0 + Revision: 108182 - fix build with python2.5 (patch5, from cvs) * Fri Oct 13 2006 Nicolas Lécureuil <neoclust@mandriva.org> 1.33.1-4mdv2007.1 + Revision: 63856 - Add patch - Add missing include - import boost-1.33.1-3mdv2007.0 * Fri Jul 28 2006 Christiaan Welvaart <cjw@daneel.dyndns.org> 1.33.1-3 - add BuildRequires: libz-devel * Sun Apr 30 2006 David Walluck <walluck@mandriva.org> 1.33.1-2mdk - adding missing BuildRequires: libbzip2-devel - adding missing BuildRequires: libpython-devel - add lib64boost Provides as per rpmlint * Fri Apr 21 2006 Per Øyvind Karlsen <pkarlsen@mandriva.com> 1.33.1-1mdk - 1.33.1 - drop P1 & P3 (fixed upstream) * Tue Jan 03 2006 Stefan van der Eijk <stefan@eijk.nu> 1.32.0-5mdk - rebuild * Thu Jul 07 2005 Per Øyvind Karlsen <pkarlsen@mandriva.com> 1.32.0-4mdk - make gcc4 a known compiler (P3, fixes #16719) * Wed May 04 2005 Per Øyvind Karlsen <pkarlsen@mandriva.com> 1.32.0-3mdk - lib64 fixes - %%{1}mdv2007.1 * Wed Mar 23 2005 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 1.32.0-2mdk - multiarch - fix summary-ended-with-dot * Wed Dec 08 2004 Michael Scherer <misc@mandrake.org> 1.32.0-1mdk - 1.32.0 * Tue Jul 06 2004 Michael Scherer <misc@mandrake.org> 1.31.0-5mdk - rebuild for new gcc, reenable python support * Tue Jun 08 2004 Michael Scherer <misc@mandrake.org> 1.31.0-4mdk - rebuild for new gcc - remove python support, doesn't build at the moment * Sun May 30 2004 Abel Cheung <deaddog@deaddog.org> 1.31.0-3mdk - P1-2: Use fedora patches (thanks for Nick Brown's help nicbrown <AT> cisco.com), to avoid appending compiler/variant name into library, other softwares don't want that (#9648) - Only build threaded libraries, remove debug package * Fri Apr 30 2004 Abel Cheung <deaddog@deaddog.org> 1.31.0-2mdk - Reenable patch1 (peroyvind, would you please NOT randomly disable patches AND without indicating it in changelog?) - Redo part of spec to fix f*cked up installation (#9648) - If one wants debug build, toggle it in ~/.rpmmacros instead of doing it here * Wed Feb 04 2004 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 1.31.0-1mdk - 1.31.0