dev-db/mongodb: Fix boost::none usage
authorDavid Seifert <soap@gentoo.org>
Sat, 2 Apr 2016 18:54:40 +0000 (20:54 +0200)
committerDavid Seifert <soap@gentoo.org>
Sat, 2 Apr 2016 18:54:53 +0000 (20:54 +0200)
Gentoo-Bug: 578846

Package-Manager: portage-2.2.28

dev-db/mongodb/files/mongodb-3.2.4-boost-1.60.patch [new file with mode: 0644]
dev-db/mongodb/mongodb-3.2.4.ebuild

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 (file)
index 0000000..41c9bd2
--- /dev/null
@@ -0,0 +1,84 @@
+Fix issues caused by boost::none changes.\r
+See also: https://bugs.gentoo.org/show_bug.cgi?id=578846\r
+Adapted from: https://github.com/mongodb/mongo/commit/92c3f80f384d2825efeabd0d26aa534c0deb6988\r
+\r
+--- 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;\r
+                 }\r
+                     \r
+-                unsigned long const res=detail::win32::WaitForSingleObject(unlock_sem,::boost::detail::get_milliseconds_until(wait_until));\r
++                unsigned long const res=WaitForSingleObject(unlock_sem,::boost::detail::get_milliseconds_until(wait_until));\r
+                 if(res==detail::win32::timeout)\r
+                 {\r
+                     for(;;)\r
+@@ -328,7 +328,7 @@
+                 {\r
+                     return true;\r
+                 }\r
+-                unsigned long const wait_res=detail::win32::WaitForMultipleObjects(2,semaphores,true,::boost::detail::get_milliseconds_until(wait_until));\r
++                unsigned long const wait_res=WaitForMultipleObjects(2,semaphores,true,::boost::detail::get_milliseconds_until(wait_until));\r
+                 if(wait_res==detail::win32::timeout)\r
+                 {\r
+                     for(;;)\r
+@@ -421,7 +421,7 @@
+                     return;\r
+                 }\r
+                     \r
+-                BOOST_VERIFY(!detail::win32::WaitForSingleObject(unlock_sem,detail::win32::infinite));\r
++                BOOST_VERIFY(!WaitForSingleObject(unlock_sem,detail::win32::infinite));\r
+             }\r
+         }\r
\r
+@@ -502,7 +502,7 @@
+                 {\r
+                     if(!last_reader)\r
+                     {\r
+-                        BOOST_VERIFY(!detail::win32::WaitForSingleObject(upgrade_sem,detail::win32::infinite));\r
++                        BOOST_VERIFY(!WaitForSingleObject(upgrade_sem,detail::win32::infinite));\r
+                     }\r
+                     break;\r
+                 }\r
index e1e5a32be8062f5269ba604a76ba3639a54924ed..dce800bb170fac9ab61b4a908075bdf7c425ab46 100644 (file)
@@ -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
 }