pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/databases/mongodb3
Module Name: pkgsrc
Committed By: gdt
Date: Fri Jun 28 16:30:56 UTC 2019
Added Files:
pkgsrc/databases/mongodb3: DESCR Makefile PLIST distinfo options.mk
pkgsrc/databases/mongodb3/patches: patch-SConstruct
patch-debian_mongod.conf patch-src_mongo_base_initializer.h
patch-src_mongo_db_dbwebserver.cpp
patch-src_mongo_db_fts_unicode_string.cpp
patch-src_mongo_db_matcher_expression__leaf.cpp
patch-src_mongo_db_repl_isself.c
patch-src_mongo_db_repl_master__slave.cpp
patch-src_mongo_db_repl_oplog__fetcher.cpp
patch-src_mongo_installer_msi_SConscript
patch-src_mongo_platform_random.cpp
patch-src_mongo_platform_stack__locator__dragonfly.cpp
patch-src_mongo_platform_stack__locator__netbsd.cpp
patch-src_mongo_shell_bench.cpp
patch-src_mongo_shell_linenoise__utf8.h
patch-src_mongo_util_intrusive__counter.h
patch-src_mongo_util_net_miniwebserver.cpp
patch-src_mongo_util_processinfo__dragonfly.cpp
patch-src_mongo_util_processinfo__netbsd.cpp
patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_dpml__exception.c
patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h
patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h
patch-src_third__party_mozjs-38_platform_x86__64_netbsd_build_js-confdefs.h
patch-src_third__party_mozjs-38_platform_x86__64_netbsd_include_js-config.h
patch-src_third__party_s2_base_port.h
patch-src_third__party_wiredtiger_SConscript
patch-src_third__party_wiredtiger_build__dragonfly_wiredtiger__config.h
patch-src_third__party_wiredtiger_build__netbsd_wiredtiger__config.h
Log Message:
databases/mongodb3: Add, to ameliorate problems with mongodb 4
This is a copy of mongodb before the update to 4, with annotations to
explain why it exists. Reasons include:
- mongodb 4 is licensed under the Server Side Public License, to
which some have objected
- mongodb 4 requires c++17 (and hence gcc 8)
(ok to add during freeze by wiz@)
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/databases/mongodb3/DESCR \
pkgsrc/databases/mongodb3/Makefile pkgsrc/databases/mongodb3/PLIST \
pkgsrc/databases/mongodb3/distinfo pkgsrc/databases/mongodb3/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/databases/mongodb3/patches/patch-SConstruct \
pkgsrc/databases/mongodb3/patches/patch-debian_mongod.conf \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_base_initializer.h \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_dbwebserver.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_fts_unicode_string.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_matcher_expression__leaf.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_isself.c \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_master__slave.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_oplog__fetcher.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_installer_msi_SConscript \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_random.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_stack__locator__dragonfly.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_shell_bench.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_shell_linenoise__utf8.h \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_intrusive__counter.h \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_net_miniwebserver.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_processinfo__dragonfly.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_processinfo__netbsd.cpp \
pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_dpml__exception.c \
pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h \
pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h \
pkgsrc/databases/mongodb3/patches/patch-src_third__party_mozjs-38_platform_x86__64_netbsd_build_js-confdefs.h \
pkgsrc/databases/mongodb3/patches/patch-src_third__party_mozjs-38_platform_x86__64_netbsd_include_js-config.h \
pkgsrc/databases/mongodb3/patches/patch-src_third__party_s2_base_port.h \
pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_SConscript \
pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_build__dragonfly_wiredtiger__config.h \
pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_build__netbsd_wiredtiger__config.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Added files:
Index: pkgsrc/databases/mongodb3/DESCR
diff -u /dev/null pkgsrc/databases/mongodb3/DESCR:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/DESCR Fri Jun 28 16:30:56 2019
@@ -0,0 +1,9 @@
+Mongo (from "humongous") is a high-performance, open source, schema-free,
+document-oriented database. It features: document data model with dynamic
+schemas; full, flexible index support and rich queries; auto-Sharding for
+horizontal scalability; built-in replication for high availability; text
+search; advanced security; aggregation Framework and MapReduce; large media
+storage with GridFS.
+
+This is an older version of mongodb, chosen to avoid the Server Side
+Public License and a need for a c++17 compiler.
\ No newline at end of file
Index: pkgsrc/databases/mongodb3/Makefile
diff -u /dev/null pkgsrc/databases/mongodb3/Makefile:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/Makefile Fri Jun 28 16:30:56 2019
@@ -0,0 +1,147 @@
+# $NetBSD: Makefile,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+# This package is intentionally old to avoid:
+# Server Side Public License
+# c++17 (and c++14 if 3.4.4 does not already need it)
+DISTNAME= mongodb-src-r3.4.4
+PKGNAME= ${DISTNAME:S/src-r//:S/-rc/rc/}
+PKGREVISION= 6
+CATEGORIES= databases
+MASTER_SITES= http://fastdl.mongodb.org/src/
+
+MAINTAINER= gdt%NetBSD.org@localhost
+HOMEPAGE= http://mongodb.org/
+COMMENT= NoSQL distributed document-oriented database
+LICENSE= gnu-agpl-v3 # Client and tools licensed under apache-2.0
+
+# MongoDB 3.4 onwards explicitly does not support 32-bit x86 platforms
+NOT_FOR_PLATFORM+= *-*-i386
+
+EXTRACT_USING= bsdtar
+
+NO_CONFIGURE= yes
+USE_LANGUAGES= c c++
+
+SCONS_ARGS= ${_MAKE_JOBS}
+SCONS_ARGS+= --use-system-boost
+SCONS_ARGS+= --use-system-pcre
+SCONS_ARGS+= --use-system-snappy
+SCONS_ARGS+= --use-system-tcmalloc
+SCONS_ARGS+= --use-system-yaml
+SCONS_ARGS+= --use-system-zlib
+SCONS_ARGS+= --js-engine=mozjs
+SCONS_ARGS+= --release
+
+PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 37 # not yet supported as of 3.0.4
+
+.include "../../mk/bsd.prefs.mk"
+
+# XXX this doesn't work for some reason
+#.if !empty(INSTALL_UNSTRIPPED:Uno:M[Yy][Ee][Ss])
+#SCONS_ARGS+= --nostrip
+#.endif
+
+GCC_REQD+= 5.3.0
+
+CPPFLAGS+= -fno-jump-tables
+
+.include "options.mk"
+
+SMF_METHODS+= mongodb
+
+BUILD_DEFS+= VARBASE
+BUILD_DEFS+= MONGODB_USER MONGODB_GROUP MONGODB_DBPATH
+BUILD_DEFS+= MONGODB_LOGPATH
+
+MONGODB_USER?= mongodb
+MONGODB_GROUP?= mongodb
+MONGODB_DBPATH?= ${VARBASE}/mongodb
+MONGODB_LOGPATH?= ${VARBASE}/log/mongodb
+
+PKG_USERS_VARS+= MONGODB_USER
+PKG_GROUPS_VARS+= MONGODB_GROUP
+
+PKG_GROUPS= ${MONGODB_GROUP}
+PKG_USERS= ${MONGODB_USER}:${MONGODB_GROUP}
+
+PKG_GECOS.${MONGODB_USER}= MongoDB database administrator
+PKG_HOME.${MONGODB_USER}= ${MONGODB_DBPATH}
+PKG_SHELL.${MONGODB_USER}= ${SH}
+
+OWN_DIRS_PERMS+= ${MONGODB_DBPATH} ${MONGODB_USER} ${MONGODB_GROUP} 0755
+OWN_DIRS_PERMS+= ${MONGODB_DBPATH}/journal ${MONGODB_USER} ${MONGODB_GROUP} 0755
+OWN_DIRS_PERMS+= ${MONGODB_LOGPATH} ${MONGODB_USER} ${MONGODB_GROUP} 0755
+
+FILES_SUBST+= MONGODB_USER=${MONGODB_USER}
+FILES_SUBST+= MONGODB_GROUP=${MONGODB_GROUP}
+FILES_SUBST+= MONGODB_DBPATH=${MONGODB_DBPATH}
+FILES_SUBST+= MONGODB_LOGPATH=${MONGODB_LOGPATH}
+
+# XXX No better idea how to pass CXXFLAGS and LDFLAGS to scons
+SUBST_CLASSES+= scons
+SUBST_STAGE.scons= pre-build
+SUBST_FILES.scons= SConstruct
+SUBST_VARS.scons= PREFIX CXXFLAGS LDFLAGS
+
+SUBST_CLASSES+= path
+SUBST_STAGE.path= pre-build
+SUBST_FILES.path= src/mongo/db/flushtest.cpp debian/mongod.conf
+SUBST_FILES.path+= debian/mongod.1 debian/mongo.1 src/mongo/shell/dbshell.cpp
+SUBST_SED.path= -e 's|/data/db|${MONGODB_DBPATH}|g'
+SUBST_SED.path+= -e 's|/etc|${PKG_SYSCONFDIR}|'
+SUBST_VARS.path= MONGODB_DBPATH MONGODB_LOGPATH
+
+LDFLAGS+= ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.boost-libs}/lib
+
+MONGODB_MAN_FILES= bsondump.1 mongo.1 mongod.1 mongodump.1 mongoexport.1 \
+ mongofiles.1 mongoimport.1 mongooplog.1 mongoperf.1 \
+ mongorestore.1 mongos.1 mongosniff.1 mongostat.1 mongotop.1
+
+NOT_PAX_MPROTECT_SAFE+= bin/mongo bin/mongod
+
+RCD_SCRIPTS= mongodb
+
+INSTALLATION_DIRS+= share/doc/mongodb share/examples/mongodb ${PKGMANDIR}/man1
+
+CONF_FILES+= share/examples/mongodb/mongod.conf \
+ ${PKG_SYSCONFDIR}/mongod.conf
+
+post-extract:
+ chmod -R g-w ${WRKSRC}
+ cp -r ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/freebsd \
+ ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/dragonfly
+ cp -r ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/openbsd \
+ ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/netbsd
+ cp ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_openbsd.cpp \
+ ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_netbsd.cpp
+
+do-build:
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SCONSBIN} ${SCONS_ARGS} core
+
+do-install:
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SCONSBIN} ${SCONS_ARGS} \
+ --prefix=${DESTDIR}${PREFIX} install
+
+do-test:
+ cd ${WRKSRC} && ./test
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/mongodb
+.for file in ${MONGODB_MAN_FILES}
+ ${INSTALL_MAN} ${WRKSRC}/debian/${file} \
+ ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
+.endfor
+ ${INSTALL_DATA} ${WRKSRC}/debian/mongod.conf \
+ ${DESTDIR}${PREFIX}/share/examples/mongodb
+
+.include "../../devel/boost-headers/buildlink3.mk"
+.include "../../devel/boost-libs/buildlink3.mk"
+.include "../../devel/py-boost/buildlink3.mk"
+.include "../../devel/libexecinfo/buildlink3.mk"
+.include "../../devel/pcre/buildlink3.mk"
+.include "../../devel/scons/buildlink3.mk"
+.include "../../devel/snappy/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../net/libpcap/buildlink3.mk"
+.include "../../textproc/yaml-cpp/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/databases/mongodb3/PLIST
diff -u /dev/null pkgsrc/databases/mongodb3/PLIST:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/PLIST Fri Jun 28 16:30:56 2019
@@ -0,0 +1,21 @@
+@comment $NetBSD: PLIST,v 1.1 2019/06/28 16:30:56 gdt Exp $
+bin/mongo
+bin/mongod
+bin/mongoperf
+bin/mongos
+man/man1/bsondump.1
+man/man1/mongo.1
+man/man1/mongod.1
+man/man1/mongodump.1
+man/man1/mongoexport.1
+man/man1/mongofiles.1
+man/man1/mongoimport.1
+man/man1/mongooplog.1
+man/man1/mongoperf.1
+man/man1/mongorestore.1
+man/man1/mongos.1
+man/man1/mongosniff.1
+man/man1/mongostat.1
+man/man1/mongotop.1
+share/doc/mongodb/README
+share/examples/mongodb/mongod.conf
Index: pkgsrc/databases/mongodb3/distinfo
diff -u /dev/null pkgsrc/databases/mongodb3/distinfo:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/distinfo Fri Jun 28 16:30:56 2019
@@ -0,0 +1,34 @@
+$NetBSD: distinfo,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+SHA1 (mongodb-src-r3.4.4.tar.gz) = 6f9f2d8a3c1c2f4089fd03f8be0b86ff0431d955
+RMD160 (mongodb-src-r3.4.4.tar.gz) = 2a65f380204a92762ceea2be35dbe2c671e106f6
+SHA512 (mongodb-src-r3.4.4.tar.gz) = dbae89b49c363e7258021cd31385e4449bfdfdfd5adfcb1683e4431372731e58ec33bf8f7576d2d52659a52461bd6a32fbc67d5c6e36d52184ec1aabb345d940
+Size (mongodb-src-r3.4.4.tar.gz) = 39867133 bytes
+SHA1 (patch-SConstruct) = 6ec188274fb25614494ec192be7809a6a01962de
+SHA1 (patch-debian_mongod.conf) = e5074b5f7ad50560b99d652feab58da764ba542c
+SHA1 (patch-src_mongo_base_initializer.h) = add32c5940c922a98122d0e6883eb3ad52dc25c5
+SHA1 (patch-src_mongo_db_dbwebserver.cpp) = 1e7bb9588930742839d2bc9e26b33751a64f98c7
+SHA1 (patch-src_mongo_db_fts_unicode_string.cpp) = 98c5b1b39c07190f08ec9f22ec3002b0a803f72f
+SHA1 (patch-src_mongo_db_matcher_expression__leaf.cpp) = 52064034fabb5de63eccf87ddd140303c54f0312
+SHA1 (patch-src_mongo_db_repl_isself.c) = 82321c918b91ce1a68ce79c14589126aca6baf96
+SHA1 (patch-src_mongo_db_repl_master__slave.cpp) = 2f37f0819a2b2743df01f6b6ab0b3013b3b7d726
+SHA1 (patch-src_mongo_db_repl_oplog__fetcher.cpp) = e12dbfbd4e70ee210cdd4eb0582661666e8eb06a
+SHA1 (patch-src_mongo_installer_msi_SConscript) = 78424fa10f90470dd941b900ef8fd131d28f6e65
+SHA1 (patch-src_mongo_platform_random.cpp) = 59c31e55fc2dc5a2b82b8f16dacf8736d8354cdb
+SHA1 (patch-src_mongo_platform_stack__locator__dragonfly.cpp) = fb885c491e4de1cfbc2875620d854af726e5b45f
+SHA1 (patch-src_mongo_platform_stack__locator__netbsd.cpp) = 3b09e86b2401555b6ab4c31d14c0693d766119c2
+SHA1 (patch-src_mongo_shell_bench.cpp) = c0fd15347d35e37daf87b642148215dee3ab7220
+SHA1 (patch-src_mongo_shell_linenoise__utf8.h) = f975925f56125d48b5124894fa1adf1382a634d2
+SHA1 (patch-src_mongo_util_intrusive__counter.h) = 9f1af59e1bc86e33bf183a6dda1737007afc7a18
+SHA1 (patch-src_mongo_util_net_miniwebserver.cpp) = 3715e826b8d03793066a84b2c1680c32c6ee6368
+SHA1 (patch-src_mongo_util_processinfo__dragonfly.cpp) = 62c236ce820dfe81f45625b15e022cca0f2c10ee
+SHA1 (patch-src_mongo_util_processinfo__netbsd.cpp) = 6eabe5ffec4168bb9ba8a58b7d742772d38b4714
+SHA1 (patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_dpml__exception.c) = ef3b260e8a49227cbbabf427500b7c70bce15083
+SHA1 (patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h) = 39f6fba82e2870ee4a5d99785033621225a72a16
+SHA1 (patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h) = d3a85d3a3b33691466c65cdf51c56f221429aea9
+SHA1 (patch-src_third__party_mozjs-38_platform_x86__64_netbsd_build_js-confdefs.h) = c2ad1041b5c1ff9fac9085d2a8963781f51873a8
+SHA1 (patch-src_third__party_mozjs-38_platform_x86__64_netbsd_include_js-config.h) = 7ddbb4e3bf4126a1be2195acc82ff859e8130a01
+SHA1 (patch-src_third__party_s2_base_port.h) = 892ce91b5aaa432f34e1e7c169b7fd6eea2a3e94
+SHA1 (patch-src_third__party_wiredtiger_SConscript) = 71fd2326a4e95fec674326225bce5ccf5793aa5a
+SHA1 (patch-src_third__party_wiredtiger_build__dragonfly_wiredtiger__config.h) = 0b00da401f832d985107dfa5dcc6447db4beec6d
+SHA1 (patch-src_third__party_wiredtiger_build__netbsd_wiredtiger__config.h) = edd3c4e5784e52ad0078bcb7ef1e0902bc354285
Index: pkgsrc/databases/mongodb3/options.mk
diff -u /dev/null pkgsrc/databases/mongodb3/options.mk:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/options.mk Fri Jun 28 16:30:56 2019
@@ -0,0 +1,28 @@
+# $NetBSD: options.mk,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.mongodb
+PKG_SUPPORTED_OPTIONS= ssl wiredtiger
+PKG_SUGGESTED_OPTIONS= #
+
+.if !empty(MACHINE_ARCH:Mx86_64)
+PKG_SUGGESTED_OPTIONS+= wiredtiger
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mssl)
+.include "../../security/openssl/buildlink3.mk"
+SCONS_ARGS+= --ssl
+.endif
+
+# The prospect of using databases/wiredtiger is unclear yet;
+# MongoDB doesn't provide guarantees for non-bundled WiredTiger:
+# https://groups.google.com/forum/#!msg/mongodb-dev/31FQSo4KVCI/Fx-WtJ9fzU4J
+.if !empty(PKG_OPTIONS:Mwiredtiger)
+. if empty(MACHINE_ARCH:Mx86_64)
+PKG_FAIL_REASON+= "WiredTiger is not supported on 32-bit platforms"
+. endif
+SCONS_ARGS+= --wiredtiger=on
+.else
+SCONS_ARGS+= --wiredtiger=off
+.endif
Index: pkgsrc/databases/mongodb3/patches/patch-SConstruct
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-SConstruct:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-SConstruct Fri Jun 28 16:30:56 2019
@@ -0,0 +1,200 @@
+$NetBSD: patch-SConstruct,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+Add support for NetBSD/Dragonfly, fix locations.
+Respect LDFLAGS and CXXFLAGS
+
+--- SConstruct.orig 2017-04-20 21:43:42.000000000 +0000
++++ SConstruct
+@@ -30,7 +30,7 @@ EnsureSConsVersion( 2, 3, 0 )
+ def print_build_failures():
+ from SCons.Script import GetBuildFailures
+ for bf in GetBuildFailures():
+- print "%s failed: %s" % (bf.node, bf.errstr)
++ print("%s failed: %s" % (bf.node, bf.errstr))
+ atexit.register(print_build_failures)
+
+ def versiontuple(v):
+@@ -49,8 +49,12 @@ def get_running_os_name():
+ running_os = os.sys.platform
+ if running_os.startswith('linux'):
+ running_os = 'linux'
++ elif running_os.startswith('dragonfly'):
++ running_os = 'dragonfly'
+ elif running_os.startswith('freebsd'):
+ running_os = 'freebsd'
++ elif running_os.startswith('netbsd'):
++ running_os = 'netbsd'
+ elif running_os.startswith('openbsd'):
+ running_os = 'openbsd'
+ elif running_os == 'sunos5':
+@@ -68,7 +72,7 @@ def env_get_os_name_wrapper(self):
+
+ def is_os_raw(target_os, os_list_to_check):
+ okay = False
+- posix_os_list = [ 'linux', 'openbsd', 'freebsd', 'osx', 'solaris' ]
++ posix_os_list = [ 'linux', 'openbsd', 'freebsd', 'osx', 'solaris', 'dragonfly', 'netbsd' ]
+
+ for p in os_list_to_check:
+ if p == 'posix' and target_os in posix_os_list:
+@@ -511,7 +515,7 @@ try:
+ version_data = json.load(version_fp)
+
+ if 'version' not in version_data:
+- print "version.json does not contain a version string"
++ print("version.json does not contain a version string")
+ Exit(1)
+ if 'githash' not in version_data:
+ version_data['githash'] = utils.getGitVersion()
+@@ -519,7 +523,7 @@ try:
+ except IOError as e:
+ # If the file error wasn't because the file is missing, error out
+ if e.errno != errno.ENOENT:
+- print "Error opening version.json: {0}".format(e.strerror)
++ print("Error opening version.json: {0}".format(e.strerror))
+ Exit(1)
+
+ version_data = {
+@@ -528,7 +532,7 @@ except IOError as e:
+ }
+
+ except ValueError as e:
+- print "Error decoding version.json: {0}".format(e)
++ print("Error decoding version.json: {0}".format(e))
+ Exit(1)
+
+ # Setup the command-line variables
+@@ -598,7 +602,7 @@ def variable_distsrc_converter(val):
+
+ variables_files = variable_shlex_converter(get_option('variables-files'))
+ for file in variables_files:
+- print "Using variable customization file %s" % file
++ print("Using variable customization file %s" % file)
+
+ env_vars = Variables(
+ files=variables_files,
+@@ -892,6 +896,7 @@ envDict = dict(BUILD_ROOT=buildDir,
+ INSTALL_DIR=installDir,
+ CONFIG_HEADER_DEFINES={},
+ LIBDEPS_TAG_EXPANSIONS=[],
++ ENV = os.environ,
+ )
+
+ env = Environment(variables=env_vars, **envDict)
+@@ -901,12 +906,12 @@ env.AddMethod(env_os_is_wrapper, 'Target
+ env.AddMethod(env_get_os_name_wrapper, 'GetTargetOSName')
+
+ def fatal_error(env, msg, *args):
+- print msg.format(*args)
++ print(msg.format(*args))
+ Exit(1)
+
+ def conf_error(env, msg, *args):
+- print msg.format(*args)
+- print "See {0} for details".format(env['CONFIGURELOG'].abspath)
++ print(msg.format(*args))
++ print("See {0} for details".format(env['CONFIGURELOG'].abspath))
+
+ Exit(1)
+
+@@ -926,7 +931,7 @@ else:
+ env.AddMethod(lambda env: env['VERBOSE'], 'Verbose')
+
+ if has_option('variables-help'):
+- print env_vars.GenerateHelpText(env)
++ print(env_vars.GenerateHelpText(env))
+ Exit(0)
+
+ unknown_vars = env_vars.UnknownVariables()
+@@ -1029,7 +1034,9 @@ def CheckForProcessor(context, which_arc
+ os_macros = {
+ "windows": "_WIN32",
+ "solaris": "__sun",
++ "dragonfly": "__DragonFly__",
+ "freebsd": "__FreeBSD__",
++ "netbsd": "__NetBSD__",
+ "openbsd": "__OpenBSD__",
+ "osx": "__APPLE__",
+ "linux": "__linux__",
+@@ -1124,7 +1131,7 @@ else:
+ env['TARGET_ARCH'] = detected_processor
+
+ if env['TARGET_OS'] not in os_macros:
+- print "No special config for [{0}] which probably means it won't work".format(env['TARGET_OS'])
++ print("No special config for [{0}] which probably means it won't work".format(env['TARGET_OS']))
+ elif not detectConf.CheckForOS(env['TARGET_OS']):
+ env.ConfError("TARGET_OS ({0}) is not supported by compiler", env['TARGET_OS'])
+
+@@ -1360,7 +1367,7 @@ elif env['_LIBDEPS'] == '$_LIBDEPS_LIBS'
+
+ libdeps.setup_environment(env, emitting_shared=(link_model.startswith("dynamic")))
+
+-if env.TargetOSIs('linux', 'freebsd', 'openbsd'):
++if env.TargetOSIs('linux', 'dragonfly', 'freebsd', 'netbsd', 'openbsd'):
+ env['LINK_LIBGROUP_START'] = '-Wl,--start-group'
+ env['LINK_LIBGROUP_END'] = '-Wl,--end-group'
+ env['LINK_WHOLE_ARCHIVE_START'] = '-Wl,--whole-archive'
+@@ -1388,10 +1395,24 @@ if env.TargetOSIs('linux'):
+ elif env.TargetOSIs('solaris'):
+ env.Append( LIBS=["socket","resolv","lgrp"] )
+
++elif os.sys.platform.startswith( "dragonfly" ):
++ env.Append( CPPPATH=[ "@PREFIX@/include" ] )
++ env.Append( LIBPATH=[ "@PREFIX@/lib" ] )
++ env.Append( LIBS=[ "m" ] )
++ env.Append( LIBS=[ "kvm" ] )
++ env.Append( CPPDEFINES=[ "__dragonfly__" ] )
++
+ elif env.TargetOSIs('freebsd'):
+ env.Append( LIBS=[ "kvm" ] )
+ env.Append( CCFLAGS=[ "-fno-omit-frame-pointer" ] )
+
++elif os.sys.platform.startswith( "netbsd" ):
++ env.Append( CPPPATH=[ "@PREFIX@/include" ] )
++ env.Append( LIBPATH=[ "@PREFIX@/lib" ] )
++ env.Append( LIBS=[ "m" ] )
++ env.Append( LIBS=[ "kvm" ] )
++ env.Append( CPPDEFINES=[ "__netbsd__" ] )
++
+ elif env.TargetOSIs('openbsd'):
+ env.Append( LIBS=[ "kvm" ] )
+
+@@ -1570,6 +1591,9 @@ if env.TargetOSIs('posix'):
+
+ env.Append( CXXFLAGS=["-Woverloaded-virtual"] )
+ env.Append( LINKFLAGS=["-pthread"] )
++ env.Append( CPPDEFINES=["XP_UNIX=1"] )
++ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
++ env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
+
+ # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program
+ # startup.
+@@ -2158,9 +2182,9 @@ def doConfigure(myenv):
+ if usingLibStdCxx:
+ def CheckModernLibStdCxx(context):
+ test_body = """
+- #if !__has_include(<experimental/filesystem>)
+- #error "libstdc++ from GCC 5.3.0 or newer is required"
+- #endif
++ //#if !__has_include(<experimental/filesystem>)
++ //#error "libstdc++ from GCC 5.3.0 or newer is required"
++ //#endif
+ """
+
+ context.Message('Checking for libstdc++ 5.3.0 or better... ')
+@@ -2764,6 +2788,7 @@ def doConfigure(myenv):
+ # permit more than four parameters.
+ "BOOST_THREAD_DONT_PROVIDE_VARIADIC_THREAD",
+ "BOOST_SYSTEM_NO_DEPRECATED",
++ "BOOST_OPTIONAL_USE_SINGLETON_DEFINITION_OF_NONE",
+ ]
+ )
+
+@@ -2830,7 +2855,7 @@ def doConfigure(myenv):
+ myenv.ConfError("Couldn't find SASL header/libraries")
+
+ # requires ports devel/libexecinfo to be installed
+- if env.TargetOSIs('freebsd', 'openbsd'):
++ if env.TargetOSIs('dragonfly', 'freebsd', 'netbsd', 'openbsd'):
+ if not conf.CheckLib("execinfo"):
+ myenv.ConfError("Cannot find libexecinfo, please install devel/libexecinfo.")
+
Index: pkgsrc/databases/mongodb3/patches/patch-debian_mongod.conf
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-debian_mongod.conf:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-debian_mongod.conf Fri Jun 28 16:30:56 2019
@@ -0,0 +1,23 @@
+$NetBSD: patch-debian_mongod.conf,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+Use proper paths in default config file.
+--- debian/mongod.conf.orig 2017-04-20 21:43:42.000000000 +0000
++++ debian/mongod.conf
+@@ -5,7 +5,7 @@
+
+ # Where and how to store data.
+ storage:
+- dbPath: /var/lib/mongodb
++ dbPath: /var/mongodb
+ journal:
+ enabled: true
+ # engine:
+@@ -16,7 +16,7 @@ storage:
+ systemLog:
+ destination: file
+ logAppend: true
+- path: /var/log/mongodb/mongod.log
++ path: /var/mongodb/mongod.log
+
+ # network interfaces
+ net:
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_base_initializer.h
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_base_initializer.h:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_base_initializer.h Fri Jun 28 16:30:56 2019
@@ -0,0 +1,13 @@
+$NetBSD: patch-src_mongo_base_initializer.h,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+Fixes at least SunOS.
+--- src/mongo/base/initializer.h.orig 2014-04-07 00:36:57.000000000 +0000
++++ src/mongo/base/initializer.h
+@@ -17,6 +17,7 @@
+
+ #include <string>
+ #include <vector>
++#include <unistd.h>
+
+ #include "mongo/base/disallow_copying.h"
+ #include "mongo/base/initializer_context.h"
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_dbwebserver.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_dbwebserver.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_dbwebserver.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_mongo_db_dbwebserver.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/mongo/db/dbwebserver.cpp.orig 2017-07-11 17:07:27.098292902 +0000
++++ src/mongo/db/dbwebserver.cpp
+@@ -35,6 +35,7 @@
+
+ #include "mongo/db/dbwebserver.h"
+
++#include <string>
+ #include <pcrecpp.h>
+
+ #include "mongo/base/init.h"
+@@ -67,6 +68,7 @@ namespace mongo {
+ using std::map;
+ using std::stringstream;
+ using std::vector;
++using std::string;
+
+ using namespace html;
+
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_fts_unicode_string.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_fts_unicode_string.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_fts_unicode_string.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_mongo_db_fts_unicode_string.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+* Fix build with boost 1.62.0
+
+--- src/mongo/db/fts/unicode/string.cpp.orig 2016-09-26 12:10:04.000000000 +0000
++++ src/mongo/db/fts/unicode/string.cpp
+@@ -274,7 +274,7 @@ bool String::substrMatch(const std::stri
+
+ // Case sensitive and diacritic sensitive.
+ return boost::algorithm::boyer_moore_search(
+- haystack.begin(), haystack.end(), needle.begin(), needle.end()) != haystack.end();
++ haystack.begin(), haystack.end(), needle.begin(), needle.end()) != std::make_pair(haystack.end(), haystack.end());
+ }
+
+ } // namespace unicode
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_matcher_expression__leaf.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_matcher_expression__leaf.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_matcher_expression__leaf.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_mongo_db_matcher_expression__leaf.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/mongo/db/matcher/expression_leaf.cpp.orig 2017-07-11 17:17:17.311043545 +0000
++++ src/mongo/db/matcher/expression_leaf.cpp
+@@ -31,6 +31,7 @@
+ #include "mongo/db/matcher/expression_leaf.h"
+
+ #include <cmath>
++#include <string>
+ #include <pcrecpp.h>
+
+ #include "mongo/bson/bsonelement_comparator.h"
+@@ -45,6 +46,7 @@
+ #include "mongo/util/mongoutils/str.h"
+
+ namespace mongo {
++using std::string;
+
+ Status LeafMatchExpression::setPath(StringData path) {
+ _path = path;
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_isself.c
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_isself.c:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_isself.c Fri Jun 28 16:30:56 2019
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_mongo_db_repl_isself.c,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+* Add NetBSD support.
+
+--- src/mongo/db/repl/isself.cpp.orig 2017-04-20 21:43:42.000000000 +0000
++++ src/mongo/db/repl/isself.cpp
+@@ -50,7 +50,7 @@
+ #include "mongo/util/scopeguard.h"
+
+ #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun) || \
+- defined(__OpenBSD__)
++ defined(__OpenBSD__) || defined(__DragonFly__) || defined(__NetBSD__)
+ #define FASTPATH_UNIX 1
+ #endif
+
+@@ -63,7 +63,7 @@
+ #include <ifaddrs.h>
+ #include <netdb.h>
+
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ #include <netinet/in.h>
+ #endif
+
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_master__slave.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_master__slave.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_master__slave.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_mongo_db_repl_master__slave.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/mongo/db/repl/master_slave.cpp.orig 2017-07-11 17:40:23.338075821 +0000
++++ src/mongo/db/repl/master_slave.cpp
+@@ -45,6 +45,7 @@
+ #include "mongo/db/repl/master_slave.h"
+
+ #include <pcrecpp.h>
++#include <string>
+
+ #include "mongo/db/auth/authorization_manager.h"
+ #include "mongo/db/auth/authorization_session.h"
+@@ -78,6 +79,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: pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_oplog__fetcher.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_oplog__fetcher.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_db_repl_oplog__fetcher.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_mongo_db_repl_oplog__fetcher.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+Fix build w/ boost >= 1.66
+
+--- src/mongo/db/repl/oplog_fetcher.cpp.orig 2018-08-29 14:02:00.126096548 +0000
++++ src/mongo/db/repl/oplog_fetcher.cpp
+@@ -265,7 +265,7 @@ StatusWith<boost::optional<rpc::OplogQue
+ if (!metadataResult.isOK()) {
+ return metadataResult.getStatus();
+ }
+- oqMetadata = boost::make_optional<rpc::OplogQueryMetadata>(metadataResult.getValue());
++ oqMetadata = boost::make_optional(metadataResult.getValue());
+ }
+ return oqMetadata;
+ }
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_installer_msi_SConscript
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_installer_msi_SConscript:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_installer_msi_SConscript Fri Jun 28 16:30:56 2019
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_mongo_installer_msi_SConscript,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/mongo/installer/msi/SConscript.orig 2017-04-20 21:43:42.000000000 +0000
++++ src/mongo/installer/msi/SConscript
+@@ -69,8 +69,8 @@ else:
+ upgrade_code = '9295A251-1B1F-45FB-96FF-35B57E490613'
+
+ if 'msi' in BUILD_TARGETS and msi_edition == 'SSL' and msi_flavor != '2008R2Plus':
+- print "Building the MongoDB SSL MSI is only supported on Windows 2008 R2+ or Windows 7+ platforms."
+- print "You must add --win-version-min=ws08r2 to your scons flags"
++ print("Building the MongoDB SSL MSI is only supported on Windows 2008 R2+ or Windows 7+ platforms.")
++ print("You must add --win-version-min=ws08r2 to your scons flags")
+ exit(1)
+
+ if msi_platform == 'x64':
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_random.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_random.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_random.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_mongo_platform_random.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+Add NetBSD support.
+--- src/mongo/platform/random.cpp.orig 2016-01-05 18:31:44.000000000 +0000
++++ src/mongo/platform/random.cpp
+@@ -145,7 +145,7 @@ SecureRandom* SecureRandom::create() {
+ return new WinSecureRandom();
+ }
+
+-#elif defined(__linux__) || defined(__sun) || defined(__APPLE__) || defined(__FreeBSD__)
++#elif defined(__linux__) || defined(__sun) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__)
+
+ class InputStreamSecureRandom : public SecureRandom {
+ public:
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_stack__locator__dragonfly.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_stack__locator__dragonfly.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_stack__locator__dragonfly.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,63 @@
+$NetBSD: patch-src_mongo_platform_stack__locator__dragonfly.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/mongo/platform/stack_locator_dragonfly.cpp.orig 2016-02-11 11:27:13.489023328 +0000
++++ src/mongo/platform/stack_locator_dragonfly.cpp
+@@ -0,0 +1,58 @@
++/**
++ * Copyright (C) 2015 MongoDB Inc.
++ *
++ * This program is free software: you can redistribute it and/or modify
++ * it under the terms of the GNU Affero General Public License, version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU Affero General Public License for more details.
++ *
++ * You should have received a copy of the GNU Affero General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ *
++ * As a special exception, the copyright holders give permission to link the
++ * code of portions of this program with the OpenSSL library under certain
++ * conditions as described in each individual source file and distribute
++ * linked combinations including the program with the OpenSSL library. You
++ * must comply with the GNU Affero General Public License in all respects for
++ * all of the code used other than as permitted herein. If you modify file(s)
++ * with this exception, you may extend this exception to your version of the
++ * file(s), but you are not obligated to do so. If you do not wish to do so,
++ * delete this exception statement from your version. If you delete this
++ * exception statement from all source files in the program, then also delete
++ * it in the license file.
++ */
++
++#include "mongo/platform/basic.h"
++
++#include "mongo/platform/stack_locator.h"
++
++#include <pthread.h>
++#include <pthread_np.h>
++
++#include "mongo/util/assert_util.h"
++#include "mongo/util/scopeguard.h"
++
++namespace mongo {
++
++StackLocator::StackLocator() {
++ pthread_attr_t attr;
++ size_t size;
++
++ pthread_t self = pthread_self();
++
++ invariant(pthread_attr_init(&attr) == 0);
++ ON_BLOCK_EXIT(pthread_attr_destroy, &attr);
++
++ invariant(pthread_attr_get_np(self, &attr) == 0);
++
++ invariant(pthread_attr_getstack(&attr, &_end, &size) == 0);
++
++ // TODO: Assumes stack grows downward on FreeBSD
++ _begin = static_cast<char*>(_end) + size;
++}
++
++} // namespace mongo
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,63 @@
+$NetBSD: patch-src_mongo_platform_stack__locator__netbsd.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/mongo/platform/stack_locator_netbsd.cpp.orig 2016-02-11 12:24:33.443209041 +0000
++++ src/mongo/platform/stack_locator_netbsd.cpp
+@@ -0,0 +1,58 @@
++/**
++ * Copyright (C) 2015 MongoDB Inc.
++ *
++ * This program is free software: you can redistribute it and/or modify
++ * it under the terms of the GNU Affero General Public License, version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU Affero General Public License for more details.
++ *
++ * You should have received a copy of the GNU Affero General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ *
++ * As a special exception, the copyright holders give permission to link the
++ * code of portions of this program with the OpenSSL library under certain
++ * conditions as described in each individual source file and distribute
++ * linked combinations including the program with the OpenSSL library. You
++ * must comply with the GNU Affero General Public License in all respects for
++ * all of the code used other than as permitted herein. If you modify file(s)
++ * with this exception, you may extend this exception to your version of the
++ * file(s), but you are not obligated to do so. If you do not wish to do so,
++ * delete this exception statement from your version. If you delete this
++ * exception statement from all source files in the program, then also delete
++ * it in the license file.
++ */
++
++#include "mongo/platform/basic.h"
++
++#include "mongo/platform/stack_locator.h"
++
++#include <pthread.h>
++
++
++#include "mongo/util/assert_util.h"
++#include "mongo/util/scopeguard.h"
++
++namespace mongo {
++
++StackLocator::StackLocator() {
++ pthread_attr_t attr;
++ size_t size;
++
++ pthread_t self = pthread_self();
++
++ invariant(pthread_attr_init(&attr) == 0);
++ ON_BLOCK_EXIT(pthread_attr_destroy, &attr);
++
++ invariant(pthread_attr_get_np(self, &attr) == 0);
++
++ invariant(pthread_attr_getstack(&attr, &_end, &size) == 0);
++
++ // TODO: Assumes stack grows downward on FreeBSD
++ _begin = static_cast<char*>(_end) + size;
++}
++
++} // namespace mongo
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_shell_bench.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_shell_bench.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_shell_bench.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_mongo_shell_bench.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/mongo/shell/bench.cpp.orig 2017-07-11 16:39:09.026014232 +0000
++++ src/mongo/shell/bench.cpp
+@@ -34,6 +34,7 @@
+
+ #include "mongo/shell/bench.h"
+
++#include <string>
+ #include <iostream>
+ #include <pcrecpp.h>
+
+@@ -78,6 +79,7 @@ namespace mongo {
+ using std::unique_ptr;
+ using std::cout;
+ using std::map;
++using std::string;
+
+ const std::map<OpType, std::string> opTypeName{{OpType::NONE, "none"},
+ {OpType::NOP, "nop"},
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_shell_linenoise__utf8.h
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_shell_linenoise__utf8.h:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_shell_linenoise__utf8.h Fri Jun 28 16:30:56 2019
@@ -0,0 +1,26 @@
+$NetBSD: patch-src_mongo_shell_linenoise__utf8.h,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+Use Boost swap instead of std. Fixes build on SunOS.
+--- src/mongo/shell/linenoise_utf8.h.orig 2016-01-05 18:31:44.000000000 +0000
++++ src/mongo/shell/linenoise_utf8.h
+@@ -27,6 +27,7 @@
+ * then also delete it in the license file.
+ */
+
++#include <boost/core/swap.hpp>
+ #include <algorithm>
+ #include <memory>
+ #include <string.h>
+@@ -178,9 +179,9 @@ struct UtfStringMixin {
+ }
+
+ void swap(UtfStringMixin& other) {
+- std::swap(_len, other._len);
+- std::swap(_cap, other._cap);
+- std::swap(_chars, other._chars);
++ boost::swap(_len, other._len);
++ boost::swap(_cap, other._cap);
++ boost::swap(_chars, other._chars);
+ _str.swap(other._str);
+ }
+
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_intrusive__counter.h
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_intrusive__counter.h:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_intrusive__counter.h Fri Jun 28 16:30:56 2019
@@ -0,0 +1,12 @@
+$NetBSD: patch-src_mongo_util_intrusive__counter.h,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/mongo/util/intrusive_counter.h.orig 2016-01-05 18:31:44.000000000 +0000
++++ src/mongo/util/intrusive_counter.h
+@@ -28,6 +28,7 @@
+
+ #pragma once
+
++#include <cstdlib>
+ #include <boost/intrusive_ptr.hpp>
+ #include <stdlib.h>
+
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_net_miniwebserver.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_net_miniwebserver.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_net_miniwebserver.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_mongo_util_net_miniwebserver.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/mongo/util/net/miniwebserver.cpp.orig 2017-07-11 17:42:54.304511569 +0000
++++ src/mongo/util/net/miniwebserver.cpp
+@@ -33,6 +33,7 @@
+
+ #include "mongo/util/net/miniwebserver.h"
+
++#include <string>
+ #include <pcrecpp.h>
+
+ #include "mongo/config.h"
+@@ -45,6 +46,7 @@
+ namespace mongo {
+
+ using std::shared_ptr;
++using std::string;
+ using std::stringstream;
+ using std::vector;
+
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_processinfo__dragonfly.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_processinfo__dragonfly.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_processinfo__dragonfly.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,195 @@
+$NetBSD: patch-src_mongo_util_processinfo__dragonfly.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/mongo/util/processinfo_dragonfly.cpp.orig 2016-02-11 12:26:02.935580479 +0000
++++ src/mongo/util/processinfo_dragonfly.cpp
+@@ -0,0 +1,190 @@
++/* Copyright 2012 10gen Inc.
++ *
++ * This program is free software: you can redistribute it and/or modify
++ * it under the terms of the GNU Affero General Public License, version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU Affero General Public License for more details.
++ *
++ * You should have received a copy of the GNU Affero General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ *
++ * As a special exception, the copyright holders give permission to link the
++ * code of portions of this program with the OpenSSL library under certain
++ * conditions as described in each individual source file and distribute
++ * linked combinations including the program with the OpenSSL library. You
++ * must comply with the GNU Affero General Public License in all respects
++ * for all of the code used other than as permitted herein. If you modify
++ * file(s) with this exception, you may extend this exception to your
++ * version of the file(s), but you are not obligated to do so. If you do not
++ * wish to do so, delete this exception statement from your version. If you
++ * delete this exception statement from all source files in the program,
++ * then also delete it in the license file.
++ */
++
++#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
++
++#include <cstdlib>
++#include <string>
++
++#include <kvm.h>
++#include <sys/file.h>
++#include <sys/mman.h>
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#include <sys/types.h>
++#include <sys/user.h>
++#include <sys/vmmeter.h>
++#include <unistd.h>
++#include <vm/vm_param.h>
++
++#include "mongo/util/scopeguard.h"
++#include "mongo/util/log.h"
++#include "processinfo.h"
++
++using namespace std;
++
++namespace mongo {
++
++ProcessInfo::ProcessInfo(ProcessId pid) : _pid(pid) {}
++
++ProcessInfo::~ProcessInfo() {}
++
++/**
++ * Get a sysctl string value by name. Use string specialization by default.
++ */
++template <typename T>
++int getSysctlByNameWithDefault(const char* sysctlName, const T& defaultValue, T* result);
++
++template <>
++int getSysctlByNameWithDefault<uintptr_t>(const char* sysctlName,
++ const uintptr_t& defaultValue,
++ uintptr_t* result) {
++ uintptr_t value = 0;
++ size_t len = sizeof(value);
++ if (sysctlbyname(sysctlName, &value, &len, NULL, 0) == -1) {
++ *result = defaultValue;
++ return errno;
++ }
++ if (len > sizeof(value)) {
++ *result = defaultValue;
++ return EINVAL;
++ }
++
++ *result = value;
++ return 0;
++}
++
++template <>
++int getSysctlByNameWithDefault<string>(const char* sysctlName,
++ const string& defaultValue,
++ string* result) {
++ char value[256] = {0};
++ size_t len = sizeof(value);
++ if (sysctlbyname(sysctlName, &value, &len, NULL, 0) == -1) {
++ *result = defaultValue;
++ return errno;
++ }
++ *result = value;
++ return 0;
++}
++
++bool ProcessInfo::checkNumaEnabled() {
++ return false;
++}
++
++int ProcessInfo::getVirtualMemorySize() {
++ kvm_t* kd = NULL;
++ int cnt = 0;
++ char err[_POSIX2_LINE_MAX] = {0};
++ if ((kd = kvm_open(NULL, "/dev/null", "/dev/null", O_RDONLY, err)) == NULL)
++ return -1;
++ kinfo_proc* task = kvm_getprocs(kd, KERN_PROC_PID, _pid.toNative(), &cnt);
++ kvm_close(kd);
++ return task->ki_size / 1024 / 1024; // convert from bytes to MB
++}
++
++int ProcessInfo::getResidentSize() {
++ kvm_t* kd = NULL;
++ int cnt = 0;
++ char err[_POSIX2_LINE_MAX] = {0};
++ if ((kd = kvm_open(NULL, "/dev/null", "/dev/null", O_RDONLY, err)) == NULL)
++ return -1;
++ kinfo_proc* task = kvm_getprocs(kd, KERN_PROC_PID, _pid.toNative(), &cnt);
++ kvm_close(kd);
++ return task->ki_rssize * sysconf(_SC_PAGESIZE) / 1024 / 1024; // convert from pages to MB
++}
++
++double ProcessInfo::getSystemMemoryPressurePercentage() {
++ return 0.0;
++}
++
++void ProcessInfo::SystemInfo::collectSystemInfo() {
++ osType = "BSD";
++ osName = "FreeBSD";
++
++ int status = getSysctlByNameWithDefault("kern.version", string("unknown"), &osVersion);
++ if (status != 0)
++ log() << "Unable to collect OS Version. (errno: " << status << " msg: " << strerror(status)
++ << ")" << endl;
++
++ status = getSysctlByNameWithDefault("hw.machine_arch", string("unknown"), &cpuArch);
++ if (status != 0)
++ log() << "Unable to collect Machine Architecture. (errno: " << status
++ << " msg: " << strerror(status) << ")" << endl;
++ addrSize = cpuArch.find("64") != std::string::npos ? 64 : 32;
++
++ uintptr_t numBuffer;
++ uintptr_t defaultNum = 1;
++ status = getSysctlByNameWithDefault("hw.physmem", defaultNum, &numBuffer);
++ memSize = numBuffer;
++ if (status != 0)
++ log() << "Unable to collect Physical Memory. (errno: " << status
++ << " msg: " << strerror(status) << ")" << endl;
++
++ status = getSysctlByNameWithDefault("hw.ncpu", defaultNum, &numBuffer);
++ numCores = numBuffer;
++ if (status != 0)
++ log() << "Unable to collect Number of CPUs. (errno: " << status
++ << " msg: " << strerror(status) << ")" << endl;
++
++ pageSize = static_cast<unsigned long long>(sysconf(_SC_PAGESIZE));
++
++ hasNuma = checkNumaEnabled();
++}
++
++void ProcessInfo::getExtraInfo(BSONObjBuilder& info) {}
++
++bool ProcessInfo::supported() {
++ return true;
++}
++
++bool ProcessInfo::blockCheckSupported() {
++ return true;
++}
++
++bool ProcessInfo::blockInMemory(const void* start) {
++ char x = 0;
++ if (mincore(alignToStartOfPage(start), getPageSize(), &x)) {
++ log() << "mincore failed: " << errnoWithDescription() << endl;
++ return 1;
++ }
++ return x & 0x1;
++}
++
++bool ProcessInfo::pagesInMemory(const void* start, size_t numPages, vector<char>* out) {
++ out->resize(numPages);
++ // int mincore(const void *addr, size_t len, char *vec);
++ if (mincore(alignToStartOfPage(start), numPages * getPageSize(), &(out->front()))) {
++ log() << "mincore failed: " << errnoWithDescription() << endl;
++ return false;
++ }
++ for (size_t i = 0; i < numPages; ++i) {
++ (*out)[i] = 0x1;
++ }
++ return true;
++}
++}
Index: pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_processinfo__netbsd.cpp
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_processinfo__netbsd.cpp:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_mongo_util_processinfo__netbsd.cpp Fri Jun 28 16:30:56 2019
@@ -0,0 +1,217 @@
+$NetBSD: patch-src_mongo_util_processinfo__netbsd.cpp,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/mongo/util/processinfo_netbsd.cpp.orig 2017-06-24 01:47:17.271883765 +0000
++++ src/mongo/util/processinfo_netbsd.cpp
+@@ -0,0 +1,212 @@
++/* Copyright 2012 10gen Inc.
++ *
++ * This program is free software: you can redistribute it and/or modify
++ * it under the terms of the GNU Affero General Public License, version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU Affero General Public License for more details.
++ *
++ * You should have received a copy of the GNU Affero General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ *
++ * As a special exception, the copyright holders give permission to link the
++ * code of portions of this program with the OpenSSL library under certain
++ * conditions as described in each individual source file and distribute
++ * linked combinations including the program with the OpenSSL library. You
++ * must comply with the GNU Affero General Public License in all respects
++ * for all of the code used other than as permitted herein. If you modify
++ * file(s) with this exception, you may extend this exception to your
++ * version of the file(s), but you are not obligated to do so. If you do not
++ * wish to do so, delete this exception statement from your version. If you
++ * delete this exception statement from all source files in the program,
++ * then also delete it in the license file.
++ */
++
++#if defined(__NetBSD__)
++#define _KMEMUSER
++#endif
++
++#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
++
++#include <cstdlib>
++#include <string>
++
++#include <kvm.h>
++#include <sys/file.h>
++#include <sys/mman.h>
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#include <sys/types.h>
++#include <sys/vmmeter.h>
++#include <unistd.h>
++
++#include "mongo/util/scopeguard.h"
++#include "mongo/util/log.h"
++#include "processinfo.h"
++
++using namespace std;
++
++namespace mongo {
++
++ProcessInfo::ProcessInfo(ProcessId pid) : _pid(pid) {}
++
++ProcessInfo::~ProcessInfo() {}
++
++/**
++ * Get a sysctl string value by name. Use string specialization by default.
++ */
++template <typename T>
++int getSysctlByIDWithDefault(const int* sysctlID,
++ const int idLen,
++ const T& defaultValue,
++ T* result);
++
++template <>
++int getSysctlByIDWithDefault<uintptr_t>(const int* sysctlID,
++ const int idLen,
++ const uintptr_t& defaultValue,
++ uintptr_t* result) {
++ uintptr_t value = 0;
++ size_t len = sizeof(value);
++ if (sysctl(sysctlID, idLen, &value, &len, NULL, 0) == -1) {
++ *result = defaultValue;
++ return errno;
++ }
++ if (len > sizeof(value)) {
++ *result = defaultValue;
++ return EINVAL;
++ }
++
++ *result = value;
++ return 0;
++}
++
++template <>
++int getSysctlByIDWithDefault<string>(const int* sysctlID,
++ const int idLen,
++ const string& defaultValue,
++ string* result) {
++ char value[256] = {0};
++ size_t len = sizeof(value);
++ if (sysctl(sysctlID, idLen, &value, &len, NULL, 0) == -1) {
++ *result = defaultValue;
++ return errno;
++ }
++ *result = value;
++ return 0;
++}
++
++bool ProcessInfo::checkNumaEnabled() {
++ return false;
++}
++
++int ProcessInfo::getVirtualMemorySize() {
++ kvm_t* kd = NULL;
++ int cnt = 0;
++ char err[_POSIX2_LINE_MAX] = {0};
++ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, err)) == NULL) {
++ log() << "Unable to get virt mem size: " << err << endl;
++ return -1;
++ }
++
++ kinfo_proc2* task = kvm_getproc2(kd, KERN_PROC_PID, _pid.toNative(), sizeof(kinfo_proc2), &cnt);
++ kvm_close(kd);
++ return ((task->p_vm_dsize + task->p_vm_ssize + task->p_vm_tsize) * sysconf(_SC_PAGESIZE)) /
++ 1048576;
++}
++
++int ProcessInfo::getResidentSize() {
++ kvm_t* kd = NULL;
++ int cnt = 0;
++ char err[_POSIX2_LINE_MAX] = {0};
++ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, err)) == NULL) {
++ log() << "Unable to get res mem size: " << err << endl;
++ return -1;
++ }
++ kinfo_proc2* task = kvm_getproc2(kd, KERN_PROC_PID, _pid.toNative(), sizeof(kinfo_proc2), &cnt);
++ kvm_close(kd);
++ return (task->p_vm_rssize * sysconf(_SC_PAGESIZE)) / 1048576; // convert from pages to MB
++}
++
++double ProcessInfo::getSystemMemoryPressurePercentage() {
++ return 0.0;
++}
++
++void ProcessInfo::SystemInfo::collectSystemInfo() {
++ osType = "BSD";
++ osName = "NetBSD";
++ int mib[2];
++
++ mib[0] = CTL_KERN;
++ mib[1] = KERN_VERSION;
++ int status = getSysctlByIDWithDefault(mib, 2, string("unknown"), &osVersion);
++ if (status != 0)
++ log() << "Unable to collect OS Version. (errno: " << status << " msg: " << strerror(status)
++ << ")" << endl;
++
++ mib[0] = CTL_HW;
++ mib[1] = HW_MACHINE;
++ status = getSysctlByIDWithDefault(mib, 2, string("unknown"), &cpuArch);
++ if (status != 0)
++ log() << "Unable to collect Machine Architecture. (errno: " << status
++ << " msg: " << strerror(status) << ")" << endl;
++ addrSize = cpuArch.find("64") != std::string::npos ? 64 : 32;
++
++ uintptr_t numBuffer;
++ uintptr_t defaultNum = 1;
++ mib[0] = CTL_HW;
++ mib[1] = HW_PHYSMEM;
++ status = getSysctlByIDWithDefault(mib, 2, defaultNum, &numBuffer);
++ memSize = numBuffer;
++ if (status != 0)
++ log() << "Unable to collect Physical Memory. (errno: " << status
++ << " msg: " << strerror(status) << ")" << endl;
++
++ mib[0] = CTL_HW;
++ mib[1] = HW_NCPU;
++ status = getSysctlByIDWithDefault(mib, 2, defaultNum, &numBuffer);
++ numCores = numBuffer;
++ if (status != 0)
++ log() << "Unable to collect Number of CPUs. (errno: " << status
++ << " msg: " << strerror(status) << ")" << endl;
++
++ pageSize = static_cast<unsigned long long>(sysconf(_SC_PAGESIZE));
++
++ hasNuma = checkNumaEnabled();
++}
++
++void ProcessInfo::getExtraInfo(BSONObjBuilder& info) {}
++
++bool ProcessInfo::supported() {
++ return true;
++}
++
++bool ProcessInfo::blockCheckSupported() {
++ return true;
++}
++
++bool ProcessInfo::blockInMemory(const void* start) {
++ char x = 0;
++ if (mincore((void*)alignToStartOfPage(start), getPageSize(), &x)) {
++ log() << "mincore failed: " << errnoWithDescription() << endl;
++ return 1;
++ }
++ return x & 0x1;
++}
++
++bool ProcessInfo::pagesInMemory(const void* start, size_t numPages, vector<char>* out) {
++ out->resize(numPages);
++ // int mincore(const void *addr, size_t len, char *vec);
++ if (mincore((void*)alignToStartOfPage(start), numPages * getPageSize(), &(out->front()))) {
++ log() << "mincore failed: " << errnoWithDescription() << endl;
++ return false;
++ }
++ for (size_t i = 0; i < numPages; ++i) {
++ (*out)[i] = 0x1;
++ }
++ return true;
++}
++}
Index: pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_dpml__exception.c
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_dpml__exception.c:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_dpml__exception.c Fri Jun 28 16:30:56 2019
@@ -0,0 +1,12 @@
+$NetBSD: patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_dpml__exception.c,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/dpml_exception.c.orig 2017-04-20 21:43:42.000000000 +0000
++++ src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/dpml_exception.c
+@@ -131,6 +131,7 @@
+ #if !defined(DPML_SIGNAL) && !defined(MINIMAL_SILENT_MODE_EXCEPTION_HANDLER) && \
+ !defined(wnt)
+
++# include <sys/types.h>
+ # include <sys/signal.h>
+ # define DPML_SIGNAL(p) raise(SIGFPE)
+
Index: pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h Fri Jun 28 16:30:56 2019
@@ -0,0 +1,120 @@
+$NetBSD: patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/op_system.h.orig 2017-04-20 21:43:42.000000000 +0000
++++ src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/op_system.h
+@@ -44,6 +44,7 @@
+ # undef win64
+ # undef darwin
+ # undef interix
++# undef netbsd
+
+ # define dos 1
+ # define OP_SYSTEM dos
+@@ -62,6 +63,7 @@
+ # undef win64
+ # undef darwin
+ # undef interix
++# undef netbsd
+
+ # define vms 2
+ # define OP_SYSTEM vms
+@@ -80,6 +82,7 @@
+ # undef win64
+ # undef darwin
+ # undef interix
++# undef netbsd
+
+ # define wnt 3
+ # define OP_SYSTEM wnt
+@@ -98,6 +101,7 @@
+ # undef win64
+ # undef darwin
+ # undef interix
++# undef netbsd
+
+ # define linux 8
+ # define OP_SYSTEM linux
+@@ -117,6 +121,7 @@
+ # undef win64
+ # undef darwin
+ # undef interix
++# undef netbsd
+
+ # define osf 4
+ # define OP_SYSTEM osf
+@@ -135,6 +140,7 @@
+ # undef win64
+ # undef darwin
+ # undef interix
++# undef netbsd
+
+ # define hp_ux 5
+ # define OP_SYSTEM hp_ux
+@@ -153,6 +159,7 @@
+ # undef win64
+ # undef darwin
+ # undef interix
++# undef netbsd
+
+ # define unicos 6
+ # define OP_SYSTEM unicos
+@@ -171,6 +178,7 @@
+ # undef win64
+ # undef darwin
+ # undef interix
++# undef netbsd
+
+ # define ultrix 7
+ # define OP_SYSTEM ultrix
+@@ -188,6 +196,7 @@
+ # undef win64
+ # undef darwin
+ # undef interix
++# undef netbsd
+
+ # define win64 9
+ # define OP_SYSTEM win64
+@@ -205,6 +214,7 @@
+ # undef win64
+ # undef darwin
+ # undef interix
++# undef netbsd
+
+ # define darwin 10
+ # define OP_SYSTEM darwin
+@@ -221,9 +231,27 @@
+ # undef win64
+ # undef darwin
+ # undef interix
++# undef netbsd
+
+ # define interix 11
+ # define OP_SYSTEM interix
++
++#elif defined(__NetBSD__)
++# undef dos
++# undef vms
++# undef wnt
++# undef osf
++# undef hp_ux
++# undef linux
++# undef unicos
++# undef ultrix
++# undef win64
++# undef darwin
++# undef interix
++# undef netbsd
++
++# define netbsd 12
++# define OP_SYSTEM netbsd
+ #else
+
+ # error Operating system must be specified.
+@@ -235,6 +263,7 @@
+ OP_SYSTEM == linux || \
+ OP_SYSTEM == osf || \
+ OP_SYSTEM == ultrix || \
++ OP_SYSTEM == netbsd || \
+ OP_SYSTEM == unicos \
+ )
+
Index: pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h Fri Jun 28 16:30:56 2019
@@ -0,0 +1,13 @@
+$NetBSD: patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h.orig 2017-04-20 21:43:42.000000000 +0000
++++ src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
+@@ -159,7 +159,7 @@ typedef unsigned long fexcept_t;
+ typedef unsigned bid__int64 fexcept_t;
+ #endif
+ #else
+-#ifdef __QNX__
++#if defined(__QNX__) || defined(__NetBSD__)
+ #include <fenv.h>
+ #else
+ typedef unsigned short int fexcept_t;
Index: pkgsrc/databases/mongodb3/patches/patch-src_third__party_mozjs-38_platform_x86__64_netbsd_build_js-confdefs.h
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_third__party_mozjs-38_platform_x86__64_netbsd_build_js-confdefs.h:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_third__party_mozjs-38_platform_x86__64_netbsd_build_js-confdefs.h Fri Jun 28 16:30:56 2019
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_third__party_mozjs-38_platform_x86__64_netbsd_build_js-confdefs.h,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/third_party/mozjs-45/platform/x86_64/netbsd/build/js-confdefs.h.orig 2016-02-11 12:42:39.272068631 +0000
++++ src/third_party/mozjs-45/platform/x86_64/netbsd/build/js-confdefs.h
+@@ -19,7 +19,6 @@
+ #define HAVE_CPUID_H 1
+ #define HAVE_DIRENT_H 1
+ #define HAVE_DLOPEN 1
+-#define HAVE_ENDIAN_H 1
+ #define HAVE_EXPM1 1
+ #define HAVE_GETC_UNLOCKED 1
+ #define HAVE_GETOPT_H 1
+@@ -54,7 +53,6 @@
+ #define JS_CODEGEN_X64 1
+ #define JS_CPU_X64 1
+ #define JS_DEFAULT_JITREPORT_GRANULARITY 3
+-#define JS_HAVE_ENDIAN_H 1
+ #define JS_HAVE_MACHINE_ENDIAN_H 1
+ #define JS_POSIX_NSPR 1
+ #define JS_PUNBOX64 1
Index: pkgsrc/databases/mongodb3/patches/patch-src_third__party_mozjs-38_platform_x86__64_netbsd_include_js-config.h
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_third__party_mozjs-38_platform_x86__64_netbsd_include_js-config.h:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_third__party_mozjs-38_platform_x86__64_netbsd_include_js-config.h Fri Jun 28 16:30:56 2019
@@ -0,0 +1,13 @@
+$NetBSD: patch-src_third__party_mozjs-38_platform_x86__64_netbsd_include_js-config.h,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/third_party/mozjs-45/platform/x86_64/netbsd/include/js-config.h.orig 2016-02-11 12:24:33.328723425 +0000
++++ src/third_party/mozjs-45/platform/x86_64/netbsd/include/js-config.h
+@@ -36,7 +36,7 @@
+
+ /* Define to 1 if the <endian.h> header is present and
+ useable. See jscpucfg.h. */
+-#define JS_HAVE_ENDIAN_H 1
++/* #undef JS_HAVE_ENDIAN_H */
+
+ /* Define to 1 if the <machine/endian.h> header is present and
+ useable. See jscpucfg.h. */
Index: pkgsrc/databases/mongodb3/patches/patch-src_third__party_s2_base_port.h
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_third__party_s2_base_port.h:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_third__party_s2_base_port.h Fri Jun 28 16:30:56 2019
@@ -0,0 +1,27 @@
+$NetBSD: patch-src_third__party_s2_base_port.h,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+* Add NetBSD support.
+
+--- src/third_party/s2/base/port.h.orig 2016-01-05 18:31:44.000000000 +0000
++++ src/third_party/s2/base/port.h
+@@ -102,7 +102,7 @@ typedef uint16_t u_int16_t;
+
+ #endif
+
+-#if defined __sun || defined __FreeBSD__ || defined __OpenBSD__
++#if defined __sun || defined __FreeBSD__ || defined __OpenBSD__ || defined __DragonFly__ || defined __NetBSD__
+ #ifdef _LITTLE_ENDIAN
+ #define IS_LITTLE_ENDIAN
+ #elif defined _BIG_ENDIAN
+@@ -139,6 +139,11 @@ typedef uint16_t u_int16_t;
+ #define bswap_16(x) swap16(x)
+ #define bswap_32(x) swap32(x)
+ #define bswap_64(x) swap64(x)
++#elif defined __NetBSD__
++#include <machine/bswap.h>
++#define bswap_16(x) bswap16(x)
++#define bswap_32(x) bswap32(x)
++#define bswap_64(x) bswap64(x)
+ #else
+ #include <byteswap.h>
+ #endif
Index: pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_SConscript
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_SConscript:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_SConscript Fri Jun 28 16:30:56 2019
@@ -0,0 +1,28 @@
+$NetBSD: patch-src_third__party_wiredtiger_SConscript,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+* Add NetBSD case.
+
+--- src/third_party/wiredtiger/SConscript.orig 2017-04-20 21:43:42.000000000 +0000
++++ src/third_party/wiredtiger/SConscript
+@@ -62,8 +62,12 @@ elif env.TargetOSIs('solaris'):
+ # For an explanation of __EXTENSIONS__,
+ # see http://docs.oracle.com/cd/E19253-01/816-5175/standards-5/index.html
+ env.Append(CPPDEFINES=["__EXTENSIONS__"])
++elif env.TargetOSIs('dragonfly'):
++ env.Append(CPPPATH=["build_dragonfly"])
+ elif env.TargetOSIs('freebsd'):
+ env.Append(CPPPATH=["build_freebsd"])
++elif env.TargetOSIs('netbsd'):
++ env.Append(CPPPATH=["build_netbsd"])
+ elif env.TargetOSIs('openbsd'):
+ env.Append(CPPPATH=["build_openbsd"])
+ elif env.TargetOSIs('linux'):
+@@ -93,7 +97,7 @@ if (VERSION_MAJOR == None or
+ VERSION_MINOR == None or
+ VERSION_PATCH == None or
+ VERSION_STRING == None):
+- print "Failed to find version variables in " + version_file
++ print("Failed to find version variables in " + version_file)
+ Exit(1)
+
+ wiredtiger_includes = """
Index: pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_build__dragonfly_wiredtiger__config.h
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_build__dragonfly_wiredtiger__config.h:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_build__dragonfly_wiredtiger__config.h Fri Jun 28 16:30:56 2019
@@ -0,0 +1,159 @@
+$NetBSD: patch-src_third__party_wiredtiger_build__dragonfly_wiredtiger__config.h,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+--- src/third_party/wiredtiger/build_dragonfly/wiredtiger_config.h.orig 2016-02-11 11:07:15.049932059 +0000
++++ src/third_party/wiredtiger/build_dragonfly/wiredtiger_config.h
+@@ -0,0 +1,154 @@
++/* wiredtiger_config.h. Generated from config.hin by configure. */
++/* build_posix/config.hin. Generated from configure.ac by autoheader. */
++
++/* Define if building universal (internal helper macro) */
++/* #undef AC_APPLE_UNIVERSAL_BUILD */
++
++/* Define to 1 to pause for debugger attach on failure. */
++/* #undef HAVE_ATTACH */
++
++/* Build the LevelDB API with Basho LevelDB support. */
++/* #undef HAVE_BASHOLEVELDB */
++
++/* Snappy support automatically loaded. */
++/* #undef HAVE_BUILTIN_EXTENSION_SNAPPY */
++
++/* Zlib support automatically loaded. */
++/* #undef HAVE_BUILTIN_EXTENSION_ZLIB */
++
++/* Define to 1 if you have the `clock_gettime' function. */
++#define HAVE_CLOCK_GETTIME 1
++
++/* Define to 1 for diagnostic tests. */
++/* #undef HAVE_DIAGNOSTIC */
++
++/* Define to 1 if you have the <dlfcn.h> header file. */
++#define HAVE_DLFCN_H 1
++
++/* Define to 1 if you have the `fallocate' function. */
++/* #undef HAVE_FALLOCATE */
++
++/* Define to 1 if you have the `fcntl' function. */
++#define HAVE_FCNTL 1
++
++/* Define to 1 if you have the `fdatasync' function. */
++/* #undef HAVE_FDATASYNC */
++
++/* Define to 1 if you have the `fread_unlocked' function. */
++/* #undef HAVE_FREAD_UNLOCKED */
++
++/* Define to 1 if you have the `ftruncate' function. */
++#define HAVE_FTRUNCATE 1
++
++/* Define to 1 if you have the `gettimeofday' function. */
++#define HAVE_GETTIMEOFDAY 1
++
++/* Build the LevelDB API with HyperLevelDB support. */
++/* #undef HAVE_HYPERLEVELDB */
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++#define HAVE_INTTYPES_H 1
++
++/* Define to 1 if you have the `bz2' library (-lbz2). */
++/* #undef HAVE_LIBBZ2 */
++
++/* Define to 1 if you have the `dl' library (-ldl). */
++/* #undef HAVE_LIBDL */
++
++/* Define to 1 if you have the `pthread' library (-lpthread). */
++#define HAVE_LIBPTHREAD 1
++
++/* Define to 1 if you have the `rt' library (-lrt). */
++#define HAVE_LIBRT 1
++
++/* Define to 1 if you have the `snappy' library (-lsnappy). */
++/* #undef HAVE_LIBSNAPPY */
++
++/* Define to 1 if you have the `z' library (-lz). */
++/* #undef HAVE_LIBZ */
++
++/* Define to 1 if you have the <memory.h> header file. */
++#define HAVE_MEMORY_H 1
++
++/* Define to 1 if you have the `posix_fadvise' function. */
++#define HAVE_POSIX_FADVISE 1
++
++/* Define to 1 if you have the `posix_fallocate' function. */
++#define HAVE_POSIX_FALLOCATE 1
++
++/* Define to 1 if you have the `posix_madvise' function. */
++#define HAVE_POSIX_MADVISE 1
++
++/* Define to 1 if you have the `posix_memalign' function. */
++#define HAVE_POSIX_MEMALIGN 1
++
++/* Define to 1 if you have the <pthread_np.h> header file. */
++#define HAVE_PTHREAD_NP_H 1
++
++/* Build the LevelDB API with RocksDB support. */
++/* #undef HAVE_ROCKSDB */
++
++/* Define to 1 if you have the <stdint.h> header file. */
++#define HAVE_STDINT_H 1
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#define HAVE_STDLIB_H 1
++
++/* Define to 1 if you have the <strings.h> header file. */
++#define HAVE_STRINGS_H 1
++
++/* Define to 1 if you have the <string.h> header file. */
++#define HAVE_STRING_H 1
++
++/* Define to 1 if you have the `strtouq' function. */
++#define HAVE_STRTOUQ 1
++
++/* Define to 1 if you have the `sync_file_range' function. */
++/* #undef HAVE_SYNC_FILE_RANGE */
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#define HAVE_SYS_STAT_H 1
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#define HAVE_SYS_TYPES_H 1
++
++/* Define to 1 if you have the <unistd.h> header file. */
++#define HAVE_UNISTD_H 1
++
++/* Enable verbose message configuration. */
++/* #undef HAVE_VERBOSE */
++
++/* Define to 1 if you have the <x86intrin.h> header file. */
++/* #undef HAVE_X86INTRIN_H */
++
++/* Spinlock type from mutex.h. */
++#define SPINLOCK_TYPE SPINLOCK_PTHREAD_MUTEX
++
++/* Define to 1 if you have the ANSI C header files. */
++#define STDC_HEADERS 1
++
++/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
++ significant byte first (like Motorola and SPARC, unlike Intel). */
++#if defined AC_APPLE_UNIVERSAL_BUILD
++# if defined __BIG_ENDIAN__
++# define WORDS_BIGENDIAN 1
++# endif
++#else
++# ifndef WORDS_BIGENDIAN
++/* # undef WORDS_BIGENDIAN */
++# endif
++#endif
++
++/* Default alignment of buffers used for I/O */
++#define WT_BUFFER_ALIGNMENT_DEFAULT 0
++
++/* Enable large inode numbers on Mac OS X 10.5. */
++#ifndef _DARWIN_USE_64_BIT_INODE
++# define _DARWIN_USE_64_BIT_INODE 1
++#endif
++
++/* Number of bits in a file offset, on hosts where this is settable. */
++/* #undef _FILE_OFFSET_BITS */
++
++/* Define for large files, on AIX-style hosts. */
++/* #undef _LARGE_FILES */
Index: pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_build__netbsd_wiredtiger__config.h
diff -u /dev/null pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_build__netbsd_wiredtiger__config.h:1.1
--- /dev/null Fri Jun 28 16:30:56 2019
+++ pkgsrc/databases/mongodb3/patches/patch-src_third__party_wiredtiger_build__netbsd_wiredtiger__config.h Fri Jun 28 16:30:56 2019
@@ -0,0 +1,161 @@
+$NetBSD: patch-src_third__party_wiredtiger_build__netbsd_wiredtiger__config.h,v 1.1 2019/06/28 16:30:56 gdt Exp $
+
+* Copy from OpenBSD case.
+
+--- src/third_party/wiredtiger/build_netbsd/wiredtiger_config.h.orig 2016-02-11 11:07:20.607136772 +0000
++++ src/third_party/wiredtiger/build_netbsd/wiredtiger_config.h
+@@ -0,0 +1,154 @@
++/* wiredtiger_config.h. Generated from config.hin by configure. */
++/* build_posix/config.hin. Generated from configure.ac by autoheader. */
++
++/* Define if building universal (internal helper macro) */
++/* #undef AC_APPLE_UNIVERSAL_BUILD */
++
++/* Define to 1 to pause for debugger attach on failure. */
++/* #undef HAVE_ATTACH */
++
++/* Build the LevelDB API with Basho LevelDB support. */
++/* #undef HAVE_BASHOLEVELDB */
++
++/* Snappy support automatically loaded. */
++/* #undef HAVE_BUILTIN_EXTENSION_SNAPPY */
++
++/* Zlib support automatically loaded. */
++/* #undef HAVE_BUILTIN_EXTENSION_ZLIB */
++
++/* Define to 1 if you have the `clock_gettime' function. */
++#define HAVE_CLOCK_GETTIME 1
++
++/* Define to 1 for diagnostic tests. */
++/* #undef HAVE_DIAGNOSTIC */
++
++/* Define to 1 if you have the <dlfcn.h> header file. */
++#define HAVE_DLFCN_H 1
++
++/* Define to 1 if you have the `fallocate' function. */
++/* #undef HAVE_FALLOCATE */
++
++/* Define to 1 if you have the `fcntl' function. */
++#define HAVE_FCNTL 1
++
++/* Define to 1 if you have the `fdatasync' function. */
++/* #undef HAVE_FDATASYNC */
++
++/* Define to 1 if you have the `fread_unlocked' function. */
++/* #undef HAVE_FREAD_UNLOCKED */
++
++/* Define to 1 if you have the `ftruncate' function. */
++#define HAVE_FTRUNCATE 1
++
++/* Define to 1 if you have the `gettimeofday' function. */
++#define HAVE_GETTIMEOFDAY 1
++
++/* Build the LevelDB API with HyperLevelDB support. */
++/* #undef HAVE_HYPERLEVELDB */
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++#define HAVE_INTTYPES_H 1
++
++/* Define to 1 if you have the `bz2' library (-lbz2). */
++/* #undef HAVE_LIBBZ2 */
++
++/* Define to 1 if you have the `dl' library (-ldl). */
++/* #undef HAVE_LIBDL */
++
++/* Define to 1 if you have the `pthread' library (-lpthread). */
++#define HAVE_LIBPTHREAD 1
++
++/* Define to 1 if you have the `rt' library (-lrt). */
++/* #undef HAVE_LIBRT */
++
++/* Define to 1 if you have the `snappy' library (-lsnappy). */
++/* #undef HAVE_LIBSNAPPY */
++
++/* Define to 1 if you have the `z' library (-lz). */
++/* #undef HAVE_LIBZ */
++
++/* Define to 1 if you have the <memory.h> header file. */
++#define HAVE_MEMORY_H 1
++
++/* Define to 1 if you have the `posix_fadvise' function. */
++/* #undef HAVE_POSIX_FADVISE */
++
++/* Define to 1 if you have the `posix_fallocate' function. */
++/* #undef HAVE_POSIX_FALLOCATE */
++
++/* Define to 1 if you have the `posix_madvise' function. */
++#define HAVE_POSIX_MADVISE 1
++
++/* Define to 1 if you have the `posix_memalign' function. */
++#define HAVE_POSIX_MEMALIGN 1
++
++/* Define to 1 if you have the <pthread_np.h> header file. */
++/* #undef HAVE_PTHREAD_NP_H */
++
++/* Build the LevelDB API with RocksDB support. */
++/* #undef HAVE_ROCKSDB */
++
++/* Define to 1 if you have the <stdint.h> header file. */
++#define HAVE_STDINT_H 1
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#define HAVE_STDLIB_H 1
++
++/* Define to 1 if you have the <strings.h> header file. */
++#define HAVE_STRINGS_H 1
++
++/* Define to 1 if you have the <string.h> header file. */
++#define HAVE_STRING_H 1
++
++/* Define to 1 if you have the `strtouq' function. */
++#define HAVE_STRTOUQ 1
++
++/* Define to 1 if you have the `sync_file_range' function. */
++/* #undef HAVE_SYNC_FILE_RANGE */
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#define HAVE_SYS_STAT_H 1
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#define HAVE_SYS_TYPES_H 1
++
++/* Define to 1 if you have the <unistd.h> header file. */
++#define HAVE_UNISTD_H 1
++
++/* Enable verbose message configuration. */
++/* #undef HAVE_VERBOSE */
++
++/* Define to 1 if you have the <x86intrin.h> header file. */
++/* #undef HAVE_X86INTRIN_H */
++
++/* Spinlock type from mutex.h. */
++#define SPINLOCK_TYPE SPINLOCK_PTHREAD_MUTEX
++
++/* Define to 1 if you have the ANSI C header files. */
++#define STDC_HEADERS 1
++
++/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
++ significant byte first (like Motorola and SPARC, unlike Intel). */
++#if defined AC_APPLE_UNIVERSAL_BUILD
++# if defined __BIG_ENDIAN__
++# define WORDS_BIGENDIAN 1
++# endif
++#else
++# ifndef WORDS_BIGENDIAN
++/* # undef WORDS_BIGENDIAN */
++# endif
++#endif
++
++/* Default alignment of buffers used for I/O */
++#define WT_BUFFER_ALIGNMENT_DEFAULT 0
++
++/* Enable large inode numbers on Mac OS X 10.5. */
++#ifndef _DARWIN_USE_64_BIT_INODE
++# define _DARWIN_USE_64_BIT_INODE 1
++#endif
++
++/* Number of bits in a file offset, on hosts where this is settable. */
++/* #undef _FILE_OFFSET_BITS */
++
++/* Define for large files, on AIX-style hosts. */
++/* #undef _LARGE_FILES */
Home |
Main Index |
Thread Index |
Old Index