Skip to content

Commit bc63ccc

Browse files
committed
Identify *.MODULE.bazel files as Starlark
1 parent 347e912 commit bc63ccc

File tree

2 files changed

+239
-0
lines changed

2 files changed

+239
-0
lines changed

lib/linguist/languages.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7362,6 +7362,7 @@ Starlark:
73627362
color: "#76d275"
73637363
extensions:
73647364
- ".bzl"
7365+
- ".MODULE.bazel"
73657366
- ".star"
73667367
filenames:
73677368
- BUCK
Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
bazel_dep(name = "hermetic_cc_toolchain", version = "3.1.0")
2+
3+
bazel_dep(name = "toolchains_llvm", version = "1.2.0", dev_dependency = True)
4+
single_version_override(
5+
module_name = "toolchains_llvm",
6+
patch_strip = 1,
7+
patches = [
8+
"//patches:toolchains_llvm.patch",
9+
"//patches:toolchains_llvm_libc++.patch",
10+
],
11+
)
12+
13+
toolchains = use_extension("@hermetic_cc_toolchain//toolchain:ext.bzl", "toolchains")
14+
use_repo(toolchains, "zig_sdk")
15+
16+
register_toolchains(
17+
"@zig_sdk//toolchain/...",
18+
"@zig_sdk//libc_aware/toolchain/...",
19+
)
20+
21+
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
22+
llvm.toolchain(
23+
name = "llvm_base",
24+
llvm_versions = {
25+
"linux-x86_64": "20.1.1",
26+
"linux-aarch64": "20.1.1",
27+
},
28+
sha256 = {
29+
"linux-x86_64": "2096e63a41887a860199aec0f046f82e6469b2cd5ae4e4245a7a111bff4abe5b",
30+
"linux-aarch64": "a71d6686edfb32e455717a1befb013b580a52042915a49f21fc25f83fff59e20",
31+
},
32+
urls = {
33+
"linux-x86_64": ["https://github.com/dzbarsky/static-clang/releases/download/v20.1.1-4/linux_amd64.tar.zst"],
34+
"linux-aarch64": ["https://github.com/dzbarsky/static-clang/releases/download/v20.1.1-4/linux_arm64.tar.zst"],
35+
},
36+
)
37+
llvm.toolchain(
38+
name = "llvm_libcxx",
39+
cxx_flags = {
40+
"linux-x86_64": [
41+
"-iwithsysroot/usr/lib/llvm-20/include/c++/v1",
42+
],
43+
"linux-aarch64": [
44+
"-iwithsysroot/usr/lib/llvm-20/include/c++/v1",
45+
],
46+
},
47+
libclang_rt = {
48+
"@llvm_sysroot_linux_amd64_libcxx//:usr/lib/llvm-20/lib/clang/20/lib/linux/libclang_rt.builtins-x86_64.a": "x86_64-unknown-linux-gnu/libclang_rt.builtins.a",
49+
"@llvm_sysroot_linux_arm64_libcxx//:usr/lib/llvm-20/lib/clang/20/lib/linux/libclang_rt.builtins-aarch64.a": "aarch64-unknown-linux-gnu/libclang_rt.builtins.a",
50+
},
51+
llvm_versions = {
52+
"linux-x86_64": "20.1.1",
53+
"linux-aarch64": "20.1.1",
54+
},
55+
stdlib = {
56+
"linux-aarch64": "libc++",
57+
"linux-x86_64": "libc++",
58+
},
59+
)
60+
llvm.toolchain_root(
61+
name = "llvm_libcxx",
62+
label = "@llvm_base_llvm//:BUILD",
63+
)
64+
llvm.sysroot(
65+
name = "llvm_libcxx",
66+
label = "@llvm_sysroot_linux_amd64_libcxx//:sysroot",
67+
targets = ["linux-x86_64"],
68+
)
69+
llvm.sysroot(
70+
name = "llvm_libcxx",
71+
label = "@llvm_sysroot_linux_arm64_libcxx//:sysroot",
72+
targets = ["linux-aarch64"],
73+
)
74+
llvm.extra_target_compatible_with(
75+
name = "llvm_libcxx",
76+
constraints = ["@//platform:libc++"],
77+
)
78+
llvm.toolchain(
79+
name = "llvm_libstdcxx",
80+
cxx_flags = {
81+
"linux-x86_64": [
82+
"-iwithsysroot/usr/include/c++/14",
83+
"-iwithsysroot/usr/include/x86_64-linux-gnu/c++/14/",
84+
],
85+
"linux-aarch64": [
86+
"-iwithsysroot/usr/include/c++/14",
87+
"-iwithsysroot/usr/include/aarch64-linux-gnu/c++/14/",
88+
],
89+
},
90+
libclang_rt = {
91+
"@llvm_sysroot_linux_amd64_libstdcxx//:usr/lib/llvm-20/lib/clang/20/lib/linux/libclang_rt.builtins-x86_64.a": "x86_64-unknown-linux-gnu/libclang_rt.builtins.a",
92+
"@llvm_sysroot_linux_arm64_libstdcxx//:usr/lib/llvm-20/lib/clang/20/lib/linux/libclang_rt.builtins-aarch64.a": "aarch64-unknown-linux-gnu/libclang_rt.builtins.a",
93+
},
94+
llvm_versions = {
95+
"linux-x86_64": "20.1.1",
96+
"linux-aarch64": "20.1.1",
97+
},
98+
stdlib = {
99+
"linux-aarch64": "stdc++",
100+
"linux-x86_64": "stdc++",
101+
},
102+
)
103+
llvm.toolchain_root(
104+
name = "llvm_libstdcxx",
105+
label = "@llvm_base_llvm//:BUILD",
106+
)
107+
llvm.sysroot(
108+
name = "llvm_libstdcxx",
109+
label = "@llvm_sysroot_linux_amd64_libstdcxx//:sysroot",
110+
targets = ["linux-x86_64"],
111+
)
112+
llvm.sysroot(
113+
name = "llvm_libstdcxx",
114+
label = "@llvm_sysroot_linux_arm64_libstdcxx//:sysroot",
115+
targets = ["linux-aarch64"],
116+
)
117+
llvm.extra_target_compatible_with(
118+
name = "llvm_libstdcxx",
119+
constraints = ["@//platform:libstdc++"],
120+
)
121+
use_repo(llvm, "llvm_base_llvm", "llvm_libcxx", "llvm_libstdcxx")
122+
123+
register_toolchains(
124+
"@llvm_libcxx//:all",
125+
dev_dependency = True,
126+
)
127+
128+
register_toolchains(
129+
"@llvm_libstdcxx//:all",
130+
dev_dependency = True,
131+
)
132+
133+
pull_blob_archive = use_repo_rule("@rules_img//img/private/repository_rules:pull_blob.bzl", "pull_blob_archive")
134+
135+
SYSROOT_DIGESTS = {
136+
"amd64": {
137+
"libc++": "sha256:11a8a41980d1bf8d7d5b7b279d251b6e851d383b80553e2ecc97523d644acc28",
138+
"libstdc++": "sha256:dacc1586eec2b990dd9e2837ac0ff482ec2eb79805d9bf71eddf1520908ce7f5",
139+
},
140+
"arm64": {
141+
"libc++": "sha256:b4b6fe951373fc41456f8af25b7afa130b9d27f6eede1aef00218db5f820a4ba",
142+
"libstdc++": "sha256:5faf55afb23fb3278194c3ac27d4b7e1edf633f21ff11fa0301b90bb47b9141f",
143+
},
144+
}
145+
146+
pull_blob_archive(
147+
name = "llvm_sysroot_linux_amd64_libcxx",
148+
build_file_content = """
149+
filegroup(
150+
name = "sysroot",
151+
srcs = glob(["*/**"]),
152+
visibility = ["//visibility:public"],
153+
)
154+
""",
155+
digest = SYSROOT_DIGESTS["amd64"]["libc++"],
156+
registry = "ghcr.io",
157+
repository = "malt3/sysroots/libcxx",
158+
type = "tzst",
159+
)
160+
161+
pull_blob_archive(
162+
name = "llvm_sysroot_linux_amd64_libstdcxx",
163+
build_file_content = """
164+
filegroup(
165+
name = "sysroot",
166+
srcs = glob(["*/**"]),
167+
visibility = ["//visibility:public"],
168+
)
169+
""",
170+
digest = SYSROOT_DIGESTS["amd64"]["libstdc++"],
171+
registry = "ghcr.io",
172+
repository = "malt3/sysroots/libstdcxx",
173+
type = "tzst",
174+
)
175+
176+
pull_blob_archive(
177+
name = "llvm_sysroot_linux_arm64_libcxx",
178+
build_file_content = """
179+
filegroup(
180+
name = "sysroot",
181+
srcs = glob(["*/**"]),
182+
visibility = ["//visibility:public"],
183+
)
184+
""",
185+
digest = SYSROOT_DIGESTS["arm64"]["libc++"],
186+
registry = "ghcr.io",
187+
repository = "malt3/sysroots/libcxx",
188+
type = "tzst",
189+
)
190+
191+
pull_blob_archive(
192+
name = "llvm_sysroot_linux_arm64_libstdcxx",
193+
build_file_content = """
194+
filegroup(
195+
name = "sysroot",
196+
srcs = glob(["*/**"]),
197+
visibility = ["//visibility:public"],
198+
)
199+
""",
200+
digest = SYSROOT_DIGESTS["arm64"]["libstdc++"],
201+
registry = "ghcr.io",
202+
repository = "malt3/sysroots/libstdcxx",
203+
type = "tzst",
204+
)
205+
206+
pull_blob_file = use_repo_rule("@rules_img//img/private/repository_rules:pull_blob.bzl", "pull_blob_file")
207+
208+
pull_blob_file(
209+
name = "base_image_arm64_libcxx",
210+
digest = SYSROOT_DIGESTS["arm64"]["libc++"],
211+
downloaded_file_path = "sysroot.tzst",
212+
registry = "ghcr.io",
213+
repository = "malt3/sysroots/libcxx",
214+
)
215+
216+
pull_blob_file(
217+
name = "base_image_arm64_libstdcxx",
218+
digest = SYSROOT_DIGESTS["arm64"]["libstdc++"],
219+
downloaded_file_path = "sysroot.tzst",
220+
registry = "ghcr.io",
221+
repository = "malt3/sysroots/libstdcxx",
222+
)
223+
224+
pull_blob_file(
225+
name = "base_image_amd64_libcxx",
226+
digest = SYSROOT_DIGESTS["amd64"]["libc++"],
227+
downloaded_file_path = "sysroot.tzst",
228+
registry = "ghcr.io",
229+
repository = "malt3/sysroots/libcxx",
230+
)
231+
232+
pull_blob_file(
233+
name = "base_image_amd64_libstdcxx",
234+
digest = SYSROOT_DIGESTS["amd64"]["libstdc++"],
235+
downloaded_file_path = "sysroot.tzst",
236+
registry = "ghcr.io",
237+
repository = "malt3/sysroots/libstdcxx",
238+
)

0 commit comments

Comments
 (0)