boost/boost.spec

245 lines
7.8 KiB
RPMSpec
Raw Normal View History

#
# spec file for package boost (Version 1.33.1)
#
# Copyright (c) 2007 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 License and BSD-like
Group: Development/Libraries/C and C++
Summary: Boost C++ Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Version: 1.33.1
Release: 58
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
%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| xargs chmod -x
find -name \*.sh -o -name \*.py -o -name \*.pl|xargs chmod +x
%patch
%patch1
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8
%patch9
%patch10
%patch11
%patch12
cp %{S:1} .
chmod +x configure
%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
* 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