# # spec file for package boost (Version 1.33.1) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: boost BuildRequires: boost-jam gcc-c++ libbz2-devel libicu-devel python-devel xorg-x11-devel %define file_version 1_33_1 %define version_tag 1_33_1 Url: http://www.boost.org License: BSD 3-Clause Group: Development/Libraries/C and C++ Summary: Boost C++ Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-build Version: 1.33.1 Release: 136 Source0: %{name}_%{file_version}.tar.bz2 Source1: NEWS Patch: boost-threading.patch Patch1: boost-thread.patch Patch3: boost-use_O2.patch Patch4: boost-undefined_behaviour.patch Patch5: boost-configure.patch Patch6: boost-used_unitialized.patch Patch7: boost-no_type_punning.patch Patch8: boost-no_type_attrs_on_forward_decls.patch Patch9: boost-strip.patch Patch10: boost-ia64.patch Patch11: boost-visit_each.diff Patch12: boost-python_2_5-minimal.patch Patch13: boost-atomicity.patch Patch14: boost_1_33_1-gcc43.patch Patch15: sp-counted-base-gcc-ppc.diff %define _prefix /usr %define python_root /usr %define python_lib_path %py_libdir/config %description Boost provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries that work well with the C++ Standard Library. One goal is to establish "existing practice" and provide 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's upcoming C++ Standard Library Technical Report. Although Boost was begun by members of the C++ Standards Committee Library Working Group, membership has expanded to include nearly two thousand members of the C++ community at large. This package contains the dynamic libraries. For development using Boost, you also need the boost-devel package. For documentation, see the boost-doc package. %package devel Summary: Development package for Boost C++ Group: Development/Libraries/C and C++ Requires: %{name} = %{version} AutoReqProv: on %description devel This package contains all that is needed to develop/compile applications that use the Boost C++ libraries. For documentation see the package boost-doc. %package doc Summary: Documentation for the Boost C++ Libraries Group: Development/Libraries/C and C++ Requires: %{name}-devel = %{version} AutoReqProv: on %description doc This package contains documentation about the boost dynamic libraries. %prep %setup -q -n %{name}_%{file_version} find -name .cvsignore|xargs rm -f #everything in the tarball has the executable flag set ...... find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl -o -name configure \) | xargs chmod -x %patch %patch1 %patch3 %patch4 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %patch11 %patch12 %patch13 %patch14 %patch15 -p1 cp %{S:1} . %build #%define boost_cxxflags %optflags -fno-strict-aliasing %define boost_cxxflags %optflags %define bjam_flags -d2 --layout=system --no-objcopy %{?jobs:-j%jobs} find . -type f|xargs chmod u+w # To have the documentation in a place that can easily be included in the file list mkdir .backup tar -cf - $(find . -name \*.htm\* -o -name \*.gif -o -name \*.css -o -name \*.jpg)| tar -C .backup -xf - rm -rf .backup/boost ln -s /usr/include/boost .backup # Now build it ./configure --with-bjam=/usr/bin/bjam --with-icu --prefix=%{buildroot}/usr --libdir=%{buildroot}%{_libdir} make GXX="c++ %{boost_cxxflags}" GCC="c++ %{boost_cxxflags}" BJAM_FLAGS="%{bjam_flags}" %install make GXX="c++ %{boost_cxxflags}" GCC="c++ %{boost_cxxflags}" BJAM_FLAGS="%{bjam_flags}" install chmod -R u+rw,go+rX %{buildroot}%{_prefix} ## symlink needed for jahshaka's openlibraries framework, jw@suse.de (cd %{buildroot}%{_prefix}/%_lib; ln -s libboost_thread-mt.so libboost_thread.so) %post %run_ldconfig %postun %run_ldconfig %files %defattr(-,root,root) %doc NEWS %{_libdir}/libboost_date_time.so.* %{_libdir}/libboost_filesystem.so.* %{_libdir}/libboost_iostreams.so.* %{_libdir}/libboost_prg_exec_monitor.so.* %{_libdir}/libboost_program_options.so.* %{_libdir}/libboost_python.so.* %{_libdir}/libboost_regex.so.* %{_libdir}/libboost_serialization.so.* %{_libdir}/libboost_signals.so.* %{_libdir}/libboost_test_exec_monitor.so.* %{_libdir}/libboost_thread-mt.so.* %{_libdir}/libboost_unit_test_framework.so.* %{_libdir}/libboost_wserialization.so.* %files devel %defattr(-,root,root) %{_libdir}/libboost_date_time.a %{_libdir}/libboost_filesystem.a %{_libdir}/libboost_iostreams.a %{_libdir}/libboost_prg_exec_monitor.a %{_libdir}/libboost_program_options.a %{_libdir}/libboost_python.a %{_libdir}/libboost_regex.a %{_libdir}/libboost_serialization.a %{_libdir}/libboost_signals.a %{_libdir}/libboost_test_exec_monitor.a %{_libdir}/libboost_thread-mt.a %{_libdir}/libboost_unit_test_framework.a %{_libdir}/libboost_wserialization.a %{_libdir}/libboost_date_time.so %{_libdir}/libboost_filesystem.so %{_libdir}/libboost_iostreams.so %{_libdir}/libboost_prg_exec_monitor.so %{_libdir}/libboost_program_options.so %{_libdir}/libboost_python.so %{_libdir}/libboost_regex.so %{_libdir}/libboost_serialization.so %{_libdir}/libboost_signals.so %{_libdir}/libboost_test_exec_monitor.so %{_libdir}/libboost_thread-mt.so %{_libdir}/libboost_thread.so %{_libdir}/libboost_unit_test_framework.so %{_libdir}/libboost_wave.a %{_libdir}/libboost_wserialization.so %{_includedir}/boost %files doc %defattr(-,root,root) %doc .backup/* %changelog * Wed Jan 16 2008 schwab@suse.de - Fix asm constraints. * Wed Oct 24 2007 rguenther@suse.de - Use -fpermissive in addition to -O2 for building. - Add patch to enable building wave with GCC 4.3. * Sun Jul 15 2007 schwab@suse.de - Fix reference to atomicity.h. * Sat Mar 24 2007 aj@suse.de - Add libbz2-devel to BuildRequires. * Fri Sep 22 2006 pth@suse.de - Apply patch from community to build with Python 2.5 * Fri Jul 14 2006 sf@suse.de - fixed wrong usage of visit_each() (Bug #192116 ) * Thu Jul 13 2006 sf@suse.de - fixed link creation to libboost_thread.so, using %%_lib instead of lib * Mon Jun 19 2006 jw@suse.de - added a libboost_thread.so as a symlink to libboost_thread-mt.so * Tue Apr 04 2006 pth@suse.de - Add libboost_wave.a to file list * Tue Apr 04 2006 pth@suse.de - Use explicit file names instead of wildcards to detect libraries that weren't built. * Wed Feb 08 2006 schwab@suse.de - Fix broken assembler constraints [#148429]. * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Tue Jan 17 2006 schwab@suse.de - Don't strip binaries. * Wed Dec 07 2005 pth@suse.de - Fix cases of type-punning in boost::python - Compile without -fno-strict-aliasing again. - Remove unnecessary type attributes in forward declarations. * Tue Dec 06 2005 pth@suse.de - Update to 1.33.1. - Fix use of uninitialized variable. - Compile with -fno-strict-aliasing. - Update NEWS file * Thu Aug 25 2005 pth@suse.de - Incorporate fixes that are bound to be in 1.33.1 - Build boost.regex with unicode support. * Fri Aug 19 2005 pth@suse.de - Add a NEWS file. * Thu Aug 18 2005 pth@suse.de - Update to 1.33.0 with 5 new libraries. See NEWS for specifics. - Fix use of uninitialized class member (matz@suse.de) - Compile with -O2 instead of -O3 - Make build process use %%optflags * Thu Mar 10 2005 pth@suse.de - Update to 1.32.0 * Fri May 07 2004 pth@suse.de - Add convenience symlinks (#38491) * Sun Apr 25 2004 coolo@suse.de - build with several jobs * Fri Mar 05 2004 pth@suse.de - Update to 1.31.0. - Make building boost work on Linux platforms where gcc does not define _REENTRANT when passed -pthread. Patch was done by Robert Schiele. * Sat Jan 10 2004 adrian@suse.de - add %%run_ldconfig * Wed Aug 20 2003 pthomas@suse.de - Update to 1.30.2, a bugfix release * Wed Jul 23 2003 pthomas@suse.de - Initial package, based on the work by Robert Schiele. - Fix building with Python 2.3