- Drop file list for main "boost" package, which was inadvertently left in.

- Add thread sub-package to capture omitted boost_thread.
- Add upstream patch to make boost_filesystem compatible with C++0x.
- Resolves: #496188
- Resolves: #509250
This commit is contained in:
Petr Machata 2009-07-02 16:38:45 +00:00
parent ab7902e738
commit 662439cda1
2 changed files with 190 additions and 4 deletions

163
boost-fs_gcc44.patch Normal file
View File

@ -0,0 +1,163 @@
Index: boost/filesystem/operations.hpp
===================================================================
--- boost/filesystem/operations.hpp (revision 52859)
+++ boost/filesystem/operations.hpp (working copy)
@@ -659,9 +659,9 @@
{ return is_symlink<wpath>( ph ); }
inline bool is_empty( const path & ph )
- { return is_empty<path>( ph ); }
+ { return boost::filesystem::is_empty<path>( ph ); }
inline bool is_empty( const wpath & ph )
- { return is_empty<wpath>( ph ); }
+ { return boost::filesystem::is_empty<wpath>( ph ); }
inline bool equivalent( const path & ph1, const path & ph2 )
{ return equivalent<path>( ph1, ph2 ); }
Index: libs/filesystem/test/path_test.cpp
===================================================================
--- libs/filesystem/test/path_test.cpp (revision 52859)
+++ libs/filesystem/test/path_test.cpp (working copy)
@@ -27,9 +27,8 @@
namespace fs = boost::filesystem;
using boost::filesystem::path;
-using boost::next;
-using boost::prior;
+
#include <boost/detail/lightweight_test.hpp>
#define PATH_CHECK( a, b ) check( a, b, __LINE__ )
@@ -480,18 +479,18 @@
itr_ck = "foo";
BOOST_TEST( *itr_ck.begin() == std::string( "foo" ) );
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
itr_ck = path( "/foo" );
BOOST_TEST( *itr_ck.begin() == std::string( "/" ) );
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "foo" ) );
- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
- BOOST_TEST( next( itr_ck.begin() ) == prior( itr_ck.end() ) );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "/" ) );
- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) );
+ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
+ BOOST_TEST( boost::next( itr_ck.begin() ) == boost::prior( itr_ck.end() ) );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
+ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) );
+ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
itr_ck = "/foo/bar";
itr = itr_ck.begin();
@@ -1106,65 +1105,65 @@
itr_ck = path( "c:" );
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "c:" ) );
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "c:" ) );
itr_ck = path( "c:/" );
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
- BOOST_TEST( next( next( itr_ck.begin() )) == itr_ck.end() );
- BOOST_TEST( prior( prior( itr_ck.end() )) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "/" ) );
- BOOST_TEST( *prior( prior( itr_ck.end() )) == std::string( "c:" ) );
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
+ BOOST_TEST( boost::next( boost::next( itr_ck.begin() )) == itr_ck.end() );
+ BOOST_TEST( boost::prior( boost::prior( itr_ck.end() )) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "/" ) );
+ BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "c:" ) );
itr_ck = path( "c:foo" );
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "foo" ) );
- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "c:" ) );
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) );
+ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
+ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
+ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "c:" ) );
itr_ck = path( "c:/foo" );
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
- BOOST_TEST( *next( next( itr_ck.begin() )) == std::string( "foo" ) );
- BOOST_TEST( next( next( next( itr_ck.begin() ))) == itr_ck.end() );
- BOOST_TEST( prior( prior( prior( itr_ck.end() ))) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
- BOOST_TEST( *prior( prior( itr_ck.end() )) == std::string( "/" ) );
- BOOST_TEST( *prior( prior( prior( itr_ck.end() ))) == std::string( "c:" ) );
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
+ BOOST_TEST( *boost::next( boost::next( itr_ck.begin() )) == std::string( "foo" ) );
+ BOOST_TEST( boost::next( boost::next( boost::next( itr_ck.begin() ))) == itr_ck.end() );
+ BOOST_TEST( boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
+ BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "/" ) );
+ BOOST_TEST( *boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == std::string( "c:" ) );
itr_ck = path( "//net" );
BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) );
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "//net" ) );
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "//net" ) );
itr_ck = path( "//net/" );
CHECK_EQUAL( *itr_ck.begin(), "//net" );
- CHECK_EQUAL( *next( itr_ck.begin() ), "/" );
- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
- CHECK_EQUAL( *prior( itr_ck.end() ), "/" );
- CHECK_EQUAL( *prior(prior( itr_ck.end() )), "//net" );
+ CHECK_EQUAL( *boost::next( itr_ck.begin() ), "/" );
+ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
+ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
+ CHECK_EQUAL( *boost::prior( itr_ck.end() ), "/" );
+ CHECK_EQUAL( *boost::prior(boost::prior( itr_ck.end() )), "//net" );
itr_ck = path( "//net/foo" );
BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) );
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
- BOOST_TEST( *next(next( itr_ck.begin() )) == std::string( "foo" ) );
- BOOST_TEST( next(next(next( itr_ck.begin() ))) == itr_ck.end() );
- BOOST_TEST( prior(prior(prior( itr_ck.end() ))) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "/" ) );
- BOOST_TEST( *prior(prior(prior( itr_ck.end() ))) == std::string( "//net" ) );
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
+ BOOST_TEST( *boost::next(boost::next( itr_ck.begin() )) == std::string( "foo" ) );
+ BOOST_TEST( boost::next(boost::next(boost::next( itr_ck.begin() ))) == itr_ck.end() );
+ BOOST_TEST( boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
+ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) );
+ BOOST_TEST( *boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == std::string( "//net" ) );
itr_ck = path( "prn:" );
BOOST_TEST( *itr_ck.begin() == std::string( "prn:" ) );
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "prn:" ) );
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "prn:" ) );
} // Windows
else

View File

@ -1,7 +1,7 @@
Name: boost
Summary: The Boost C++ Libraries
Version: 1.39.0
Release: 2%{?dist}
Release: 3%{?dist}
License: Boost
URL: http://www.boost.org/
Group: System Environment/Libraries
@ -23,6 +23,7 @@ Requires: boost-regex = %{version}-%{release}
Requires: boost-serialization = %{version}-%{release}
Requires: boost-signals = %{version}-%{release}
Requires: boost-system = %{version}-%{release}
Requires: boost-thread = %{version}-%{release}
Requires: boost-wave = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -40,6 +41,7 @@ Patch3: boost-soname.patch
Patch4: boost-unneccessary_iostreams.patch
Patch5: boost-bitset.patch
Patch6: boost-function_template.patch
Patch7: boost-fs_gcc44.patch
%bcond_with tests
%bcond_with docs_generated
@ -175,6 +177,17 @@ Runtime support for the Boost.Wave library, a Standards conformant,
and highly configurable implementation of the mandated C99/C++
preprocessor functionality.
%package thread
Summary: Runtime component of boost thread library
Group: System Environment/Libraries
%description thread
Runtime component Boost.Thread library, which provides classes and
functions for managing multiple threads of execution, and for
synchronizing data between the threads or providing separate copies of
data specific to individual threads.
%package devel
Summary: The Boost C++ headers and shared development libraries
Group: Development/Libraries
@ -211,6 +224,7 @@ sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH3} | %{__patch} -p0 --fuzz=0
%patch4 -p0
%patch5 -p0
%patch6 -p0
%patch7 -p0
%build
BOOST_ROOT=`pwd`
@ -333,9 +347,6 @@ rm -rf $RPM_BUILD_ROOT
%postun -p /sbin/ldconfig
%files
%defattr(-, root, root, -)
%{_libdir}/*.so.%{version}
%{_libdir}/*.so.%{sonamever}
%files date-time
%defattr(-, root, root, -)
@ -401,6 +412,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libboost_system*.so.%{version}
%{_libdir}/libboost_system*.so.%{sonamever}
%files thread
%defattr(-, root, root, -)
%{_libdir}/libboost_thread*.so.%{version}
%{_libdir}/libboost_thread*.so.%{sonamever}
%files wave
%defattr(-, root, root, -)
%{_libdir}/libboost_wave*.so.%{version}
@ -420,6 +436,13 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/*.a
%changelog
* Thu Jul 2 2009 Petr Machata <pmachata@redhat.com> - 1.39.0-3
- Drop file list for main "boost" package, which was inadvertently left in.
- Add thread sub-package to capture omitted boost_thread.
- Add upstream patch to make boost_filesystem compatible with C++0x.
- Resolves: #496188
- Resolves: #509250
* Mon May 11 2009 Benjamin Kosnik <bkoz@redhat.com> - 1.39.0-2
- Apply patch from Caolan McNamara
- Resolves: #500030 function_template bug is back...