head 1.4; access; symbols pkgsrc-2026Q1:1.4.0.38 pkgsrc-2026Q1-base:1.4 pkgsrc-2025Q4:1.4.0.36 pkgsrc-2025Q4-base:1.4 pkgsrc-2025Q3:1.4.0.34 pkgsrc-2025Q3-base:1.4 pkgsrc-2025Q2:1.4.0.32 pkgsrc-2025Q2-base:1.4 pkgsrc-2025Q1:1.4.0.30 pkgsrc-2025Q1-base:1.4 pkgsrc-2024Q4:1.4.0.28 pkgsrc-2024Q4-base:1.4 pkgsrc-2024Q3:1.4.0.26 pkgsrc-2024Q3-base:1.4 pkgsrc-2024Q2:1.4.0.24 pkgsrc-2024Q2-base:1.4 pkgsrc-2024Q1:1.4.0.22 pkgsrc-2024Q1-base:1.4 pkgsrc-2023Q4:1.4.0.20 pkgsrc-2023Q4-base:1.4 pkgsrc-2023Q3:1.4.0.18 pkgsrc-2023Q3-base:1.4 pkgsrc-2023Q2:1.4.0.16 pkgsrc-2023Q2-base:1.4 pkgsrc-2023Q1:1.4.0.14 pkgsrc-2023Q1-base:1.4 pkgsrc-2022Q4:1.4.0.12 pkgsrc-2022Q4-base:1.4 pkgsrc-2022Q3:1.4.0.10 pkgsrc-2022Q3-base:1.4 pkgsrc-2022Q2:1.4.0.8 pkgsrc-2022Q2-base:1.4 pkgsrc-2022Q1:1.4.0.6 pkgsrc-2022Q1-base:1.4 pkgsrc-2021Q4:1.4.0.4 pkgsrc-2021Q4-base:1.4 pkgsrc-2021Q3:1.4.0.2 pkgsrc-2021Q3-base:1.4 pkgsrc-2021Q2:1.3.0.16 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.14 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.12 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.10 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.8 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.4 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.3.0.6 pkgsrc-2019Q4-base:1.3 pkgsrc-2019Q3:1.3.0.2 pkgsrc-2019Q3-base:1.3 pkgsrc-2019Q2:1.1.0.2 pkgsrc-2019Q2-base:1.1; locks; strict; comment @# @; 1.4 date 2021.08.17.04.09.48; author mrg; state Exp; branches; next 1.3; commitid XabocDRs2MEchh5D; 1.3 date 2019.07.10.17.45.58; author adam; state Exp; branches; next 1.2; commitid RIqLP89KVSZ6wwuB; 1.2 date 2019.07.09.07.28.30; author adam; state Exp; branches; next 1.1; commitid tHTascq1CbDz7luB; 1.1 date 2019.06.28.16.30.56; author gdt; state Exp; branches; next ; commitid aIba1yK4vsq9tYsB; desc @@ 1.4 log @fix build on arm64eb. mongodb4, particularly the new one, needs a lot more work (does not support netbsd/arm64el yet.) @ text @$NetBSD: patch-SConstruct,v 1.3 2019/07/10 17:45:58 adam Exp $ Add support for NetBSD/Dragonfly. Add support for aarch64 big-endian. Fix locations. Don't compile with debug info. Don't mess with the linker. Respect LDFLAGS and CXXFLAGS --- SConstruct.orig 2020-01-08 08:30:41.000000000 -0800 +++ SConstruct 2021-04-24 20:15:17.493198495 -0700 @@@@ -30,7 +30,7 @@@@ 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 @@@@ 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 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 @@@@ 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 @@@@ 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 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 @@@@ 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, @@@@ -899,6 +903,7 @@@@ INSTALL_DIR=installDir, CONFIG_HEADER_DEFINES={}, LIBDEPS_TAG_EXPANSIONS=[], + ENV = os.environ, ) env = Environment(variables=env_vars, **envDict) @@@@ -908,12 +913,12 @@@@ 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) @@@@ -933,7 +938,7 @@@@ 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() @@@@ -993,6 +998,7 @@@@ processor_macros = { 'arm' : { 'endian': 'little', 'defines': ('__arm__',) }, 'aarch64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')}, + 'aarch64eb' : { 'endian': 'big', 'defines': ('__arm64__', '__aarch64__')}, 'i386' : { 'endian': 'little', 'defines': ('__i386', '_M_IX86')}, 'ppc64le' : { 'endian': 'little', 'defines': ('__powerpc64__',)}, 's390x' : { 'endian': 'big', 'defines': ('__s390x__',)}, @@@@ -1036,7 +1042,9 @@@@ os_macros = { "windows": "_WIN32", "solaris": "__sun", + "dragonfly": "__DragonFly__", "freebsd": "__FreeBSD__", + "netbsd": "__NetBSD__", "openbsd": "__OpenBSD__", "osx": "__APPLE__", "linux": "__linux__", @@@@ -1131,7 +1139,7 @@@@ 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']) @@@@ -1367,7 +1375,7 @@@@ 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' @@@@ -1395,10 +1403,24 @@@@ elif env.TargetOSIs('solaris'): env.Append( LIBS=["socket","resolv","lgrp"] ) +elif os.sys.platform.startswith( "dragonfly" ): + env.Append( CPPPATH=[ "/dist/pkg/include" ] ) + env.Append( LIBPATH=[ "/dist/pkg/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=[ "/dist/pkg/include" ] ) + env.Append( LIBPATH=[ "/dist/pkg/lib" ] ) + env.Append( LIBS=[ "m" ] ) + env.Append( LIBS=[ "kvm" ] ) + env.Append( CPPDEFINES=[ "__netbsd__" ] ) + elif env.TargetOSIs('openbsd'): env.Append( LIBS=[ "kvm" ] ) @@@@ -1564,7 +1586,6 @@@@ # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used. env.Append( CCFLAGS=["-fno-omit-frame-pointer", "-fno-strict-aliasing", - "-ggdb", "-pthread", "-Wall", "-Wsign-compare", @@@@ -2174,9 +2195,9 @@@@ if usingLibStdCxx: def CheckModernLibStdCxx(context): test_body = """ - #if !__has_include() - #error "libstdc++ from GCC 5.3.0 or newer is required" - #endif + //#if !__has_include() + //#error "libstdc++ from GCC 5.3.0 or newer is required" + //#endif """ context.Message('Checking for libstdc++ 5.3.0 or better... ') @@@@ -2384,7 +2405,7 @@@@ # myenv.Append( CCFLAGS=["/Zc:inline"]) - if myenv.ToolchainIs('gcc', 'clang'): + if myenv.ToolchainIs('gcc', 'clang') and get_option('runtime-hardening') == "on": # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker # because it is much faster. AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold') @@@@ -2809,6 +2830,7 @@@@ "BOOST_THREAD_DONT_PROVIDE_VARIADIC_THREAD", "BOOST_SYSTEM_NO_DEPRECATED", "BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS", + "BOOST_OPTIONAL_USE_SINGLETON_DEFINITION_OF_NONE", ] ) @@@@ -2875,7 +2897,7 @@@@ 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.") @ 1.3 log @Remove CXXFLAGS/LINKFLAGS hack @ text @d1 1 a1 1 $NetBSD: patch-SConstruct,v 1.2 2019/07/09 07:28:30 adam Exp $ d4 1 d10 3 a12 3 --- SConstruct.orig 2019-05-21 17:07:37.000000000 +0000 +++ SConstruct @@@@ -30,7 +30,7 @@@@ EnsureSConsVersion( 2, 3, 0 ) d21 1 a21 1 @@@@ -49,8 +49,12 @@@@ def get_running_os_name(): d34 1 a34 1 @@@@ -68,7 +72,7 @@@@ def env_get_os_name_wrapper(self): d43 1 a43 1 @@@@ -511,7 +515,7 @@@@ try: d52 1 a52 1 @@@@ -519,7 +523,7 @@@@ try: d61 1 a61 1 @@@@ -528,7 +532,7 @@@@ except IOError as e: d70 1 a70 1 @@@@ -598,7 +602,7 @@@@ def variable_distsrc_converter(val): d79 1 a79 1 @@@@ -899,6 +903,7 @@@@ envDict = dict(BUILD_ROOT=buildDir, d87 1 a87 1 @@@@ -908,12 +913,12 @@@@ env.AddMethod(env_os_is_wrapper, 'Target d103 1 a103 1 @@@@ -933,7 +938,7 @@@@ else: d112 9 a120 1 @@@@ -1036,7 +1041,9 @@@@ def CheckForProcessor(context, which_arc d130 1 a130 1 @@@@ -1131,7 +1138,7 @@@@ else: d139 1 a139 1 @@@@ -1367,7 +1374,7 @@@@ elif env['_LIBDEPS'] == '$_LIBDEPS_LIBS' d148 1 a148 1 @@@@ -1395,10 +1402,24 @@@@ if env.TargetOSIs('linux'): d173 1 a173 1 @@@@ -1564,7 +1585,6 @@@@ if env.TargetOSIs('posix'): d181 1 a181 1 @@@@ -2165,9 +2188,9 @@@@ def doConfigure(myenv): d194 1 a194 1 @@@@ -2375,7 +2398,7 @@@@ def doConfigure(myenv): d203 1 a203 1 @@@@ -2800,6 +2823,7 @@@@ def doConfigure(myenv): d211 1 a211 1 @@@@ -2866,7 +2890,7 @@@@ def doConfigure(myenv): @ 1.2 log @mongodb3: updated to 3.4.21 3.4.21: Issues fixed: SERVER-39820: Add the client IP address to the successful authentication log message SERVER-41213: Unique background index builds may produce inconsistent keys SERVER-37765: Platform Support: Remove Ubuntu 14.04 SERVER-37774: Platform Support: Remove Enterprise Ubuntu 16.04 PPCLE WT-4615: Sync backup file before returning backup cursor 3.4.20: Issues fixed: SERVER-39166: $graphLookup should force a pipeline to split in sharded cluster SERVER-39723: Change listIndexes command behavior to show in-progress index builds TOOLS-2158: mongodump failing on Windows with “error opening system CA store: Access is denied.” 3.4.19: Issues fixed: SERVER-18985: setParameter should log at level 0 SERVER-22766: Dynamic oplog sizing for WiredTiger nodes SERVER-33469: Make syslog log lines consistent with mongod log lines SERVER-37132: Negation of $in with regex can incorrectly plan from the cache, leading to missing query results SERVER-37182: Different values when referencing whole object vs. a field of that object after $arrayToObject SERVER-37616: Implement tuneable batch size for the rangedeleter 3.4.18: Issues fixed: SERVER-25175: listIndexes shouldn’t include in-progress background indexes SERVER-35418: Allow specifying CAs for incoming and outgoing connections separately. SERVER-36944: applyOps does not permit unknown field names when creating a v:1 index. SERVER-37058: Update with numeric field names inside an array can cause validation to fail. 3.4.17: Issues fixed: SERVER-33857 Missing log redaction due to confusion with Command::redactForLogging(). SERVER-34846 Covered index with collated field returns incorrect result when collation not involved in match or sort. SERVER-36010 Change log messages for Windows stacktraces to use error() or severe() rather than log(). SERVER-34558: Add SSL_version to client metadata logging. 3.4.16: Issues fixed: SERVER-32999: Platform Support: Remove Debian 7 builds. SERVER-29301: Upgrade MozJS to ESR 45.9.0 SERVER-5461: Add syncSourceHost field to replSetGetStatus output. 3.4.15: Issues fixed: SERVER-31535: Platform Support: remove Ubuntu 12.04 builds. SERVER-32923: Platform Support: remove SLES11 builds. SERVER-20056: Log a startup warning if wiredTigerCacheSizeGB is > 80% of RAM. SERVER-28981: Sharding balancer prefers shards in a specific order when moving chunks. 3.4.14: Issues fixed: SERVER-28151: Authentication database should be synced first during an initial sync. SERVER-32886: Unnecessary sleeps during chunk migration. SERVER-32933: Allow mongod to start when unable to reach LDAP server. 3.4.13: Issues fixed: SERVER-33238: Prevent WiredTiger read ticket count from going negative. 3.4.12: Issues fixed: SERVER-31437: Fix parsing of mongo host/db connect string. SERVER-32875: Don’t stall ftdc due to running out of tickets. SERVER-33089: Unable to start queryable mongod because it failed to regenerate index for admin.system.users. 3.4.11: Issues fixed: SERVER-19605: Oplog timeout should be configurable. SERVER-19919: Chunks that exceed 250000 docs but are under half chunk size get marked as jumbo. SERVER-29293: Recipient shard fails to abort migration on stepdown. SERVER-32001: unindexing a key in a partial unique index may cause server crash 3.4.10: Issues fixed: SERVER-15723: Avoid G_X lock for rename_collection within database SERVER-31049: View with collation doesn’t work as expected in sharded cluster SERVER-29287: Upgrade pcre to 8.41 SERVER-31204: Calling shardCollection after enableSharding may fail if executed against different mongos 3.4.9: Issues fixed: SERVER-20392: Sharding an existing small collection results in large number of chunks SERVER-30189: Reduce calls to allocator for large $in expressions SERVER-30487: RangeDeleter holds WT transaction open while waiting for majority SERVER-30636: Range deleter assert failed because of replication lag 3.4.7: Issues fixed: SERVER-29282: BSON Document Size can be exceeded when grouping inserts on SECONDARY nodes SERVER-29568: Enable configuration of OpenSSL cipher suite via setParameter SERVER-29817: Optimize incremental update performance of ChunkManager and CollectionMetadata 3.4.6: Issues fixed: SERVER-27347: Only close idle cached cursors on the WiredTiger ident that is busy. SERVER-29618: $geoWithin in aggregation pipeline after $lookup and $unwind returns incorrect results. WT-3362: Cursor opens should never block for the duration of a checkpoint. 3.4.5: Issues fixed: SERVER-28952: Multikey indexes should not be eligible for DISTINCT_SCAN if distinct key is an array component. SERVER-28427: GlobalLock with timeout can still block indefinitely. SERVER-29018 mongos can segfault in getMore on views with find batchSize of 0. @ text @d1 1 a1 1 $NetBSD: patch-SConstruct,v 1.1 2019/06/28 16:30:56 gdt Exp $ a171 10 @@@@ -1577,6 +1597,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. @ 1.1 log @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@@) @ text @d1 1 a1 1 $NetBSD: patch-SConstruct,v 1.7 2017/10/08 22:17:06 tnn Exp $ d3 4 a6 1 Add support for NetBSD/Dragonfly, fix locations. d9 1 a9 1 --- SConstruct.orig 2017-04-20 21:43:42.000000000 +0000 d78 1 a78 1 @@@@ -892,6 +896,7 @@@@ envDict = dict(BUILD_ROOT=buildDir, d86 1 a86 1 @@@@ -901,12 +906,12 @@@@ env.AddMethod(env_os_is_wrapper, 'Target d102 1 a102 1 @@@@ -926,7 +931,7 @@@@ else: d111 1 a111 1 @@@@ -1029,7 +1034,9 @@@@ def CheckForProcessor(context, which_arc d121 1 a121 1 @@@@ -1124,7 +1131,7 @@@@ else: d130 1 a130 1 @@@@ -1360,7 +1367,7 @@@@ elif env['_LIBDEPS'] == '$_LIBDEPS_LIBS' d139 1 a139 1 @@@@ -1388,10 +1395,24 @@@@ if env.TargetOSIs('linux'): d144 2 a145 2 + env.Append( CPPPATH=[ "@@PREFIX@@/include" ] ) + env.Append( LIBPATH=[ "@@PREFIX@@/lib" ] ) d155 2 a156 2 + env.Append( CPPPATH=[ "@@PREFIX@@/include" ] ) + env.Append( LIBPATH=[ "@@PREFIX@@/lib" ] ) d164 9 a172 1 @@@@ -1570,6 +1591,9 @@@@ if env.TargetOSIs('posix'): d182 1 a182 1 @@@@ -2158,9 +2182,9 @@@@ def doConfigure(myenv): d195 10 a204 2 @@@@ -2764,6 +2788,7 @@@@ def doConfigure(myenv): # permit more than four parameters. d207 1 d212 1 a212 1 @@@@ -2830,7 +2855,7 @@@@ def doConfigure(myenv): @