Skip to content

Commit 75d6372

Browse files
authored
Merge pull request #10845 from The-OpenROAD-Project-staging/bazel-9-migration
Migrate to Bazel 9
2 parents fe86c9e + c9c7963 commit 75d6372

4 files changed

Lines changed: 933 additions & 677 deletions

File tree

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8.6.0
1+
9.1.1

MODULE.bazel

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ bazel_dep(name = "platforms", version = "1.0.0")
2828
bazel_dep(name = "rules_bison", version = "0.3.1")
2929
bazel_dep(name = "rules_cc", version = "0.2.18")
3030
bazel_dep(name = "rules_flex", version = "0.3.1")
31+
32+
# rules_go is transitive (or-tools, gazelle, grpc-java, rules_buf). The
33+
# MVS-selected 0.53.0 references the top-level CcInfo global that Bazel 9
34+
# removed (go/private/rules/cgo.bzl), breaking analysis. 0.59.0+ loads
35+
# CcInfo from @rules_cc; force a Bazel-9-compatible release.
36+
bazel_dep(name = "rules_go", version = "0.61.1")
3137
bazel_dep(name = "rules_pkg", version = "1.2.0")
3238
bazel_dep(name = "rules_pycross", version = "0.8.1")
3339
bazel_dep(name = "rules_python", version = "1.8.5")
@@ -104,6 +110,14 @@ bazel_dep(name = "cudd", version = "3.0.0.bcr.2")
104110
bazel_dep(name = "eigen", version = "3.4.0.bcr.3")
105111
bazel_dep(name = "fmt", version = "11.2.0.bcr.1")
106112

113+
# freetype reaches the build transitively (qt-bazel -> harfbuzz -> freetype).
114+
# freetype@2.13.3's BUILD overlay calls the native cc_library rule, which
115+
# Bazel 9 removed, so loading the package fails. 2.13.3.bcr.2 keeps the same
116+
# 2.13.3 source but its overlay loads cc_library from @rules_cc. This is a
117+
# direct bazel_dep rather than a single_version_override so the pin propagates
118+
# to downstream consumers via MVS (overrides only apply in the root module).
119+
bazel_dep(name = "freetype", version = "2.13.3.bcr.2")
120+
107121
# gawk is transitive (abc -> ncurses -> gawk; yosys -> gawk). Same gnulib
108122
# libc-header shadowing as sed: gawk@5.3.2.bcr.2 fails to compile against
109123
# hermetic-llvm's explicit libc -isystem entries (BCR #7642). 5.3.2.bcr.7
@@ -135,7 +149,10 @@ single_version_override(
135149
version = "4.9.bcr.5",
136150
)
137151

138-
bazel_dep(name = "spdlog", version = "1.15.1")
152+
# spdlog < 1.16.0.bcr.2's BUILD.bazel calls the native cc_test rule, which
153+
# Bazel 9 removed; loading the package fails. 1.16.0.bcr.2+ loads cc_test
154+
# from @rules_cc.
155+
bazel_dep(name = "spdlog", version = "1.17.0")
139156
bazel_dep(name = "sv-lang", version = "10.0.1-20260316-f04e8156")
140157
bazel_dep(name = "tcl_lang", version = "9.0.2.bcr.1")
141158

@@ -192,7 +209,7 @@ bazel_dep(name = "rules_nodejs", version = "6.7.3", dev_dependency = True)
192209
bazel_dep(name = "bazel-orfs", dev_dependency = True)
193210
bazel_dep(name = "bazel-orfs-verilog", dev_dependency = True)
194211

195-
BAZEL_ORFS_COMMIT = "60d62021c779e64ef7360a1b08a8faee00183c8d"
212+
BAZEL_ORFS_COMMIT = "551d4c72749411c4b1168c0d12322a9c34817c91"
196213

197214
BAZEL_ORFS_REMOTE = "https://github.com/The-OpenROAD-Project/bazel-orfs.git"
198215

@@ -380,9 +397,12 @@ single_version_override(
380397

381398
# scip 9.2.3's tinycthread uses bare C11 <threads.h> names. Backport
382399
# scipopt/scip@cc917e07 (TNY_ prefix) until a fixed release lands in BCR.
400+
# The .bcr.1 revision keeps the 9.2.3 source (patch still applies) but its
401+
# overlay BUILD loads cc_library/cc_binary from @rules_cc rather than the
402+
# native rules Bazel 9 removed.
383403
single_version_override(
384404
module_name = "scip",
385405
patch_strip = 1,
386406
patches = ["//bazel:scip_tinycthread_tny_prefix.patch"],
387-
version = "9.2.3",
407+
version = "9.2.3.bcr.1",
388408
)

0 commit comments

Comments
 (0)