xref: /aosp_15_r20/external/bazelbuild-rules_rust/examples/nix_cross_compiling/WORKSPACE.bazel (revision d4726bddaa87cc4778e7472feed243fa4b6c267f)
1load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
2
3# Nix
4http_archive(
5    name = "io_tweag_rules_nixpkgs",
6    sha256 = "532634d78c35a42745bc1ceb02193c1505e676ed55746947061c2b6bb37b85fb",
7    strip_prefix = "rules_nixpkgs-c871abcedf5734513f7ab731ea6ba541636f4df6",
8    urls = ["https://github.com/tweag/rules_nixpkgs/archive/c871abcedf5734513f7ab731ea6ba541636f4df6.tar.gz"],
9)
10
11load("@io_tweag_rules_nixpkgs//nixpkgs:repositories.bzl", "rules_nixpkgs_dependencies")
12
13rules_nixpkgs_dependencies()
14
15load("//bazel:nix_repositories.bzl", "nix_repositories")
16
17nix_repositories()
18
19# Toolchains
20register_toolchains(
21    "//bazel/toolchains/cc/aarch64-apple-darwin:toolchain",
22    "//bazel/toolchains/cc/aarch64-apple-ios:toolchain",
23    "//bazel/toolchains/cc/aarch64-linux-android:toolchain",
24    "//bazel/toolchains/cc/aarch64-unknown-linux-gnu:toolchain",
25    "//bazel/toolchains/cc/wasm32-unknown-unknown:toolchain",
26    "//bazel/toolchains/cc/wasm32-wasi:toolchain",
27    "//bazel/toolchains/cc/x86_64-apple-darwin:toolchain",
28    "//bazel/toolchains/cc/x86_64-pc-windows-msvc:toolchain",
29    "//bazel/toolchains/cc/x86_64-unknown-linux-gnu:toolchain",
30    "//bazel/toolchains/cc/x86_64-unknown-nixos-gnu:toolchain",
31    "//bazel/toolchains/rust/aarch64-apple-darwin:toolchain",
32    "//bazel/toolchains/rust/aarch64-apple-ios:toolchain",
33    "//bazel/toolchains/rust/aarch64-linux-android:toolchain",
34    "//bazel/toolchains/rust/aarch64-unknown-linux-gnu:toolchain",
35    "//bazel/toolchains/rust/wasm32-unknown-unknown:toolchain",
36    "//bazel/toolchains/rust/wasm32-wasi:toolchain",
37    "//bazel/toolchains/rust/x86_64-apple-darwin:toolchain",
38    "//bazel/toolchains/rust/x86_64-pc-windows-msvc:toolchain",
39    "//bazel/toolchains/rust/x86_64-unknown-linux-gnu:toolchain",
40    "//bazel/toolchains/rust/x86_64-unknown-nixos-gnu:toolchain",
41)
42
43# Rust
44local_repository(
45    name = "rules_rust",
46    path = "../..",
47)
48
49load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")
50
51rules_rust_dependencies()
52
53rust_register_toolchains(
54    edition = "2021",
55)
56
57load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")
58
59crate_universe_dependencies(bootstrap = True)
60
61load("@rules_rust//crate_universe:defs.bzl", "crates_repository", "render_config", "splicing_config")
62load("//bazel/cargo:crates_repository.bzl", CARGO_ANNOTATIONS = "ANNOTATIONS", CARGO_PACKAGES = "PACKAGES")
63
64crates_repository(
65    name = "crate_index",
66    annotations = CARGO_ANNOTATIONS,
67    cargo_lockfile = "//bazel/cargo:Cargo.lock",
68    generate_build_scripts = False,
69    generator = "@cargo_bazel_bootstrap//:cargo-bazel",
70    lockfile = "//bazel/cargo:cargo-bazel-lock.json",
71    packages = CARGO_PACKAGES,
72    render_config = render_config(
73        default_alias_rule = "opt",
74    ),
75    splicing_config = splicing_config(
76        resolver_version = "2",
77    ),
78    supported_platform_triples = [
79        "aarch64-apple-darwin",
80        "aarch64-apple-ios",
81        "aarch64-linux-android",
82        "aarch64-unknown-linux-gnu",
83        "wasm32-unknown-unknown",
84        "wasm32-wasi",
85        "x86_64-apple-darwin",
86        "x86_64-pc-windows-msvc",
87        "x86_64-unknown-linux-gnu",
88        "x86_64-unknown-nixos-gnu",
89    ],
90)
91
92load("@crate_index//:defs.bzl", "crate_repositories")
93
94crate_repositories()
95