summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorAlexys Jacob <ultrabug@gentoo.org>2012-11-04 14:23:25 +0000
committerAlexys Jacob <ultrabug@gentoo.org>2012-11-04 14:23:25 +0000
commit006eaee75e3938168218e50a4986bb1dadb27970 (patch)
tree35286e0a88050a9ea7d11277ab509028aaffa2b7 /dev-db
parent[bump] dev-perl/Module-Starter-1.600.0 (diff)
downloadgentoo-2-006eaee75e3938168218e50a4986bb1dadb27970.tar.gz
gentoo-2-006eaee75e3938168218e50a4986bb1dadb27970.tar.bz2
gentoo-2-006eaee75e3938168218e50a4986bb1dadb27970.zip
Fix boost-1.50 build #425190. Version bump, drop old, fix #441586. Get ready for #376983.
(Portage version: 2.1.11.31/cvs/Linux x86_64, signed Manifest commit with key B658FA13)
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/mongodb/ChangeLog16
-rw-r--r--dev-db/mongodb/files/mongodb-2.0-r1-boost-1.50.patch245
-rw-r--r--dev-db/mongodb/files/mongodb-2.2-r2-boost-1.50.patch215
-rw-r--r--dev-db/mongodb/mongodb-2.0.7-r1.ebuild (renamed from dev-db/mongodb/mongodb-2.0.7.ebuild)19
-rw-r--r--dev-db/mongodb/mongodb-2.0.7-r2.ebuild108
-rw-r--r--dev-db/mongodb/mongodb-2.2.0-r2.ebuild120
-rw-r--r--dev-db/mongodb/mongodb-2.2.1.ebuild (renamed from dev-db/mongodb/mongodb-2.2.0.ebuild)32
7 files changed, 729 insertions, 26 deletions
diff --git a/dev-db/mongodb/ChangeLog b/dev-db/mongodb/ChangeLog
index 813587746b16..afc51b13f338 100644
--- a/dev-db/mongodb/ChangeLog
+++ b/dev-db/mongodb/ChangeLog
@@ -1,6 +1,20 @@
# ChangeLog for dev-db/mongodb
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mongodb/ChangeLog,v 1.47 2012/10/09 18:54:01 axs Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mongodb/ChangeLog,v 1.48 2012/11/04 14:23:25 ultrabug Exp $
+
+*mongodb-2.2.1 (04 Nov 2012)
+*mongodb-2.2.0-r2 (04 Nov 2012)
+*mongodb-2.0.7-r2 (04 Nov 2012)
+*mongodb-2.0.7-r1 (04 Nov 2012)
+
+ 04 Nov 2012; <alexys@gentoo.org> +files/mongodb-2.0-r1-boost-1.50.patch,
+ -mongodb-2.0.7.ebuild, +mongodb-2.0.7-r1.ebuild, +mongodb-2.0.7-r2.ebuild,
+ -mongodb-2.2.0.ebuild, +mongodb-2.2.0-r2.ebuild,
+ +files/mongodb-2.2-r2-boost-1.50.patch, +mongodb-2.2.1.ebuild:
+ Fix boost-1.50 build for 2.x series, fix #425190, use -r1 versions for older
+ boost, use -r2 for >=1.50 boost. No longer depend on spidermonkey-1.7 for all
+ the 2.x series wrt #390631. Note that v1.8.5 will be dropped later wrt
+ #376983. Version bump fix #441586. Drop old stuff.
*mongodb-2.2.0-r1 (09 Oct 2012)
diff --git a/dev-db/mongodb/files/mongodb-2.0-r1-boost-1.50.patch b/dev-db/mongodb/files/mongodb-2.0-r1-boost-1.50.patch
new file mode 100644
index 000000000000..4ccb898ec6fd
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-2.0-r1-boost-1.50.patch
@@ -0,0 +1,245 @@
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/db/db.cpp mongodb-src-r2.0.6-patched/db/db.cpp
+--- mongodb-src-r2.0.6/db/db.cpp 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/db/db.cpp 2012-07-10 22:27:16.496886220 +0200
+@@ -326,7 +326,7 @@
+ boost::filesystem::path path( dbpath );
+ for ( boost::filesystem::directory_iterator i( path );
+ i != boost::filesystem::directory_iterator(); ++i ) {
+- string fileName = boost::filesystem::path(*i).leaf();
++ string fileName = boost::filesystem::path(*i).leaf().string();
+ if ( boost::filesystem::is_directory( *i ) &&
+ fileName.length() && fileName[ 0 ] == '$' )
+ boost::filesystem::remove_all( *i );
+@@ -655,11 +655,6 @@
+ dbExecCommand = argv[0];
+
+ srand(curTimeMicros());
+-#if( BOOST_VERSION >= 104500 )
+- boost::filesystem::path::default_name_check( boost::filesystem2::no_check );
+-#else
+- boost::filesystem::path::default_name_check( boost::filesystem::no_check );
+-#endif
+
+ {
+ unsigned x = 0x12345678;
+@@ -976,7 +971,7 @@
+ if (params.count("shutdown")){
+ bool failed = false;
+
+- string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).native_file_string();
++ string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).string();
+ if ( !boost::filesystem::exists( name ) || boost::filesystem::file_size( name ) == 0 )
+ failed = true;
+
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/db/dur.cpp mongodb-src-r2.0.6-patched/db/dur.cpp
+--- mongodb-src-r2.0.6/db/dur.cpp 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/db/dur.cpp 2012-07-10 21:56:28.866778732 +0200
+@@ -692,7 +692,7 @@
+
+ bool samePartition = true;
+ try {
+- const string dbpathDir = boost::filesystem::path(dbpath).native_directory_string();
++ const string dbpathDir = boost::filesystem::path(dbpath).string();
+ samePartition = onSamePartition(getJournalDir().string(), dbpathDir);
+ }
+ catch(...) {
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/db/dur_journal.cpp mongodb-src-r2.0.6-patched/db/dur_journal.cpp
+--- mongodb-src-r2.0.6/db/dur_journal.cpp 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/db/dur_journal.cpp 2012-07-10 22:04:18.583472723 +0200
+@@ -169,7 +169,7 @@
+ for ( boost::filesystem::directory_iterator i( getJournalDir() );
+ i != boost::filesystem::directory_iterator();
+ ++i ) {
+- string fileName = boost::filesystem::path(*i).leaf();
++ string fileName = boost::filesystem::path(*i).leaf().string();
+ if( str::startsWith(fileName, "j._") )
+ return true;
+ }
+@@ -185,7 +185,7 @@
+ for ( boost::filesystem::directory_iterator i( getJournalDir() );
+ i != boost::filesystem::directory_iterator();
+ ++i ) {
+- string fileName = boost::filesystem::path(*i).leaf();
++ string fileName = boost::filesystem::path(*i).leaf().string();
+ if( str::startsWith(fileName, "j._") ) {
+ try {
+ removeOldJournalFile(*i);
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/db/dur_recover.cpp mongodb-src-r2.0.6-patched/db/dur_recover.cpp
+--- mongodb-src-r2.0.6/db/dur_recover.cpp 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/db/dur_recover.cpp 2012-07-10 22:02:18.226799055 +0200
+@@ -71,7 +71,7 @@
+ i != filesystem::directory_iterator();
+ ++i ) {
+ filesystem::path filepath = *i;
+- string fileName = filesystem::path(*i).leaf();
++ string fileName = filesystem::path(*i).leaf().string();
+ if( str::startsWith(fileName, "j._") ) {
+ unsigned u = str::toUnsigned( str::after(fileName, '_') );
+ if( m.count(u) ) {
+@@ -84,7 +84,7 @@
+ if( i != m.begin() && m.count(i->first - 1) == 0 ) {
+ uasserted(13532,
+ str::stream() << "unexpected file in journal directory " << dir.string()
+- << " : " << filesystem::path(i->second).leaf() << " : can't find its preceeding file");
++ << " : " << filesystem::path(i->second).leaf().string() << " : can't find its preceeding file");
+ }
+ files.push_back(i->second);
+ }
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/db/instance.cpp mongodb-src-r2.0.6-patched/db/instance.cpp
+--- mongodb-src-r2.0.6/db/instance.cpp 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/db/instance.cpp 2012-07-10 22:08:55.213488817 +0200
+@@ -645,13 +645,13 @@
+ i != boost::filesystem::directory_iterator(); ++i ) {
+ if ( directoryperdb ) {
+ boost::filesystem::path p = *i;
+- string dbName = p.leaf();
++ string dbName = p.leaf().string();
+ p /= ( dbName + ".ns" );
+ if ( MMF::exists( p ) )
+ names.push_back( dbName );
+ }
+ else {
+- string fileName = boost::filesystem::path(*i).leaf();
++ string fileName = boost::filesystem::path(*i).leaf().string();
+ if ( fileName.length() > 3 && fileName.substr( fileName.length() - 3, 3 ) == ".ns" )
+ names.push_back( fileName.substr( 0, fileName.length() - 3 ) );
+ }
+@@ -893,7 +893,7 @@
+ }
+
+ void acquirePathLock(bool doingRepair) {
+- string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).native_file_string();
++ string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).string();
+
+ bool oldFile = false;
+
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/db/pdfile.cpp mongodb-src-r2.0.6-patched/db/pdfile.cpp
+--- mongodb-src-r2.0.6/db/pdfile.cpp 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/db/pdfile.cpp 2012-07-10 22:11:44.103498643 +0200
+@@ -1987,7 +1987,7 @@
+ virtual bool apply( const Path &p ) {
+ if ( !boost::filesystem::exists( p ) )
+ return false;
+- boostRenameWrapper( p, newPath_ / ( p.leaf() + ".bak" ) );
++ boostRenameWrapper( p, newPath_ / ( p.leaf().string() + ".bak" ) );
+ return true;
+ }
+ virtual const char * op() const {
+@@ -2093,7 +2093,7 @@
+ uniqueReservedPath( ( preserveClonedFilesOnFailure || backupOriginalFiles ) ?
+ "backup" : "$tmp" );
+ BOOST_CHECK_EXCEPTION( boost::filesystem::create_directory( reservedPath ) );
+- string reservedPathString = reservedPath.native_directory_string();
++ string reservedPathString = reservedPath.string();
+
+ bool res;
+ {
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/dbtests/framework.cpp mongodb-src-r2.0.6-patched/dbtests/framework.cpp
+--- mongodb-src-r2.0.6/dbtests/framework.cpp 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/dbtests/framework.cpp 2012-07-10 22:29:20.610226773 +0200
+@@ -281,7 +281,7 @@
+ boost::filesystem::create_directory(p);
+ }
+
+- string dbpathString = p.native_directory_string();
++ string dbpathString = p.string();
+ dbpath = dbpathString.c_str();
+
+ cmdLine.prealloc = false;
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/pch.h mongodb-src-r2.0.6-patched/pch.h
+--- mongodb-src-r2.0.6/pch.h 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/pch.h 2012-07-10 21:35:57.133373738 +0200
+@@ -79,7 +79,7 @@
+ //#include <boost/any.hpp>
+ #include "boost/thread/once.hpp"
+ //#include <boost/archive/iterators/transform_width.hpp>
+-#define BOOST_FILESYSTEM_VERSION 2
++#define BOOST_FILESYSTEM_VERSION 3
+ #include <boost/filesystem/convenience.hpp>
+ #include <boost/filesystem/exception.hpp>
+ #include <boost/filesystem/operations.hpp>
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/shell/shell_utils.cpp mongodb-src-r2.0.6-patched/shell/shell_utils.cpp
+--- mongodb-src-r2.0.6/shell/shell_utils.cpp 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/shell/shell_utils.cpp 2012-07-10 22:38:58.443593723 +0200
+@@ -388,7 +388,7 @@
+ #endif
+ }
+
+- argv_.push_back( programPath.native_file_string() );
++ argv_.push_back( programPath.string() );
+
+ port_ = -1;
+
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/tools/restore.cpp mongodb-src-r2.0.6-patched/tools/restore.cpp
+--- mongodb-src-r2.0.6/tools/restore.cpp 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/tools/restore.cpp 2012-07-10 22:45:00.046948094 +0200
+@@ -131,7 +131,7 @@
+ log(2) << "drillDown: " << root.string() << endl;
+
+ // skip hidden files and directories
+- if (root.leaf()[0] == '.' && root.leaf() != ".")
++ if (root.leaf().string()[0] == '.' && root.leaf().string() != ".")
+ return;
+
+ if ( is_directory( root ) ) {
+@@ -210,7 +210,7 @@
+ ns += "." + _coll;
+ }
+ else {
+- string l = root.leaf();
++ string l = root.leaf().string();
+ l = l.substr( 0 , l.find_last_of( "." ) );
+ ns += "." + l;
+ }
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/tools/tool.cpp mongodb-src-r2.0.6-patched/tools/tool.cpp
+--- mongodb-src-r2.0.6/tools/tool.cpp 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/tools/tool.cpp 2012-07-10 22:23:53.356874403 +0200
+@@ -113,12 +113,6 @@
+ // we want durability to be disabled.
+ cmdLine.dur = false;
+
+-#if( BOOST_VERSION >= 104500 )
+- boost::filesystem::path::default_name_check( boost::filesystem2::no_check );
+-#else
+- boost::filesystem::path::default_name_check( boost::filesystem::no_check );
+-#endif
+-
+ _name = argv[0];
+
+ /* using the same style as db.cpp */
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/util/background.cpp mongodb-src-r2.0.6-patched/util/background.cpp
+--- mongodb-src-r2.0.6/util/background.cpp 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/util/background.cpp 2012-07-10 21:47:40.420081320 +0200
+@@ -89,7 +89,7 @@
+ if ( msTimeOut ) {
+ // add msTimeOut millisecond to current time
+ boost::xtime xt;
+- boost::xtime_get( &xt, boost::TIME_UTC );
++ boost::xtime_get( &xt, boost::TIME_UTC_ );
+
+ unsigned long long ns = msTimeOut * 1000000ULL; // milli to nano
+ if ( xt.nsec + ns < 1000000000 ) {
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/util/concurrency/mutex.h mongodb-src-r2.0.6-patched/util/concurrency/mutex.h
+--- mongodb-src-r2.0.6/util/concurrency/mutex.h 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/util/concurrency/mutex.h 2012-07-10 21:45:51.333408307 +0200
+@@ -29,7 +29,7 @@
+
+ inline boost::xtime incxtimemillis( long long s ) {
+ boost::xtime xt;
+- boost::xtime_get(&xt, boost::TIME_UTC);
++ boost::xtime_get(&xt, boost::TIME_UTC_);
+ xt.sec += (int)( s / 1000 );
+ xt.nsec += (int)(( s % 1000 ) * 1000000);
+ if ( xt.nsec >= 1000000000 ) {
+diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/util/queue.h mongodb-src-r2.0.6-patched/util/queue.h
+--- mongodb-src-r2.0.6/util/queue.h 2012-06-04 15:42:54.000000000 +0200
++++ mongodb-src-r2.0.6-patched/util/queue.h 2012-07-10 22:14:00.243506560 +0200
+@@ -82,7 +82,7 @@
+ Timer timer;
+
+ boost::xtime xt;
+- boost::xtime_get(&xt, boost::TIME_UTC);
++ boost::xtime_get(&xt, boost::TIME_UTC_);
+ xt.sec += maxSecondsToWait;
+
+ scoped_lock l( _lock );
diff --git a/dev-db/mongodb/files/mongodb-2.2-r2-boost-1.50.patch b/dev-db/mongodb/files/mongodb-2.2-r2-boost-1.50.patch
new file mode 100644
index 000000000000..49a63af1e827
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-2.2-r2-boost-1.50.patch
@@ -0,0 +1,215 @@
+--- a/src/mongo/db/db.cpp 2012-08-28 08:28:11.000000000 +0300
++++ b/src/mongo/db/db.cpp 2012-10-21 18:25:50.000000000 +0300
+@@ -348,7 +348,7 @@
+ boost::filesystem::path path( dbpath );
+ for ( boost::filesystem::directory_iterator i( path );
+ i != boost::filesystem::directory_iterator(); ++i ) {
+- string fileName = boost::filesystem::path(*i).leaf();
++ string fileName = boost::filesystem::path(*i).leaf().string();
+ if ( boost::filesystem::is_directory( *i ) &&
+ fileName.length() && fileName[ 0 ] == '$' )
+ boost::filesystem::remove_all( *i );
+@@ -748,11 +748,11 @@
+ dbExecCommand = argv[0];
+
+ srand(curTimeMicros());
+-#if( BOOST_VERSION >= 104500 )
+- boost::filesystem::path::default_name_check( boost::filesystem2::no_check );
+-#else
+- boost::filesystem::path::default_name_check( boost::filesystem::no_check );
+-#endif
++// #if( BOOST_VERSION >= 104500 )
++// boost::filesystem::path::default_name_check( boost::filesystem2::no_check );
++// #else
++// boost::filesystem::path::default_name_check( boost::filesystem::no_check );
++// #endif
+
+ {
+ unsigned x = 0x12345678;
+@@ -1083,7 +1083,7 @@
+ if (params.count("shutdown")){
+ bool failed = false;
+
+- string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).native_file_string();
++ string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).string();
+ if ( !boost::filesystem::exists( name ) || boost::filesystem::file_size( name ) == 0 )
+ failed = true;
+
+--- a/src/mongo/db/dur.cpp 2012-08-28 08:28:11.000000000 +0300
++++ b/src/mongo/db/dur.cpp 2012-10-21 18:25:50.000000000 +0300
+@@ -770,7 +770,7 @@
+
+ bool samePartition = true;
+ try {
+- const string dbpathDir = boost::filesystem::path(dbpath).native_directory_string();
++ const string dbpathDir = boost::filesystem::path(dbpath).string();
+ samePartition = onSamePartition(getJournalDir().string(), dbpathDir);
+ }
+ catch(...) {
+--- a/src/mongo/db/dur_journal.cpp 2012-08-28 08:28:11.000000000 +0300
++++ b/src/mongo/db/dur_journal.cpp 2012-10-21 18:25:50.000000000 +0300
+@@ -176,7 +176,7 @@
+ for ( boost::filesystem::directory_iterator i( getJournalDir() );
+ i != boost::filesystem::directory_iterator();
+ ++i ) {
+- string fileName = boost::filesystem::path(*i).leaf();
++ string fileName = boost::filesystem::path(*i).leaf().string();
+ if( anyFiles || str::startsWith(fileName, "j._") )
+ return true;
+ }
+@@ -194,7 +194,7 @@
+ for ( boost::filesystem::directory_iterator i( getJournalDir() );
+ i != boost::filesystem::directory_iterator();
+ ++i ) {
+- string fileName = boost::filesystem::path(*i).leaf();
++ string fileName = boost::filesystem::path(*i).leaf().string();
+ if( str::startsWith(fileName, "j._") ) {
+ try {
+ removeOldJournalFile(*i);
+--- a/src/mongo/db/dur_recover.cpp 2012-08-28 08:28:11.000000000 +0300
++++ b/src/mongo/db/dur_recover.cpp 2012-10-21 18:25:50.000000000 +0300
+@@ -72,7 +72,7 @@
+ i != boost::filesystem::directory_iterator();
+ ++i ) {
+ boost::filesystem::path filepath = *i;
+- string fileName = boost::filesystem::path(*i).leaf();
++ string fileName = boost::filesystem::path(*i).leaf().string();
+ if( str::startsWith(fileName, "j._") ) {
+ unsigned u = str::toUnsigned( str::after(fileName, '_') );
+ if( m.count(u) ) {
+@@ -85,7 +85,7 @@
+ if( i != m.begin() && m.count(i->first - 1) == 0 ) {
+ uasserted(13532,
+ str::stream() << "unexpected file in journal directory " << dir.string()
+- << " : " << boost::filesystem::path(i->second).leaf() << " : can't find its preceeding file");
++ << " : " << boost::filesystem::path(i->second).leaf().string() << " : can't find its preceeding file");
+ }
+ files.push_back(i->second);
+ }
+--- a/src/mongo/db/instance.cpp 2012-08-28 08:28:11.000000000 +0300
++++ b/work/mongodb-src-r2.2.0/src/mongo/db/instance.cpp 2012-10-21 18:25:50.000000000 +0300
+@@ -833,13 +833,13 @@
+ i != boost::filesystem::directory_iterator(); ++i ) {
+ if ( directoryperdb ) {
+ boost::filesystem::path p = *i;
+- string dbName = p.leaf();
++ string dbName = p.leaf().string();
+ p /= ( dbName + ".ns" );
+ if ( exists( p ) )
+ names.push_back( dbName );
+ }
+ else {
+- string fileName = boost::filesystem::path(*i).leaf();
++ string fileName = boost::filesystem::path(*i).leaf().string();
+ if ( fileName.length() > 3 && fileName.substr( fileName.length() - 3, 3 ) == ".ns" )
+ names.push_back( fileName.substr( 0, fileName.length() - 3 ) );
+ }
+@@ -1102,7 +1102,7 @@
+ }
+
+ void acquirePathLock(bool doingRepair) {
+- string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).native_file_string();
++ string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).string();
+
+ bool oldFile = false;
+
+--- a/src/mongo/db/pdfile.cpp 2012-08-28 08:28:11.000000000 +0300
++++ b/src/mongo/db/pdfile.cpp 2012-10-21 18:25:50.000000000 +0300
+@@ -1675,7 +1675,7 @@
+ virtual bool apply( const Path &p ) {
+ if ( !boost::filesystem::exists( p ) )
+ return false;
+- boostRenameWrapper( p, newPath_ / ( p.leaf() + ".bak" ) );
++ boostRenameWrapper( p, newPath_ / ( p.leaf().string() + ".bak" ) );
+ return true;
+ }
+ virtual const char * op() const {
+@@ -1783,7 +1783,7 @@
+ uniqueReservedPath( ( preserveClonedFilesOnFailure || backupOriginalFiles ) ?
+ "backup" : "_tmp" );
+ MONGO_ASSERT_ON_EXCEPTION( boost::filesystem::create_directory( reservedPath ) );
+- string reservedPathString = reservedPath.native_directory_string();
++ string reservedPathString = reservedPath.string();
+
+ bool res;
+ {
+--- a/src/mongo/dbtests/framework.cpp 2012-08-28 08:28:11.000000000 +0300
++++ b/src/mongo/dbtests/framework.cpp 2012-10-21 18:25:50.000000000 +0300
+@@ -199,7 +199,7 @@
+ boost::filesystem::create_directory(p);
+ }
+
+- string dbpathString = p.native_directory_string();
++ string dbpathString = p.string();
+ dbpath = dbpathString.c_str();
+
+ cmdLine.prealloc = false;
+--- a/src/mongo/pch.h 2012-08-28 08:28:11.000000000 +0300
++++ b/src/mongo/pch.h 2012-10-21 18:25:50.000000000 +0300
+@@ -44,7 +44,7 @@
+ #include "string.h"
+ #include "limits.h"
+
+-#define BOOST_FILESYSTEM_VERSION 2
++#define BOOST_FILESYSTEM_VERSION 3
+ #include <boost/shared_ptr.hpp>
+ #include <boost/smart_ptr.hpp>
+ #include <boost/function.hpp>
+--- a/src/mongo/shell/shell_utils_launcher.cpp 2012-08-28 08:28:11.000000000 +0300
++++ b/src/mongo/shell/shell_utils_launcher.cpp 2012-10-21 18:25:50.000000000 +0300
+@@ -184,7 +184,7 @@
+ }
+ #endif
+
+- _argv.push_back( programPath.native_file_string() );
++ _argv.push_back( programPath.string() );
+
+ _port = -1;
+
+--- a/src/mongo/tools/restore.cpp 2012-08-28 08:28:11.000000000 +0300
++++ b/src/mongo/tools/restore.cpp 2012-10-21 18:25:50.000000000 +0300
+@@ -174,7 +174,7 @@
+ log(2) << "drillDown: " << root.string() << endl;
+
+ // skip hidden files and directories
+- if (root.leaf()[0] == '.' && root.leaf() != ".")
++ if (root.leaf().string()[0] == '.' && root.leaf() != ".")
+ return;
+
+ if ( is_directory( root ) ) {
+@@ -255,7 +255,7 @@
+
+ verify( ns.size() );
+
+- string oldCollName = root.leaf(); // Name of the collection that was dumped from
++ string oldCollName = root.leaf().string(); // Name of the collection that was dumped from
+ oldCollName = oldCollName.substr( 0 , oldCollName.find_last_of( "." ) );
+ if (use_coll) {
+ ns += "." + _coll;
+@@ -287,7 +287,7 @@
+ if (!boost::filesystem::exists(metadataFile.string())) {
+ // This is fine because dumps from before 2.1 won't have a metadata file, just print a warning.
+ // System collections shouldn't have metadata so don't warn if that file is missing.
+- if (!startsWith(metadataFile.leaf(), "system.")) {
++ if (!startsWith(metadataFile.leaf().string(), "system.")) {
+ log() << metadataFile.string() << " not found. Skipping." << endl;
+ }
+ } else {
+--- a/src/mongo/tools/tool.cpp 2012-08-28 08:28:11.000000000 +0300
++++ b/src/mongo/tools/tool.cpp 2012-10-21 18:25:50.000000000 +0300
+@@ -118,11 +118,11 @@
+ // we want durability to be disabled.
+ cmdLine.dur = false;
+
+-#if( BOOST_VERSION >= 104500 )
+- boost::filesystem::path::default_name_check( boost::filesystem2::no_check );
+-#else
+- boost::filesystem::path::default_name_check( boost::filesystem::no_check );
+-#endif
++// #if( BOOST_VERSION >= 104500 )
++// boost::filesystem::path::default_name_check( boost::filesystem2::no_check );
++// #else
++// boost::filesystem::path::default_name_check( boost::filesystem::no_check );
++// #endif
+
+ _name = argv[0]; \ No newline at end of file
diff --git a/dev-db/mongodb/mongodb-2.0.7.ebuild b/dev-db/mongodb/mongodb-2.0.7-r1.ebuild
index f5b44c545f19..da0d2e5350e7 100644
--- a/dev-db/mongodb/mongodb-2.0.7.ebuild
+++ b/dev-db/mongodb/mongodb-2.0.7-r1.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mongodb/mongodb-2.0.7.ebuild,v 1.1 2012/08/20 08:46:47 ultrabug Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mongodb/mongodb-2.0.7-r1.ebuild,v 1.1 2012/11/04 14:23:25 ultrabug Exp $
EAPI=4
SCONS_MIN_VERSION="1.2.0"
-inherit eutils multilib pax-utils scons-utils user versionator
+inherit eutils boost-utils flag-o-matic multilib pax-utils scons-utils user versionator
MY_P=${PN}-src-r${PV/_rc/-rc}
@@ -20,9 +20,9 @@ KEYWORDS="~amd64 ~x86"
IUSE="mms-agent static-libs v8"
PDEPEND="mms-agent? ( dev-python/pymongo )"
-RDEPEND="!v8? ( <dev-lang/spidermonkey-1.8[unicode] )
+RDEPEND="
v8? ( dev-lang/v8 )
- dev-libs/boost
+ <dev-libs/boost-1.50
dev-libs/libpcre[cxx]
net-libs/libpcap
app-arch/snappy"
@@ -36,7 +36,10 @@ pkg_setup() {
enewgroup mongodb
enewuser mongodb -1 -1 /var/lib/${PN} mongodb
- scons_opts=" --cxx=$(tc-getCXX) --use-system-all --sharedclient"
+ scons_opts=" --cc=$(tc-getCC) --cxx=$(tc-getCXX)"
+ scons_opts+=" --use-system-pcre"
+ scons_opts+=" --use-system-snappy"
+
if use v8; then
scons_opts+=" --usev8"
else
@@ -46,14 +49,10 @@ pkg_setup() {
src_prepare() {
epatch "${FILESDIR}/${PN}-2.0-fix-scons.patch"
+ epatch "${FILESDIR}/${PN}-2.2-r1-fix-boost.patch"
# drop -Werror
sed -i -e '/Werror/d' SConstruct || die
-
- sed -i -e "s@jsapi.h@js/jsapi.h@g" \
- -e "s@jsobj.h@js/jsobj.h@g" \
- -e "s@jsdate.h@js/jsdate.h@g" \
- -e "s@jsregexp.h@js/jsregexp.h@g" scripting/engine_spidermonkey.h || die
}
src_compile() {
diff --git a/dev-db/mongodb/mongodb-2.0.7-r2.ebuild b/dev-db/mongodb/mongodb-2.0.7-r2.ebuild
new file mode 100644
index 000000000000..2708108940a9
--- /dev/null
+++ b/dev-db/mongodb/mongodb-2.0.7-r2.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mongodb/mongodb-2.0.7-r2.ebuild,v 1.1 2012/11/04 14:23:25 ultrabug Exp $
+
+EAPI=4
+SCONS_MIN_VERSION="1.2.0"
+
+inherit eutils boost-utils flag-o-matic multilib pax-utils scons-utils user versionator
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="http://www.mongodb.org"
+SRC_URI="http://downloads.mongodb.org/src/${MY_P}.tar.gz
+ mms-agent? ( http://dev.gentoo.org/~ultrabug/20120514-10gen-mms-agent.zip )"
+
+LICENSE="AGPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="mms-agent static-libs v8"
+
+PDEPEND="mms-agent? ( dev-python/pymongo )"
+RDEPEND="
+ v8? ( dev-lang/v8 )
+ >=dev-libs/boost-1.50
+ dev-libs/libpcre[cxx]
+ net-libs/libpcap
+ app-arch/snappy"
+DEPEND="${RDEPEND}
+ sys-libs/readline
+ sys-libs/ncurses"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ enewgroup mongodb
+ enewuser mongodb -1 -1 /var/lib/${PN} mongodb
+
+ scons_opts=" --cc=$(tc-getCC) --cxx=$(tc-getCXX)"
+ scons_opts+=" --use-system-pcre"
+ scons_opts+=" --use-system-snappy"
+
+ if use v8; then
+ scons_opts+=" --usev8"
+ else
+ scons_opts+=" --usesm"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-2.0-fix-scons.patch"
+ epatch "${FILESDIR}/${PN}-2.2-r1-fix-boost.patch"
+ epatch "${FILESDIR}/${PN}-2.0-r1-boost-1.50.patch"
+
+ # drop -Werror
+ sed -i -e '/Werror/d' SConstruct || die
+}
+
+src_compile() {
+ escons ${scons_opts} all
+}
+
+src_install() {
+ escons ${scons_opts} --full --nostrip install --prefix="${D}"/usr
+
+ use static-libs || rm "${D}/usr/$(get_libdir)/libmongoclient.a"
+
+ use v8 && pax-mark m "${D}"/usr/bin/{mongo,mongod}
+
+ for x in /var/{lib,log,run}/${PN}; do
+ keepdir "${x}"
+ fowners mongodb:mongodb "${x}"
+ done
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+ newinitd "${FILESDIR}/${PN/db/s}.initd" ${PN/db/s}
+ newconfd "${FILESDIR}/${PN/db/s}.confd" ${PN/db/s}
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ if use mms-agent; then
+ local MY_PN="mms-agent"
+ local MY_D="/opt/${MY_PN}"
+ insinto ${MY_D}
+ doins "${WORKDIR}/${MY_PN}/"*
+ fowners -R mongodb:mongodb ${MY_D}
+ newinitd "${FILESDIR}/${MY_PN}.initd" ${MY_PN}
+ newconfd "${FILESDIR}/${MY_PN}.confd" ${MY_PN}
+ fi
+}
+
+src_test() {
+ escons ${scons_opts} test
+ "${S}"/test --dbpath=unittest || die
+}
+
+pkg_postinst() {
+ if [[ ${REPLACING_VERSIONS} < 1.8 ]]; then
+ ewarn "You just upgraded from a previous version of mongodb !"
+ ewarn "Make sure you run 'mongod --upgrade' before using this version."
+ fi
+ elog "Journaling is now enabled by default, see /etc/conf.d/${PN}"
+}
diff --git a/dev-db/mongodb/mongodb-2.2.0-r2.ebuild b/dev-db/mongodb/mongodb-2.2.0-r2.ebuild
new file mode 100644
index 000000000000..bcf2379cc381
--- /dev/null
+++ b/dev-db/mongodb/mongodb-2.2.0-r2.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mongodb/mongodb-2.2.0-r2.ebuild,v 1.1 2012/11/04 14:23:24 ultrabug Exp $
+
+EAPI=4
+SCONS_MIN_VERSION="1.2.0"
+
+inherit eutils boost-utils flag-o-matic multilib pax-utils scons-utils user versionator
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="http://www.mongodb.org"
+SRC_URI="http://downloads.mongodb.org/src/${MY_P}.tar.gz
+ mms-agent? ( http://dev.gentoo.org/~ultrabug/20120830-10gen-mms-agent.zip )"
+
+LICENSE="AGPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="mms-agent static-libs v8"
+
+PDEPEND="mms-agent? ( dev-python/pymongo )"
+RDEPEND="
+ v8? ( dev-lang/v8 )
+ >=dev-libs/boost-1.50
+ dev-libs/libpcre[cxx]
+ dev-util/google-perftools
+ net-libs/libpcap
+ app-arch/snappy"
+DEPEND="${RDEPEND}
+ sys-libs/readline
+ sys-libs/ncurses"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ enewgroup mongodb
+ enewuser mongodb -1 -1 /var/lib/${PN} mongodb
+
+ scons_opts=" --cc=$(tc-getCC) --cxx=$(tc-getCXX)"
+ scons_opts+=" --use-system-tcmalloc"
+ scons_opts+=" --use-system-pcre"
+ scons_opts+=" --use-system-snappy"
+ scons_opts+=" --use-system-boost"
+
+ if use v8; then
+ scons_opts+=" --usev8"
+ else
+ scons_opts+=" --usesm"
+ fi
+
+ local boostver=$(boost-utils_get_best_slot)
+ scons_opts+=" --boost-version=${boostver/./_}"
+ append-cxxflags "-I$(boost-utils_get_includedir)"
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-2.2-r1-fix-scons.patch"
+ epatch "${FILESDIR}/${PN}-2.2-r1-fix-boost.patch"
+ epatch "${FILESDIR}/${PN}-2.2-r2-boost-1.50.patch"
+
+ # FIXME: apply only this fix [1] on x86 boxes as it breaks /usr/lib symlink
+ # on amd64 machines [2].
+ # [1] https://jira.mongodb.org/browse/SERVER-5575
+ # [2] https://bugs.gentoo.org/show_bug.cgi?id=434664
+ if use !prefix && [[ "$(get_libdir)" == "lib" ]]; then
+ epatch "${FILESDIR}/${PN}-2.2-fix-x86client.patch"
+ fi
+}
+
+src_compile() {
+ escons ${scons_opts} all
+}
+
+src_install() {
+ escons ${scons_opts} --full --nostrip install --prefix="${ED}"/usr
+
+ use static-libs || rm "${ED}/usr/$(get_libdir)/libmongoclient.a"
+
+ use v8 && pax-mark m "${ED}"/usr/bin/{mongo,mongod}
+
+ for x in /var/{lib,log,run}/${PN}; do
+ keepdir "${x}"
+ fowners mongodb:mongodb "${x}"
+ done
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+ newinitd "${FILESDIR}/${PN/db/s}.initd" ${PN/db/s}
+ newconfd "${FILESDIR}/${PN/db/s}.confd" ${PN/db/s}
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ if use mms-agent; then
+ local MY_PN="mms-agent"
+ local MY_D="/opt/${MY_PN}"
+ insinto ${MY_D}
+ doins "${WORKDIR}/${MY_PN}/"*
+ fowners -R mongodb:mongodb ${MY_D}
+ newinitd "${FILESDIR}/${MY_PN}.initd" ${MY_PN}
+ newconfd "${FILESDIR}/${MY_PN}.confd" ${MY_PN}
+ fi
+}
+
+src_test() {
+ escons ${scons_opts} test
+ "${S}"/test --dbpath=unittest || die
+}
+
+pkg_postinst() {
+ if [[ ${REPLACING_VERSIONS} < 1.8 ]]; then
+ ewarn "You just upgraded from a previous version of mongodb !"
+ ewarn "Make sure you run 'mongod --upgrade' before using this version."
+ fi
+ elog "Journaling is now enabled by default, see /etc/conf.d/${PN}"
+}
diff --git a/dev-db/mongodb/mongodb-2.2.0.ebuild b/dev-db/mongodb/mongodb-2.2.1.ebuild
index 999a0d92212d..43826f3a623a 100644
--- a/dev-db/mongodb/mongodb-2.2.0.ebuild
+++ b/dev-db/mongodb/mongodb-2.2.1.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mongodb/mongodb-2.2.0.ebuild,v 1.5 2012/10/07 14:59:52 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mongodb/mongodb-2.2.1.ebuild,v 1.1 2012/11/04 14:23:25 ultrabug Exp $
EAPI=4
SCONS_MIN_VERSION="1.2.0"
-inherit eutils multilib pax-utils scons-utils user versionator
+inherit eutils boost-utils flag-o-matic multilib pax-utils scons-utils user versionator
MY_P=${PN}-src-r${PV/_rc/-rc}
@@ -20,9 +20,9 @@ KEYWORDS="~amd64 ~x86"
IUSE="mms-agent static-libs v8"
PDEPEND="mms-agent? ( dev-python/pymongo )"
-RDEPEND="!v8? ( <dev-lang/spidermonkey-1.8[unicode] )
+RDEPEND="
v8? ( dev-lang/v8 )
- dev-libs/boost
+ >=dev-libs/boost-1.50
dev-libs/libpcre[cxx]
dev-util/google-perftools
net-libs/libpcap
@@ -37,17 +37,27 @@ pkg_setup() {
enewgroup mongodb
enewuser mongodb -1 -1 /var/lib/${PN} mongodb
- scons_opts=" --cxx=$(tc-getCXX) --use-system-all"
+ scons_opts=" --cc=$(tc-getCC) --cxx=$(tc-getCXX)"
+ scons_opts+=" --use-system-tcmalloc"
+ scons_opts+=" --use-system-pcre"
+ scons_opts+=" --use-system-snappy"
+ scons_opts+=" --use-system-boost"
+
if use v8; then
scons_opts+=" --usev8"
else
scons_opts+=" --usesm"
fi
+
+ local boostver=$(boost-utils_get_best_slot)
+ scons_opts+=" --boost-version=${boostver/./_}"
+ append-cxxflags "-I$(boost-utils_get_includedir)"
}
src_prepare() {
- epatch "${FILESDIR}/${PN}-2.2-fix-scons.patch"
- epatch "${FILESDIR}/${PN}-2.2-fix-sconscript.patch"
+ epatch "${FILESDIR}/${PN}-2.2-r1-fix-scons.patch"
+ epatch "${FILESDIR}/${PN}-2.2-r1-fix-boost.patch"
+ epatch "${FILESDIR}/${PN}-2.2-r2-boost-1.50.patch"
# FIXME: apply only this fix [1] on x86 boxes as it breaks /usr/lib symlink
# on amd64 machines [2].
@@ -56,14 +66,6 @@ src_prepare() {
if use !prefix && [[ "$(get_libdir)" == "lib" ]]; then
epatch "${FILESDIR}/${PN}-2.2-fix-x86client.patch"
fi
-
- sed -e "s@third_party/js-1.7/@${EPREFIX}/usr/include/js/@g" \
- -i src/mongo/scripting/engine_spidermonkey.h \
- -i src/mongo/scripting/engine_spidermonkey.cpp || die
-
- if use v8; then
- sed -e "s/LIBS=\['js',/LIBS=\[/g" -i SConstruct || die
- fi
}
src_compile() {