[112860] trunk/dports/databases/mongodb

ryandesign at macports.org ryandesign at macports.org
Sat Nov 2 15:47:20 PDT 2013


Revision: 112860
          https://trac.macports.org/changeset/112860
Author:   ryandesign at macports.org
Date:     2013-11-02 15:47:20 -0700 (Sat, 02 Nov 2013)
Log Message:
-----------
mongodb: fix build on Mavericks (#40875)

Modified Paths:
--------------
    trunk/dports/databases/mongodb/Portfile

Added Paths:
-----------
    trunk/dports/databases/mongodb/files/patch-libcpp.diff
    trunk/dports/databases/mongodb/files/patch-src-mongo-db-fts-stemmer.cpp.diff
    trunk/dports/databases/mongodb/files/patch-src-mongo-dbtests-documentsourcetests.cpp.diff

Modified: trunk/dports/databases/mongodb/Portfile
===================================================================
--- trunk/dports/databases/mongodb/Portfile	2013-11-02 22:38:59 UTC (rev 112859)
+++ trunk/dports/databases/mongodb/Portfile	2013-11-02 22:47:20 UTC (rev 112860)
@@ -36,6 +36,9 @@
 
 patchfiles          patch-SConstruct.diff \
                     patch-distsrc-client-SConstruct.diff \
+                    patch-libcpp.diff \
+                    patch-src-mongo-db-fts-stemmer.cpp.diff \
+                    patch-src-mongo-dbtests-documentsourcetests.cpp.diff \
                     patch-src-mongo-util-compress.cpp.diff \
                     patch-src-third_party-v8-SConscript.diff
 

Added: trunk/dports/databases/mongodb/files/patch-libcpp.diff
===================================================================
--- trunk/dports/databases/mongodb/files/patch-libcpp.diff	                        (rev 0)
+++ trunk/dports/databases/mongodb/files/patch-libcpp.diff	2013-11-02 22:47:20 UTC (rev 112860)
@@ -0,0 +1,65 @@
+https://github.com/mongodb/mongo/commit/c70a72b151fcfab26d0db5e8ceeb7c04a96ce449
+--- src/mongo/platform/unordered_map.h.orig
++++ src/mongo/platform/unordered_map.h
+@@ -15,10 +15,15 @@
+ 
+ #pragma once
+ 
+-// NOTE(acm): Before gcc-4.7, __cplusplus is always defined to be 1,
+-// so we can't reliably detect C++11 support by exclusively checking
+-// the value of __cplusplus.
+-#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__)
++// We need to drag in a C++ header so we can examine __GXX_EXPERIMENTAL_CXX0X__ or
++// _LIBCPP_VERSION meaningfully. The <new> header is pretty lightweight, mostly unavoidable,
++// and almost certain to bring in the standard library configuration macros.
++#include <new>
++
++// NOTE(acm): Before gcc-4.7, __cplusplus is always defined to be 1, so we can't reliably
++// detect C++11 support by exclusively checking the value of __cplusplus. Additionaly, libc++,
++// whether in C++11 or C++03 mode, doesn't use TR1 and drops things into std instead.
++#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(_LIBCPP_VERSION)
+ 
+ #include <unordered_map>
+ 
+--- src/mongo/platform/unordered_set.h.orig
++++ src/mongo/platform/unordered_set.h
+@@ -15,10 +15,15 @@
+ 
+ #pragma once
+ 
+-// NOTE(acm): Before gcc-4.7, __cplusplus is always defined to be 1,
+-// so we can't reliably detect C++11 support by exclusively checking
+-// the value of __cplusplus.
+-#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__)
++// We need to drag in a C++ header so we can examine __GXX_EXPERIMENTAL_CXX0X__ or
++// _LIBCPP_VERSION meaningfully. The <new> header is pretty lightweight, mostly unavoidable,
++// and almost certain to bring in the standard library configuration macros.
++#include <new>
++
++// NOTE(acm): Before gcc-4.7, __cplusplus is always defined to be 1, so we can't reliably
++// detect C++11 support by exclusively checking the value of __cplusplus. Additionaly, libc++,
++// whether in C++11 or C++03 mode, doesn't use TR1 and drops things into std instead.
++#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(_LIBCPP_VERSION)
+ 
+ #include <unordered_set>
+ 
+--- src/third_party/s2/hash.h.orig
++++ src/third_party/s2/hash.h
+@@ -7,12 +7,12 @@
+ #include "mongo/platform/unordered_set.h"
+ #define hash_set mongo::unordered_set
+ 
+-#if defined OS_LINUX || defined OS_MACOSX || defined __sunos__ || defined __freebsd__
+-#define HASH_NAMESPACE_START namespace std { namespace tr1 {
+-#define HASH_NAMESPACE_END }}
+-#elif defined OS_WINDOWS
++#if (defined(OS_MACOSX) && defined(_LIBCPP_VERSION)) || defined(OS_WINDOWS)
+ #define HASH_NAMESPACE_START namespace std {
+ #define HASH_NAMESPACE_END }
++#elif defined OS_LINUX || defined OS_MACOSX || defined __sunos__ || defined __freebsd__
++#define HASH_NAMESPACE_START namespace std { namespace tr1 {
++#define HASH_NAMESPACE_END }}
+ #endif
+ 
+ // Places that hash-related functions are defined:
+

Added: trunk/dports/databases/mongodb/files/patch-src-mongo-db-fts-stemmer.cpp.diff
===================================================================
--- trunk/dports/databases/mongodb/files/patch-src-mongo-db-fts-stemmer.cpp.diff	                        (rev 0)
+++ trunk/dports/databases/mongodb/files/patch-src-mongo-db-fts-stemmer.cpp.diff	2013-11-02 22:47:20 UTC (rev 112860)
@@ -0,0 +1,11 @@
+https://github.com/mongodb/mongo/commit/bafd5c286f824ddcacc4376af1db35e5e8f11ea1
+--- src/mongo/db/fts/stemmer.cpp.orig
++++ src/mongo/db/fts/stemmer.cpp
+@@ -17,6 +17,7 @@
+ */
+ 
+ #include <string>
++#include <cstdlib>
+ 
+ #include "mongo/db/fts/stemmer.h"
+ 

Added: trunk/dports/databases/mongodb/files/patch-src-mongo-dbtests-documentsourcetests.cpp.diff
===================================================================
--- trunk/dports/databases/mongodb/files/patch-src-mongo-dbtests-documentsourcetests.cpp.diff	                        (rev 0)
+++ trunk/dports/databases/mongodb/files/patch-src-mongo-dbtests-documentsourcetests.cpp.diff	2013-11-02 22:47:20 UTC (rev 112860)
@@ -0,0 +1,12 @@
+https://github.com/mongodb/mongo/commit/a25c25b030cd2f35db1e0e0e9e32ca9efbc8a5f1
+--- src/mongo/dbtests/documentsourcetests.cpp.orig
++++ src/mongo/dbtests/documentsourcetests.cpp
+@@ -583,7 +583,7 @@
+         };
+ 
+         struct ValueCmp {
+-            bool operator()(const Value& a, const Value& b) {
++            bool operator()(const Value& a, const Value& b) const {
+                 return Value::compare( a, b ) < 0;
+             }
+         };
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20131102/04669166/attachment.html>


More information about the macports-changes mailing list