pkgsrc/databases/mongodb/patches/patch-SConstruct
ryoon 517bb4e046 Update to 3.4.4
* Disable PaX MPROTECT for bin/mongo

Changelog:
3.4.4 – Apr 21, 2017

Issues fixed:

    SERVER-18794: Add an aggregation operator $objectToArray to convert an object to an array of key, value pairs.
    SERVER-23310: Add an aggregation operator $arrayToObject to convert an array of pairs to an object.
    SERVER-22611: ChunkManager refresh can occasionally cause a full reload.
    3.4.4 Changelog
    All JIRA issues closed in 3.4.4

3.4.3 – Mar 28, 2017

Issues fixed:

    SERVER-27863: Reschedule firing of early alarms in NetworkInterfaceASIO to avoid mongos crash.
    SERVER-28017: $ne should respect collection’s default collation.
    SERVER-27700: Improve WiredTiger performance on secondary when cache is full.
    3.4.3 Changelog
    All JIRA issues closed in 3.4.3

3.4.2 – Feb 1, 2017

Issues fixed:

    SERVER-27125: Arbiters in pv1 should vote no in elections if they can see a healthy primary of equal or greater priority to the candidate.
    SERVER-27584 Add support for filter to listDatabases
    WT-2670 Inefficient I/O when read full DB (poor readahead)
    3.4.2 Changelog
    All JIRA issues closed in 3.4.2

3.4.1 – Dec 20, 2016

Issues fixed:

    SERVER-27124: Disallow readConcern: majority reads on replica set protocolVersion 0 (pv0).
    SERVER-27201: $graphLookup triggers null pointer dereference.
    SERVER-27207: Find operation with a sort on a view via mongos may incorrectly return empty result set.
    SERVER-27213: Two $match pipeline stages can combine incorrectly to produce incorrect results.
    3.4.1 Changelog
    All JIRA issues closed in 3.4.1
2017-05-29 14:44:46 +00:00

121 lines
4.5 KiB
Text

$NetBSD: patch-SConstruct,v 1.6 2017/05/29 14:44:47 ryoon Exp $
Add support for NetBSD/Dragonfly, fix locations.
Respect LDFLAGS and CXXFLAGS
--- SConstruct.orig 2017-04-20 21:43:42.000000000 +0000
+++ SConstruct
@@ -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:
@@ -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)
@@ -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__",
@@ -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.")