summaryrefslogtreecommitdiff
path: root/dev-db/mongodb/files/mongodb-8.3.8-use-system-python.patch
blob: edaa35a9e1c65493d2c1cb9cea31a5d6a3fb035a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
The default build tries to download a python executable and all required python modules during
the build process. While we can pre-populate the Bazel modules to avoid downloading them,
we cannot prevent poetry from attempting to access PyPI.

Additionally, local_host_values expects to use the downloaded python binary to get the number
of CPUs on the local system. Since we are not using thin_lto, it is simpler to remove this
rather than trying to force it to use the sytem python.

This patch allows us to use the system python and removes the rules_poetry Bazel module.
Additional references to poetry and the downloaded python interpreter are removed by the ebuild.

diff '--color=auto' -ur a/bazel/mongo_src_rules.bzl b/bazel/mongo_src_rules.bzl
--- a/bazel/mongo_src_rules.bzl	2026-06-15 18:37:04.000000000 -0400
+++ b/bazel/mongo_src_rules.bzl	2026-07-23 13:00:38.576931113 -0400
@@ -26,7 +26,6 @@
     "extract_debuginfo_binary",
     "extract_debuginfo_test",
 )
-load("@local_host_values//:local_host_values_set.bzl", "NUM_CPUS")
 load("@evergreen_variables//:evergreen_variables.bzl", "UNSAFE_COMPILE_VARIANT", "UNSAFE_VERSION_ID")
 load("//bazel/toolchains/cc/mongo_windows:mongo_windows_cc_toolchain_config.bzl", "MIN_VER_MAP")
 load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
@@ -670,9 +669,6 @@
         "data": data + SANITIZER_DATA + ["//bazel:test_wrapper"],
         "tags": tags,
         "linkopts": linkopts + rpath_flags + select({
-            "//bazel/config:thin_lto_enabled": ["-Wl,--threads=" + str(NUM_CPUS)],
-            "//conditions:default": [],
-        }) + select({
             "//bazel/config:simple_build_id_enabled": ["-Wl,--build-id=0x" +
                                                        hex32(hash(name)) +
                                                        hex32(hash(name)) +
@@ -698,9 +694,6 @@
             "@platforms//os:windows": {"cpp_link.coefficient": "1.0"},
             "//conditions:default": {"cpp_link.coefficient": "18.0"},
         }) | select({
-            "//bazel/config:thin_lto_enabled": {"cpp_link.cpus": str(NUM_CPUS)},
-            "//conditions:default": {},
-        }) | select({
             "//bazel/config:remote_link_arm_linux_linkstatic": {"cpp_link.Pool": "arm_linker"},
             "//conditions:default": {},
         }),
diff '--color=auto' -ur a/MODULE.bazel b/MODULE.bazel
--- a/MODULE.bazel	2026-06-15 18:37:04.000000000 -0400
+++ b/MODULE.bazel	2026-07-23 13:01:05.110856938 -0400
@@ -115,13 +115,6 @@
     version = "6.3.0",
 )
 
-bazel_dep(name = "rules_poetry", version = "")
-git_override(
-    module_name = "rules_poetry",
-    commit = "092d43107d13e711ac4ac92050d8b570bcc8ef43",
-    patches = ["//bazel/rules_poetry:rules_poetry.patch"],
-    remote = "https://github.com/mongodb-forks/rules_poetry",
-)
 
 #
 ## We need skylib to be able to use config_setting_group in rule_poetry below
@@ -258,20 +251,10 @@
     "py_windows_x86_64",
 )
 
-register_toolchains(
-    "@py_linux_arm64//:python_toolchain",
-    "@py_linux_ppc64le//:python_toolchain",
-    "@py_linux_s390x//:python_toolchain",
-    "@py_linux_x86_64//:python_toolchain",
-    "@py_macos_arm64//:python_toolchain",
-    "@py_macos_x86_64//:python_toolchain",
-    "@py_windows_x86_64//:python_toolchain",
-)
 
 # broken on windows currently
 setup_local_host_values = use_repo_rule("//bazel/platforms:local_host_values.bzl", "setup_local_host_values")
 
-setup_local_host_values(name = "local_host_values")
 
 setup_evergreen_variables = use_repo_rule("//bazel/repository_rules:evergreen_variables.bzl", "setup_evergreen_variables")
 
@@ -295,3 +278,28 @@
 use_repo(setup_mongo_windows_toolchains_extension, "mongo_windows_toolchain")
 
 register_toolchains("@mongo_windows_toolchain//...")
+
+local_runtime_repo = use_repo_rule(
+    "@rules_python//python/local_toolchains:repos.bzl",
+    "local_runtime_repo",
+)
+
+local_runtime_toolchains_repo = use_repo_rule(
+    "@rules_python//python/local_toolchains:repos.bzl",
+    "local_runtime_toolchains_repo",
+)
+
+local_runtime_repo(
+    name = "gentoo_python",
+    interpreter_path = "@PYTHON@",
+    on_failure = "fail",
+    dev_dependency = True
+)
+
+local_runtime_toolchains_repo(
+    name = "gentoo_python_toolchain",
+    runtimes = ["gentoo_python"],
+    dev_dependency = True
+)
+
+register_toolchains("@gentoo_python_toolchain//:all", dev_dependency = True)
diff '--color=auto' -ur a/WORKSPACE.bazel b/WORKSPACE.bazel
--- a/WORKSPACE.bazel	2026-06-15 18:37:04.000000000 -0400
+++ b/WORKSPACE.bazel	2026-07-23 13:00:38.577333981 -0400
@@ -107,19 +107,6 @@
 
 rules_coverity_toolchains()
 
-load("@rules_poetry//rules_poetry:poetry.bzl", "poetry")
-
-poetry(
-    name = "poetry",
-    excludes = [
-        "mdit-py-plugins",  # plugins for markdown-it-py. Introduces an optional circular dependency that bazel does not like.
-    ],
-    lockfile = "//:poetry.lock",
-    pyproject = "//:pyproject.toml",
-    python_interpreter_target_default = "@py_host//:dist/bin/python3",
-    python_interpreter_target_mac = "@py_host//:dist/bin/python3",
-    python_interpreter_target_win = "@py_host//:dist/python.exe",
-)
 
 load("@aspect_rules_js//js:toolchains.bzl", "DEFAULT_NODE_VERSION", "rules_js_register_toolchains")
 
@@ -187,14 +174,6 @@
 
 codeowners_binary()
 
-poetry(
-    name = "poetry_bazel_rules_mongo",
-    lockfile = "@bazel_rules_mongo//:poetry.lock",
-    pyproject = "@bazel_rules_mongo//:pyproject.toml",
-    python_interpreter_target_default = "@py_host//:dist/bin/python3",
-    python_interpreter_target_mac = "@py_host//:dist/bin/python3",
-    python_interpreter_target_win = "@py_host//:dist/python.exe",
-)
 
 load("//bazel/format:shfmt.bzl", "shfmt")
 
@@ -207,3 +186,6 @@
 load("//bazel/mongot_extension_signing_key:mongot_extension_signing_key.bzl", "mongot_extension_signing_key")
 
 mongot_extension_signing_key()
+
+load("@rules_python//python:repositories.bzl", "py_repositories")
+py_repositories()