diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index e7d1d12..0000000 --- a/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -boost-1.41.0.cmake0.tar.bz2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..08f1678 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +boost-*.tar.* +boost-*.src.rpm +boost-cmake-soname.patch +clog +.build* + diff --git a/Makefile b/Makefile deleted file mode 100644 index a239116..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: boost -# $Id: Makefile,v 1.4 2007/10/15 17:13:04 scop Exp $ -NAME := boost -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attempt a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/boost-1.41.0-iostreams-zlib.patch b/boost-1.41.0-iostreams-zlib.patch new file mode 100644 index 0000000..c97575b --- /dev/null +++ b/boost-1.41.0-iostreams-zlib.patch @@ -0,0 +1,21 @@ +Index: /trunk/boost/iostreams/filter/zlib.hpp +=================================================================== +--- /trunk/boost/iostreams/filter/zlib.hpp (revision 45783) ++++ /trunk/boost/iostreams/filter/zlib.hpp (revision 57610) +@@ -21,4 +21,5 @@ + #include + #include // MSVC, STATIC_CONSTANT, DEDUCED_TYPENAME, DINKUM. ++#include // uint*_t + #include + #include // buffer size. +@@ -44,7 +45,7 @@ + // Typedefs + +-typedef unsigned int uint; +-typedef unsigned char byte; +-typedef unsigned long ulong; ++typedef uint32_t uint; ++typedef uint8_t byte; ++typedef uint32_t ulong; + + // Prefix 'x' prevents symbols from being redefined when Z_PREFIX is defined diff --git a/boost-1.41.0-shared_ptr_serialization.patch b/boost-1.41.0-shared_ptr_serialization.patch new file mode 100644 index 0000000..f1312b6 --- /dev/null +++ b/boost-1.41.0-shared_ptr_serialization.patch @@ -0,0 +1,14 @@ +diff -up /home/petr/fedora/boost/devel/boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp\~ /home/petr/fedora/boost/devel/boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp +--- boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp~ 2009-12-17 20:51:55.000000000 +0100 ++++ boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp 2010-02-22 14:13:18.000000000 +0100 +@@ -108,7 +108,7 @@ public: + struct non_polymorphic { + static const boost::serialization::extended_type_info * + get_object_identifier(T & t){ +- return boost::serialization::singleton< ++ return &boost::serialization::singleton< + BOOST_DEDUCED_TYPENAME + boost::serialization::type_info_implementation::type + >::get_const_instance(); + +Diff finished. Mon Feb 22 14:13:38 2010 diff --git a/boost.spec b/boost.spec index da819de..fce6292 100644 --- a/boost.spec +++ b/boost.spec @@ -12,12 +12,17 @@ # Configuration of MPI backends %bcond_without mpich2 -%bcond_without openmpi +%ifarch s390 s390x %{arm} + # No OpenMPI support on these arches + %bcond_with openmpi +%else + %bcond_without openmpi +%endif Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 6%{?dist} +Release: 11%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries @@ -67,6 +72,8 @@ BuildRequires: chrpath Patch0: boost-cmake-soname.patch Patch1: boost-graph-compile.patch Patch2: boost-1.41.0-mapnik.patch +Patch3: boost-1.41.0-shared_ptr_serialization.patch +Patch4: boost-1.41.0-iostreams-zlib.patch %bcond_with tests %bcond_with docs_generated @@ -349,6 +356,30 @@ backend to do the parallel work. %endif +%package build +Summary: Cross platform build system for C++ projects +Group: Development/Tools +Requires: boost-jam +BuildArch: noarch + +%description build +Boost.Build is an easy way to build C++ projects, everywhere. You +name your executables and libraries and list their sources. +Boost.Build takes care about compiling your sources with the right +options, creating static and shared libraries, making executables, +and other chores -- whether you're using gcc, msvc, or a dozen +more supported C++ compilers -- on Windows, OSX, Linux and +commercial UNIX systems. + +%package jam +Summary: A low-level build tool +Group: Development/Tools + +%description jam +Boost.Jam (BJam) is the low-level build engine tool for Boost.Build. +Historically, Boost.Jam is based on on FTJam and on Perforce Jam but has grown +a number of significant features and is now developed independently + %prep %setup -q -n %{full_version} @@ -356,6 +387,8 @@ backend to do the parallel work. sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH0} | %{__patch} -p0 --fuzz=0 %patch1 -p0 %patch2 -p0 +%patch3 -p1 +%patch4 -p2 %build # Support for building tests. @@ -406,6 +439,13 @@ export MPI_COMPILER %{_mpich2_unload} %endif +# Build Boost Jam +echo ============================= build Jam ================== +pushd tools/jam +export CFLAGS="%{optflags}" +./build_dist.sh +popd + %check %if %{with tests} @@ -506,9 +546,30 @@ done %{__rm} -f tmp-doc-directories %{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html +echo ============================= install jam ================== +mkdir -p $RPM_BUILD_ROOT%{_bindir} +pushd tools/jam +%{__install} -m 755 stage/bin.linux*/bjam $RPM_BUILD_ROOT%{_bindir} +popd + +echo ============================= install build ================== +mkdir -p $RPM_BUILD_ROOT%{_datadir}/boost-build +pushd tools/build/v2 +cp -a boost-build.jam bootstrap.jam build-system.jam build/ kernel/ options/ tools/ util/ user-config.jam $RPM_BUILD_ROOT%{_datadir}/boost-build/ +# Not a real file +rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/build/project.ann.py +popd + # Remove scripts used to generate include files find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{__rm} -f {} \; +# boost support of cmake needs some tuning. For the time being, leave +# the files out, and rely on cmake's FindBoost to DTRT, as it had been +# doing in pre-cmake-boost times. For further info, see: +# https://bugzilla.redhat.com/show_bug.cgi?id=597020 +%{__rm} -Rfv $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version} +%{__rm} -Rfv $RPM_BUILD_ROOT%{_datadir}/cmake/%{name} + %clean %{__rm} -rf $RPM_BUILD_ROOT @@ -652,8 +713,6 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %doc LICENSE_1_0.txt %{_includedir}/%{name} %{_libdir}/libboost_*.so -%{_datadir}/%{name}-%{version} -%{_datadir}/cmake/%{name}/BoostConfig*.cmake %files static %defattr(-, root, root, -) @@ -720,7 +779,39 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif +%files build +%defattr(-, root, root, -) +%{_datadir}/boost-build/ + +%files jam +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_bindir}/bjam + %changelog +* Wed Dec 15 2010 Petr Machata - 1.41.0-12 +- The family of ARM machines is "%%{arm}", not "arm" +- Resolves: #663251 + +* Fri Dec 3 2010 Tom "spot" Callaway - 1.41.0-11 +- also package build-system.jam in boost-build + +* Thu Dec 2 2010 Tom "spot" Callaway - 1.41.0-10 +- add boost-build, boost-jam subpackages + +* Fri Jun 4 2010 Petr Machata - 1.41.0-9 +- Don't distribute cmake support files. +- Related: #597020 +- Don't build with mpich2 on s390/s390x/arm. + +* Tue May 11 2010 Petr Machata - 1.41.0-8 +- Add an upstream patch that fixes computation of CRC in zlib streams. +- Resolves: #590205 + +* Mon Feb 22 2010 Petr Machata - 1.41.0-7 +- Add a patch for serialization of shared pointers to non polymorphic + types + * Tue Feb 2 2010 Petr Machata - 1.41.0-6 - More subpackage interdependency adjustments - boost doesn't bring in the MPI stuff. Instead, $MPI-devel does. diff --git a/import.log b/import.log deleted file mode 100644 index 3b6338d..0000000 --- a/import.log +++ /dev/null @@ -1,2 +0,0 @@ -boost-1_37_0-1_fc10:HEAD:boost-1.37.0-1.fc10.src.rpm:1229535558 -boost-1_39_0-1_fc10:HEAD:boost-1.39.0-1.fc10.src.rpm:1241744899