Vendor dependencies

Let's see how I like this workflow.
This commit is contained in:
John Doty 2022-12-19 08:27:18 -08:00
parent 34d1830413
commit 9c435dc440
7500 changed files with 1665121 additions and 99 deletions

View file

@ -0,0 +1,107 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under both the MIT license found in the
# LICENSE-MIT file in the root directory of this source tree and the Apache
# License, Version 2.0 found in the LICENSE-APACHE file in the root directory
# of this source tree.
load(
"@prelude//cxx:cxx_toolchain_types.bzl",
"BinaryUtilitiesInfo",
"CCompilerInfo",
"CxxCompilerInfo",
"CxxPlatformInfo",
"CxxToolchainInfo",
"LinkerInfo",
)
load(
"@prelude//cxx:headers.bzl",
"HeaderMode",
)
load(
"@prelude//linking:link_info.bzl",
"LinkStyle",
)
def _system_cxx_toolchain_impl(ctx):
"""
A very simple toolchain that is hardcoded to the current environment.
"""
archiver_type = "gnu"
linker_type = "gnu"
if host_info().os.is_macos:
linker_type = "darwin"
elif host_info().os.is_windows:
linker_type = "windows"
archiver_type = "windows"
return [
DefaultInfo(),
CxxToolchainInfo(
mk_comp_db = ctx.attrs.make_comp_db,
linker_info = LinkerInfo(
linker = RunInfo(args = ["clang++"]),
linker_flags = [],
archiver = RunInfo(args = ["ar", "rcs"]),
archiver_type = archiver_type,
type = linker_type,
link_binaries_locally = True,
archive_objects_locally = True,
use_archiver_flags = False,
static_dep_runtime_ld_flags = [],
static_pic_dep_runtime_ld_flags = [],
shared_dep_runtime_ld_flags = [],
independent_shlib_interface_linker_flags = [],
shlib_interfaces = "disabled",
link_style = LinkStyle(ctx.attrs.link_style),
link_weight = 1,
binary_extension = "",
object_file_extension = "o",
shared_library_name_format = "lib{}.so",
shared_library_versioned_name_format = "lib{}.so.{}",
static_library_extension = "a",
force_full_hybrid_if_capable = False,
),
bolt_enabled = False,
binary_utilities_info = BinaryUtilitiesInfo(
nm = RunInfo(args = ["nm"]),
# objcopy = ctx.attrs.objcopy_for_shared_library_interface[RunInfo],
# ranlib = ctx.attrs.ranlib[RunInfo],
ranlib = RunInfo(args = ["raninfo"]),
strip = RunInfo(args = ["strip"]),
dwp = None,
bolt_msdk = None,
),
cxx_compiler_info = CxxCompilerInfo(
compiler = RunInfo(args = ["clang++"]),
preprocessor_flags = [],
compiler_flags = [],
compiler_type = "clang", # one of CxxToolProviderType
),
c_compiler_info = CCompilerInfo(
compiler = RunInfo(args = ["clang"]),
preprocessor_flags = [],
compiler_flags = [],
compiler_type = "clang", # one of CxxToolProviderType
),
as_compiler_info = CCompilerInfo(
compiler = RunInfo(args = ["clang"]),
compiler_type = "clang", # one of CxxToolProviderType
),
asm_compiler_info = CCompilerInfo(
compiler = RunInfo(args = ["clang"]),
compiler_type = "clang", # one of CxxToolProviderType
),
header_mode = HeaderMode("symlink_tree_only"),
),
CxxPlatformInfo(name = "x86_64"),
]
# Use clang, since thats available everywhere and what we have tested with.
system_cxx_toolchain = rule(
impl = _system_cxx_toolchain_impl,
attrs = {
"link_style": attrs.string(default = "shared"),
"make_comp_db": attrs.default_only(attrs.dep(providers = [RunInfo], default = "prelude//cxx/tools:make_comp_db")),
},
is_toolchain_rule = True,
)

View file

@ -0,0 +1,396 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under both the MIT license found in the
# LICENSE-MIT file in the root directory of this source tree and the Apache
# License, Version 2.0 found in the LICENSE-APACHE file in the root directory
# of this source tree.
"""Self-contained C/C++ toolchain based on zig cc.
Most C/C++ compiler toolchains will depend on a system wide installation of
libc and other standard libraries. This means that the build outputs may vary
from system to system and that advanced use-cases, like cross-compilation,
require installation of special system packages.
The zig cc compiler is based on clang and comes bundled with the standard
library sources and supports on-the-fly cross-compilation, making it easier to
define a reproducible build setup and cross-compilation use-cases.
Further details on zig cc are available [here][zig-cc-annoncement]. Note, at
the time of writing this is still experimental. If this is a problem for your
use-case then you may wish to rely on a system toolchain or define your own.
The toolchain is not fully hermetic as it still relies on system tools like nm.
[zig-cc-annoncement]: https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
## Examples
To automatically fetch a distribution suitable for the host-platform configure
the toolchain like so:
`toolchains//BUILD`
```bzl
load("@prelude//toolchains/cxx:zig.bzl", "download_zig_distribution", "cxx_zig_toolchain")
download_zig_distribution(
name = "zig",
version = "0.9.1",
)
cxx_zig_toolchain(
name = "cxx",
distribution = ":zig",
visibility = ["PUBLIC"],
)
```
To define toolchains for multiple platforms and configure cross-compilation you
can configure the toolchain like so:
```bzl
load("@prelude//toolchains/cxx:zig.bzl", "download_zig_distribution", "cxx_zig_toolchain")
download_zig_distribution(
name = "zig-x86_64-linux",
version = "0.9.1",
arch = "x86_64",
os = "linux",
)
download_zig_distribution(
name = "zig-x86_64-macos",
version = "0.9.1",
arch = "x86_64",
os = "macos",
)
download_zig_distribution(
name = "zig-x86_64-windows",
version = "0.9.1",
arch = "x86_64",
os = "windows",
)
alias(
name = "zig",
actual = select({
"prelude//os:linux": ":zig-x86_64-linux",
"prelude//os:macos": ":zig-x86_64-macos",
"prelude//os:windows": ":zig-x86_64-windows",
}),
)
cxx_zig_toolchain(
name = "cxx",
distribution = ":zig",
target = select({
"prelude//os:linux": "x86_64-linux-gnu",
"prelude//os:macos": "x86_64-macos-gnu",
"prelude//os:windows": "x86_64-windows-gnu",
}),
visibility = ["PUBLIC"],
)
```
"""
load(
"@prelude//cxx:cxx_toolchain_types.bzl",
"BinaryUtilitiesInfo",
"CCompilerInfo",
"CxxCompilerInfo",
"LinkerInfo",
"StripFlagsInfo",
"cxx_toolchain_infos",
)
load(
"@prelude//cxx:headers.bzl",
"HeaderMode",
)
load(
"@prelude//linking:link_info.bzl",
"LinkStyle",
)
load(
":releases.bzl",
"releases",
)
DEFAULT_MAKE_COMP_DB = "prelude//cxx/tools:make_comp_db"
ZigReleaseInfo = provider(fields = [
"version",
"url",
"sha256",
])
def _get_zig_release(
version: "string",
platform: "string") -> ZigReleaseInfo.type:
if not version in releases:
fail("Unknown zig release version '{}'. Available versions: {}".format(
version,
", ".join(releases.keys()),
))
zig_version = releases[version]
if not platform in zig_version:
fail("Unsupported platfrom '{}'. Supported platforms: {}".format(
platform,
", ".join(zig_version.keys()),
))
zig_platform = zig_version[platform]
return ZigReleaseInfo(
version = zig_version.get("version", version),
url = zig_platform["tarball"],
sha256 = zig_platform["shasum"],
)
ZigDistributionInfo = provider(fields = [
"version",
"arch",
"os",
])
def _zig_distribution_impl(ctx: "context") -> ["provider"]:
dst = ctx.actions.declare_output("zig")
path_tpl = "{}/" + ctx.attrs.prefix + "/zig" + ctx.attrs.suffix
src = cmd_args(ctx.attrs.dist[DefaultInfo].default_outputs[0], format = path_tpl)
ctx.actions.run(["ln", "-srf", src, dst.as_output()], category = "cp_compiler")
compiler = cmd_args([dst])
compiler.hidden(ctx.attrs.dist[DefaultInfo].default_outputs)
return [
ctx.attrs.dist[DefaultInfo],
RunInfo(args = compiler),
ZigDistributionInfo(
version = ctx.attrs.version,
arch = ctx.attrs.arch,
os = ctx.attrs.os,
),
]
zig_distribution = rule(
impl = _zig_distribution_impl,
attrs = {
"arch": attrs.string(),
"dist": attrs.dep(providers = [DefaultInfo]),
"os": attrs.string(),
"prefix": attrs.string(),
"suffix": attrs.string(default = ""),
"version": attrs.string(),
},
)
def _http_archive_impl(ctx: "context") -> ["provider"]:
url = ctx.attrs.urls[0]
if url.endswith(".tar.xz"):
type = "tar.xz"
flags = ["tar", "xJf"]
elif url.endswith(".zip"):
flags = ["unzip"]
type = "zip"
else:
fail("Unknown archive type in URL '{}'".format(url))
# Download archive.
archive = ctx.actions.declare_output("archive." + type)
ctx.actions.download_file(archive.as_output(), url, sha256 = ctx.attrs.sha256, is_deferrable = True)
# Unpack archive to output directory.
output = ctx.actions.declare_output(ctx.label.name)
script, _ = ctx.actions.write(
"unpack.sh",
[
cmd_args(output, format = "mkdir -p {}"),
cmd_args(output, format = "cd {}"),
cmd_args(flags, archive, delimiter = " ").relative_to(output),
],
is_executable = True,
allow_args = True,
)
ctx.actions.run(cmd_args(["/bin/sh", script])
.hidden([archive, output.as_output()]), category = "http_archive")
return [DefaultInfo(default_outputs = [output])]
# TODO Switch to http_archive once that supports zip download.
# See https://github.com/facebookincubator/buck2/issues/21
_http_archive = rule(
impl = _http_archive_impl,
attrs = {
"sha256": attrs.string(default = ""),
"urls": attrs.list(attrs.string(), default = []),
},
)
def _host_arch() -> "string":
arch = host_info().arch
if arch.is_x86_64:
return "x86_64"
elif host_info().arch.is_aarch64:
return "aarch64"
elif host_info().arch.is_arm:
return "armv7a"
elif host_info().arch.is_i386:
return "i386"
elif host_info().arch.is_i386:
return "i386"
else:
fail("Unsupported host architecture.")
def _host_os() -> "string":
os = host_info().os
if os.is_freebsd:
return "freebsd"
elif os.is_linux:
return "linux"
elif os.is_macos:
return "macos"
elif os.is_windows:
return "windows"
else:
fail("Unsupported host os.")
def download_zig_distribution(
name: "string",
version: "string",
arch: [None, "string"] = None,
os: [None, "string"] = None):
if arch == None:
arch = _host_arch()
if os == None:
os = _host_os()
archive_name = name + "-archive"
release = _get_zig_release(version, "{}-{}".format(arch, os))
_http_archive(
name = archive_name,
urls = [release.url],
sha256 = release.sha256,
)
zig_distribution(
name = name,
dist = ":" + archive_name,
prefix = "zig-{}-{}-{}/".format(os, arch, release.version),
suffix = ".exe" if os == "windows" else "",
version = release.version,
arch = arch,
os = os,
)
def _get_linker_type(os: "string") -> "string":
if os == "linux":
return "gnu"
elif os == "macos" or os == "freebsd":
return "darwin"
elif os == "windows":
return "windows"
else:
fail("Cannot determine linker type: Unknown OS '{}'".format(os))
def _cxx_zig_toolchain_impl(ctx: "context") -> ["provider"]:
dist = ctx.attrs.distribution[ZigDistributionInfo]
zig = ctx.attrs.distribution[RunInfo]
target = ["-target", ctx.attrs.target] if ctx.attrs.target else []
return [ctx.attrs.distribution[DefaultInfo]] + cxx_toolchain_infos(
platform_name = dist.arch,
c_compiler_info = CCompilerInfo(
compiler = RunInfo(args = cmd_args([zig, "cc"])),
compiler_type = "clang",
compiler_flags = cmd_args(target + ctx.attrs.c_compiler_flags),
#preprocessor = None,
#preprocessor_type = None,
preprocessor_flags = cmd_args(ctx.attrs.c_preprocessor_flags),
#dep_files_processor = None,
),
cxx_compiler_info = CxxCompilerInfo(
compiler = RunInfo(args = cmd_args([zig, "c++"])),
compiler_type = "clang",
compiler_flags = cmd_args(target + ctx.attrs.cxx_compiler_flags),
#preprocessor = None,
#preprocessor_type = None,
preprocessor_flags = cmd_args(ctx.attrs.cxx_preprocessor_flags),
#dep_files_processor = None,
),
linker_info = LinkerInfo(
archiver = RunInfo(args = cmd_args([zig, "ar"])),
archiver_type = "gnu",
archiver_supports_argfiles = True,
#archive_contents = None,
archive_objects_locally = False,
binary_extension = "",
link_binaries_locally = False,
link_libraries_locally = False,
link_style = LinkStyle(ctx.attrs.link_style),
link_weight = 1,
#link_ordering = None,
linker = RunInfo(args = cmd_args([zig, "c++"])),
linker_flags = cmd_args(target + ctx.attrs.linker_flags),
#lto_mode = None, # TODO support LTO
object_file_extension = "o",
#mk_shlib_intf = None, # not needed if shlib_interfaces = "disabled"
shlib_interfaces = "disabled",
shared_dep_runtime_ld_flags = ctx.attrs.shared_dep_runtime_ld_flags,
shared_library_name_format = "lib{}.so",
shared_library_versioned_name_format = "lib{}.so.{}",
static_dep_runtime_ld_flags = ctx.attrs.static_dep_runtime_ld_flags,
static_library_extension = "a",
static_pic_dep_runtime_ld_flags = ctx.attrs.static_pic_dep_runtime_ld_flags,
#requires_archives = None,
#requires_objects = None,
#supports_distributed_thinlto = None,
independent_shlib_interface_linker_flags = ctx.attrs.shared_library_interface_flags,
type = _get_linker_type(dist.os),
use_archiver_flags = True,
),
binary_utilities_info = BinaryUtilitiesInfo(
bolt_msdk = None,
dwp = None,
nm = RunInfo(args = ["nm"]), # not included in the zig distribution.
objcopy = RunInfo(args = ["objcopy"]), # not included in the zig distribution.
ranlib = RunInfo(args = cmd_args([zig, "ranlib"])),
strip = RunInfo(args = ["strip"]), # not included in the zig distribution.
),
header_mode = HeaderMode("symlink_tree_only"), # header map modes require mk_hmap
#headers_as_raw_headers_mode = None,
#conflicting_header_basename_allowlist = [],
#asm_compiler_info = None,
#as_compiler_info = None,
#hip_compiler_info = None,
#cuda_compiler_info = None,
mk_comp_db = ctx.attrs.make_comp_db,
#mk_hmap = None,
#use_distributed_thinlto = False,
#use_dep_files = False, # requires dep_files_processor
strip_flags_info = StripFlagsInfo(
strip_debug_flags = ctx.attrs.strip_debug_flags,
strip_non_global_flags = ctx.attrs.strip_non_global_flags,
strip_all_flags = ctx.attrs.strip_all_flags,
),
#dist_lto_tools_info: [DistLtoToolsInfo.type, None] = None,
#split_debug_mode = SplitDebugMode("none"),
#bolt_enabled = False,
)
cxx_zig_toolchain = rule(
impl = _cxx_zig_toolchain_impl,
attrs = {
"c_compiler_flags": attrs.list(attrs.arg(), default = []),
"c_preprocessor_flags": attrs.list(attrs.arg(), default = []),
"cxx_compiler_flags": attrs.list(attrs.arg(), default = []),
"cxx_preprocessor_flags": attrs.list(attrs.arg(), default = []),
"distribution": attrs.exec_dep(providers = [RunInfo, ZigDistributionInfo]),
"link_style": attrs.enum(LinkStyle.values(), default = "static"),
"linker_flags": attrs.list(attrs.arg(), default = []),
"make_comp_db": attrs.dep(providers = [RunInfo], default = DEFAULT_MAKE_COMP_DB),
"shared_dep_runtime_ld_flags": attrs.list(attrs.arg(), default = []),
"shared_library_interface_flags": attrs.list(attrs.string(), default = []),
"static_dep_runtime_ld_flags": attrs.list(attrs.arg(), default = []),
"static_pic_dep_runtime_ld_flags": attrs.list(attrs.arg(), default = []),
"strip_all_flags": attrs.option(attrs.list(attrs.arg()), default = None),
"strip_debug_flags": attrs.option(attrs.list(attrs.arg()), default = None),
"strip_non_global_flags": attrs.option(attrs.list(attrs.arg()), default = None),
"target": attrs.option(attrs.string(), default = None),
},
is_toolchain_rule = True,
)

View file

@ -0,0 +1,639 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under both the MIT license found in the
# LICENSE-MIT file in the root directory of this source tree and the Apache
# License, Version 2.0 found in the LICENSE-APACHE file in the root directory
# of this source tree.
# Update with
# python3 -c 'import json, requests; print(json.dumps(requests.get("https://ziglang.org/download/index.json").json(), indent=4))'
releases = {
"0.1.1": {
"date": "2017-10-17",
"docs": "https://ziglang.org/documentation/0.1.1/",
"notes": "https://ziglang.org/download/0.1.1/release-notes.html",
"src": {
"shasum": "ffca0cfb263485287e19cc997b08701fcd5f24b700345bcdc3dd8074f5a104e0",
"size": "1659716",
"tarball": "https://ziglang.org/download/0.1.1/zig-0.1.1.tar.xz",
},
"x86_64-windows": {
"shasum": "6fc88bef531af7e567fe30bf60da1487b86833cbee84c7a2f3e317030aa5b660",
"size": "19757776",
"tarball": "https://ziglang.org/download/0.1.1/zig-win64-0.1.1.zip",
},
},
"0.2.0": {
"date": "2018-03-15",
"docs": "https://ziglang.org/documentation/0.2.0/",
"notes": "https://ziglang.org/download/0.2.0/release-notes.html",
"src": {
"shasum": "29c9beb172737f4d5019b88ceae829ae8bc6512fb4386cfbf895ae2b42aa6965",
"size": "1940832",
"tarball": "https://ziglang.org/download/0.2.0/zig-0.2.0.tar.xz",
},
"x86_64-linux": {
"shasum": "209c6fb745d42474c0a73d6f291c7ae3a38b6a1b6b641eea285a7f840cc1a890",
"size": "22551928",
"tarball": "https://ziglang.org/download/0.2.0/zig-linux-x86_64-0.2.0.tar.xz",
},
"x86_64-windows": {
"shasum": "4f8a2979941a1f081ec8e545cca0b72608c0db1c5a3fd377a94db40649dcd3d4",
"size": "21076274",
"tarball": "https://ziglang.org/download/0.2.0/zig-win64-0.2.0.zip",
},
},
"0.3.0": {
"date": "2018-09-28",
"docs": "https://ziglang.org/documentation/0.3.0/",
"notes": "https://ziglang.org/download/0.3.0/release-notes.html",
"src": {
"shasum": "d70af604f3a8622f3393d93abb3e056bf60351e32d121e6fa4fe03d8d41e1f5a",
"size": "2335592",
"tarball": "https://ziglang.org/download/0.3.0/zig-0.3.0.tar.xz",
},
"x86_64-linux": {
"shasum": "b378d0aae30cb54f28494e7bc4efbc9bfb6326f47bfb302e8b5287af777b2f3c",
"size": "25209304",
"tarball": "https://ziglang.org/download/0.3.0/zig-linux-x86_64-0.3.0.tar.xz",
},
"x86_64-macos": {
"shasum": "19dec1f1943ab7be26823376d466f7e456143deb34e17502778a949034dc2e7e",
"size": "23712696",
"tarball": "https://ziglang.org/download/0.3.0/zig-macos-x86_64-0.3.0.tar.xz",
},
"x86_64-windows": {
"shasum": "bb568c03950958f8bb3472139c3ab5ed74547c8c694ab50f404c202faf51baf4",
"size": "22524425",
"tarball": "https://ziglang.org/download/0.3.0/zig-windows-x86_64-0.3.0.zip",
},
},
"0.4.0": {
"date": "2019-04-08",
"docs": "https://ziglang.org/documentation/0.4.0/",
"notes": "https://ziglang.org/download/0.4.0/release-notes.html",
"src": {
"shasum": "fec1f3f6b359a3d942e0a7f9157b3b30cde83927627a0e1ea95c54de3c526cfc",
"size": "5348776",
"tarball": "https://ziglang.org/download/0.4.0/zig-0.4.0.tar.xz",
},
"x86_64-freebsd": {
"shasum": "3d557c91ac36d8262eb1733bb5f261c95944f9b635e43386e3d00a3272818c30",
"size": "27269672",
"tarball": "https://ziglang.org/download/0.4.0/zig-freebsd-x86_64-0.4.0.tar.xz",
},
"x86_64-linux": {
"shasum": "fb1954e2fb556a01f8079a08130e88f70084e08978ff853bb2b1986d8c39d84e",
"size": "32876100",
"tarball": "https://ziglang.org/download/0.4.0/zig-linux-x86_64-0.4.0.tar.xz",
},
"x86_64-macos": {
"shasum": "67c932982484d017c5111e54af9f33f15e8e05c6bc5346a55e04052159c964a8",
"size": "30841504",
"tarball": "https://ziglang.org/download/0.4.0/zig-macos-x86_64-0.4.0.tar.xz",
},
"x86_64-windows": {
"shasum": "fbc3dd205e064c263063f69f600bedb18e3d0aa2efa747a63ef6cafb6d73f127",
"size": "35800101",
"tarball": "https://ziglang.org/download/0.4.0/zig-windows-x86_64-0.4.0.zip",
},
},
"0.5.0": {
"date": "2019-09-30",
"docs": "https://ziglang.org/documentation/0.5.0/",
"notes": "https://ziglang.org/download/0.5.0/release-notes.html",
"src": {
"shasum": "55ae16960f152bcb9cf98b4f8570902d0e559a141abf927f0d3555b7cc838a31",
"size": "10956132",
"tarball": "https://ziglang.org/download/0.5.0/zig-0.5.0.tar.xz",
},
"x86_64-freebsd": {
"shasum": "9e1f4d36c3d584c0aa01f20eb4cd0a0eef3eee5af23e483b8414de55feab6ab6",
"size": "33650744",
"tarball": "https://ziglang.org/download/0.5.0/zig-freebsd-x86_64-0.5.0.tar.xz",
},
"x86_64-linux": {
"shasum": "43e8f8a8b8556edd373ddf9c1ef3ca6cf852d4d09fe07d5736d12fefedd2b4f7",
"size": "40895068",
"tarball": "https://ziglang.org/download/0.5.0/zig-linux-x86_64-0.5.0.tar.xz",
},
"x86_64-macos": {
"shasum": "28702cc05745c7c0bd450487d5f4091bf0a1ad279b35eb9a640ce3e3a15b300d",
"size": "37898664",
"tarball": "https://ziglang.org/download/0.5.0/zig-macos-x86_64-0.5.0.tar.xz",
},
"x86_64-windows": {
"shasum": "58141323db8d84a5af62746be5f9140bc161ee760ef33dc91a887bf9ac021976",
"size": "44871804",
"tarball": "https://ziglang.org/download/0.5.0/zig-windows-x86_64-0.5.0.zip",
},
},
"0.6.0": {
"aarch64-linux": {
"shasum": "e7520efd42cfa02be48c2e430d08fe1f3cbb999d21d9f0d3ffd0febb976b2f41",
"size": "37090044",
"tarball": "https://ziglang.org/download/0.6.0/zig-linux-aarch64-0.6.0.tar.xz",
},
"armv6kz-linux": {
"shasum": "36b6493b3fed43eb1f0000e765798ad31a6bb7d7fd3f553ac1c3761dbc919b82",
"size": "39133452",
"tarball": "https://ziglang.org/download/0.6.0/zig-linux-armv6kz-0.6.0.tar.xz",
},
"armv7a-linux": {
"shasum": "946969abe357def95ca9cbbfcebfcf2d90cf967bcd3f48ee87662e32d91d8f35",
"size": "39143748",
"tarball": "https://ziglang.org/download/0.6.0/zig-linux-armv7a-0.6.0.tar.xz",
},
"bootstrap": {
"shasum": "5e0e4dc878b3dd0c1852a442b174f0732e8c07869a8fcd226b71a93b89b381ab",
"size": "38469948",
"tarball": "https://ziglang.org/download/0.6.0/zig-bootstrap-0.6.0.tar.xz",
},
"date": "2020-04-13",
"docs": "https://ziglang.org/documentation/0.6.0/",
"i386-linux": {
"shasum": "a97a2f9ae21575743cdd763c1917d49400d83fc562ef64582b18bade43eb24ce",
"size": "44877640",
"tarball": "https://ziglang.org/download/0.6.0/zig-linux-i386-0.6.0.tar.xz",
},
"i386-windows": {
"shasum": "3b0a02618743e92175990dc6d1a787bb95ff62c4cda016f1c14c7786f575f8ca",
"size": "60446431",
"tarball": "https://ziglang.org/download/0.6.0/zig-windows-i386-0.6.0.zip",
},
"notes": "https://ziglang.org/download/0.6.0/release-notes.html",
"riscv64-linux": {
"shasum": "68ddee43f7503c8ae5f26a921f3602c34719a02ed2241f528c0b8b888cc14b38",
"size": "41993144",
"tarball": "https://ziglang.org/download/0.6.0/zig-linux-riscv64-0.6.0.tar.xz",
},
"src": {
"shasum": "5d167dc19354282dd35dd17b38e99e1763713b9be8a4ba9e9e69284e059e7204",
"size": "10349552",
"tarball": "https://ziglang.org/download/0.6.0/zig-0.6.0.tar.xz",
},
"stdDocs": "https://ziglang.org/documentation/0.6.0/std/",
"x86_64-freebsd": {
"shasum": "190ff79c1eb56805a315d7c7a51082e32f62926250c0702b36760c225e1634a3",
"size": "36974604",
"tarball": "https://ziglang.org/download/0.6.0/zig-freebsd-x86_64-0.6.0.tar.xz",
},
"x86_64-linux": {
"shasum": "08fd3c757963630645441c2772362e9c2294020c44f14fce1b89f45de0dc1253",
"size": "44766320",
"tarball": "https://ziglang.org/download/0.6.0/zig-linux-x86_64-0.6.0.tar.xz",
},
"x86_64-macos": {
"shasum": "17270360e87ddc49f737e760047b2fac49f1570a824a306119b1194ac4093895",
"size": "42573184",
"tarball": "https://ziglang.org/download/0.6.0/zig-macos-x86_64-0.6.0.tar.xz",
},
"x86_64-windows": {
"shasum": "c3b897832523e1026e10b2d8d55d7f895185c0a27a63681f3a23219c3f1c38f4",
"size": "49065511",
"tarball": "https://ziglang.org/download/0.6.0/zig-windows-x86_64-0.6.0.zip",
},
},
"0.7.0": {
"aarch64-linux": {
"shasum": "f89933bac87d44be82325754ff88423020c81c7032a6fc41cfeb81e982eeab9b",
"size": "33096140",
"tarball": "https://ziglang.org/download/0.7.0/zig-linux-aarch64-0.7.0.tar.xz",
},
"aarch64-macos": {
"shasum": "338238035734db74ea4f30e500a4893bf741d38305c10952d5e39fa05bdb057d",
"size": "33739424",
"tarball": "https://ziglang.org/download/0.7.0/zig-macos-aarch64-0.7.0.tar.xz",
},
"armv7a-linux": {
"shasum": "011c267e25a96ee160505a560c441daa045359a9d50e13ab1bada9d75c95db2d",
"size": "35157584",
"tarball": "https://ziglang.org/download/0.7.0/zig-linux-armv7a-0.7.0.tar.xz",
},
"bootstrap": {
"shasum": "f073beaf5c53c8c57c0d374cbfcb332ef92ad703173edba0d9e0f2ed28401b72",
"size": "40200436",
"tarball": "https://ziglang.org/download/0.7.0/zig-bootstrap-0.7.0.tar.xz",
},
"date": "2020-11-08",
"docs": "https://ziglang.org/documentation/0.7.0/",
"i386-linux": {
"shasum": "4bb2072cd363bcb1cbeb4872ff5cbc1f683b02d0cc1f90c46e3ea7422ce53222",
"size": "38530596",
"tarball": "https://ziglang.org/download/0.7.0/zig-linux-i386-0.7.0.tar.xz",
},
"i386-windows": {
"shasum": "b1e520aacbfbd645ff3521b3eb4d44166d9a0288b8725e4b001f8b50a425eb2e",
"size": "53390517",
"tarball": "https://ziglang.org/download/0.7.0/zig-windows-i386-0.7.0.zip",
},
"notes": "https://ziglang.org/download/0.7.0/release-notes.html",
"riscv64-linux": {
"shasum": "40dff81faa6f232ac40abbf88b9371f3cc932b6e09c423b94387c9ea580cb7be",
"size": "36759992",
"tarball": "https://ziglang.org/download/0.7.0/zig-linux-riscv64-0.7.0.tar.xz",
},
"src": {
"shasum": "0efd2cf6c3b05723db80e9cf193bc55150bba84ca41f855a90f53fc756445f83",
"size": "10683920",
"tarball": "https://ziglang.org/download/0.7.0/zig-0.7.0.tar.xz",
},
"stdDocs": "https://ziglang.org/documentation/0.7.0/std/",
"x86_64-freebsd": {
"shasum": "a0c926272ee4ae720034b4a6a1dc98399d76156dd84182554740f0ca8a41fc99",
"size": "34798992",
"tarball": "https://ziglang.org/download/0.7.0/zig-freebsd-x86_64-0.7.0.tar.xz",
},
"x86_64-linux": {
"shasum": "e619b1c6094c095b932767f527aee2507f847ea981513ff8a08aab0fd730e0ac",
"size": "37154432",
"tarball": "https://ziglang.org/download/0.7.0/zig-linux-x86_64-0.7.0.tar.xz",
},
"x86_64-macos": {
"shasum": "94063f9a311cbbf7a2e0a12295e09437182cf950f18cb0eb30ea9893f3677f24",
"size": "35258328",
"tarball": "https://ziglang.org/download/0.7.0/zig-macos-x86_64-0.7.0.tar.xz",
},
"x86_64-windows": {
"shasum": "965f56c0a36f9cda2125e3a348bc654f7f155e2804c3667d231775ec228f8553",
"size": "53943784",
"tarball": "https://ziglang.org/download/0.7.0/zig-windows-x86_64-0.7.0.zip",
},
},
"0.7.1": {
"aarch64-linux": {
"shasum": "48ec90eba407e4587ddef7eecef25fec7e13587eb98e3b83c5f2f5fff2a5cbe7",
"size": "33780552",
"tarball": "https://ziglang.org/download/0.7.1/zig-linux-aarch64-0.7.1.tar.xz",
},
"armv7a-linux": {
"shasum": "5a0662e07b4c4968665e1f97558f8591f6facec45d2e0ff5715e661743107ceb",
"size": "35813504",
"tarball": "https://ziglang.org/download/0.7.1/zig-linux-armv7a-0.7.1.tar.xz",
},
"bootstrap": {
"shasum": "040f27c1fae4b0cac0a2782aecdb691f6a2f8e89db6a6ed35024c31c304fd9b2",
"size": "40232612",
"tarball": "https://ziglang.org/download/0.7.1/zig-bootstrap-0.7.1.tar.xz",
},
"date": "2020-12-13",
"docs": "https://ziglang.org/documentation/0.7.1/",
"i386-linux": {
"shasum": "4882e052e5f83690bd0334bb4fc1702b5403cb3a3d2aa63fd7d6043d8afecba3",
"size": "39230912",
"tarball": "https://ziglang.org/download/0.7.1/zig-linux-i386-0.7.1.tar.xz",
},
"i386-windows": {
"shasum": "a1b9a7421e13153e07fd2e2c93ff29aad64d83105b8fcdafa633dbe689caf1c0",
"size": "54374983",
"tarball": "https://ziglang.org/download/0.7.1/zig-windows-i386-0.7.1.zip",
},
"notes": "https://ziglang.org/download/0.7.1/release-notes.html",
"riscv64-linux": {
"shasum": "187294bfd35983348c3fe042901b42e67e7e36ab7f77a5f969d21c0051f4d21f",
"size": "37454812",
"tarball": "https://ziglang.org/download/0.7.1/zig-linux-riscv64-0.7.1.tar.xz",
},
"src": {
"shasum": "2db3b944ab368d955b48743d9f7c963b8f96de1a441ba5a35e197237cc6dae44",
"size": "10711824",
"tarball": "https://ziglang.org/download/0.7.1/zig-0.7.1.tar.xz",
},
"stdDocs": "https://ziglang.org/documentation/0.7.1/std/",
"x86_64-freebsd": {
"shasum": "e73c1dca35791a3183fdd5ecde0443ebbe180942efceafe651886034fb8def09",
"size": "39066808",
"tarball": "https://ziglang.org/download/0.7.1/zig-freebsd-x86_64-0.7.1.tar.xz",
},
"x86_64-linux": {
"shasum": "18c7b9b200600f8bcde1cd8d7f1f578cbc3676241ce36d771937ce19a8159b8d",
"size": "37848176",
"tarball": "https://ziglang.org/download/0.7.1/zig-linux-x86_64-0.7.1.tar.xz",
},
"x86_64-macos": {
"shasum": "845cb17562978af0cf67e3993f4e33330525eaf01ead9386df9105111e3bc519",
"size": "36211076",
"tarball": "https://ziglang.org/download/0.7.1/zig-macos-x86_64-0.7.1.tar.xz",
},
"x86_64-windows": {
"shasum": "4818a8a65b4672bc52c0ae7f14d014e0eb8caf10f12c0745176820384cea296a",
"size": "54909997",
"tarball": "https://ziglang.org/download/0.7.1/zig-windows-x86_64-0.7.1.zip",
},
},
"0.8.0": {
"aarch64-linux": {
"shasum": "ee204ca2c2037952cf3f8b10c609373a08a291efa4af7b3c73be0f2b27720470",
"size": "37575428",
"tarball": "https://ziglang.org/download/0.8.0/zig-linux-aarch64-0.8.0.tar.xz",
},
"aarch64-macos": {
"shasum": "b32d13f66d0e1ff740b3326d66a469ee6baddbd7211fa111c066d3bd57683111",
"size": "35292180",
"tarball": "https://ziglang.org/download/0.8.0/zig-macos-aarch64-0.8.0.tar.xz",
},
"armv7a-linux": {
"shasum": "d00b8bd97b79f45d6f5da956983bafeaa082e6c2ae8c6e1c6d4faa22fa29b320",
"size": "38884212",
"tarball": "https://ziglang.org/download/0.8.0/zig-linux-armv7a-0.8.0.tar.xz",
},
"bootstrap": {
"shasum": "10600bc9c01f92e343f40d6ecc0ad05d67d27c3e382bce75524c0639cd8ca178",
"size": "43574248",
"tarball": "https://ziglang.org/download/0.8.0/zig-bootstrap-0.8.0.tar.xz",
},
"date": "2021-06-04",
"docs": "https://ziglang.org/documentation/0.8.0/",
"i386-linux": {
"shasum": "96e43ee6ed81c3c63401f456bd1c58ee6d42373a43cb324f5cf4974ca0998865",
"size": "42136032",
"tarball": "https://ziglang.org/download/0.8.0/zig-linux-i386-0.8.0.tar.xz",
},
"i386-windows": {
"shasum": "b6ec9aa6cd6f3872fcb30d43ff411802d82008a0c4142ee49e208a09b2c1c5fe",
"size": "61507213",
"tarball": "https://ziglang.org/download/0.8.0/zig-windows-i386-0.8.0.zip",
},
"notes": "https://ziglang.org/download/0.8.0/release-notes.html",
"riscv64-linux": {
"shasum": "75997527a78cdab64c40c43d9df39c01c4cdb557bb3992a869838371a204cfea",
"size": "40016268",
"tarball": "https://ziglang.org/download/0.8.0/zig-linux-riscv64-0.8.0.tar.xz",
},
"src": {
"shasum": "03a828d00c06b2e3bb8b7ff706997fd76bf32503b08d759756155b6e8c981e77",
"size": "12614896",
"tarball": "https://ziglang.org/download/0.8.0/zig-0.8.0.tar.xz",
},
"stdDocs": "https://ziglang.org/documentation/0.8.0/std/",
"x86_64-freebsd": {
"shasum": "0d3ccc436c8c0f50fd55462f72f8492d98723c7218ffc2a8a1831967d81b4bdc",
"size": "39125332",
"tarball": "https://ziglang.org/download/0.8.0/zig-freebsd-x86_64-0.8.0.tar.xz",
},
"x86_64-linux": {
"shasum": "502625d3da3ae595c5f44a809a87714320b7a40e6dff4a895b5fa7df3391d01e",
"size": "41211184",
"tarball": "https://ziglang.org/download/0.8.0/zig-linux-x86_64-0.8.0.tar.xz",
},
"x86_64-macos": {
"shasum": "279f9360b5cb23103f0395dc4d3d0d30626e699b1b4be55e98fd985b62bc6fbe",
"size": "39969312",
"tarball": "https://ziglang.org/download/0.8.0/zig-macos-x86_64-0.8.0.tar.xz",
},
"x86_64-windows": {
"shasum": "8580fbbf3afb72e9b495c7f8aeac752a03475ae0bbcf5d787f3775c7e1f4f807",
"size": "61766193",
"tarball": "https://ziglang.org/download/0.8.0/zig-windows-x86_64-0.8.0.zip",
},
},
"0.8.1": {
"aarch64-linux": {
"shasum": "2166dc9f2d8df387e8b4122883bb979d739281e1ff3f3d5483fec3a23b957510",
"size": "37605932",
"tarball": "https://ziglang.org/download/0.8.1/zig-linux-aarch64-0.8.1.tar.xz",
},
"aarch64-macos": {
"shasum": "5351297e3b8408213514b29c0a938002c5cf9f97eee28c2f32920e1227fd8423",
"size": "35340712",
"tarball": "https://ziglang.org/download/0.8.1/zig-macos-aarch64-0.8.1.tar.xz",
},
"armv7a-linux": {
"shasum": "5ba58141805e2519f38cf8e715933cbf059f4f3dade92c71838cce341045de05",
"size": "39185876",
"tarball": "https://ziglang.org/download/0.8.1/zig-linux-armv7a-0.8.1.tar.xz",
},
"bootstrap": {
"shasum": "fa1239247f830ecd51c42537043f5220e4d1dfefdc54356fa419616a0efb3902",
"size": "43613464",
"tarball": "https://ziglang.org/download/0.8.1/zig-bootstrap-0.8.1.tar.xz",
},
"date": "2021-09-06",
"docs": "https://ziglang.org/documentation/0.8.1/",
"i386-linux": {
"shasum": "2f3e84f30492b5f1c5f97cecc0166f07a8a8d50c5f85dbb3a6ef2a4ee6f915e6",
"size": "44782932",
"tarball": "https://ziglang.org/download/0.8.1/zig-linux-i386-0.8.1.tar.xz",
},
"i386-windows": {
"shasum": "099605051eb0452a947c8eab8fbbc7e43833c8376d267e94e41131c289a1c535",
"size": "64152358",
"tarball": "https://ziglang.org/download/0.8.1/zig-windows-i386-0.8.1.zip",
},
"notes": "https://ziglang.org/download/0.8.1/release-notes.html",
"riscv64-linux": {
"shasum": "4adfaf147b025917c03367462fe5018aaa9edbc6439ef9cd0da2b074ae960554",
"size": "41234480",
"tarball": "https://ziglang.org/download/0.8.1/zig-linux-riscv64-0.8.1.tar.xz",
},
"src": {
"shasum": "8c428e14a0a89cb7a15a6768424a37442292858cdb695e2eb503fa3c7bf47f1a",
"size": "12650228",
"tarball": "https://ziglang.org/download/0.8.1/zig-0.8.1.tar.xz",
},
"stdDocs": "https://ziglang.org/documentation/0.8.1/std/",
"x86_64-freebsd": {
"shasum": "fc4f6478bcf3a9fce1b8ef677a91694f476dd35be6d6c9c4f44a8b76eedbe176",
"size": "39150924",
"tarball": "https://ziglang.org/download/0.8.1/zig-freebsd-x86_64-0.8.1.tar.xz",
},
"x86_64-linux": {
"shasum": "6c032fc61b5d77a3f3cf781730fa549f8f059ffdb3b3f6ad1c2994d2b2d87983",
"size": "41250060",
"tarball": "https://ziglang.org/download/0.8.1/zig-linux-x86_64-0.8.1.tar.xz",
},
"x86_64-macos": {
"shasum": "16b0e1defe4c1807f2e128f72863124bffdd906cefb21043c34b673bf85cd57f",
"size": "39946200",
"tarball": "https://ziglang.org/download/0.8.1/zig-macos-x86_64-0.8.1.tar.xz",
},
"x86_64-windows": {
"shasum": "43573db14cd238f7111d6bdf37492d363f11ecd1eba802567a172f277d003926",
"size": "61897838",
"tarball": "https://ziglang.org/download/0.8.1/zig-windows-x86_64-0.8.1.zip",
},
},
"0.9.0": {
"aarch64-linux": {
"shasum": "1524fedfdbade2dbc9bae1ed98ad38fa7f2114c9a3e94da0d652573c75efbc5a",
"size": "40008396",
"tarball": "https://ziglang.org/download/0.9.0/zig-linux-aarch64-0.9.0.tar.xz",
},
"aarch64-macos": {
"shasum": "3991c70594d61d09fb4b316157a7c1d87b1d4ec159e7a5ecd11169ff74cad832",
"size": "39013392",
"tarball": "https://ziglang.org/download/0.9.0/zig-macos-aarch64-0.9.0.tar.xz",
},
"aarch64-windows": {
"shasum": "f9018725e3fb2e8992b17c67034726971156eb190685018a9ac8c3a9f7a22340",
"size": "61461921",
"tarball": "https://ziglang.org/download/0.9.0/zig-windows-aarch64-0.9.0.zip",
},
"armv7a-linux": {
"shasum": "50225dee6e6448a63ee96383a34d9fe3bba34ae8da1a0c8619bde2cdfc1df87d",
"size": "41196876",
"tarball": "https://ziglang.org/download/0.9.0/zig-linux-armv7a-0.9.0.tar.xz",
},
"bootstrap": {
"shasum": "16b0bdf0bc0a5ed1e0950e08481413d806192e06443a512347526647b2baeabc",
"size": "42557736",
"tarball": "https://ziglang.org/download/0.9.0/zig-bootstrap-0.9.0.tar.xz",
},
"date": "2021-12-20",
"docs": "https://ziglang.org/documentation/0.9.0/",
"i386-linux": {
"shasum": "b0dcf688349268c883292acdd55eaa3c13d73b9146e4b990fad95b84a2ac528b",
"size": "47408656",
"tarball": "https://ziglang.org/download/0.9.0/zig-linux-i386-0.9.0.tar.xz",
},
"i386-windows": {
"shasum": "bb839434afc75092015cf4c33319d31463c18512bc01dd719aedf5dcbc368466",
"size": "67946715",
"tarball": "https://ziglang.org/download/0.9.0/zig-windows-i386-0.9.0.zip",
},
"notes": "https://ziglang.org/download/0.9.0/release-notes.html",
"riscv64-linux": {
"shasum": "85466de07504767ed37f59782672ad41bbdf43d6480fafd07f45543278b07620",
"size": "44171420",
"tarball": "https://ziglang.org/download/0.9.0/zig-linux-riscv64-0.9.0.tar.xz",
},
"src": {
"shasum": "cd1be83b12f8269cc5965e59877b49fdd8fa638efb6995ac61eb4cea36a2e381",
"size": "13928772",
"tarball": "https://ziglang.org/download/0.9.0/zig-0.9.0.tar.xz",
},
"stdDocs": "https://ziglang.org/documentation/0.9.0/std/",
"x86_64-freebsd": {
"shasum": "c95afe679b7cc4110dc2ecd3606c83a699718b7a958d6627f74c20886333e194",
"size": "41293236",
"tarball": "https://ziglang.org/download/0.9.0/zig-freebsd-x86_64-0.9.0.tar.xz",
},
"x86_64-linux": {
"shasum": "5c55344a877d557fb1b28939785474eb7f4f2f327aab55293998f501f7869fa6",
"size": "43420796",
"tarball": "https://ziglang.org/download/0.9.0/zig-linux-x86_64-0.9.0.tar.xz",
},
"x86_64-macos": {
"shasum": "c5280eeec4d6e5ea5ce5b448dc9a7c4bdd85ecfed4c1b96aa0835e48b36eccf0",
"size": "43764596",
"tarball": "https://ziglang.org/download/0.9.0/zig-macos-x86_64-0.9.0.tar.xz",
},
"x86_64-windows": {
"shasum": "084ea2646850aaf068234b0f1a92b914ed629be47075e835f8a67d55c21d880e",
"size": "65045849",
"tarball": "https://ziglang.org/download/0.9.0/zig-windows-x86_64-0.9.0.zip",
},
},
"0.9.1": {
"aarch64-linux": {
"shasum": "5d99a39cded1870a3fa95d4de4ce68ac2610cca440336cfd252ffdddc2b90e66",
"size": "37034860",
"tarball": "https://ziglang.org/download/0.9.1/zig-linux-aarch64-0.9.1.tar.xz",
},
"aarch64-macos": {
"shasum": "8c473082b4f0f819f1da05de2dbd0c1e891dff7d85d2c12b6ee876887d438287",
"size": "38995640",
"tarball": "https://ziglang.org/download/0.9.1/zig-macos-aarch64-0.9.1.tar.xz",
},
"aarch64-windows": {
"shasum": "621bf95f54dc3ff71466c5faae67479419951d7489e40e87fd26d195825fb842",
"size": "61478151",
"tarball": "https://ziglang.org/download/0.9.1/zig-windows-aarch64-0.9.1.zip",
},
"armv7a-linux": {
"shasum": "6de64456cb4757a555816611ea697f86fba7681d8da3e1863fa726a417de49be",
"size": "37974652",
"tarball": "https://ziglang.org/download/0.9.1/zig-linux-armv7a-0.9.1.tar.xz",
},
"bootstrap": {
"shasum": "0a8e221c71860d8975c15662b3ed3bd863e81c4fe383455a596e5e0e490d6109",
"size": "42488812",
"tarball": "https://ziglang.org/download/0.9.1/zig-bootstrap-0.9.1.tar.xz",
},
"date": "2022-02-14",
"docs": "https://ziglang.org/documentation/0.9.1/",
"i386-linux": {
"shasum": "e776844fecd2e62fc40d94718891057a1dbca1816ff6013369e9a38c874374ca",
"size": "44969172",
"tarball": "https://ziglang.org/download/0.9.1/zig-linux-i386-0.9.1.tar.xz",
},
"i386-windows": {
"shasum": "74a640ed459914b96bcc572183a8db687bed0af08c30d2ea2f8eba03ae930f69",
"size": "67929868",
"tarball": "https://ziglang.org/download/0.9.1/zig-windows-i386-0.9.1.zip",
},
"notes": "https://ziglang.org/download/0.9.1/release-notes.html",
"riscv64-linux": {
"shasum": "208dea53662c2c52777bd9e3076115d2126a4f71aed7f2ff3b8fe224dc3881aa",
"size": "39390868",
"tarball": "https://ziglang.org/download/0.9.1/zig-linux-riscv64-0.9.1.tar.xz",
},
"src": {
"shasum": "38cf4e84481f5facc766ba72783e7462e08d6d29a5d47e3b75c8ee3142485210",
"size": "13940828",
"tarball": "https://ziglang.org/download/0.9.1/zig-0.9.1.tar.xz",
},
"stdDocs": "https://ziglang.org/documentation/0.9.1/std/",
"x86_64-freebsd": {
"shasum": "4e06009bd3ede34b72757eec1b5b291b30aa0d5046dadd16ecb6b34a02411254",
"size": "39028848",
"tarball": "https://ziglang.org/download/0.9.1/zig-freebsd-x86_64-0.9.1.tar.xz",
},
"x86_64-linux": {
"shasum": "be8da632c1d3273f766b69244d80669fe4f5e27798654681d77c992f17c237d7",
"size": "41011464",
"tarball": "https://ziglang.org/download/0.9.1/zig-linux-x86_64-0.9.1.tar.xz",
},
"x86_64-macos": {
"shasum": "2d94984972d67292b55c1eb1c00de46580e9916575d083003546e9a01166754c",
"size": "43713044",
"tarball": "https://ziglang.org/download/0.9.1/zig-macos-x86_64-0.9.1.tar.xz",
},
"x86_64-windows": {
"shasum": "443da53387d6ae8ba6bac4b3b90e9fef4ecbe545e1c5fa3a89485c36f5c0e3a2",
"size": "65047697",
"tarball": "https://ziglang.org/download/0.9.1/zig-windows-x86_64-0.9.1.zip",
},
},
"master": {
"aarch64-linux": {
"shasum": "a90b52a968b9176ab7c2d8fb1b7b84f0e7503dc03d7791d7c5286f1ed9ad5eed",
"size": "38035988",
"tarball": "https://ziglang.org/builds/zig-linux-aarch64-0.10.0-dev.4247+3234e8de3.tar.xz",
},
"aarch64-macos": {
"shasum": "d435855e9b62a6aee78e4d707debf137ac3e85a9662ffa47267be56149333f06",
"size": "40986992",
"tarball": "https://ziglang.org/builds/zig-macos-aarch64-0.10.0-dev.4247+3234e8de3.tar.xz",
},
"date": "2022-10-05",
"docs": "https://ziglang.org/documentation/master/",
"src": {
"shasum": "1fe9fb34ef15d433bd1496782d1a645e3a2122455d6aad0294502ae2f416c7e4",
"size": "15824808",
"tarball": "https://ziglang.org/builds/zig-0.10.0-dev.4247+3234e8de3.tar.xz",
},
"stdDocs": "https://ziglang.org/documentation/master/std/",
"version": "0.10.0-dev.4247+3234e8de3",
"x86_64-freebsd": {
"shasum": "2555d683f7c8ba903c55c218f64963783f769736b6d6a5a8382e575df82234b5",
"size": "40954156",
"tarball": "https://ziglang.org/builds/zig-freebsd-x86_64-0.10.0-dev.4247+3234e8de3.tar.xz",
},
"x86_64-linux": {
"shasum": "5ce6b50eae7a787b7e6e002e3b14cb8a149359df1941cf701e99ded365c9895e",
"size": "44178932",
"tarball": "https://ziglang.org/builds/zig-linux-x86_64-0.10.0-dev.4247+3234e8de3.tar.xz",
},
"x86_64-macos": {
"shasum": "81d7a9615b00bce617602fd40fe4e0b3bb962ff0bb4595cf78be067385bce135",
"size": "44180748",
"tarball": "https://ziglang.org/builds/zig-macos-x86_64-0.10.0-dev.4247+3234e8de3.tar.xz",
},
"x86_64-windows": {
"shasum": "555ac169c7e35f1dd98ea86bc514e80f7527b242c22d44a34a166c80d4441ceb",
"size": "69140534",
"tarball": "https://ziglang.org/builds/zig-windows-x86_64-0.10.0-dev.4247+3234e8de3.zip",
},
},
}

View file

@ -0,0 +1,57 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under both the MIT license found in the
# LICENSE-MIT file in the root directory of this source tree and the Apache
# License, Version 2.0 found in the LICENSE-APACHE file in the root directory
# of this source tree.
load(
"@prelude//ocaml/providers.bzl",
"OCamlPlatformInfo",
"OCamlToolchainInfo",
)
def _system_ocaml_toolchain_impl(_ctx):
"""
A very simple toolchain that is hardcoded to the current environment.
"""
return [
DefaultInfo(
),
OCamlToolchainInfo(
ocaml_compiler = RunInfo(args = ["ocamlopt.opt"]),
# "Partial linking" (via `ocamlopt.opt -output-obj`) emits calls to
# `ld -r -o`. If not `None`, this is the `ld` that will be invoked;
# the default is to use whatever `ld` is in the environment. See
# [Note: What is `binutils_ld`?] in `providers.bzl`.
binutils_ld = None,
# `ocamlopt.opt` makes calls to `as`. If this config paramter is
# `None` those calls will resolve to whatever `as` is in the
# environment. If not `None` then the provided value will be what's
# invoked.
binutils_as = None,
dep_tool = RunInfo(args = ["ocamldep.opt"]),
yacc_compiler = RunInfo(args = ["ocamlyacc"]),
interop_includes = None,
menhir_compiler = RunInfo(args = ["menhir"]),
lex_compiler = RunInfo(args = ["ocamllex.opt"]),
libc = None,
ocaml_bytecode_compiler = RunInfo(args = ["ocamlc.opt"]),
# `ocamldebug` is bytecode intended to be run by `ocamlrun`. There
# is no "debugger" executable (but then `debug` is not referenced by
# the ocaml build rules) so `None` will do for this.
debug = None,
warnings_flags = "-4-29-35-41-42-44-45-48-50-58-70",
ocaml_compiler_flags = [], # e.g. "-opaque"
),
OCamlPlatformInfo(name = "x86_64"),
]
system_ocaml_toolchain = rule(
impl = _system_ocaml_toolchain_impl,
attrs = {},
is_toolchain_rule = True,
)

View file

@ -0,0 +1,80 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under both the MIT license found in the
# LICENSE-MIT file in the root directory of this source tree and the Apache
# License, Version 2.0 found in the LICENSE-APACHE file in the root directory
# of this source tree.
load(
"@prelude//python:toolchain.bzl",
"PythonPlatformInfo",
"PythonToolchainInfo",
)
load(
"@prelude//python_bootstrap:python_bootstrap.bzl",
"PythonBootstrapToolchainInfo",
)
_INTERPRETER = select({
"ovr_config//os:linux": "python3",
"ovr_config//os:macos": "python3",
"ovr_config//os:windows": "python",
})
def _system_python_bootstrap_toolchain_impl(ctx):
return [
DefaultInfo(),
PythonBootstrapToolchainInfo(interpreter = ctx.attrs.interpreter),
]
# Creates a new bootstrap toolchain using Python that is installed on your system.
# You may use it in your toolchain cell as follows:
#
# ```bzl
# load("@prelude//toolchains:python.bzl", "system_python_bootstrap_toolchain")
#
# system_python_bootstrap_toolchain(
# name = "python_bootstrap", # the default name rules look for
# visibility = ["PUBLIC"],
# )
# ```
system_python_bootstrap_toolchain = rule(
impl = _system_python_bootstrap_toolchain_impl,
attrs = {
"interpreter": attrs.string(default = _INTERPRETER),
},
is_toolchain_rule = True,
)
def _system_python_toolchain_impl(ctx):
"""
A very simple toolchain that is hardcoded to the current environment.
"""
return [
DefaultInfo(),
PythonToolchainInfo(
make_source_db = ctx.attrs.make_source_db[RunInfo],
make_source_db_no_deps = ctx.attrs.make_source_db_no_deps[RunInfo],
host_interpreter = RunInfo(args = [ctx.attrs.interpreter]),
interpreter = RunInfo(args = [ctx.attrs.interpreter]),
make_pex_modules = ctx.attrs.make_pex_modules[RunInfo],
make_pex_inplace = ctx.attrs.make_pex_inplace[RunInfo],
compile = RunInfo(args = ["echo", "COMPILEINFO"]),
package_style = "inplace",
native_link_strategy = "merged",
),
PythonPlatformInfo(name = "x86_64"),
]
system_python_toolchain = rule(
impl = _system_python_toolchain_impl,
attrs = {
"interpreter": attrs.string(default = _INTERPRETER),
"make_pex_inplace": attrs.default_only(attrs.dep(providers = [RunInfo], default = "prelude//python/tools:make_pex_inplace")),
"make_pex_modules": attrs.default_only(attrs.dep(providers = [RunInfo], default = "prelude//python/tools:make_pex_modules")),
"make_source_db": attrs.default_only(attrs.dep(providers = [RunInfo], default = "prelude//python/tools:make_source_db")),
"make_source_db_no_deps": attrs.default_only(attrs.dep(providers = [RunInfo], default = "prelude//python/tools:make_source_db_no_deps")),
},
is_toolchain_rule = True,
)

View file

@ -0,0 +1,60 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under both the MIT license found in the
# LICENSE-MIT file in the root directory of this source tree and the Apache
# License, Version 2.0 found in the LICENSE-APACHE file in the root directory
# of this source tree.
load("@prelude//rust:rust_toolchain.bzl", "RustPlatformInfo", "RustToolchainInfo")
_DEFAULT_TRIPLE = select({
"ovr_config//os:linux": select({
"ovr_config//cpu:arm64": "aarch64-unknown-linux-gnu",
"ovr_config//cpu:x86_64": "x86_64-unknown-linux-gnu",
}),
"ovr_config//os:macos": select({
"ovr_config//cpu:arm64": "aarch64-apple-darwin",
"ovr_config//cpu:x86_64": "x86_64-apple-darwin",
}),
"ovr_config//os:windows": select({
# FIXME: rustup's default ABI for the host on Windows is MSVC, not GNU.
# When you do `rustup install stable` that's the one you get. It makes
# you opt in to GNU by `rustup install stable-gnu`. We should match that
# default when we're able; but for now buck2 doesn't work with the MSVC
# toolchain yet.
"ovr_config//cpu:arm64": "aarch64-pc-windows-gnu",
"ovr_config//cpu:x86_64": "x86_64-pc-windows-gnu",
}),
})
def _system_rust_toolchain_impl(ctx):
return [
DefaultInfo(),
RustToolchainInfo(
clippy_driver = "clippy-driver",
compiler = "rustc",
failure_filter_action = ctx.attrs.failure_filter_action[RunInfo],
rustc_action = ctx.attrs.rustc_action[RunInfo],
default_edition = ctx.attrs.default_edition,
rustc_target_triple = ctx.attrs.rustc_target_triple,
rustdoc = "rustdoc",
rustc_flags = ctx.attrs.rustc_flags,
rustdoc_flags = ctx.attrs.rustdoc_flags,
),
RustPlatformInfo(
name = "x86_64",
),
]
system_rust_toolchain = rule(
impl = _system_rust_toolchain_impl,
attrs = {
"default_edition": attrs.option(attrs.string(), default = None),
"failure_filter_action": attrs.default_only(attrs.dep(providers = [RunInfo], default = "prelude//rust/tools:failure_filter_action")),
"rustc_action": attrs.default_only(attrs.dep(providers = [RunInfo], default = "prelude//rust/tools:rustc_action")),
"rustc_flags": attrs.list(attrs.string(), default = []),
"rustc_target_triple": attrs.string(default = _DEFAULT_TRIPLE),
"rustdoc_flags": attrs.list(attrs.string(), default = []),
},
is_toolchain_rule = True,
)