1# Copyright 2021 The Pigweed Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14 15workspace( 16 name = "pigweed", 17) 18 19load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository") 20load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") 21load( 22 "//pw_env_setup/bazel/cipd_setup:cipd_rules.bzl", 23 "cipd_client_repository", 24 "cipd_repository", 25) 26 27# Set up Bazel platforms. 28# Required by: pigweed. 29# Used in modules: //pw_build, (Assorted modules via select statements). 30http_archive( 31 name = "platforms", 32 sha256 = "8150406605389ececb6da07cbcb509d5637a3ab9a24bc69b1101531367d89d74", 33 urls = [ 34 "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz", 35 "https://github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz", 36 ], 37) 38 39http_archive( 40 name = "rules_cc", 41 sha256 = "2037875b9a4456dce4a79d112a8ae885bbc4aad968e6587dca6e64f3a0900cdf", 42 strip_prefix = "rules_cc-0.0.9", 43 urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz"], 44) 45 46local_repository( 47 name = "pw_toolchain", 48 path = "pw_toolchain_bazel", 49) 50 51# Setup CIPD client and packages. 52# Required by: pigweed. 53# Used by modules: all. 54cipd_client_repository() 55 56load("//pw_toolchain:register_toolchains.bzl", "register_pigweed_cxx_toolchains") 57 58register_pigweed_cxx_toolchains() 59 60# Set up legacy pw_transfer test binaries. 61# Required by: pigweed. 62# Used in modules: //pw_transfer. 63cipd_repository( 64 name = "pw_transfer_test_binaries", 65 path = "pigweed/pw_transfer_test_binaries/${os=linux}-${arch=amd64}", 66 tag = "version:pw_transfer_test_binaries_528098d588f307881af83f769207b8e6e1b57520-linux-amd64-cipd.cipd", 67) 68 69# Set up Starlark library. 70# Required by: io_bazel_rules_go, com_google_protobuf, rules_python 71# Used in modules: None. 72# This must be instantiated before com_google_protobuf as protobuf_deps() pulls 73# in an older version of bazel_skylib. However io_bazel_rules_go requires a 74# newer version. 75http_archive( 76 name = "bazel_skylib", # 2022-09-01 77 sha256 = "4756ab3ec46d94d99e5ed685d2d24aece484015e45af303eb3a11cab3cdc2e71", 78 strip_prefix = "bazel-skylib-1.3.0", 79 urls = ["https://github.com/bazelbuild/bazel-skylib/archive/refs/tags/1.3.0.zip"], 80) 81 82load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") 83 84bazel_skylib_workspace() 85 86# Used in modules: //pw_grpc 87# 88# TODO: b/345806988 - remove this fork and update to upstream HEAD. 89git_repository( 90 name = "io_bazel_rules_go", 91 commit = "21005c4056de3283553c015c172001229ecbaca9", 92 remote = "https://github.com/cramertj/rules_go.git", 93) 94 95# Used in modules: //pw_grpc 96http_archive( 97 name = "bazel_gazelle", 98 sha256 = "32938bda16e6700063035479063d9d24c60eda8d79fd4739563f50d331cb3209", 99 urls = [ 100 "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.35.0/bazel-gazelle-v0.35.0.tar.gz", 101 "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.35.0/bazel-gazelle-v0.35.0.tar.gz", 102 ], 103) 104 105load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") 106load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") 107 108go_rules_dependencies() 109 110go_register_toolchains(version = "1.21.5") 111 112gazelle_dependencies() 113 114load("//pw_grpc:deps.bzl", "pw_grpc_deps") 115 116# gazelle:repository_macro pw_grpc/deps.bzl%pw_grpc_deps 117pw_grpc_deps() 118 119http_archive( 120 name = "rules_proto", 121 sha256 = "dc3fb206a2cb3441b485eb1e423165b231235a1ea9b031b4433cf7bc1fa460dd", 122 strip_prefix = "rules_proto-5.3.0-21.7", 123 urls = [ 124 "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz", 125 ], 126) 127 128# Set up Python support. 129# Required by: rules_fuzzing, com_github_nanopb_nanopb. 130# Used in modules: None. 131# TODO: b/310293060 - Switch to an official release when it includes the fix for 132# macOS hosts running Python <=3.8. 133git_repository( 134 name = "rules_python", 135 commit = "e06b4bae446706db3414e75d301f56821001b554", 136 remote = "https://github.com/bazelbuild/rules_python.git", 137) 138 139load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains") 140 141py_repositories() 142 143# Use Python 3.11 for bazel Python rules. 144python_register_toolchains( 145 name = "python3", 146 # Allows building as root in a docker container. Required by oss-fuzz. 147 ignore_root_user_error = True, 148 python_version = "3.11", 149) 150 151load("@python3//:defs.bzl", "interpreter") 152load("@rules_python//python:pip.bzl", "pip_parse") 153 154# Specify third party Python package versions with pip_parse. 155# pip_parse will generate and expose a repository for each package in the 156# requirements_lock file named @python_packages_{PACKAGE}. 157pip_parse( 158 name = "python_packages", 159 python_interpreter_target = interpreter, 160 requirements_darwin = "//pw_env_setup/py/pw_env_setup/virtualenv_setup:upstream_requirements_darwin_lock.txt", 161 requirements_linux = "//pw_env_setup/py/pw_env_setup/virtualenv_setup:upstream_requirements_linux_lock.txt", 162 requirements_windows = "//pw_env_setup/py/pw_env_setup/virtualenv_setup:upstream_requirements_windows_lock.txt", 163) 164 165load("@python_packages//:requirements.bzl", "install_deps") 166 167# Run pip install for all @python_packages_*//:pkg deps. 168install_deps() 169 170# Setup Fuchsia SDK. 171# Required by: bt-host. 172# Used in modules: //pw_bluetooth_sapphire. 173# NOTE: These blocks cannot feasibly be moved into a macro. 174# See https://github.com/bazelbuild/bazel/issues/1550 175git_repository( 176 name = "fuchsia_infra", 177 # ROLL: Warning: this entry is automatically updated. 178 # ROLL: Last updated 2024-06-01. 179 # ROLL: By https://cr-buildbucket.appspot.com/build/8746297072233905681. 180 commit = "dc0007365302ab30293144aa5dac6194fdea10ad", 181 remote = "https://fuchsia.googlesource.com/fuchsia-infra-bazel-rules", 182) 183 184load("@fuchsia_infra//:workspace.bzl", "fuchsia_infra_workspace") 185 186fuchsia_infra_workspace() 187 188FUCHSIA_SDK_VERSION = "version:20.20240408.3.1" 189 190cipd_repository( 191 name = "fuchsia_sdk", 192 path = "fuchsia/sdk/core/fuchsia-bazel-rules/${os}-amd64", 193 tag = FUCHSIA_SDK_VERSION, 194) 195 196load("@fuchsia_sdk//fuchsia:deps.bzl", "rules_fuchsia_deps") 197 198rules_fuchsia_deps() 199 200register_toolchains("@fuchsia_sdk//:fuchsia_toolchain_sdk") 201 202cipd_repository( 203 name = "fuchsia_products_metadata", 204 path = "fuchsia/development/product_bundles/v2", 205 tag = FUCHSIA_SDK_VERSION, 206) 207 208load("@fuchsia_sdk//fuchsia:products.bzl", "fuchsia_products_repository") 209 210fuchsia_products_repository( 211 name = "fuchsia_products", 212 metadata_file = "@fuchsia_products_metadata//:product_bundles.json", 213) 214 215load("@fuchsia_sdk//fuchsia:clang.bzl", "fuchsia_clang_repository") 216 217fuchsia_clang_repository( 218 name = "fuchsia_clang", 219 from_workspace = "@llvm_toolchain//:BUILD.bazel", 220) 221 222load("@fuchsia_clang//:defs.bzl", "register_clang_toolchains") 223 224register_clang_toolchains() 225 226# Since Fuchsia doesn't release arm64 SDKs, use this to gate Fuchsia targets. 227load("//pw_env_setup:bazel/host_metadata_repository.bzl", "host_metadata_repository") 228 229host_metadata_repository( 230 name = "host_metadata", 231) 232 233# Set up rules for Abseil C++. 234# Must be included before com_google_googletest and rules_fuzzing. 235# Required by: rules_fuzzing, fuzztest 236# Generated by //pw_build/py/pw_build/bazel_to_gn.py 237http_archive( 238 name = "com_google_absl", 239 sha256 = "338420448b140f0dfd1a1ea3c3ce71b3bc172071f24f4d9a57d59b45037da440", 240 strip_prefix = "abseil-cpp-20240116.0", 241 url = "https://github.com/abseil/abseil-cpp/releases/download/20240116.0/abseil-cpp-20240116.0.tar.gz", 242) 243 244# Set up upstream googletest and googlemock. 245# Required by: Pigweed, Fuchsia SDK. 246# Used in modules: //pw_analog, //pw_fuzzer, //pw_i2c, //pw_bluetooth_sapphire. 247git_repository( 248 name = "com_google_googletest", 249 commit = "3b6d48e8d5c1d9b3f9f10ac030a94008bfaf032b", 250 remote = "https://pigweed.googlesource.com/third_party/github/google/googletest", 251) 252 253# Sets up Bazels documentation generator. 254# Required by modules: All 255git_repository( 256 name = "io_bazel_stardoc", 257 commit = "2b801dc9b93f73812948ee4e505805511b0f55dc", 258 remote = "https://github.com/bazelbuild/stardoc.git", 259) 260 261# Set up Protobuf rules. 262# Required by: pigweed. 263# Used in modules: //pw_protobuf. 264# TODO: pwbug.dev/319717451 - Keep this in sync with the pip requirements. 265http_archive( 266 name = "com_google_protobuf", 267 sha256 = "616bb3536ac1fff3fb1a141450fa28b875e985712170ea7f1bfe5e5fc41e2cd8", 268 strip_prefix = "protobuf-24.4", 269 url = "https://github.com/protocolbuffers/protobuf/releases/download/v24.4/protobuf-24.4.tar.gz", 270) 271 272load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") 273 274protobuf_deps() 275 276# Setup Nanopb protoc plugin. 277# Required by: Pigweed. 278# Used in modules: pw_protobuf. 279http_archive( 280 name = "com_github_nanopb_nanopb", 281 sha256 = "3f78bf63722a810edb6da5ab5f0e76c7db13a961c2aad4ab49296e3095d0d830", 282 strip_prefix = "nanopb-0.4.8", 283 url = "https://github.com/nanopb/nanopb/archive/refs/tags/0.4.8.tar.gz", 284) 285 286load("@com_github_nanopb_nanopb//extra/bazel:nanopb_deps.bzl", "nanopb_deps") 287 288nanopb_deps() 289 290load("@com_github_nanopb_nanopb//extra/bazel:python_deps.bzl", "nanopb_python_deps") 291 292nanopb_python_deps(interpreter) 293 294load("@com_github_nanopb_nanopb//extra/bazel:nanopb_workspace.bzl", "nanopb_workspace") 295 296nanopb_workspace() 297 298# Rust Support 299# 300http_archive( 301 name = "rules_rust", 302 integrity = "sha256-+bWb47wg0VchIADaHt6L5Dma2Gn+Q589nz/MKcTi+lo=", 303 patch_args = ["-p1"], 304 patches = [ 305 # Fix rustdoc test w/ proc macros 306 # https://github.com/bazelbuild/rules_rust/pull/1952 307 "//pw_rust/bazel_patches:0001-rustdoc_test-Apply-prefix-stripping-to-proc_macro-de.patch", 308 # Adds prototype functionality for documenting multiple crates in one 309 # HTML output directory. While the approach in this patch may have 310 # issues scaling to giant mono-repos, it is apporpriate for embedded 311 # projects and minimally invasive and should be easy to maintain. Once 312 # the `rules_rust` community decides on a way to propperly support this, 313 # we will migrate to that solution. 314 # https://github.com/konkers/rules_rust/tree/wip/rustdoc 315 "//pw_rust/bazel_patches:0002-PROTOTYPE-Add-ability-to-document-multiple-crates-at.patch", 316 ], 317 urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.45.1/rules_rust-v0.45.1.tar.gz"], 318) 319 320load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies") 321 322rules_rust_dependencies() 323 324load( 325 "//pw_toolchain/rust:defs.bzl", 326 "pw_rust_register_toolchain_and_target_repos", 327 "pw_rust_register_toolchains", 328) 329 330pw_rust_register_toolchain_and_target_repos( 331 cipd_tag = "rust_revision:bf9c7a64ad222b85397573668b39e6d1ab9f4a72", 332) 333 334# Allows creation of a `rust-project.json` file to allow rust analyzer to work. 335load("@rules_rust//tools/rust_analyzer:deps.bzl", "rust_analyzer_dependencies") 336 337rust_analyzer_dependencies() 338 339pw_rust_register_toolchains() 340 341# Vendored third party rust crates. 342git_repository( 343 name = "rust_crates", 344 commit = "de54de1a2683212d8edb4e15ec7393eb013c849c", 345 remote = "https://pigweed.googlesource.com/third_party/rust_crates", 346) 347 348# Registers platforms for use with toolchain resolution 349register_execution_platforms("@local_config_platform//:host", "//pw_build/platforms:all") 350 351# Set up rules for fuzz testing. 352# Required by: pigweed. 353# Used in modules: //pw_protobuf, //pw_tokenizer, //pw_fuzzer. 354# 355# TODO(b/311746469): Switch back to a released version when possible. 356git_repository( 357 name = "rules_fuzzing", 358 commit = "67ba0264c46c173a75825f2ae0a0b4b9b17c5e59", 359 remote = "https://github.com/bazelbuild/rules_fuzzing", 360) 361 362load("@rules_fuzzing//fuzzing:repositories.bzl", "rules_fuzzing_dependencies") 363 364rules_fuzzing_dependencies() 365 366load("@rules_fuzzing//fuzzing:init.bzl", "rules_fuzzing_init") 367 368rules_fuzzing_init() 369 370load("@fuzzing_py_deps//:requirements.bzl", fuzzing_install_deps = "install_deps") 371 372fuzzing_install_deps() 373 374# Required by: fuzztest 375http_archive( 376 name = "com_googlesource_code_re2", 377 sha256 = "f89c61410a072e5cbcf8c27e3a778da7d6fd2f2b5b1445cd4f4508bee946ab0f", 378 strip_prefix = "re2-2022-06-01", 379 url = "https://github.com/google/re2/archive/refs/tags/2022-06-01.tar.gz", 380) 381 382# Set up rules for FuzzTest. 383# Required by: fuzztest 384# Used in modules: //pw_fuzzer. 385# Generated by //pw_build/py/pw_build/bazel_to_gn.py 386http_archive( 387 name = "com_google_fuzztest", 388 strip_prefix = "fuzztest-6eb010c7223a6aa609b94d49bfc06ac88f922961", 389 url = "https://github.com/google/fuzztest/archive/6eb010c7223a6aa609b94d49bfc06ac88f922961.zip", 390) 391 392RULES_JVM_EXTERNAL_TAG = "2.8" 393 394RULES_JVM_EXTERNAL_SHA = "79c9850690d7614ecdb72d68394f994fef7534b292c4867ce5e7dec0aa7bdfad" 395 396http_archive( 397 name = "rules_jvm_external", 398 sha256 = RULES_JVM_EXTERNAL_SHA, 399 strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG, 400 url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG, 401) 402 403load("@rules_jvm_external//:defs.bzl", "maven_install") 404 405# Pull in packages for the pw_rpc Java client with Maven. 406maven_install( 407 artifacts = [ 408 "com.google.auto.value:auto-value:1.8.2", 409 "com.google.auto.value:auto-value-annotations:1.8.2", 410 "com.google.code.findbugs:jsr305:3.0.2", 411 "com.google.flogger:flogger:0.7.1", 412 "com.google.flogger:flogger-system-backend:0.7.1", 413 "com.google.guava:guava:31.0.1-jre", 414 "com.google.truth:truth:1.1.3", 415 "org.mockito:mockito-core:4.1.0", 416 ], 417 repositories = [ 418 "https://maven.google.com/", 419 "https://jcenter.bintray.com/", 420 "https://repo1.maven.org/maven2", 421 ], 422) 423 424new_git_repository( 425 name = "micro_ecc", 426 build_file = "//:third_party/micro_ecc/BUILD.micro_ecc", 427 commit = "b335ee812bfcca4cd3fb0e2a436aab39553a555a", 428 remote = "https://github.com/kmackay/micro-ecc.git", 429) 430 431git_repository( 432 name = "boringssl", 433 commit = "0fd67c76fc4bfb05a665c087ebfead77a3267f6d", 434 remote = "https://boringssl.googlesource.com/boringssl", 435) 436 437git_repository( 438 name = "mbedtls", 439 build_file = "//:third_party/mbedtls/BUILD.mbedtls", 440 # mbedtls-3.2.1 released 2022-07-12 441 commit = "869298bffeea13b205343361b7a7daf2b210e33d", 442 remote = "https://pigweed.googlesource.com/third_party/github/ARMmbed/mbedtls", 443) 444 445git_repository( 446 name = "com_google_emboss", 447 remote = "https://pigweed.googlesource.com/third_party/github/google/emboss", 448 # Also update emboss tag in pw_package/py/pw_package/packages/emboss.py 449 tag = "v2024.0501.215421", 450) 451 452http_archive( 453 name = "freertos", 454 build_file = "//third_party/freertos:freertos.BUILD.bazel", 455 sha256 = "89af32b7568c504624f712c21fe97f7311c55fccb7ae6163cda7adde1cde7f62", 456 strip_prefix = "FreeRTOS-Kernel-10.5.1", 457 urls = ["https://github.com/FreeRTOS/FreeRTOS-Kernel/archive/refs/tags/V10.5.1.tar.gz"], 458) 459 460http_archive( 461 name = "stm32f4xx_hal_driver", 462 build_file = "//third_party/stm32cube:stm32_hal_driver.BUILD.bazel", 463 sha256 = "c8741e184555abcd153f7bdddc65e4b0103b51470d39ee0056ce2f8296b4e835", 464 strip_prefix = "stm32f4xx_hal_driver-1.8.0", 465 urls = ["https://github.com/STMicroelectronics/stm32f4xx_hal_driver/archive/refs/tags/v1.8.0.tar.gz"], 466) 467 468http_archive( 469 name = "cmsis_device_f4", 470 build_file = "//third_party/stm32cube:cmsis_device.BUILD.bazel", 471 sha256 = "6390baf3ea44aff09d0327a3c112c6ca44418806bfdfe1c5c2803941c391fdce", 472 strip_prefix = "cmsis_device_f4-2.6.8", 473 urls = ["https://github.com/STMicroelectronics/cmsis_device_f4/archive/refs/tags/v2.6.8.tar.gz"], 474) 475 476http_archive( 477 name = "cmsis_core", 478 build_file = "//third_party/stm32cube:cmsis_core.BUILD.bazel", 479 sha256 = "f711074a546bce04426c35e681446d69bc177435cd8f2f1395a52db64f52d100", 480 strip_prefix = "cmsis_core-5.4.0_cm4", 481 urls = ["https://github.com/STMicroelectronics/cmsis_core/archive/refs/tags/v5.4.0_cm4.tar.gz"], 482) 483 484# This is a stub repository. The //third_party/stm32cube:hal_driver label_flag 485# by default points to "@hal_driver//:hal_driver". This is intended for use by 486# downstream; in upstream we always override this flag in our .bazelrc. But 487# `bazel query` uses the default build settings. So, to ensure `bazel query` 488# works, add this stub target here. 489new_local_repository( 490 name = "hal_driver", 491 build_file_content = 'cc_library(name="hal_driver")', 492 path = ".", 493) 494 495git_repository( 496 name = "pico-sdk", 497 commit = "4de7ec6bd73cd154533f35d9058279267ba77176", 498 remote = "https://pigweed.googlesource.com/third_party/github/raspberrypi/pico-sdk", 499) 500 501http_archive( 502 name = "tinyusb", 503 build_file = "@pico-sdk//src/rp2_common/tinyusb:tinyusb.BUILD", 504 sha256 = "ac57109bba00d26ffa33312d5f334990ec9a9a4d82bf890ed8b825b4610d1da2", 505 strip_prefix = "tinyusb-86c416d4c0fb38432460b3e11b08b9de76941bf5", 506 url = "https://github.com/hathach/tinyusb/archive/86c416d4c0fb38432460b3e11b08b9de76941bf5.zip", 507) 508 509# ---- probe-rs Paths ---- 510# 511# NOTE: These paths and sha-s have been manually copied from 512# https://github.com/probe-rs/probe-rs/releases/tag/v0.24.0 513 514http_archive( 515 name = "probe-rs-tools-x86_64-unknown-linux-gnu", 516 build_file = "@pigweed//third_party/probe-rs:probe-rs.BUILD.bazel", 517 sha256 = "21e8d7df39fa0cdc9a0421e0ac2ac5ba81ec295ea11306f26846089f6fe975c0", 518 strip_prefix = "probe-rs-tools-x86_64-unknown-linux-gnu", 519 url = "https://github.com/probe-rs/probe-rs/releases/download/v0.24.0/probe-rs-tools-x86_64-unknown-linux-gnu.tar.xz", 520) 521 522http_archive( 523 name = "probe-rs-tools-aarch64-unknown-linux-gnu", 524 build_file = "@pigweed//third_party/probe-rs:probe-rs.BUILD.bazel", 525 sha256 = "95d91ebe08868d5119a698e3268ff60a4d71d72afa26ab207d43c807c729c90a", 526 strip_prefix = "probe-rs-tools-aarch64-unknown-linux-gnu", 527 url = "https://github.com/probe-rs/probe-rs/releases/download/v0.24.0/probe-rs-tools-aarch64-unknown-linux-gnu.tar.xz", 528) 529 530http_archive( 531 name = "probe-rs-tools-x86_64-apple-darwin", 532 build_file = "@pigweed//third_party/probe-rs:probe-rs.BUILD.bazel", 533 sha256 = "0e35cc92ff34af1b1c72dd444e6ddd57c039ed31c2987e37578864211e843cf1", 534 strip_prefix = "probe-rs-tools-x86_64-apple-darwin", 535 url = "https://github.com/probe-rs/probe-rs/releases/download/v0.24.0/probe-rs-tools-x86_64-apple-darwin.tar.xz", 536) 537 538http_archive( 539 name = "probe-rs-tools-aarch64-apple-darwin", 540 build_file = "@pigweed//third_party/probe-rs:probe-rs.BUILD.bazel", 541 sha256 = "7140d9c2c61f8712ba15887f74df0cb40a7b16728ec86d5f45cc93fe96a0a29a", 542 strip_prefix = "probe-rs-tools-aarch64-apple-darwin", 543 url = "https://github.com/probe-rs/probe-rs/releases/download/v0.24.0/probe-rs-tools-aarch64-apple-darwin.tar.xz", 544) 545 546http_archive( 547 name = "probe-rs-tools-x86_64-pc-windows-msvc", 548 build_file = "@pigweed//third_party/probe-rs:probe-rs.BUILD.bazel", 549 sha256 = "d195dfa3466a87906251e27d6d70a0105274faa28ebf90ffadad0bdd89b1ec77", 550 strip_prefix = "probe-rs-tools-x86_64-pc-windows-msvc", 551 url = "https://github.com/probe-rs/probe-rs/releases/download/v0.24.0/probe-rs-tools-x86_64-pc-windows-msvc.zip", 552) 553 554git_repository( 555 name = "rules_libusb", 556 commit = "8680b8d1dea7b4053cdd82bd118026b545b50c0b", 557 remote = "https://pigweed.googlesource.com/pigweed/rules_libusb", 558) 559 560http_archive( 561 name = "libusb", 562 build_file = "@rules_libusb//:libusb.BUILD", 563 sha256 = "ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575", 564 strip_prefix = "libusb-1.0.27", 565 url = "https://github.com/libusb/libusb/releases/download/v1.0.27/libusb-1.0.27.tar.bz2", 566) 567