Hi, Unbreak the build of databases/mongodb after the update of devel/pcre to 8.41.
pcrecpp.h from pcre exposed std::string (and some other symbols) to the global namespace by accident, which had been fixed in 8.41, but obviously some parts of mongodb relies on this accidental exposure. Instead of prefixing every unqualified use of string with std::, I choose to just pull in std::string in the affected files. And: yes, he upstream code is mixing std::string and string in some of the files. I'm not enough a C++ guy to judge, but it looks a little bit sloppy IMHO ;-) ok? (anf if it's ok but I'm not around, someone feel free to commit it) Ciao, Kili Index: patches/patch-src_mongo_db_dbwebserver_cpp =================================================================== RCS file: patches/patch-src_mongo_db_dbwebserver_cpp diff -N patches/patch-src_mongo_db_dbwebserver_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_mongo_db_dbwebserver_cpp 22 Oct 2017 23:03:14 -0000 @@ -0,0 +1,16 @@ +$OpenBSD$ + +pcrecpp.h used to expose std::string, which is no longer the case +starting with pcre-8.41. + +Index: src/mongo/db/dbwebserver.cpp +--- src/mongo/db/dbwebserver.cpp.orig ++++ src/mongo/db/dbwebserver.cpp +@@ -67,6 +67,7 @@ + namespace mongo { + + using std::map; ++using std::string; + using std::stringstream; + using std::vector; + Index: patches/patch-src_mongo_db_matcher_expression_leaf_cpp =================================================================== RCS file: patches/patch-src_mongo_db_matcher_expression_leaf_cpp diff -N patches/patch-src_mongo_db_matcher_expression_leaf_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_mongo_db_matcher_expression_leaf_cpp 22 Oct 2017 23:03:14 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +pcrecpp.h used to expose std::string, which is no longer the case +starting with pcre-8.41. + +Index: src/mongo/db/matcher/expression_leaf.cpp +--- src/mongo/db/matcher/expression_leaf.cpp.orig ++++ src/mongo/db/matcher/expression_leaf.cpp +@@ -45,6 +45,8 @@ + + namespace mongo { + ++using std::string; ++ + Status LeafMatchExpression::initPath(StringData path) { + _path = path; + return _elementPath.init(_path); Index: patches/patch-src_mongo_db_repl_master_slave_cpp =================================================================== RCS file: patches/patch-src_mongo_db_repl_master_slave_cpp diff -N patches/patch-src_mongo_db_repl_master_slave_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_mongo_db_repl_master_slave_cpp 22 Oct 2017 23:03:14 -0000 @@ -0,0 +1,16 @@ +$OpenBSD$ + +pcrecpp.h used to expose std::string, which is no longer the case +starting with pcre-8.41. + +Index: src/mongo/db/repl/master_slave.cpp +--- src/mongo/db/repl/master_slave.cpp.orig ++++ src/mongo/db/repl/master_slave.cpp +@@ -77,6 +77,7 @@ using std::endl; + using std::max; + using std::min; + using std::set; ++using std::string; + using std::stringstream; + using std::unique_ptr; + using std::vector; Index: patches/patch-src_mongo_shell_bench_cpp =================================================================== RCS file: patches/patch-src_mongo_shell_bench_cpp diff -N patches/patch-src_mongo_shell_bench_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_mongo_shell_bench_cpp 22 Oct 2017 23:03:14 -0000 @@ -0,0 +1,16 @@ +$OpenBSD$ + +pcrecpp.h used to expose std::string, which is no longer the case +starting with pcre-8.41. + +Index: src/mongo/shell/bench.cpp +--- src/mongo/shell/bench.cpp.orig ++++ src/mongo/shell/bench.cpp +@@ -79,6 +79,7 @@ using std::unique_ptr; + using std::cout; + using std::endl; + using std::map; ++using std::string; + + const std::map<OpType, std::string> opTypeName{{OpType::NONE, "none"}, + {OpType::NOP, "nop"}, Index: patches/patch-src_mongo_util_net_miniwebserver_cpp =================================================================== RCS file: patches/patch-src_mongo_util_net_miniwebserver_cpp diff -N patches/patch-src_mongo_util_net_miniwebserver_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_mongo_util_net_miniwebserver_cpp 22 Oct 2017 23:03:14 -0000 @@ -0,0 +1,16 @@ +$OpenBSD$ + +pcrecpp.h used to expose std::string, which is no longer the case +starting with pcre-8.41. + +Index: src/mongo/util/net/miniwebserver.cpp +--- src/mongo/util/net/miniwebserver.cpp.orig ++++ src/mongo/util/net/miniwebserver.cpp +@@ -43,6 +43,7 @@ namespace mongo { + + using std::shared_ptr; + using std::endl; ++using std::string; + using std::stringstream; + using std::vector; +