summaryrefslogtreecommitdiff
path: root/dev-db/mongodb/files/mongodb-7.0.2-sconstruct.patch
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2025-05-06 20:27:34 +0100
committerSam James <sam@gentoo.org>2025-05-06 20:32:06 +0100
commit8ee176dbe6fb61293b3b0ac57d859261e0ca902e (patch)
tree08dbda928eb75de6235a9c7c37e5ee44ecfde6ee /dev-db/mongodb/files/mongodb-7.0.2-sconstruct.patch
parent07da7cbf83135a8830a1da146b594d4b2e615797 (diff)
downloadgentoo-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.patch253
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"],