Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > by-pkgid > 774f02116bc4e9c93ddd3050fe493475 > files > 3

boost-1.42.0-3.2mdv2010.1.src.rpm

%define cmake_build 0

%if %cmake_build
%define cmake_pl 0
%else
%define packver %(echo "%{version}" | sed -e "s/\\\./_/g")
%endif

# From the version 13 of Fedora, the Boost libraries are delivered
# with sonames equal to the Boost version (e.g., 1.41.0). 
%define	libname %mklibname boost %{version}
%define	libnamedevel %mklibname boost -d
%define	libnamestaticdevel %mklibname boost -d -s

%define subrel 2

Summary:	Portable C++ libraries
Name:		boost
Version:	1.42.0
Release:	%mkrel 3
License:	Boost
Group:		Development/C++
URL:		http://boost.org/
%if %cmake_build
Source0:	http://sodium.resophonic.com/boost-cmake/%{version}.cmake%{cmake_pl}/boost-%{version}.cmake%{cmake_pl}.tar.gz
BuildRequires:	cmake
%else
Source0:	http://umn.dl.sourceforge.net/sourceforge/boost/boost_%{packver}.tar.bz2
BuildRequires:	boost-jam
%endif
# (anssi) in bjam mode, use CXXFLAGS when optimization=speed
Patch0:		boost-use-cxxflags.patch
Patch1:		boost-fix-serialization.patch
BuildRequires:	bzip2-devel
BuildRequires:	python-devel
BuildRequires:	zlib-devel
BuildRequires:	icu-devel
#BuildRequires:	openmpi-devel
BuildRequires:	expat-devel
BuildRequires:	doxygen xsltproc
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.

%define boostlibs date_time filesystem graph iostreams math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l prg_exec_monitor program_options python regex serialization signals system thread unit_test_framework wave wserialization

# (Anssi 01/2010) dashes are converted to underscores for macros ($lib2);
# The sed script adds _ when library name ends in number.
%{expand:%(for lib in %boostlibs; do lib2=${lib/-/_}; cat <<EOF
%%global libname$lib2 %%mklibname boost_$(echo $lib | sed 's,[0-9]$,&_,') %{version}
%%package -n %%{libname$lib2}
Summary:	Boost $lib shared library
# no one should require this, but provided anyway for maximum compatibility:
Provides:	boost = %version-%release
Group:		System/Libraries
EOF
done)}
# (Anssi 01/2010) splitted expand contents due to rpm bug failing build,
# triggered by a too long expanded string.
%{expand:%(for lib in %boostlibs; do lib2=${lib/-/_}; cat <<EOF
%%description -n %%{libname$lib2}
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 the shared library needed for
running programs dynamically linked against Boost $lib.
EOF
done)}
%{expand:%(for lib in %boostlibs; do lib2=${lib/-/_}; cat <<EOF
%%files -n %%{libname$lib2}
%%defattr(-,root,root)
%%doc LICENSE_1_0.txt
%{_libdir}/libboost_$lib.so.%{version}
EOF
done)}

%package -n	%{libnamedevel}
Summary:	The libraries and headers needed for Boost development
Group:		Development/C++
Requires:	%{expand:%(for lib in %boostlibs; do echo -n "%%{libname${lib/-/_}} = %{version}-%{release} "; done)}
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 headers and shared library
symlinks needed for Boost development.

%package -n     %{libnamedevel}-doc
Summary:        The libraries and headers needed for Boost development
Group:          Development/C++
Provides:       %{name}-devel-doc = %{version}-%{release}
Conflicts:      %{_lib}boost-devel < 1.41.0

%description -n %{libnamedevel}-doc
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 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
%if %cmake_build
%setup -q -n boost-%{version}.cmake%{cmake_pl}
%else
%setup -q -n boost_%{packver}
%endif
%apply_patches

# 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
%if %cmake_build
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_SINGLE_THREADED=NO \
	-DINSTALL_VERSIONED=OFF -DWITH_MPI=OFF
%make

%else

%define boost_jam_common_flags %{_smp_mflags} -d2 --layout=system --toolset=gcc variant=release threading=multi optimization=speed linkflags="%{ldflags} -lpython%{py_ver}" debug-symbols=on -sHAVE_ICU=1 -sEXPAT_INCLUDE=%{_includedir} -sEXPAT_LIBPATH=%{_libdir} -sCXXFLAGS="%{optflags} -O3"
%ifnarch %arm %mips
%define boost_bjam bjam %{boost_jam_common_flags}
%else
%define boost_bjam bjam %{boost_jam_common_flags} --disable-long-double
%endif

%{boost_bjam} --prefix=%{_prefix} --libdir=%{_libdir}
%endif

%install
rm -rf %{buildroot}
%if %cmake_build
%makeinstall_std -C build
%else
%{boost_bjam} --prefix=%{buildroot}%{_prefix} --libdir=%{buildroot}%{_libdir} install
%endif

# (Anssi 01/2010) add compatibility symlinks:
for file in %{buildroot}%{_libdir}/*.so; do
	cp -a $file ${file%.so}-mt.so
done
for file in %{buildroot}%{_libdir}/*.a; do
	ln -s $(basename $file) ${file%.a}-mt.a
done

# Kill any debug library versions that may show up un-invited.
rm -f %{buildroot}%{_libdir}/*-d.*
# Remove cmake configuration files used to build the Boost libraries
rm -f %{buildroot}%{_libdir}/Boost*.cmake 

%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 %{libnamedevel}
%defattr(644, root,root, 755)
%{_libdir}/libboost_*.so
%{_includedir}/boost
%if %cmake_build
%{_datadir}/%{name}-%{version}/cmake/*.cmake
%endif

%files -n %{libnamedevel}-doc
%defattr(-,root,root)
%doc packagedoc/*

%files -n %{libnamestaticdevel}
%defattr(-,root,root)
%{_libdir}/libboost_*.a

%files -n %{name}-examples
%defattr(-,root,root)
%doc examples/*


%changelog
* Fri Sep 17 2010 Oden Eriksson <oeriksson@mandriva.com> 1.42.0-3.2mdv2010.1
- built for updates

* Thu Sep 02 2010 Ahmad Samir <ahmadsamir@mandriva.org> 1.42.0-3.1mdv2010.1
+ Revision: 575183
- Fix static-devel symlinks (copied from boost in cooker SVN), (mdv#60882)

* Sun Mar 21 2010 Funda Wang <fwang@mandriva.org> 1.42.0-3mdv2010.1
+ Revision: 526045
- rebuild for new icu

* Tue Feb 23 2010 Crispin Boylan <crisb@mandriva.org> 1.42.0-2mdv2010.1
+ Revision: 509861
- Add serialization patch from svn fixes crash on exit when using dlopen libs

  + Anssi Hannula <anssi@mandriva.org>
    - rebuild for new boost

* Mon Feb 08 2010 Anssi Hannula <anssi@mandriva.org> 1.42.0-1mdv2010.1
+ Revision: 501872
- new version
- conditionally bring back support for building with bjam (there is no
  cmake-enabled version of 1.42.0 available)
- drop patches applied upstream (mapnik.patch, fix-serialization.patch)
- build only multithreaded versions of the libraries
- split the libraries into their own subpackages to minimize installation
  footprint on user systems

* Thu Feb 04 2010 Jérôme Brenier <incubusss@mandriva.org> 1.41.0-3mdv2010.1
+ Revision: 501005
- add one patch to fix serialization to build easystroke (from upstream)

* Wed Feb 03 2010 Funda Wang <fwang@mandriva.org> 1.41.0-2mdv2010.1
+ Revision: 500157
- add fedora patch to satisfy mapnik build

* Wed Feb 03 2010 Funda Wang <fwang@mandriva.org> 1.41.0-1mdv2010.1
+ Revision: 499854
- BR xsltproc
- New version 1.41.0 (cmake build based)
- drop all build patches as cmake can deal with all things :D
- revert to SONAME=VERSION, keep same with Fedora :(

  + Olivier Blin <oblin@mandriva.com>
    - simplify long-double check
    - fix build on ARM and MIPS, they don't really have long double (from Arnaud Patard)

* Thu Aug 20 2009 Helio Chissini de Castro <helio@mandriva.com> 1.39.0-2mdv2010.0
+ Revision: 418718
- Added patch to fix pyside compilation. This is included in boost-to-be 1.4.0 official near release

* Sat Aug 15 2009 Emmanuel Andry <eandry@mandriva.org> 1.39.0-1mdv2010.0
+ Revision: 416502
- disable BR openmpi-devel, as it's not welcome in main

  + Per Øyvind Karlsen <peroyvind@mandriva.org>
    - build with graphml support
    - build with mpi support
    - fix file permissions for -devel package
    - replace patch that sets %%optflags with a new one that takes an environment
      variable in stead (P0)
    - set same ABI major as Fedora and provide compatibility symlinks for "old"
      soname fashion. This should hopefully help decrease the amount of packages
      linked against older library versions (P1)
    - sync with some fedora patches
    - new release: 1.39.0

* Mon Mar 02 2009 Emmanuel Andry <eandry@mandriva.org> 1.38.0-2mdv2009.1
+ Revision: 346986
- New version 1.38.0
- drop P5 (merged upstream)

* Fri Jan 16 2009 Tomasz Pawel Gajc <tpg@mandriva.org> 1.37.0-4mdv2009.1
+ Revision: 330353
- Patch6: fix wrong BOOST_NO_EXCEPTIONS define placement (upstream bug #2469)

* Fri Dec 26 2008 Funda Wang <fwang@mandriva.org> 1.37.0-3mdv2009.1
+ Revision: 319262
- link with libpython

* Tue Dec 23 2008 Funda Wang <fwang@mandriva.org> 1.37.0-2mdv2009.1
+ Revision: 317920
- use correct license

* Sat Dec 20 2008 Tomasz Pawel Gajc <tpg@mandriva.org> 1.37.0-1mdv2009.1
+ Revision: 316499
- use _disable_ld_no_undefined 1 (lof of python stuff)
- Patch2: rediff
- don't export optflags, better to sed them in
- use %%ldflags
- update to new version 1.37.0

* 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 <tv@mandriva.org>
    - 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.org> 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