commit:     7f12cace81b63c922641029471c832b7f1666736
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Apr  2 18:54:40 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Apr  2 18:54:53 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7f12cace

dev-db/mongodb: Fix boost::none usage

Gentoo-Bug: 578846

Package-Manager: portage-2.2.28

 .../mongodb/files/mongodb-3.2.4-boost-1.60.patch   | 84 ++++++++++++++++++++++
 dev-db/mongodb/mongodb-3.2.4.ebuild                |  3 +-
 2 files changed, 86 insertions(+), 1 deletion(-)

diff --git a/dev-db/mongodb/files/mongodb-3.2.4-boost-1.60.patch 
b/dev-db/mongodb/files/mongodb-3.2.4-boost-1.60.patch
new file mode 100644
index 0000000..41c9bd2
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-3.2.4-boost-1.60.patch
@@ -0,0 +1,84 @@
+Fix issues caused by boost::none changes.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=578846
+Adapted from: 
https://github.com/mongodb/mongo/commit/92c3f80f384d2825efeabd0d26aa534c0deb6988
+
+--- mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor.cpp
++++ mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor.cpp
+@@ -47,7 +47,7 @@
+     if (_referenceDoc.isEmpty()) {
+         FTDCBSONUtil::extractMetricsFromDocument(sample, sample, &_metrics);
+         _reset(sample, date);
+-        return {boost::none_t()};
++        return {boost::none};
+     }
+ 
+     _metrics.resize(0);
+@@ -107,7 +107,7 @@
+     }
+ 
+     // The buffer is not full, inform the caller
+-    return {boost::none_t()};
++    return {boost::none};
+ }
+ 
+ StatusWith<std::tuple<ConstDataRange, Date_t>> 
FTDCCompressor::getCompressedSamples() {
+--- mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor_test.cpp
++++ mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor_test.cpp
+@@ -122,7 +122,7 @@
+     TestTie() : _compressor(&_config) {}
+ 
+     ~TestTie() {
+-        validate(boost::none_t());
++        validate(boost::none);
+     }
+ 
+     StatusWith<boost::optional<std::tuple<ConstDataRange, 
FTDCCompressor::CompressorState, Date_t>>>
+--- mongodb-src-r3.2.4/src/mongo/db/ftdc/file_writer.cpp
++++ mongodb-src-r3.2.4/src/mongo/db/ftdc/file_writer.cpp
+@@ -205,7 +205,7 @@
+ 
+ Status FTDCFileWriter::close() {
+     if (_archiveStream.is_open()) {
+-        Status s = flush(boost::none_t(), Date_t());
++        Status s = flush(boost::none, Date_t());
+ 
+         _archiveStream.close();
+ 
+--- mongodb-src-r3.2.4/src/mongo/util/concurrency/shared_mutex_win.hpp
++++ mongodb-src-r3.2.4/src/mongo/util/concurrency/shared_mutex_win.hpp
+@@ -175,7 +175,7 @@
+                     return true;
+                 }
+                     
+-                unsigned long const 
res=detail::win32::WaitForSingleObject(unlock_sem,::boost::detail::get_milliseconds_until(wait_until));
++                unsigned long const 
res=WaitForSingleObject(unlock_sem,::boost::detail::get_milliseconds_until(wait_until));
+                 if(res==detail::win32::timeout)
+                 {
+                     for(;;)
+@@ -328,7 +328,7 @@
+                 {
+                     return true;
+                 }
+-                unsigned long const 
wait_res=detail::win32::WaitForMultipleObjects(2,semaphores,true,::boost::detail::get_milliseconds_until(wait_until));
++                unsigned long const 
wait_res=WaitForMultipleObjects(2,semaphores,true,::boost::detail::get_milliseconds_until(wait_until));
+                 if(wait_res==detail::win32::timeout)
+                 {
+                     for(;;)
+@@ -421,7 +421,7 @@
+                     return;
+                 }
+                     
+-                
BOOST_VERIFY(!detail::win32::WaitForSingleObject(unlock_sem,detail::win32::infinite));
++                
BOOST_VERIFY(!WaitForSingleObject(unlock_sem,detail::win32::infinite));
+             }
+         }
+ 
+@@ -502,7 +502,7 @@
+                 {
+                     if(!last_reader)
+                     {
+-                        
BOOST_VERIFY(!detail::win32::WaitForSingleObject(upgrade_sem,detail::win32::infinite));
++                        
BOOST_VERIFY(!WaitForSingleObject(upgrade_sem,detail::win32::infinite));
+                     }
+                     break;
+                 }

diff --git a/dev-db/mongodb/mongodb-3.2.4.ebuild 
b/dev-db/mongodb/mongodb-3.2.4.ebuild
index e1e5a32..dce800b 100644
--- a/dev-db/mongodb/mongodb-3.2.4.ebuild
+++ b/dev-db/mongodb/mongodb-3.2.4.ebuild
@@ -101,7 +101,8 @@ pkg_setup() {
 }
 
 src_prepare() {
-       epatch "${FILESDIR}/${PN}-3.2.0-fix-scons.patch"
+       epatch "${FILESDIR}/${PN}-3.2.0-fix-scons.patch" \
+               "${FILESDIR}/${P}-boost-1.60.patch"
        epatch_user
 }
 

Reply via email to