roll: pigweed, MODULE.bazel.lock pigweed 29add2b..0524f95 (11 commits) 0524f95:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/312757 pw_async2: Use the PendResult and PendOptional aliases e8fd38b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/313156 pw_bluetooth_proxy: Add TODO for to-host frag tests b7ccb9a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/313155 pw_bluetooth_proxy: Pass on unhandled recombined PDU 14e2976:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/313154 pw_bluetooth_proxy: Tweaks to recombine null rx allocate test 48d6349:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/313153 pw_bluetooth_proxy: Always fill broadcast_flag 1299d4c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/312754 pw_presubmit: Allow .expected without copyright 8aa469f:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/313161 pw_presubmit: Exclude codelabs and examples from GN build files check 986f721:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/313157 crates_io: Add serde_json5 to crates_std b5596a5:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/313160 roll: nanopb 54f34b9:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/311536 pw_kernel: Implement has_access for memory configs ca15544:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/312676 pw_async2: Enable wait reasons by default MODULE.bazel.lock Regenerated MODULE.bazel.lock Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: 29add2b3bad530..0524f959b4ee81 Roll-Count: 2 Roller-URL: https://cr-buildbucket.appspot.com/build/8706576490468638033 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I2f206c28d67bd067a5fbda633215cef851925b26 Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/313048 Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
The way this repository works is by overlaying itself on top of Zephyr. To get started, first make sure you have Bazel‘s skylib version 1.7.1 or greater. If you don’t have it, you can use:
http_archive(
name = "bazel_skylib",
sha256 = "bc283cdfcd526a52c3201279cda4bc298652efa898b10b4db0837dc51652756f",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz",
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz",
],
)
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
bazel_skylib_workspace()
To grab the zephyr-bazel repo, use a git_repository rule in your WORKSPACE, such as:
git_repository(
name = "zephyr-bazel",
remote = "https://pigweed.googlesource.com/zephyr/zephyr-bazel"
branch = "main",
)
Once you have @zephyr-bazel, we can load the patch rule to generate the Zephyr diff that will augment Zephyr to include the BUILD.zephyr rules.
load("@zephyr-bazel//:setup.bzl", "create_zephyr_patch_file")
create_zephyr_patch_file(
name = "zephyr-patch",
filename = "patch.diff",
# This is optional, use it to see what's going on under the hood
debug = True,
)
We now have a diff file at @zephyr-patch//:patch.diff. We're ready to load Zephyr.
git_repository(
name = "zephyr",
remote = "https://github.com/zephyrproject-rtos/zephyr.git",
branch = "main",
patches = [
"@zephyr-patch//:patch.diff",
],
)
The final step will be to load Zephyr's python dependencies:
load("@rules_python//python:pip.bzl", "pip_parse")
pip_parse(
name = "py_deps",
python_interpreter_target = interpreter,
requirements_lock = "@@zephyr//:scripts/requirements-base.txt",
)
load("@py_deps//:requirements.bzl", zephyr_install_deps = "install_deps")
zephyr_install_deps()
In your main application, you can now use the Zephyr utilities for building your app.
load("@zephyr//:defs.bzl", "dts_cc_library")
dts_cc_library(
name = "app_native_sim_dts",
dts_lib = "@zephyr//boards/native/native_sim:native_sim",
)
cc_binary(
...
deps = [
...
"@zephyr//:zephyr",
] + select({
"@platform//cpu:x86_64": [
":app_native_sim_dts",
"@zephyr//include:posix",
],
}),
copts = select({
"@platform//cpu:x86_64": [
"-DCONFIG_ARCH_POSIX=1",
],
}),
)
There is currently just 1 example, you can run it via:
$ cd examples/hello_dts $ bazel run :app
Or, you can run the tests via:
$ cd examples/hello_dts $ bazel test //...