diff options
| author | Sam James <sam@gentoo.org> | 2025-05-06 20:27:34 +0100 |
|---|---|---|
| committer | Sam James <sam@gentoo.org> | 2025-05-06 20:32:06 +0100 |
| commit | 8ee176dbe6fb61293b3b0ac57d859261e0ca902e (patch) | |
| tree | 08dbda928eb75de6235a9c7c37e5ee44ecfde6ee /dev-db/mongodb/files/mongodb-7.0.2-sconstruct.patch | |
| parent | 07da7cbf83135a8830a1da146b594d4b2e615797 (diff) | |
| download | gentoo-8ee176dbe6fb61293b3b0ac57d859261e0ca902e.tar.gz gentoo-8ee176dbe6fb61293b3b0ac57d859261e0ca902e.tar.bz2 gentoo-8ee176dbe6fb61293b3b0ac57d859261e0ca902e.zip | |
dev-db/mongodb: move all patches to devspae
Wanted to do this after because the patches are a mess and having
some history for them is good.
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-db/mongodb/files/mongodb-7.0.2-sconstruct.patch')
| -rw-r--r-- | dev-db/mongodb/files/mongodb-7.0.2-sconstruct.patch | 253 |
1 files changed, 0 insertions, 253 deletions
diff --git a/dev-db/mongodb/files/mongodb-7.0.2-sconstruct.patch b/dev-db/mongodb/files/mongodb-7.0.2-sconstruct.patch deleted file mode 100644 index 01f9b232a2ed..000000000000 --- a/dev-db/mongodb/files/mongodb-7.0.2-sconstruct.patch +++ /dev/null @@ -1,253 +0,0 @@ -wrt PATH: -""" -https://jira.mongodb.org/browse/SERVER-94430 Upstream respond: - -> we intentionally do not ingest the environment PATH as this makes build -> reproducibility and hermiticity much harder. Instead, you should set the -> absolute paths to the tools you want to use on the command line, instead of -> relying on the PATH. - -Gentoo bug https://bugs.gentoo.org/829340 - -In Gentoo, we have LLVM slotted and we put clang in /usr/lib/llvm/18/bin (or -whatever), not in /usr/bin, and if upstream strip PATH and construct it -themselves, they surely won't contain this location. - -So we add PATH backup for scons. -""" -diff --git a/SConstruct2 b/SConstruct -index e9aa2ca..5814f4a 100644 ---- a/SConstruct2 -+++ b/SConstruct -@@ -25,7 +25,7 @@ from pkg_resources import parse_version - - import SCons - import SCons.Script --from mongo_tooling_metrics.lib.top_level_metrics import SConsToolingMetrics -+#from mongo_tooling_metrics.lib.top_level_metrics import SConsToolingMetrics - from site_scons.mongo import build_profiles - - # This must be first, even before EnsureSConsVersion, if -@@ -1724,13 +1724,13 @@ env.AddMethod(lambda env, name, **kwargs: add_option(name, **kwargs), 'AddOption - - # The placement of this is intentional. Here we setup an atexit method to store tooling metrics. - # We should only register this function after env, env_vars and the parser have been properly initialized. --SConsToolingMetrics.register_metrics( -- utc_starttime=datetime.utcnow(), -- artifact_dir=env.Dir('$BUILD_DIR').get_abspath(), -- env_vars=env_vars, -- env=env, -- parser=_parser, --) -+#SConsToolingMetrics.register_metrics( -+# utc_starttime=datetime.utcnow(), -+# artifact_dir=env.Dir('$BUILD_DIR').get_abspath(), -+# env_vars=env_vars, -+# env=env, -+# parser=_parser, -+#) - - if get_option('build-metrics'): - env['BUILD_METRICS_ARTIFACTS_DIR'] = '$BUILD_ROOT/$VARIANT_DIR' -@@ -3132,7 +3132,7 @@ if env.TargetOSIs('posix'): - env.Append( - CCFLAGS=[ - "-fasynchronous-unwind-tables", -- "-g2" if not env.TargetOSIs('emscripten') else "-g", -+# "-g2" if not env.TargetOSIs('emscripten') else "-g", - "-Wall", - "-Wsign-compare", - "-Wno-unknown-pragmas", -@@ -3200,6 +3200,8 @@ if env.TargetOSIs('posix'): - - # env.Append( " -Wconversion" ) TODO: this doesn't really work yet - env.Append(CXXFLAGS=["-Woverloaded-virtual"]) -+ env.Append(CXXFLAGS=os.environ['CXXFLAGS']) -+ env.Append(LINKFLAGS=os.environ['LDFLAGS']) - - # On OS X, clang doesn't want the pthread flag at link time, or it - # issues warnings which make it impossible for us to declare link -@@ -3250,7 +3252,7 @@ if env.TargetOSIs('posix'): - ], ) - - #make scons colorgcc friendly -- for key in ('HOME', 'TERM'): -+ for key in ('HOME', 'TERM', 'PATH'): - try: - env['ENV'][key] = os.environ[key] - except KeyError: -@@ -3644,35 +3646,35 @@ def doConfigure(myenv): - myenv.AddMethod( - functools.partial(var_func, var=var, func=CheckFlag), f"Check{var}Supported") - -- if myenv.ToolchainIs('gcc', 'clang'): -- # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker -- # because it is much faster. Don't use it if the user has already configured another linker -- # selection manually. -- if any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']): -- myenv.FatalError( -- f"Use the '--linker' option instead of modifying the LINKFLAGS directly.") -- -- linker_ld = get_option('linker') -- -- if linker_ld == "bfd" and env.get("BAZEL_BUILD_ENABLED"): -- myenv.FatalError(f"The linker 'bfd' is not supported with BAZEL_BUILD_ENABLED.") -- elif linker_ld == 'auto': -- if not env.TargetOSIs('darwin', 'macOS'): -- if not myenv.AddToLINKFLAGSIfSupported('-fuse-ld=lld'): -- myenv.FatalError( -- f"The recommended linker 'lld' is not supported with the current compiler configuration, you can try the 'gold' linker with '--linker=gold'." -- ) -- elif link_model.startswith("dynamic") and linker_ld == 'bfd': -- # BFD is not supported due to issues with it causing warnings from some of -- # the third party libraries that mongodb is linked with: -- # https://jira.mongodb.org/browse/SERVER-49465 -- myenv.FatalError(f"Linker {linker_ld} is not supported with dynamic link model builds.") -- else: -- if not myenv.AddToLINKFLAGSIfSupported(f'-fuse-ld={linker_ld}'): -- myenv.FatalError(f"Linker {linker_ld} could not be configured.") -- -- if has_option('gcov') and myenv.AddToCCFLAGSIfSupported('-fprofile-update=single'): -- myenv.AppendUnique(LINKFLAGS=['-fprofile-update=single']) -+# if myenv.ToolchainIs('gcc', 'clang'): -+# # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker -+# # because it is much faster. Don't use it if the user has already configured another linker -+# # selection manually. -+# if any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']): -+# myenv.FatalError( -+# f"Use the '--linker' option instead of modifying the LINKFLAGS directly.") -+# -+# linker_ld = get_option('linker') -+# -+# if linker_ld == "bfd" and env.get("BAZEL_BUILD_ENABLED"): -+# myenv.FatalError(f"The linker 'bfd' is not supported with BAZEL_BUILD_ENABLED.") -+# elif linker_ld == 'auto': -+# if not env.TargetOSIs('darwin', 'macOS'): -+# if not myenv.AddToLINKFLAGSIfSupported('-fuse-ld=lld'): -+# myenv.FatalError( -+# f"The recommended linker 'lld' is not supported with the current compiler configuration, you can try the 'gold' linker with '--linker=gold'." -+# ) -+# elif link_model.startswith("dynamic") and linker_ld == 'bfd': -+# # BFD is not supported due to issues with it causing warnings from some of -+# # the third party libraries that mongodb is linked with: -+# # https://jira.mongodb.org/browse/SERVER-49465 -+# myenv.FatalError(f"Linker {linker_ld} is not supported with dynamic link model builds.") -+# else: -+# if not myenv.AddToLINKFLAGSIfSupported(f'-fuse-ld={linker_ld}'): -+# myenv.FatalError(f"Linker {linker_ld} could not be configured.") -+# -+# if has_option('gcov') and myenv.AddToCCFLAGSIfSupported('-fprofile-update=single'): -+# myenv.AppendUnique(LINKFLAGS=['-fprofile-update=single']) - - detectCompiler = Configure( - myenv, -@@ -4765,42 +4767,42 @@ def doConfigure(myenv): - if optBuild == "off" and myenv.ToolchainIs('clang') and env.TargetOSIs('darwin'): - myenv.AddToLINKFLAGSIfSupported("-Wl,-no_deduplicate") - -- # Apply any link time optimization settings as selected by the 'lto' option. -- if has_option('lto'): -- if myenv.ToolchainIs('msvc'): -- # Note that this is actually more aggressive than LTO, it is whole program -- # optimization due to /GL. However, this is historically what we have done for -- # windows, so we are keeping it. -- # -- # /GL implies /LTCG, so no need to say it in CCFLAGS, but we do need /LTCG on the -- # link flags. -- myenv.Append(CCFLAGS=['/GL']) -- myenv.Append(LINKFLAGS=['/LTCG']) -- myenv.Append(ARFLAGS=['/LTCG']) -- elif myenv.ToolchainIs('gcc', 'clang'): -- # For GCC and clang, the flag is -flto, and we need to pass it both on the compile -- # and link lines. -- if not myenv.AddToCCFLAGSIfSupported('-flto') or \ -- not myenv.AddToLINKFLAGSIfSupported('-flto'): -- myenv.ConfError("Link time optimization requested, " -- "but selected compiler does not honor -flto") -- -- if myenv.TargetOSIs('darwin'): -- myenv.AddToLINKFLAGSIfSupported('-Wl,-object_path_lto,${TARGET}.lto') -- else: -- # According to intel benchmarks -fno-plt increases perf -- # See PM-2215 -- if linker_ld != "gold": -- myenv.ConfError("lto compilation currently only works with the --linker=gold") -- if link_model != "object": -- myenv.ConfError( -- "lto compilation currently only works with the --link-model=object") -- if not myenv.AddToCCFLAGSIfSupported('-fno-plt') or \ -- not myenv.AddToLINKFLAGSIfSupported('-fno-plt'): -- myenv.ConfError("-fno-plt is not supported by the compiler") -- -- else: -- myenv.ConfError("Don't know how to enable --lto on current toolchain") -+# # Apply any link time optimization settings as selected by the 'lto' option. -+# if has_option('lto'): -+# if myenv.ToolchainIs('msvc'): -+# # Note that this is actually more aggressive than LTO, it is whole program -+# # optimization due to /GL. However, this is historically what we have done for -+# # windows, so we are keeping it. -+# # -+# # /GL implies /LTCG, so no need to say it in CCFLAGS, but we do need /LTCG on the -+# # link flags. -+# myenv.Append(CCFLAGS=['/GL']) -+# myenv.Append(LINKFLAGS=['/LTCG']) -+# myenv.Append(ARFLAGS=['/LTCG']) -+# elif myenv.ToolchainIs('gcc', 'clang'): -+# # For GCC and clang, the flag is -flto, and we need to pass it both on the compile -+# # and link lines. -+# if not myenv.AddToCCFLAGSIfSupported('-flto') or \ -+# not myenv.AddToLINKFLAGSIfSupported('-flto'): -+# myenv.ConfError("Link time optimization requested, " -+# "but selected compiler does not honor -flto") -+# -+# if myenv.TargetOSIs('darwin'): -+# myenv.AddToLINKFLAGSIfSupported('-Wl,-object_path_lto,${TARGET}.lto') -+# else: -+# # According to intel benchmarks -fno-plt increases perf -+# # See PM-2215 -+# if linker_ld != "gold": -+# myenv.ConfError("lto compilation currently only works with the --linker=gold") -+# if link_model != "object": -+# myenv.ConfError( -+# "lto compilation currently only works with the --link-model=object") -+# if not myenv.AddToCCFLAGSIfSupported('-fno-plt') or \ -+# not myenv.AddToLINKFLAGSIfSupported('-fno-plt'): -+# myenv.ConfError("-fno-plt is not supported by the compiler") -+# -+# else: -+# myenv.ConfError("Don't know how to enable --lto on current toolchain") - - if get_option('runtime-hardening') == "on" and optBuild != "off": - # Older glibc doesn't work well with _FORTIFY_SOURCE=2. Selecting 2.11 as the minimum was an -@@ -5263,16 +5265,17 @@ def doConfigure(myenv): - "BOOST_LOG_NO_SHORTHAND_NAMES", - "BOOST_LOG_USE_NATIVE_SYSLOG", - "BOOST_LOG_WITHOUT_THREAD_ATTR", -+ "BOOST_LOG_DYN_LINK", - "BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS", - "BOOST_SYSTEM_NO_DEPRECATED", - "BOOST_THREAD_USES_DATETIME", - ("BOOST_THREAD_VERSION", "5"), - ]) - -- if link_model.startswith("dynamic") and not link_model == 'dynamic-sdk': -- conf.env.AppendUnique(CPPDEFINES=[ -- "BOOST_LOG_DYN_LINK", -- ]) -+# if link_model.startswith("dynamic") and not link_model == 'dynamic-sdk': -+# conf.env.AppendUnique(CPPDEFINES=[ -+# "BOOST_LOG_DYN_LINK", -+# ]) - - if use_system_version_of_library("boost"): - if not conf.CheckCXXHeader("boost/filesystem/operations.hpp"): -@@ -5473,6 +5476,8 @@ def doConfigure(myenv): - - mongoc_mode = get_option('use-system-mongo-c') - conf.env['MONGO_HAVE_LIBMONGOC'] = False -+ # conf.env.ParseConfig('pkg-config libbson-1.0 libmongoc-1.0 --cflags') -+ # conf.env['LIBDEPS_LIBBSON_SYSLIBDEP'] = 'bson-1.0' - if mongoc_mode != 'off': - if conf.CheckLibWithHeader( - ["mongoc-1.0"], |
